efficiencies: Extract Efficiency Scores from a Metafrontier Model

View source: R/efficiencies.R

efficienciesR Documentation

Extract Efficiency Scores from a Metafrontier Model

Description

Extracts technical efficiency scores from a fitted metafrontier model. Returns either group-specific efficiency (TE), metafrontier efficiency (TE^* = TE \times TGR), or the technology gap ratio (TGR).

Usage

efficiencies(object, ...)

## S3 method for class 'metafrontier'
efficiencies(object, type = c("meta", "group", "tgr"), estimator = NULL, ...)

Arguments

object

a fitted "metafrontier" object.

...

additional arguments (currently unused).

type

character. The type of efficiency to return: "group" for efficiency relative to the group frontier, "meta" (default) for efficiency relative to the metafrontier, or "tgr" for the technology gap ratio.

estimator

optional character. Override the efficiency estimator used at fit time: "bc88" for the Battese-Coelli (1988) conditional expectation E[\exp(-u)|\varepsilon] or "jlms" for \exp(-E[u|\varepsilon]) (Jondrow et al., 1982). Both are stored on SFA fits, so no refitting is needed; type = "meta" is recomputed as TE \times TGR. The TGR itself does not depend on the estimator. Ignored (with a warning) for DEA fits and externally fitted group models that do not carry both estimators. Default NULL returns the scores selected at fit time.

Details

The fundamental metafrontier decomposition is:

TE^*_i = TE_i \times TGR_i

where TE_i is efficiency relative to the group frontier (returned by type = "group") and TGR_i is the technology gap ratio (returned by type = "tgr").

Value

A numeric vector of efficiency scores of length nobs(object).

See Also

technology_gap_ratio, metafrontier

Examples

set.seed(42)
sim <- simulate_metafrontier(n_groups = 2, n_per_group = 100)
fit <- metafrontier(log_y ~ log_x1 + log_x2,
                    data = sim$data, group = "group")

# Group-level efficiency
te <- efficiencies(fit, type = "group")

# Metafrontier efficiency
te_star <- efficiencies(fit, type = "meta")

# Verify decomposition: TE* = TE x TGR
tgr <- efficiencies(fit, type = "tgr")
all.equal(te_star, te * tgr)


metafrontier documentation built on Aug. 19, 2026, 5:08 p.m.