EconML
by PyWhy (originally Microsoft Research) · Library · also known as ALICE (Automated Learning and Intelligence for Causation and Economics)
Python library for heterogeneous treatment-effect estimation with machine learning: double ML, doubly robust learners, causal forests, meta-learners, IV and policy learning
Overview
EconML is a Python library for estimating conditional average treatment effects (CATE) with machine learning, created by Microsoft Research's ALICE project and now maintained in the PyWhy organization under the MIT license. It implements double/debiased machine learning (LinearDML, SparseLinearDML, CausalForestDML, NonParamDML, KernelDML), doubly robust learners, meta-learners (S, T, X and domain adaptation), orthogonal random forests, instrumental-variable estimators (OrthoIV, DMLIV, DRIV variants), dynamic DML for panels, policy trees and forests, and generalized random forests, with inference via bootstrap or asymptotic methods, SHAP-based interpretation, tree-based CATE interpreters, validation scorers and DoWhy refutation tests.
Estimators follow scikit-learn conventions and accept scikit-learn models as nuisance learners, so a typical workflow fits an EconML estimator on observational data, inspects heterogeneity with interpreters and checks robustness through the DoWhy wrapper. Version 0.17.0 is current at the time of writing. The library assumes unconfoundedness or valid instruments like any causal method, requires reasonably large samples for ML nuisance estimation, and does not implement classic panel or event-study estimators, which remain the domain of linearmodels, fixest or Stata.
Editorial note on uncertainty. Documentation header showed 0.16.0 while PyPI lists 0.17.0 on the check date.
Capabilities
- Double/debiased machine learning estimators
- Doubly robust and meta-learners
- Causal and orthogonal random forests
- Instrumental-variable estimators (DRIV, DMLIV, OrthoIV)
- Policy learning trees and forests
- Dynamic DML for panel data
- SHAP and tree-based CATE interpretation
- Validation scorers and DoWhy refutation integration
Typical workflows
- Heterogeneous effect of a pricing change by customer segment
- Treatment-effect estimation with high-dimensional controls
- Policy learning for targeted interventions
Strengths
- MIT licence and scikit-learn compatible API
- Broad coverage of modern causal-ML estimators
- Integrated inference and interpretation tools
Limitations
- Requires identification assumptions the library cannot verify
- ML nuisance estimation needs sizeable samples
- No classic panel or difference-in-differences estimators
Prerequisites
- Python with scikit-learn, NumPy and pandas
Who it is for
- Applied economists using causal ML
- Data scientists estimating treatment heterogeneity
Alternatives & comparison
DoWhy frames identification and refutation and can call EconML for estimation; statsmodels and fixest provide classical regression-based causal designs; scikit-learn supplies the predictive learners EconML wraps.
- DoWhy
Python causal-inference library organized around model, identify, estimate and refute steps, with graphical causal models for attribution, counterfactuals and root-cause analysis
Open sourceFree - fixest
R package for fast estimation of OLS, GLM, Poisson, IV and difference-in-differences models with many fixed effects, clustered errors, multiple estimations and publication tables
Open sourceFree - scikit-learn
BSD-licensed Python machine-learning library for classification, regression, clustering, dimensionality reduction, preprocessing and model selection on NumPy and SciPy
Open sourceFree - statsmodels
Python library for estimating statistical and econometric models with R-style formulas, rich result summaries and tests: OLS, GLM, discrete choice, ARIMA, state space, VAR and more
Open sourceFree
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseEconML LICENSEchecked Nov 1, 2026
https://github.com/py-why/EconML/blob/main/LICENSE
Supports: license_spdx, source_model
- Official siteWelcome to econml's documentation! — econml 0.17.0checked Nov 1, 2026
https://www.pywhy.org/EconML
Supports: name, summary, capabilities
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Econometrics & causal inference
Stata
StataCorp LLC · Mathematical & statistical computing
Commercial statistical software from StataCorp widely used in economics and social science, with editions BE/SE/MP, a command language, Mata and comprehensive PDF manuals
linearmodels
Kevin Sheppard · Econometrics & causal inference
Python package by Kevin Sheppard adding panel data, instrumental-variable, system (SUR/3SLS) and asset-pricing estimators missing from statsmodels
arch (Python package)
Kevin Sheppard · High-frequency financial analysis
Kevin Sheppard's Python package for univariate ARCH/GARCH volatility models, bootstraps, multiple-comparison procedures, unit-root and cointegration tests
R
R Foundation / R Core Team · Programming languages & runtimes
Language and environment for statistical computing and graphics, with the CRAN package archive and a strong base in academic statistics and econometrics
EViews
S&P Global (EViews) · Econometrics & causal inference
Commercial Windows econometrics package for time-series estimation, forecasting and macro modelling, sold as single-user, volume, University and free Student Lite editions
gretl
gretl developers (Allin Cottrell, Riccardo Lucchetti) · Econometrics & causal inference
Free, GPL-licensed cross-platform econometrics program with a GUI, the hansl scripting language and estimators for time series, panels and limited dependent variables