Data Envelopment Analysis

Set Working Directory

#Sets working directory where this file stored. Very useful piece of code.
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))

Load Packages and Data

library(ggplot2)
library(ggthemes)
library(dplyr)
library(readxl)
library(plyr)
library(deaR)
library(ggridges)
#tinytex::install_tinytex()
ccr <- deaR::Fortune500

About deaR Package, Data Envelopment Analysis and Fortune 500 Dataset

Citations from deaR paper:

https://www.researchgate.net/publication/352461209_deaR-Shiny_An_Interactive_Web_App_for_Data_Envelopment_Analysis

  • Data Envelopment Analysis (DEA) is a widely used mathematical programming technique for evaluating the relative efficiency of a set of homogeneous DMUs (Decision Making Units) which consume the same inputs (in different quantities) to produce the same outputs (in different quantities).

  • Available classic models: CCR, BCC, Multiplier, Directional function and non-radial models.

  • Works on both input and output oriented style.

What is data envelopment analysis?

https://www.researchgate.net/publication/226038831_Data_Envelopment_Analysis_History_Models_and_Interpretations

Data Envelopment Analysis (DEA) is a relatively new “data oriented” approach for evaluating the performance of a set of peer entities called Decision Making Units (DMUs) which convert multiple inputs into multiple outputs.

Here we are mostly focusing on Definition 1.2, Relative Efficiency:

A DMU is to be rated as fully (100%) efficient on the basis of available evidence if and only if the performances of other DMUs does not show that some of its inputs or outputs can be improved without worsening some of its other inputs or outputs.

Fortune 500 dataset is embedded within deaR package, consists of 15 firms from the Fortune 500 list 1995 with 3 inputs and 2 outputs.

Analysis Phase

Importing data with deaR package.

ccr_f500 <- read_data(ccr, ni= 3, no= 2, dmus = 1, inputs = 2:4, outputs = 5:6)

Modeling basic DEA with input orientation.

result_ccr_f500 <- model_basic(ccr_f500, orientation = "io", rts = "crs", dmu_eval = 1:15, dmu_ref = 1:15)

Efficiency percentages and scores:

x <- efficiencies(result_ccr_f500)
data.frame(x)
##                                    x
## Mitsubishi                   0.66283
## Mitsui                       1.00000
## Itochu                       1.00000
## General Motors               1.00000
## Sumitomo                     1.00000
## Marubeni                     0.97197
## Ford Motor                   0.73717
## Toyota Motor                 0.52456
## Exxon                        1.00000
## Royal Dutch/Shell Group      0.84142
## Wal-Mart                     1.00000
## Hitachi                      0.38606
## Nippon Life Insurance        1.00000
## Nippon Telegraph & Telephone 0.34858
## AT&T                         0.27038

One can interpret that Wal-Mart, Mitsui, Itochu, Nippon, General Motors, Exxon and Sumitomo DMUs are the efficient ones. Others are not efficient if you compare to efficient DMUs.

targets(result_ccr_f500)
## $target_input
##                                 Assets    Equity Employees
## Mitsubishi                    60927.89  7258.008  23861.94
## Mitsui                        68770.90  5553.900  80000.00
## Itochu                        65708.90  4271.100   7182.00
## General Motors               217123.40 23345.500 709000.00
## Sumitomo                      50268.90  6681.000   6193.00
## Marubeni                      56548.35  5092.230   6514.12
## Ford Motor                   179340.03 18095.221 255789.34
## Toyota Motor                  55605.31 18536.593  77033.91
## Exxon                         91296.00 40436.000  82000.00
## Royal Dutch/Shell Group       97428.49 43152.149  87508.07
## Wal-Mart                      37871.00 14762.000 675000.00
## Hitachi                       35370.91 10456.238 128113.87
## Nippon Life Insurance        364762.50  2241.900  89690.00
## Nippon Telegraph & Telephone  44296.33 14723.963  80660.92
## AT&T                          24032.61  3338.645  12922.98
## 
## $target_output
##                               Revenue Profit
## Mitsubishi                   184365.2  346.2
## Mitsui                       181518.7  314.8
## Itochu                       169164.6  121.2
## General Motors               168828.6 6880.7
## Sumitomo                     167530.7  210.5
## Marubeni                     161057.4  156.6
## Ford Motor                   137137.0 4139.0
## Toyota Motor                 111052.0 2662.4
## Exxon                        110009.0 6470.0
## Royal Dutch/Shell Group      117398.5 6904.6
## Wal-Mart                      93627.0 2740.0
## Hitachi                       84167.1 1468.8
## Nippon Life Insurance         83206.7 2426.6
## Nippon Telegraph & Telephone  81937.2 2209.1
## AT&T                          79609.0  139.0

Commenting on targets section:

  • For efficient DMUs, inputs values are the same, since they are already efficient.
  • For inefficient DMUs, output values are the same but input values changed, since model is input oriented.
  • For inefficient DMUs, they have to change their input values to target values to become efficient.

Plots

plot(result_ccr_f500)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.

## Press [enter] to continue

## Press [enter] to continue