*! version 1.0 3mar2011
help orderalpha

Title

orderalpha -- Order-alpha efficiency analysis

Syntax

orderalpha
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)
alpha(#) set benchmark percentile; default is alpha(100)

SE/Bootstrap
bootstrap perform bootstrap using 100 replications

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

tune(#) set tuning parameter for subsampling 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 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

orderalpha computes non-parametric order-alpha efficiency scores for decision making units (dmus) as proposed by Daraio and Simar (2007: 74).
Order-alpha efficiency (Aragon et al., 2005) generalizes the free disposal hull (FDH) approach to efficiency measurement (Deprins et al., 1984), which for alpha(100)
represents a special case of orderalpha. Unlike FDH, which envelopes all data points by a non-convex production possibility frontier, orderalpha is a partial frontier approach that
allows for super-efficient units that are located beyond the estimated frontier. E.g. for ort(input), rather than using minimum input consumption { hline 1} among dmus that produce at least
as much output - as benchmark, orderalpha uses the (100-alpha)th percentile. For ort(output) the benchmark is the alphath percentile
of output generation among dmus that use equal or less input. The number of dmus is limited to the value of matsize.

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 dmus. 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.

alpha(#) specifies the #th percentile as benchmark. The default is alpha(100), that is FDH. Note: specified values smaller than
unity are still interpreted in terms of percentiles not quantiles. Values outside (0,100] are not allowed.

SE/Bootstrap

bootstrap invokes bootstrapping using 100 boostrap replications. If neither bootstrap nor reps(#) is specified,
orderalpha does not compute standard errors for the estimated efficiency scores. The bootstrap will fail in determining non-zero SEs
for dmus, for which no (or only few) peers are available in the sample, apart from the dmu itself. For large samples, bootstrapping
generates a huge NxN VCE and requires substantial computing time, which quadratically increases in N.

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

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 alpha(#) departs from 100. For values of alpha(#) substantially smaller than 100 one may apply the naive bootstrap,
i.e. tune(1). For FDH, the specified value should be smaller than unity. The default is tune((1+exp(50-alpha/2))/(2+exp(50-alpha/2))).
This 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 reference dmus are also displayed.
orderalpha 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 orderalpha 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 reference dmu. If - because of ties in the data - for some dums more than one
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 _oa_ort_alpha, _oarank_ort_alpha, and
_oaref_ort_alpha. For FDH default names are _fdh_ort, _fdhrank_ort, and _fdhref_ort.

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

nogenerate specifies that results are not saved to new variables.

Examples

FDH input-oriented efficiency

. orderalpha capital labor energy = durables perishables

Order-alpha(95) output-oriented efficiency

. orderalpha capital labor energy = durables perishables, dmu(firm) ort(output) alpha(95) gen(effi rank ref)

Order-alpha(90) input-oriented efficiency with boostrap

. orderalpha capital labor energy = durables perishables, dmu(firm) alpha(90) reps(250) dots(2) gen(effi rank ref) replace

After orderalpha 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(alpha) value of alpha(#)

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) orderalpha

e(cmdline) command as typed

e(title) Order-alpha efficiency analysis

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

e(model) either Order-alpha or FDH

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 reference dums (not saved if varname is a string variable)

Functions

e(sample) marks estimation sample

orderalpha, 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

Aragon, Y., A. Daouia and C. Thomas-Agnan (2005). Nonparametric frontier estimation: a conditional quantile-based approach. Econometric Theory 21, 358–389.

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, orderm

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).