Home  /  Products  /  Features  /  Causal inference/Treatment effects

<-  See Stata's other features

Highlights

Treatment effects measure the causal effect of a treatment on an outcome.

A treatment is a new drug regimen, a surgical procedure, a training program, or even an ad campaign intended to affect an outcome such as blood pressure, mobility, employment, or sales.

In the best of worlds, we would measure the difference in outcomes by designing an experiment that assigns subjects randomly to the treatment and the control group.

We can't always do that. When we need to make do with observational data—when the subjects themselves choose whether to be treated or the choice is otherwise nonrandom—we need more statistical machinery.

teffects provides that machinery.

Say we have a training program in which participants enroll voluntarily. In the raw data, participants do poorly relative to nonparticipants, even after the training. Even so, the training program might have improved their outcomes—say, hourly wages—over what they would have been.

There are different treatment-effects estimators for different situations.

When we know the determinants of participation, the appropriate estimators include IPW and propensity-score matching. We might type

. teffects ipw     (wage) (trained x1 x2)
. teffects psmatch (wage) (trained x1 x2)

When we instead know the determinants of outcome, the appropriate estimators include regression adjustment and covariate matching. We might type

. teffects ra      (wage x1 x3) (trained)
. teffects nnmatch (wage x1 x3) (trained)

When we know both, we can use the doubly robust estimators—augmented IPW and IPW with regression adjustment. We might type

. teffects aipw  (wage x1 x3) (trained x1 x2)
. teffects ipwra (wage x1 x3) (trained x1 x2)

Surprisingly, we only need to be right about one of the specifications—wage needs to be a function of x1 and x3, or trained needs to be a function of x1 and x2. This is a feature of the doubly robust methods.

To obtain the doubly robust IPW regression-adjusted results, we type

. teffects ipwra (wage x1 x3) (trained x1 x2)

Iteration 0:   EE criterion =  5.082e-28  
Iteration 1:   EE criterion =  1.049e-30  

Treatment-effects estimation                    Number of obs     =      1,000
Estimator      : IPW regression adjustment
Outcome model  : linear
Treatment model: logit
Robust
wage Coefficient std. err. z P>|z| [95% conf. interval]
ATE
trained
(1 vs 0) .5818049 .0830177 7.01 0.000 .4190932 .7445167
POmean
trained
0 8.262801 .0863748 95.66 0.000 8.093509 8.432092

The output reveals that the average treatment effect (ATE)—the effect we would have observed had the entire population been treated—is 0.58, meaning 58 cents more in the wage. The output also shows that the baseline wage, the average wage in the population had no one been treated, is estimated to be $8.26.

We might instead want to know the causal effect among those who get the treatment, known as the average treatment effect on the treated or ATET. We can estimate the ATET by adding the atet option,

. teffects ipwra (wage x1 x3) (trained x1 x2), atet

Iteration 0:   EE criterion =  7.395e-28  
Iteration 1:   EE criterion =  9.611e-31  

Treatment-effects estimation                    Number of obs     =      1,000
Estimator      : IPW regression adjustment
Outcome model  : linear
Treatment model: logit
Robust
wage Coefficient std. err. z P>|z| [95% conf. interval]
ATET
trained
(1 vs 0) .5146935 .0979692 5.25 0.000 .3226773 .7067097
POmean
trained
0 8.483873 .1072198 79.13 0.000 8.273726 8.69402

The ATET is 51 cents per hour over the baseline wage of $8.48, which is the average wage that would be observed if those who got the treatment had not gotten it.

Tell me more

We have only scratched the surface of what teffects can do.

See the Causal Inference and Treatment-Effects Estimation Reference Manual, especially the Introduction to causal inference and treatment effects.