class statsmodels.treatment.treatment_effects.TreatmentEffect(model, treatment, results_select=None, _cov_type='HC0', **kwds)[source]

Estimate average treatment effect under conditional independence

This class estimates treatment effect and potential outcome using 5 different methods, ipw, ra, aipw, aipw-wls, ipw-ra. Standard errors and inference are based on the joint GMM representation of selection or treatment model, outcome model and effect functions.

modelinstance of a model class

The model class should contain endog and exog for the outcome model.


indicator array for observations with treatment (1) or without (0)

results_selectresults instance

The results instance for the treatment or selection model.


Internal keyword. The keyword oes not affect GMMResults which always corresponds to HC0 standard errors.

kwdskeyword arguments

currently not used


The outcome model is currently limited to a linear model based on OLS or WLS. Other outcome models, like Logit and Poisson, will become available in future.


aipw([return_results, disp])

ATE and POM from double robust augmented inverse probability weighting

aipw_wls([return_results, disp])

ATE and POM from double robust augmented inverse probability weighting.

from_data(endog, exog, treatment[, model])

create models from data

ipw([return_results, effect_group, disp])

Inverse Probability Weighted treatment effect estimation.

ipw_ra([return_results, effect_group, disp])

ATE and POM from inverse probability weighted regression adjustment.

ra([return_results, effect_group, disp])

Regression Adjustment treatment effect estimation.