Learn R Programming

Benchmarking (version 0.27)

Benchmarking-package: Data Envelopment Analyses (DEA) and Stochastic Frontier Analyses (SFA) -- Model Estimations and Efficiency Measuring

Description

The Benchmarking package contains methods to estimate technologies and measure efficiencies using DEA and SFA. Data Envelopment Analysis (DEA) are supported under different technology assumptions (fdh, vrs, drs, crs, irs, add), and using different efficiency measures (input based, output based, hyperbolic graph, additive, super, directional). Peers are available, partial price information can be included, and optimal cost, revenue and profit can be calculated. Evaluation of mergers are also supported. A comparative method for estimating stochastic frontier function (SFA) efficiencies is included. The methods can solve not only standard models, but also many other model variants, and they can be modified to solve new models.

The package also support simple plots of DEA technologies with two goods; either as a transformation curve (2 outputs), an isoquant (2 inputs), or a production function (1 input and 1 output). When more inputs and outputs are available they are aggregated using weights (prices, relative prices).

The package complements the book, Bogetoft and Otto, Benchmarking with DEA, SFA, and R, Springer-Verlag 2011, but can of course also be used as a stand-alone package.

Arguments

Details

Package: Benchmarking
Type: Package
Version: 0.27 ($Revision: 157 $)
Date: $Date: 2015-07-09 11:40:20 +0200 (to, 09 jul 2015) $
License: Copyright

dea DEA input or output efficience measures, peers, lambdas and slacks

dea.dual Dual weights (prices), including restrictions on weights

dea.direct Directional efficiency

sdea Super efficiency.

dea.add Additive efficiency; sum of slacks in DEA technology.

mea Multidirectional efficiency analysis or potential improvements.

eff Efficiency from an object returned from any of the dea or sfa functions.

slack Slacks in DEA models

excess Calculates excess input or output compared to DEA frontier.

peers get the peers for each firm.

dea.boot Bootstrap DEA models

cost.opt Optimal input for given output and prices.

revenue.opt Optimal output for given input and prices.

profit.opt Optimal input and output for given input and output prices.

dea.plot Graphs of DEA technologies under alternative technology assumptions.

dea.plot.frontier Specialized for 1 input and 1 output.

dea.plot.isoquant Specialized for 2 inputs.

dea.plot.transform Specialized for 2 outputs.

eladder Efficiency ladder for a single firm.

eladder.plot Plot efficiency ladder for a single firm.

make.merge Make an aggregation matrix to perform mergers.

dea.merge Decompose efficiency from a merger of firms

sfa Stochastic frontier analysis, production, distance, and cost function (SFA)

outlier.ap Detection of outliers

eff.dens Estimate and plot kernel density of efficiencies

critValue Critical values calculated from bootstrap DEA models.

typeIerror Probability of a type I error for a test in bootstrap DEA models.

References

Bogetoft and Otto; Benchmarking with DEA, SFA, and R; Springer 2011

Paul W. Wilson (2008), “FEAR 1.0: A Software Package for Frontier Efficiency Analysis with R,” Socio-Economic Planning Sciences 42, 247--254

Examples

Run this code
# NOT RUN {
# Plot of different technologies
x <- matrix(c(100,200,300,500),ncol=1,dimnames=list(LETTERS[1:4],"x"))
y <- matrix(c(75,100,300,400),ncol=1,dimnames=list(LETTERS[1:4],"y"))
dea.plot(x,y,RTS="vrs",ORIENTATION="in-out",txt=rownames(x))
dea.plot(x,y,RTS="drs",ORIENTATION="in-out",add=TRUE,lty="dashed",lwd=2)
dea.plot(x,y,RTS="crs",ORIENTATION="in-out",add=TRUE,lty="dotted")
                      
dea.plot(x,y,RTS="fdh",ORIENTATION="in-out",txt=rownames(x),main="fdh")
dea.plot(x,y,RTS="irs",ORIENTATION="in-out",txt=TRUE,main="irs")
dea.plot(x,y,RTS="irs2",ORIENTATION="in-out",txt=rownames(x),main="irs2")
dea.plot(x,y,RTS="add",ORIENTATION="in-out",txt=rownames(x),main="add")

#  A quick frontier with 1 input and 1 output
dea.plot(x,y, main="Basic plot of frontier")

# Calculating efficiency
dea(x,y, RTS="vrs", ORIENTATION="in")
e <- dea(x,y, RTS="vrs", ORIENTATION="in")
e
eff(e)
peers(e)
peers(e, NAMES=TRUE)
print(peers(e, NAMES=TRUE), quote=FALSE)
lambda(e)
summary(e)


# Calculating super efficiency
esuper <- sdea(x,y, RTS="vrs", ORIENTATION="in")
esuper
print(peers(esuper,NAMES=TRUE),quote=FALSE)
# Technology for super efficiency for firm number 3/C 
# Note that drop=FALSE is necessary for XREF and YREF to be matrices
# when one of the dimensions is or is reduced to 1.
e3 <- dea(x,y, XREF=x[-3,,drop=FALSE], YREF=y[-3,,drop=FALSE])
dea.plot(x[-3],y[-3],RTS="vrs",ORIENTATION="in-out",txt=LETTERS[c(1,2,4)])
points(x[3],y[3],cex=2)
text(x[3],y[3],LETTERS[3],adj=c(-.75,.75))
e3 <- dea(x,y, XREF=x[-3,,drop=FALSE], YREF=y[-3,,drop=FALSE])
eff(e3)
peers(e3)
print(peers(e3,NAMES=TRUE),quote=FALSE)
lambda(e3)
e3$lambda

# Taking care of slacks
x <- matrix(c(100,200,300,500,100,600),ncol=1,
        dimnames=list(LETTERS[1:6],"x"))
y <- matrix(c(75,100,300,400,50,400),ncol=1,
        dimnames=list(LETTERS[1:6],"y"))

# Phase one, calculate efficiency
e <- dea(x,y)
print(e)
peers(e)
lambda(e)
# Phase two, calculate slacks (maximize sum of slacks)
sl <- slack(x,y,e)
data.frame(sl$sx,sl$sy)
peers(sl)
lambda(sl)
sl$lambda
summary(sl)

# The two phases in one function call
e2 <- dea(x,y,SLACK=TRUE)
print(e2)
data.frame(eff(e2),e2$slack,e2$sx,e2$sy,lambda(e2))
peers(e2)
lambda(e2)
e2$lambda
# }

Run the code above in your browser using DataLab