Introduction

In this paper I used data envelopemnt analysis to find efficent schools using hypothetical example to show the actual usage of the model for a real project. For the example I have used 3 primary schools and used simulated data.

Data

3 inputs as u1,u2,u3

u1 = Teacher Experiance u2 = Number of computers in schools u3 = School facilities index( measured in 0 to 100)

1 output as v1

v1 = Average of grade 5 scholarship exam marks

data table as follows

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
df1matrix = matrix(c(117,10,5,25,85,12,8,37,90,20,6,86),ncol =4 ,byrow = TRUE)
df1 <- as.data.frame(df1matrix)
colnames(df1) <- c("scholarship marks(v)","teacher experiance(u1)","number of computers(u2)","school facilites index(u3)")
df1 %>%
  mutate(school = c("A","B","C"))
##   scholarship marks(v) teacher experiance(u1) number of computers(u2)
## 1                  117                     10                       5
## 2                   85                     12                       8
## 3                   90                     20                       6
##   school facilites index(u3) school
## 1                         25      A
## 2                         37      B
## 3                         86      C

Model and results

Model v1

For School A

max z = 117v/(10u1+5u2+25u3) // maximizing efficiency for school A(efficency = weighted outputs/weighted inputs)

subject to // constraints

117v/(10u1+5u2+25u3) <= 1 // for school A ,efficiecnty cannnot be greater than 1

85v/(12u1+8u2+37u3) <= 1 // for school B ,efficiecnty cannnot be greater than 1

90v/(20u1+6u2+86u3) <= 1 // for school C ,efficiecnty cannnot be greater than 1

v,u1,u2,u3 >= 0

Model v2 (convert above model to a linear programming problem by rearranging terms)

For school1

max z = 117v

subjetc to

117v -(10u1 +5u2 + 25u3) <= 0

85v - (12u1 + 8u2 + 37u3) <= 0

90v -(20u1 + 6u2 + 86u3) <= 0

10u1 + 5u2 + 25u3 = 1

ui , v >= 0

….

For school B

max z = 85v

subjetc to

117v -(10u1 +5u2 + 25u3) <= 0

85v - (12u1 + 8u2 + 37u3) <= 0

90v -(20u1 + 6u2 + 86u3) <= 0

12u1 + 8u2 + 37u3 = 1

ui , v >= 0

….

For School C

max z = 90v

subjetc to

117v -(10u1 +5u2 + 25u3) <= 0

85v - (12u1 + 8u2 + 37u3) <= 0

90v -(20u1 + 6u2 + 86u3) <= 0

20u1 + 6u2 + 86u3 = 1

ui , v >= 0

We then solve above 3 models and find efficiencies for each school

R implemetion of the model

Model for school A

library(lpSolve)


constr = matrix(c(117,-10,-5,-25,85,-12,-8,-37,90,-20,-6,-86,0,10,5,25),ncol =4 ,byrow = TRUE)
obj.function = c(117,0,0,0)

constr = matrix(c(117,-10,-5,-25,85,-12,-8,-37,90,-20,-6,-86,0,10,5,25),ncol =4 ,byrow = TRUE)
constr.dir =c("<=","<=","<=","=")
constr.rhs = c(0,0,0,1)
mod = lp("max",obj.function,constr,constr.dir,constr.rhs,compute.sens = TRUE)


mod$solution
## [1] 0.008547009 0.100000000 0.000000000 0.000000000

calculating school efficiency of A

schoolA.eff <- (117*0.00854)/(10*0.1)
schoolA.eff
## [1] 0.99918

Model for School B

# for school B
obj.function = c(85,0,0,0)

constr = matrix(c(117,-10,-5,-25,85,-12,-8,-37,90,-20,-6,-86,0,12,8,37),ncol =4 ,byrow = TRUE)
constr.dir =c("<=","<=","<=","=")
constr.rhs = c(0,0,0,1)
mod = lp("max",obj.function,constr,constr.dir,constr.rhs,compute.sens = TRUE)


mod$solution
## [1] 0.007122507 0.083333333 0.000000000 0.000000000

calculating school B efficiency

school2.eff <- (85*0.0071)/(12*0.08)
school2.eff
## [1] 0.6286458

Model for School C

obj.function = c(90,0,0,0)

constr = matrix(c(117,-10,-5,-25,85,-12,-8,-37,90,-20,-6,-86,0,20,6,86),ncol =4 ,byrow = TRUE)
constr.dir =c("<=","<=","<=","=")
constr.rhs = c(0,0,0,1)
mod = lp("max",obj.function,constr,constr.dir,constr.rhs,compute.sens = TRUE)


mod$solution
## [1] 0.007122507 0.000000000 0.166666667 0.000000000

Calculating school C efficiency

school3.eff <- (90*0.0071)/(0*20+6*0.1666+0*86)
school3.eff
## [1] 0.6392557

Conclusion and recommendations

As we can see school A has 100% efficiency ,School B has 63% efficency and School C has 64% efficency.

Average efficiecncy of shools in zone = 75%

Furether we can see inefficency in each variables.For an example we can see in school C there’s inefficency of using computers (i.e. u2 = 0.1666).That means reducing computers from 1 unit (i.e from 6 to 5) in that school will result in efficency increase of 16.6%.

convert inefficiencies to loss of rupees

If we assume one computer in school C costs Rs 38,000,then it has 6 x 38,000 = 228,000 worth of computers.So 16% inefficiency of computers usage means 228,00 x 0.16 = Rs.36,400 of waste of funds.

Further study

Since “students charactresitcis”(iq,houshold income,parents education etc - which are out of control of schools), influence school outputs, we need to contorl that.For this we can use two stage DEA model(report 2)