Cost Efficiency Change

Example

In this example we compute the cost efficiency change measure considering a choice of directional vector that returns cost inefficiency in monetary terms:

using BenchmarkingEconomicEfficiency

X1 = [5 3; 2 4; 4 2; 4 8; 7 9]
Y1 = [7 4; 10 8; 8 10; 5 4; 3 6]
W1 = [2 1; 2 1; 2 1; 2 1; 2 1]

X2 = [14 12; 8 10; 10 8; 16 20; 14 17]
Y2 = [18 10; 36 28; 28 36; 18 14; 12 20]
W2 = [3 4; 3 4; 3 4; 3 4; 3 4]

X = Array{Float64,3}(undef, 5, 2, 2);
X[:, :, 1] = X1;
X[:, :, 2] = X2;

Y = Array{Float64,3}(undef, 5, 2, 2);
Y[:, :, 1] = Y1;
Y[:, :, 2] = Y2;

W = Array{Float64,3}(undef, 5, 2, 2);
W[:, :, 1] = W1;
W[:, :, 2] = W2;

costeffchddf = deacostchangeddf(X, Y, W, Gx = :Monetary)
Cost Efficiency Change DEA Model 
DMUs = 5; Inputs = 2; Outputs = 2; Time periods = 2
Returns to Scale = VRS
Gx = Monetary
───────────────────────────────────────────────────────────────
     Cost.Change    Tech.Change  Alloc.Change  NF.Base  NF.Comp
───────────────────────────────────────────────────────────────
1  -23.0          -25.0           2.0              1.0      1.0
2    0.0            0.0           0.0              1.0      1.0
3    3.55271e-15    1.85789e-16   3.36692e-15      1.0      1.0
4  -58.0          -50.0          -8.0              1.0      1.0
5  -33.0          -27.0          -6.0              1.0      1.0
───────────────────────────────────────────────────────────────

Estimated economic, technical and allocative efficiency change scores are returned with the effchange function:

effchange(costeffchddf, :Economic)
5-element Vector{Float64}:
 -22.999999999999986
   0.0
   3.552713678800501e-15
 -58.0
 -33.000000000000014
effchange(costeffchddf, :Technical)
5-element Vector{Float64}:
 -25.0
   0.0
   1.8578888427711608e-16
 -50.0
 -26.999999999999993
effchange(costeffchddf, :Allocative)
5-element Vector{Float64}:
  2.000000000000014
  0.0
  3.366924794523385e-15
 -8.0
 -6.000000000000021

DEA Cost Efficiency Change Functions Documentation

BenchmarkingEconomicEfficiency.deacostchangeFunction
deacostchange(X, Y, W, model)

Compute cost efficiency change using data envelopment analysis radial model for inputs X, outputs Y, and price of inputs W.

Optional Arguments

  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.deacostchangeaddFunction
deacostchangeadd(X, Y, W, P, model)

Compute cost efficiency change using data envelopment analysis weighted additive model for inputs X, outputs Y, and price of inputs W.

Model specification:

  • :Ones: standard additive DEA model.
  • :MIP: Measure of Inefficiency Proportions. (Charnes et al., 1987; Cooper et al., 1999)
  • :Normalized: Normalized weighted additive DEA model. (Lovell and Pastor, 1995)
  • :RAM: Range Adjusted Measure. (Cooper et al., 1999)
  • :BAM: Bounded Adjusted Measure. (Cooper et al, 2011)
  • :Custom: User supplied weights.

Optional Arguments

  • rhoX: matrix of weights of inputs. Only if model=:Custom.
  • monetary=false: decomposition in normalized terms. Monetary terms if true.
  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.deacostchangerussellFunction
deacostchangerussell(X, Y, W, P)

Compute cost efficiency change using Russell data envelopment analysis for inputs X, outputs Y, and price of inputs W.

Optional Arguments

  • monetary=false: decomposition in normalized terms. Monetary terms if true.
  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.deacostchangeddfFunction
deacostchangeddf(X, Y, W, P; Gx, Gy)

Compute cost efficiency change using DDF data envelopment analysis model for inputs X, outputs Y, and price of inputs W.

Direction specification:

The direction Gx can be one of the following symbols.

  • :Zeros: use zeros.
  • :Ones: use ones.
  • :Observed: use observed values.
  • :Mean: use column means.
  • :Monetary: use direction so that cost inefficiency is expressed in monetary values.

Alternatively, a vector or matrix with the desired directions can be supplied.

Optional Arguments

  • monetary=false: decomposition in normalized terms. Monetary terms if true.
  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.deacostchangeholderFunction
deacostchangeholder(X, Y, W, P; l)

Compute cost efficiency change using data envelopment analysis Hölder model for inputs X, outputs Y, and price of inputs W.

Hölder norm l specification

  • 1.
  • 2.
  • Inf.

Optional Arguments

  • weigt=false: set to true for weighted (weakly) Hölder distance function.
  • monetary=false: decomposition in normalized terms. Monetary terms if true.
  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.deacostchangerddfFunction
deacostchangerddf(X, Y, W, P, measure)

Compute cost change efficiency using data envelopment analysis Reverse DDF model for inputs X, outputs Y, price of inputs W, price of outputs P, and efficiency measure.

Measure specification:

  • :ERG: Enhanced Russell Graph Slack Based Measure.

Direction specification:

For the Modified Directional Distance Function, the directions Gx and Gy can be one of the following symbols.

  • :Observed: use observed values.

Alternatively, a vector or matrix with the desired directions can be supplied.

Optional Arguments

  • monetary=false: decomposition in normalized terms. Monetary terms if true.
  • atol=1e-6: tolerance for DMU to be considered efficient.
  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.deacostchangegdaFunction
deacostchangegda(X, Y, W, P, measure)

Compute cost efficiency change using data envelopment analysis General Direct Approach model for inputs X, outputs Y, price of inputs W, price of outputs P, and efficiency measure.

Measure specification:

  • :ERG: Enhanced Russell Graph (or Slack Based Measure (SBM)).

Optional Arguments

  • monetary=false: decomposition in normalized terms. Monetary terms if true.
  • atol=1e-6: tolerance for DMU to be considered efficient.
  • names: a vector of strings with the names of the decision making units.
source
BenchmarkingEconomicEfficiency.effchangeMethod
effchange(model::CostChangeDEAModel)

Return efficiency change of a cost change DEA model.

Optional Arguments

  • type=Economic: type of efficiency change scores to return.

Type specification:

  • :Economic: returns economic efficiency change of the model.
  • :Technical: returns technical efficiency change.
  • :Allocative: returns allocative efficiency change.
source