fisher: Fisher productivity and profitability index

Description Usage Arguments Details Value Warning Note Author(s) References See Also Examples

View source: R/fisher.R

Description

Using Data Envelopment Analysis (DEA), this function measures productivity and profitability in levels and changes with Fisher index.

The Fisher productivity index is the geometric average of Laspeyres and Paasche indices.

Deflated shadow prices of inputs and outputs can also be computed.

Usage

1
2
3
4
5
6
7
fisher(data, id.var, time.var, x.vars, y.vars, w.vars, p.vars, 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, 
  shadow = FALSE)

## S3 method for class 'Fisher'
print(x, digits = NULL, ...)

Arguments

data

A dataframe containing the required information for measuring productivity and profitability.

id.var

Firms' ID variable. Can be an integer or a text string.

time.var

Time period variable. Can be an integer or a text string.

x.vars

Input quantity variables. Can be a vector of text strings or integers.

y.vars

Output quantity variables. Can be a vector of text strings or integers.

w.vars

Input price variables. Can be a vector of text strings or integers.

p.vars

Output price variables. Can be a vector of text strings or integers.

tech.change

Logical. If TRUE (default), the model allows for technological change. If FALSE, technological change is prohibited. See also the Details section.

tech.reg

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.

rts

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

orientation

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.

parallel

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

cores

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

scaled

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.

shadow

Logical. Default is FALSE (no shadow prices are returned). When set to TRUE, input and output shadow prices are returned. These shadow prices are informative only and may be subject to the linear programming solver used.

x

An object of class 'Fisher'.

digits

The minimum number of significant digits to be printed in values. Default = max(3, getOption("digits") - 3).

...

Currently not used.

Details

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

Value

fisher() returns a list of class 'Fisher' for which a summary of productivity and profitability measures in levels and changes, as well as a summary shadow prices (if shadow = TRUE), is printed.

This list contains the following items:

Levels

Several elements are provided, depending on the orientation specified:

REV Revenues
COST Costs
PROF Profitability
P Aggregated output prices
W Aggregated input prices
TT Terms of trade (i.e. P/W)
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")
RAE Revenue allocative efficiency (orientation = "out")
(equivalent to output-oriented mix efficiency score)
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")
CAE Cost allocative efficiency (orientation = "in")
(equivalent to input-oriented mix efficiency score)
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")
RAE.CAE Geometric mean of RAE and CAE (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")
RME Residual mix efficiency score
RE Revenue efficiency (orientation = "out")
CE Cost efficiency (orientation = "in")
RE.CE Geometric mean of RE and CE (orientation = "in-out")
Changes

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

Shadowp

Returned only if shadow = TRUE. It contains the deflated cost input (x.vars) shadow prices and the deflated revenue output (y.vars) shadow prices.

From an object of class 'Fisher' obtained from fisher(), the

Warning

The fisher() function will not work with unbalanced panel data.

The Fisher index may be sensitive to the rescaling.

For extreme efficient observations, the problem of multiple solutions may arise and the values of shadow prices may differ depending on the linear programming solver used (here lpSolveAPI).

Note

All output-oriented efficiency scores are computed a la Shephard, while all input-oriented efficiency scores are computed a la Farrell. Hence, all efficiency scores are greater than zero and are lower or equal to one.

Author(s)

K Herv<c3><a9> Dakpo, Yann Desjeux, Laure Latruffe

References

Diewert W.E. (1992), Fisher ideal output, input, and productivity indexes revisited. Journal of Productivity Analysis, 3(3), 211-248. https://doi.org/10.1007/BF00158354

Coelli T.J., D.S.P. Rao, C.J. O'Donnell, and G.E. Battese (2005), An Introduction to Efficiency and Productivity Analysis. Springer Eds.

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 Also

See Levels to retrieve a data frame with individual Fisher productivity and profitability in levels and components.
See Changes to retrieve a data frame with individual Fisher productivity and profitability changes and components.
See Shadowp to retrieve individual deflated input and output shadow prices, provided that shadow = TRUE.

See also laspeyres and paasche for computations with alternative indices.

Examples

1
2
3
4
5
6
7
## Fisher profitability and productivity levels and changes' computations
## Not run: 
  Fisher.prod <- fisher(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), orientation = "out")
  Fisher.prod

## End(Not run)

productivity documentation built on May 2, 2019, 4:44 p.m.