Using Data Envelopment Analysis (DEA), this function measures productivity and profitability in levels and changes with Hicks-Moorsteen index.
The Hicks-Moorsteen index is the geometric average of its components, i.e. Malmquist-hs and Malmquist-it indices.
Deflated shadow prices of inputs and outputs used to compute Malmquist-hs and Malmquist-it indices can also be returned.
hicksmoorsteen(data, id.var, time.var, x.vars, y.vars, w.vars = NULL, p.vars = NULL,
tech.change = TRUE, tech.reg = TRUE, rts = c("vrs", "crs", "nirs", "ndrs"),
orientation = c("out", "in", "in-out"), parallel = FALSE, cores = max(1,
detectCores() - 1), scaled = TRUE, components = FALSE)# S3 method for HicksMoorsteen
print(x, digits = NULL, …)
A dataframe containing the required information for measuring productivity and profitability.
Firms' ID variable. Can be an integer or a text string.
Time period variable. Can be an integer or a text string.
Input quantity variables. Can be a vector of text strings or integers.
Output quantity variables. Can be a vector of text strings or integers.
Input price variables (Optional). Can be a vector of text strings or integers.
NULL
by default, and in this case productivity only is measured.
Output price variables (Optional). Can be a vector of text strings or integers.
NULL
by default, and in this case productivity only is measured.
Logical. If TRUE
(default), the model allows for technological change.
If FALSE
, technological change is prohibited. See also the Details
section.
Logical. If TRUE
(default), the model allows for negative technological change
(i.e. technological regress). If FALSE
, only positive technological change (i.e. technological progress)
is allowed. See also the Details
section.
Character string specifying the returns to scale assumption.
The default value is "vrs"
(variable returns to scale). Other possible options
are "crs"
(constant returns to scale), "nirs"
(non-increasing returns to scale),
or "ndrs"
(non-decreasing returns to scale).
Character string specifying the orientation.
The default value is "out"
(output-orientation). Other possible options
are "in"
(input-orientation), and "in-out"
(both input- and output-orientations).
For "in-out"
, the geometric mean of input- and output-orientations' results is returned.
Logical. Allows parallel computation. If FALSE
(default) the estimation is conducted
in sequential mode. If TRUE
, parallel mode is activated using the number of cores specified in cores
.
When the sample size is small, it is recommended to keep the parallel
option to its default value (FALSE
).
Integer. Used only if parallel = TRUE
. It specifies the number of cores to be used
for parallel computation. By default, cores = max(1, detectCores() - 1)
.
Logical. If TRUE
(default), input and output quantities are rescaled. If FALSE
, a warning message
is displayed when very large (>1e5) and/or very small (<1e-4) values are present in the input and output quantity variables.
See also the Details
section.
Logical. Default is FALSE
(only Hicks-Moorsteen indices are returned). When set to TRUE
,
the components Malmquist-hs and Malmquist-it indices are also returned (in terms of levels, changes, along
with shadow prices used to compute Malmquist-hs and Malmquist-it).
An object of class 'HicksMoorsteen'
.
The minimum number of significant digits to be printed in values.
Default = max(3, getOption("digits") - 3)
.
Currently not used.
hicksmoorsteen()
returns a list of class 'HicksMoorsteen'
for which a summary of productivity and profitability
(when price information is specified) measures in levels and changes is printed.
This list contains the following elements:
-- HicksMoorsteen, containing levels and changes related to Hick-Moorsteen index per-se, with:
Several elements are provided, depending on the orientation
specified:
REV |
Revenues (when w.vars and p.vars are specified) |
COST |
Costs (when w.vars and p.vars are specified) |
PROF |
Profitability (when w.vars and p.vars are specified) |
P |
Aggregated output prices (when w.vars and p.vars are specified) |
W |
Aggregated input prices (when w.vars and p.vars are specified) |
TT |
Terms of trade (i.e. P/W ) (when w.vars and p.vars are specified) |
AO |
Aggregated outputs |
AI |
Aggregated inputs |
TFP |
Total Factor Productivity (TFP) |
MP |
Maximum productivity |
TFPE |
TFP efficiency score |
OTE |
Output-oriented technical efficiency score (orientation = "out" ) |
OSE |
Output-oriented scale efficiency score (orientation = "out" ) |
OME |
Output-oriented mix efficiency score (orientation = "out" ) |
ROSE |
Residual output-oriented scale efficiency score (orientation = "out" ) |
OSME |
Output-oriented scale-mix efficiency score (orientation = "out" ) |
ITE |
Input-oriented technical efficiency score (orientation = "in" ) |
ISE |
Input-oriented scale efficiency score (orientation = "in" ) |
IME |
Input-oriented mix efficiency score (orientation = "in" ) |
RISE |
Residual input-oriented scale efficiency score (orientation = "in" ) |
ISME |
Input-oriented scale-mix efficiency score (orientation = "in" ) |
OTE.ITE |
Geometric mean of OTE and ITE (orientation = "in-out" ) |
OSE.ISE |
Geometric mean of OSE and ISE (orientation = "in-out" ) |
OME.IME |
Geometric mean of OME and IME (orientation = "in-out" ) |
ROSE.RISE |
Geometric mean of ROSE and RISE (orientation = "in-out" ) |
OSME.ISME |
Geometric mean of OSME and ISME (orientation = "in-out" ) |
Change indices of the different elements of Levels
are provided. Each change is prefixed by
"d"
(e.g. profitability change is denoted dPROF
, output-oriented efficiency change is denoted dOTE
, etc.).
-- MalmquistHS, only returned when components = TRUE and accessible using Levels, Changes, and Shadowp, containing levels, changes, and shadow prices related to Malmquist-hs index, with:
Several elements are provided, depending on the orientation
specified.
Change indices of the different elements of Levels
.
For each observation, input (x.vars
) and output (y.vars
) deflated shadow prices used to compute
Malmquist-hs index are returned.
-- MalmquistIT, only returned when components = TRUE and accessible using Levels, Changes, and Shadowp, containing levels, changes, and shadow prices related to Malmquist-it index, with:
Several elements are provided, depending on the orientation
specified.
Change indices of the different elements of Levels
are provided.
For each observation, input (x.vars
) and output (y.vars
) deflated shadow prices used to compute
Malmquist-it index are returned.
From an object of class 'HicksMoorsteen' obtained from hicksmoorsteen(), the
Levels
function extracts individual Hicks-Moorsteen productivity and profitability levels;
Changes
function extracts individual Hicks-Moorsteen productivity and profitability change indices; and
Shadowp
function extracts individual input and output deflated shadow prices of Malmquist-hs
and Malmquist-it indices, when components = TRUE
.
The hicksmoorsteen()
function will not work with unbalanced panel data.
The Hicks-Moorsteen index may be sensitive to the rescaling.
The productivity levels are obtained using shadow prices computed using dual (multipliers) DEA models. However, for extreme efficient observations the issue of multiple solutions may arise and the values of shadow prices may differ depending on the linear programming solver used (here lpSolveAPI).
The Hicks-Moorsteen index is the geometric average of Malmquist-hs and Malmquist-it indices. For a firm i Malmquist-it computes the productivity index based on the reference year t. For a firm h, Malmquist-hs computes the productivity index based on the reference year s (i.e. t-1). Therefore, the Malmquist-it index uses the current period shadow prices as aggregators, while the Malmquist-hs index uses the previous period shadow prices as aggregators.
When tech.change
is set to FALSE
, this overrides the effect of tech.reg
.
Setting scaled = FALSE
(no rescaling of data) may lead to numerical problems in solving LP
problems while optimizing DEA models. In extreme cases it may also prevent models from being optimized.
The Hicks-Moorsteen index is not transitive and therefore each firm is compared to itself in the previous period.
Since there is no previous period for the first period, the results for this first period are replaced by NA
.
Briec W., and Kerstens K. (2011). The Hicks-Moorsteen Productivity Index Satisfies the Determinateness Axiom. The Manchester School, 79(4), 765--775. https://doi.org/10.1111/j.1467-9957.2010.02169.x
Caves D.W., Christensen L.R., and Diewert W.E.(1982). The Economic Theory of Index Numbers and the Measurement of Input, Output, and Productivity. Econometrica, 50(6), 1393--1414. URL: http://www.jstor.org/stable/1913388
O'Donnell C.J. (2008), An aggregate quantity-price framework for measuring and decomposing productivity and profitability change. School of Economics, University of Queensland, Australia. URL: https://www.uq.edu.au/economics/cepa/docs/WP/WP072008.pdf
O'Donnell C.J. (2010). Measuring and decomposing agricultural productivity and profitability change. Australian Journal of Agricultural and Resource Economics, 54(4), 527--560. https://doi.org/10.1111/j.1467-8489.2010.00512.x
O'Donnell C.J. (2011), The sources of productivity change in the manufacturing sectors of the U.S. economy. School of Economics, University of Queensland, Australia. URL: http://www.uq.edu.au/economics/cepa/docs/WP/WP072011.pdf
See Levels
to retrieve Hicks-Moorsteen (along with Malmquist-hs and Malmquist-it) productivity
and profitability in levels and components.
See Changes
to retrieve Hicks-Moorsteen (along with Malmquist-hs and Malmquist-it) productivity
and profitability changes and components.
See Shadowp
to retrieve deflated input and output shadow prices of Malmquist-hs and Malmquist-it.
# NOT RUN {
## Hicks-Moorsteen productivity, without price information
# }
# NOT RUN {
Hicks1 <- hicksmoorsteen(data = usagri, id.var = "States", time.var = "Years", x.vars = c(7:10),
y.vars = c(4:6), rts = "crs", orientation = "in")
Hicks1
# }
# NOT RUN {
## Hicks-Moorsteen productivity and profitability, with price information
# }
# NOT RUN {
Hicks2 <- hicksmoorsteen(data = usagri, id.var = "States", time.var = "Years",
x.vars = c(7:10), y.vars = c(4:6), w.vars = c(14:17), p.vars = c(11:13))
Hicks2
# }
Run the code above in your browser using DataLab