DEAPack is an open-source Python framework for data envelopment analysis (DEA), efficiency measurement, productivity analysis, and environmental performance.
It is designed for researchers, students, and analysts who want to compare the performance of organizations without writing a new optimization model for every method. A consistent data, model, and result interface connects classical DEA with closely related economic, environmental, network, dynamic, and productivity analyses.
Documentation · Installation · Quick start · Method catalog · API reference
DEA applications often combine several decisions: the production technology, orientation, returns to scale, reference population, treatment of undesirable outputs, and interpretation of the resulting targets and peers. DEAPack keeps those choices explicit while giving them a common Python workflow.
- One familiar interface: prepare
DEAData, fit a model, then inspect aDEAResult. - Connected method coverage: move from classical efficiency measurement to productivity, economic, environmental, network, dynamic, and heterogeneity analysis without changing packages.
- Interpretable results: work with named score, target, slack, peer, component, diagnostic, and status tables.
- Research-ready outputs: create plots, reports, and reproducibility bundles from the same fitted result.
- Accessible starting points: use documented presets and bundled teaching datasets while keeping the underlying assumptions visible.
DEAPack 2.0.1 supports Python 3.10 through 3.13.
python -m pip install "DEAPack==2.0.1"Install optional visualization support with:
python -m pip install "DEAPack[viz]==2.0.1"from deapack import BCCInput, DEAData, load_dataset
frame = load_dataset("frontier_1x1")
data = DEAData.from_frame(
frame,
dmu="dmu",
inputs="input",
outputs="output",
)
result = BCCInput().fit(data)
print(result.summary())
print(result.peers("E"))The example estimates an input-oriented variable-returns-to-scale frontier. The same result object provides targets, slacks, peer intensities, diagnostics, reporting, and visualization when those outputs are available for the chosen method.
| Area | Examples |
|---|---|
| Classical DEA | CCR and BCC radial models, FDH, additive models, RAM, BAM, SBM, EBM, and directional-distance models |
| Productivity and scale | Malmquist-family indexes, Luenberger and Hicks--Moorsteen productivity, returns to scale, and scale elasticity |
| Economic performance | Cost, revenue, profit, allocative efficiency, profitability, and decompositions |
| Environmental performance | Undesirable outputs, weak disposal, by-production, material balance, and environmental productivity |
| Organizational structure | Network, dynamic, dynamic-network, panel, and radial metafrontier models |
| Evaluation and communication | Super-efficiency, cross-efficiency, peer diagnostics, plots, reports, and audit bundles |
The installed method catalog is the authoritative inventory of executable methods. Planned or source-incomplete methods are not exposed as provisional estimators.
- New to DEAPack? Follow the installation guide and quick start.
- Choosing a method? Browse the models and analysis guide or search the method catalog.
- Working with data or results? Use the user guide.
- Looking up an object? Go directly to the API reference.
- Upgrading old code? Read the 0.1.x migration guide; 2.x is not a drop-in replacement.
Bundled datasets have documented roles, provenance, redistribution status, and attribution. See the dataset guide and dataset license map before reusing them outside the package.
DEAPack's implementation claims are linked to defining sources, analytical checks, and independent numerical evidence where available. The maintained literature-review index records that evidence; the method catalog reports the verification level of each public entry.
Use CITATION.cff or CITATION.md and record the exact DEAPack version used. Research using a particular DEA method should also cite its defining literature, linked from the corresponding Documentation page.
The software is licensed under GPL-3.0-only. Project-owned Documentation
prose and bundled datasets have separate terms; third-party data retain their
recorded upstream terms. See COMPONENT_LICENSES.md,
DATA_LICENSES.md, and THIRD_PARTY_NOTICES.md
for the exact boundaries.
Questions, reproducible bug reports, model proposals, documentation improvements, and data-provenance contributions are welcome. Start with the contribution guide.
For a source checkout:
python -m pip install -e '.[test,docs,viz]'
make test PYTHON=pythonRelease history is in CHANGELOG.md.