*! version 1.0.1 5jul2011
help orderm

Title

orderm -- Order-m efficiency analysis

Syntax

orderm
varlist1 = varlist2 [if] [in], [options]

technology_definition

Model
varlist1 list of inputs

varlist2 list of outputs

options

Main
dmu(varname) identifier; default is observation number _n

ort(input|output) considerinput or output oriented efficiency; default is ort(input)
m(#) set size of reference sample; default is m(ceil(N^(2/3))

draws(#) set number of re-sampling replications; default is draws(200)

SE/Bootstrap
bootstrap perform bootstrap using 50 replications

reps(#) set (temporary) number # of bootstrap replications and perform bootstrap

tune(#) set tuning parameter for sub-sampling bootstrap; values within the [0.5,1] interval are allowed

Reporting
level(#) set confidence level; default is level(95)

table(full|scores) display table of results
dots(1|2) display replication/loop dots

invert report reciprocal of output-oriented efficiency scores

Generate
generate(newvarlist) supply names for new variables, containing efficiency scores, ranks, and pseudo-reference dmus

replace replace existing variables in newvarlist

nogenerate do not create new variables containing results

weights are not allowed; see weight.

bootstrap, by, and svy are not allowed; see prefix.

Description

orderm computes non-parametric order-m efficiency scores for decision making units (dmus) as proposed by Daraio and Simar (2007: 72).
Order-m efficiency (Cazals et al., 2002) generalizes the free disposal hull (FDH) approach to efficiency measurement (Deprins et al., 1984). For m(#)
approaching infinity orderm coincides with FDH. Unlike FDH, which envelopes all data points by a non-convex production possibility frontier, orderm is a partial frontier approach that
allows for super-efficient units that are located beyond the estimated frontier. I.e. rather than performing FDH efficiency analysis using the entire sample as reference,
orderm uses artificial reference samples of size m(#), which are randomly drawn with replacement from the peer dmus in the original data. Drawing the artificial sample
is repeated draws(#) times and order-m efficiency scores are estimated as averages of FDH-like efficiency scores. Depending on the composition of the artificial reference sample,
a dmu may or may not serve as its own reference. This - unlike FHD where a dmu is always available as its own peer - allows for super-efficient
dmus. I.e. (input-oriented) efficiency scores may exceed the value of one. The number of dmus is limited to the value of matsize; for large values for m(#) and/or if bootstrapping is
specified, the maximum allowed sample size may be smaller than this.

Technology Definition

Model

varlist1 specifies inputs to the analyzed production process. At least one input-variables is required. Any variable in varlist1 needs to be numeric and strictly positive. Dmus with missing or non-positive values in
varlist1 are dropped.

varlist2 specifies outputs from the analyzed production process. At least one output-variables is required. Any variable in varlist2 needs to be numeric and strictly positive. Dmus with missing or non-positive values in
varlist2 are dropped. varlist2 may not share any variable with varlist1.

Options

Main

dmu(varname) specifies an identifier for the considered dmus. varname must uniquely identify dums. It may be either a numeric or a string variable.
If no identifer is specified, the observation number _n is used. In oder to make estimation results easily accessible and result tables informative,
it is recommended to choose an informative variable such as the dmus' real names.

ort(input|output) specifies whether input or output oriented efficiency is computed. For the former, inefficiency is
defined in terms of possible proportional reduction in input consumption. For the latter, inefficiency is defined in terms of possible
proportional increase in output generation. For ort(input) efficiency scores are smaller than one for inefficient dmus,
for ort(output) efficiency scores are greater than one for inefficient dmus, unless the invert option is specified. Efficient dmus
in either case are indicated by efficiency scores taking the value one. Super-efficient dmus located beyond the estimated production
possibility frontier, exhibit input-oriented efficiency greater than one, and output-oriented efficiency smaller than unity.

m(#) specifies the size of the artificial reference sample. The default is m(ceil(N^(2/3))). Non-integer and non-positive values are not allowed. Most
applications choose values substantially smaller than N. Note: even for m(N), orderm does not yield results for FDH efficiency analysis. This rather requires
m(#) to approach infinity. Yet - rather than by choosing a very large value for m(#) - FDH efficiency analysis can by carried out
more efficiently using orderalpha.

draws(#) specifies the number of re-sampling repetitions. The default is draws(200), as suggested by Daraio and Simar (2007). Yet, depending
on the data at hand, making estimated efficiency scores converge may require values that substantially exceed the default. Non-integer and non-positive
values are not allowed.

SE/Bootstrap

bootstrap invokes bootstrapping using 50 boostrap replications. Unless SEs are definitely required, users are strongly advise not to
request bootstrapping for large (and even moderately sized) samples. Due to nested re-sampling, computing time required by bootstrapping may become excessive. One may
also consider orderalpha as alternative. If neither bootstrap nor reps(#) is specified, orderm does not compute standard
errors for the estimated efficiency scores. The bootstrap will fail in determining non-zero SEs for dmus, for which no peers are available in the sample,
apart from the dmu itself.

reps(#) is equivalent to bootstrap, besides allowing for choosing the number of bootstrap repetitions #.

tune(#) determines the size of the bootstrap samples as int(N^#). Values within the [0.5,1] interval are allowed. Subsampling is applied in order to
account for the naive bootstrap being inconsistent in a boundary estimation framework. The boundary nature of the estimation problem
vanishes as m(#) departs from infinity. For small values of m(#) one may apply the naive bootstrap,
i.e. tune(1). The default is tune((2+exp(-m/N))/3), which is equal to 2/3 for FDH.

Reporting

level(#); see [R] estimation options.

table(full|scores) invokes displaying a results table. For table(scores) estimated efficiency scores
are displayed as if they were regression coefficients. For table(full) efficiency ranks and pseudo-reference dmus are also displayed. orderm
may generate a huge table as N scores are computed. Hence, suppressing table display
is the default. table(full) is not allowed for N > 2994 and cannot be re-displayed by typing orderm without arguments.

dots(1|2) invokes a display of replication dots and loop dots. For dots(1) one dot
character is displayed for each bootstrap replication. For dots(2) one dot character is also displayed for
each dmu being analyzed. Type 2 dots are not displayed during bootstrap replications.

invert makes output-oriented efficiency being reported analogously to input-oriented efficiency by taking the reciprocal. That
is, with invert specified, inefficient dmus exhibit efficiency scores smaller than one, irrespective of how ort() is specified. invert
has no effect on input-oriented efficiency.

Generate

generate(newvarlist) specifies the names of a new variables containing estimation results. newvarlist may
consist of up to three names. newvar1 denotes estimated efficiency scores, newvar2 denotes efficiency
ranks, and newvar3 denotes the name of the pseudo-reference dmu. If - because of ties in the data - for some dums more than one
pseudo-reference dmu is identified, further variables newvar3_2, newvar3_3, ... are created. If generate(newvarlist)
is not specified or less than three names are assigned, default names are _om_ort_m, _omrank_ort_m, and
_omref_ort_m.

replace specifies that existing variables named newvar1, newvar2, or newvar3 may be replaced.

nogenerate specifies that results are not saved to new variables.

Examples

Order-m(25) output-oriented efficiency

. orderm capital labor energy = durables perishables, dmu(firm) ort(output) m(25) gen(effi rank ref)

Order-m(10) input-oriented efficiency with boostrap

. orderm capital labor energy = durables perishables, dmu(firm) m(10) reps(50) dots(2) gen(effi rank ref) replace

After orderm with bootstrapping, stata's testing routines can be used as usual

. test _b[firm:Boogle]-_b[firm:Macrosoft]=0

Saved results

orderalpha saves the following in e():

Scalars

e(N) number of dmus

e(m) value of m(#)

e(draws) value of draws(#)

e(inputs) number of inputs

e(outputs) number of outputs

e(efficient) share of efficient dmus

e(super) share of super-efficient dmus

e(mean_e) mean estimated efficiency

e(med_e) median estimated efficiency

e(level) confidence level

Macros

e(cmd) orderm

e(cmdline) command as typed

e(title) Order-m efficiency analysis

e(dmuid) varname (name of dmu-identifier)

e(model) Order-m

e(saved) names of variables saved (not saved for option nogenerate)

e(table) scores, full, or no

e(invert) either inverted or notinverted (not saved for ort(input))

e(ort) either input or output

e(outputlist) varlist2 (list of outputs)

e(inputlist) varlist1 (list of inputs)

e(properties) either b or b V

e(depvar) dmu

Matrices

e(b) vector of estimated efficiency scores (colnames are of the form varname:value_of_varname)

e(ranks) vector of efficiency ranks (colnames are of the form varname:value_of_varname)

e(reference) matrix of names of pseudo-reference dums (not saved if varname is a string variable)

Functions

e(sample) marks estimation sample

orderm, boot reps(#) additionally saves the following in e():

Scalars

e(N_reps) number of bootstrap replications

e(tune) value of tuning parameter

e(N_bs) size of bootstrap samples

Macros

e(vce) bootstrap

e(vcetype) Bootstrap

Matrices

e(V) bootstrap variance-covariance matrix for estimated efficiency scores

e(bias) estimated biases

e(reps) number of nonmissing results

e(b_bs) bootstrap estimates

References

Cazals, C., J.P. Florens and L. Simar (2002). Nonparametric frontier estimation: a robust approach. Journal of Econometrics 106, 1–25.

Daraio, C. and L. Simar (2007). Advanced robust and nonparametric methods in efficiency analysis: Methodology and applications. Springer, New York.

Deprins, D., L. Simar and H. Tulkens (1984). Measuring laborefficiency in post offices, in: Marchand, M., P. Pestieau, H. Tulkens, (eds.),
The Performance of Public Enterprises: Concepts and Measurement. Elsevier, Amsterdam, 243-267.

Also see

Manual: [R] frontier

Help: [R] frontier

Online: dea, orderalpha

Author

Harald Tauchmann

Rheinisch-Westfälisches Institut für Wirtschaftsforschung (RWI)

Essen, Germany

E-mail: harald.tauchmann@rwi-essen.de

Disclaimer

This software is provided "as is" without warranty of any kind, either expressed or implied. The entire risk as to the quality and
performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or
correction. In no event will the copyright holders or their employers, or any other party who may modify and/or redistribute this software,
be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to
use the program.

Acknowledgements

This work has been supported in part by the Collaborative Research Center "Statistical Modelling of
Nonlinear Dynamic Processes" (SFB 823) of the German Research Foundation (DFG).