Public Module Reference

CATE Estimators

Double Machine Learning (DML)

econml.dml.DML(*, model_y, model_t, model_final)

The base class for parametric Double ML estimators.

econml.dml.LinearDML(*[, model_y, model_t, …])

The Double ML Estimator with a low-dimensional linear final stage implemented as a statsmodel regression.

econml.dml.SparseLinearDML(*[, model_y, …])

A specialized version of the Double ML estimator for the sparse linear case.

econml.dml.CausalForestDML(*[, model_y, …])

A Causal Forest [cfdml1] combined with double machine learning based residualization of the treatment and outcome variables.

econml.dml.NonParamDML(*, model_y, model_t, …)

The base class for non-parametric Double ML estimators, that can have arbitrary final ML models of the CATE.

Doubly Robust (DR)

econml.dr.DRLearner(*[, model_propensity, …])

CATE estimator that uses doubly-robust correction techniques to account for covariate shift (selection bias) between the treatment arms.

econml.dr.LinearDRLearner(*[, …])

Special case of the DRLearner where the final stage is a Linear Regression on a low dimensional set of features.

econml.dr.SparseLinearDRLearner(*[, …])

Special case of the DRLearner where the final stage is a Debiased Lasso Regression.

econml.dr.ForestDRLearner(*[, …])

Instance of DRLearner with a RegressionForest as a final model, so as to enable non-parametric inference.


econml.metalearners.XLearner(*, models[, …])

Meta-algorithm proposed by Kunzel et al. that performs best in settings

econml.metalearners.TLearner(*, models[, …])

Conditional mean regression estimator.

econml.metalearners.SLearner(*, overall_model)

Conditional mean regression estimator where the treatment assignment is taken as a feature in the ML model.

econml.metalearners.DomainAdaptationLearner(*, …)

Meta-algorithm that uses domain adaptation techniques to account for

Orthogonal Random Forest (ORF)

econml.orf.DMLOrthoForest(*[, n_trees, …])

OrthoForest for continuous or discrete treatments using the DML residual on residual moment function.

econml.orf.DROrthoForest(*[, n_trees, …])

OrthoForest for discrete treatments using the doubly robust moment function.

Instrumental Variable CATE Estimators

Double Machine Learning (DML) IV

econml.iv.dml.DMLATEIV(*, model_Y_W, …[, …])

Implementation of the orthogonal/double ml method for ATE estimation with IV as described in

econml.iv.dml.ProjectedDMLATEIV(*, …[, …])

econml.iv.dml.DMLIV(*, model_Y_X, model_T_X, …)

A child of the _BaseDMLIV class that specifies a particular effect model where the treatment effect is linear in some featurization of the variable X The features are created by a provided featurizer that supports fit_transform.

econml.iv.dml.NonParamDMLIV(*, model_Y_X, …)

A child of the _BaseDMLIV class that allows for an arbitrary square loss based ML method in the final stage of the DMLIV algorithm.

Doubly Robust (DR) IV

econml.iv.dr.IntentToTreatDRIV(*, model_Y_X, …)

Implements the DRIV algorithm for the intent-to-treat A/B test setting

econml.iv.dr.LinearIntentToTreatDRIV(*, …)

Implements the DRIV algorithm for the intent-to-treat A/B test setting


econml.iv.nnet.DeepIV(*, n_components, m, h, …)

The Deep IV Estimator (see

Sieve Methods

econml.iv.sieve.SieveTSLS(*, t_featurizer, …)

Non-parametric instrumental variables estimator.

econml.iv.sieve.HermiteFeatures(degree[, …])

Featurizer that returns(unscaled) Hermite function evaluations.


Featurizer that returns the derivatives of PolynomialFeatures features in a way that’s compativle with the expectations of NonparametricTwoStageLeastSquares’s dt_featurizer parameter.

Policy Learning

econml.policy.DRPolicyForest(*[, …])

Policy learner that uses doubly-robust correction techniques to account for covariate shift (selection bias) between the treatment arms.

econml.policy.DRPolicyTree(*[, …])

Policy learner that uses doubly-robust correction techniques to account for covariate shift (selection bias) between the treatment arms.

econml.policy.PolicyForest([n_estimators, …])

Welfare maximization policy forest.

econml.policy.PolicyTree(*[, criterion, …])

Welfare maximization policy tree.

CATE Interpreters


An interpreter for the effect estimated by a CATE estimator


An interpreter for a policy estimated based on a CATE estimation

CATE Scorers

econml.score.RScorer(*, model_y, model_t[, …])

Scorer based on the RLearner loss.

econml.score.EnsembleCateEstimator(*, …)

A CATE estimator that represents a weighted ensemble of many CATE estimators.

Generalized Random Forests

econml.grf.CausalForest([n_estimators, …])

A Causal Forest [cf1].

econml.grf.CausalIVForest([n_estimators, …])

A Causal IV Forest [cfiv1].

econml.grf.RegressionForest([n_estimators, …])

An implementation of a subsampled honest random forest regressor on top of an sklearn regression tree.


Simple wrapper estimator that enables multiple outcome labels for all the grf estimators that only accept a single outcome.


A criterion class that estimates local parameters defined via linear moment equations of the form.


econml.grf._base_grf.BaseGRF([n_estimators, …])

Base class for Genearlized Random Forests for solving linear moment equations of the form.

econml.grf._base_grftree.GRFTree(*[, …])

A tree of a Generalized Random Forest [grftree1].

Scikit-Learn Extensions

Linear Model Extensions


Debiased Lasso model.


Debiased MultiOutputLasso model.


Estimator of a linear model where regularization is applied to only a subset of the coefficients.


Class which mimics weighted linear regression from the statsmodels package.


Class which mimics robust linear regression from the statsmodels package.


Version of sklearn Lasso that accepts weights.


Version of sklearn LassoCV that accepts weights.


Version of sklearn MultiTaskLassoCV that accepts weights.


Helper class to wrap either WeightedLassoCV or WeightedMultiTaskLassoCV depending on the shape of the target.

Model Selection Extensions


An extension of GridSearchCV that allows for passing a list of estimators each with their own parameter grid and returns the best among all estimators in the list and hyperparameter in their corresponding grid.


K-Folds cross-validator for weighted data.


Stratified K-Folds cross-validator for weighted data.


Inference Results

econml.inference.NormalInferenceResults(d_t, …)

Results class for inference assuming a normal distribution.


Results class for inference with an empirical set of samples.


Population summary results class for inferences.

Inference Methods


Inference instance to perform bootstrapping.


Inference based on predict_interval of the model_final model.


Inference based on predict_interval of the model_final model.


Inference based on predict_interval of the model_final model.


Stores statsmodels covariance options.


Assumes estimator is fitted on categorical treatment and a separate generic model_final is used to fit the CATE associated with each treatment.


Inference method for estimators with categorical treatments, where a linear in X model is used for the CATE associated with each treatment.


Special case where final model is a StatsModelsLinearRegression

Integration with DoWhy


A wrapper class to allow user call other methods from dowhy package through EconML.



Utility methods.

Private Module Reference


Orthogonal Machine Learning is a general approach to estimating causal models by formulating them as minimizers of some loss function that depends on auxiliary regression models that also need to be estimated from data.


Base classes for all CATE estimators.


The R Learner is an approach for estimating flexible non-parametric models of conditional average treatment effects in the setting with no unobserved confounders.


Bootstrap sampling.