Tutorials › Causal Inference › Covariate Adjustment Under Staggered Parallel Trends

Staggered Adoption and Event Studies · Tutorial 623 of 972

Covariate Adjustment Under Staggered Parallel Trends

Use pretreatment covariates to identify and estimate group-time effects under conditional parallel trends, while checking control eligibility and covariate overlap.

Advanced 11 min read

What You'll Learn

  • State conditional parallel trends for an adoption cohort and an eligible untreated comparison group.
  • Derive a covariate-standardized group-time ATT from observed outcome changes.
  • Construct control-group weights that match the treated cohort’s covariate distribution.
  • Distinguish pretreatment adjustment from conditioning on a post-treatment variable.
  • Check overlap and recognize when the full cohort effect is not identified by the available controls.

Why Adjust for Pretreatment Covariates?

In a staggered-adoption design, different cohorts begin treatment at different times. A group-time effect compares an adoption cohort’s outcome at time \(t\) with the outcome it would have had without treatment. Difference-in-differences identifies that counterfactual change by comparing outcome changes in the cohort with changes in an eligible untreated group. But the comparison can be misleading if the groups differ in pretreatment characteristics that are related to how outcomes would otherwise change.

Covariate adjustment addresses this problem by comparing treated and untreated units with the same values of measured, pretreatment covariates, then averaging those comparisons over the treated cohort’s covariate distribution. This changes the identifying assumption: parallel trends need only hold conditional on those covariates. It does not make the assumption automatic. The covariates must be chosen and measured before treatment, the relevant comparison group must remain untreated, and the treated cohort’s covariate values must be represented among controls.

Definition: Let \(G_i=g\) mean unit \(i\) first receives treatment at time \(g\), and let \(G_i=\infty\) denote a never-treated unit. For a group-time comparison at \(t\geq g\), an eligible control has \(G_i>t\) or \(G_i=\infty\), so it is untreated at both \(g-1\) and \(t\). Let \(X_i\) be a vector of covariates measured before treatment. Conditional parallel trends requires, for relevant covariate values \(x\), $$ E[Y_{it}(0)-Y_{i,g-1}(0)\mid G_i=g,X_i=x] = E[Y_{it}(0)-Y_{i,g-1}(0)\mid G_i>t\text{ or }G_i=\infty,X_i=x]. $$ Here \(Y_{it}(0)\) is the outcome unit \(i\) would have at time \(t\) without treatment. The condition equates untreated outcome changes between the adoption cohort and eligible controls at each \(x\); it does not require their outcome levels to be equal.

Identification by Standardization

Suppose treatment has no anticipatory effects, so the adoption cohort is untreated at \(g-1\), and suppose outcomes are observed consistently with the potential-outcome framework. Define the cohort’s conditional group-time effect as

$$ ATT(g,t\mid x) = E[Y_{it}-Y_{i,g-1}\mid G_i=g,X_i=x] - E[Y_{it}-Y_{i,g-1}\mid G_i>t\text{ or }G_i=\infty,X_i=x]. $$

Under conditional parallel trends, this difference in observed changes equals the cohort’s average treatment effect at \(t\), conditional on \(X_i=x\). The target group-time effect averages those conditional effects over the covariate distribution of the treated cohort:

$$ ATT(g,t) = E[ATT(g,t\mid X_i)\mid G_i=g]. $$

This averaging target matters. The aim is usually the effect for the adoption cohort, not an effect for a hypothetical population with the controls’ covariate mix. Standardization computes the conditional contrast at each covariate value and then uses the treated cohort’s distribution to form the average.

Worked Example: Standardizing Over the Treated Cohort

Consider a hypothetical cohort that adopts at \(g\), with a binary covariate measured before adoption: low baseline risk or high baseline risk. The table gives mean outcome changes from \(g-1\) to \(t\). Assume no anticipation, both control strata are untreated at \(t\), conditional parallel trends holds within each risk stratum, and each stratum occurs in both groups.

Baseline riskTreated cohort shareTreated mean changeEligible-control mean change
Low0.7543
High0.2585

The conditional difference in changes is \(4-3=1\) outcome unit for the low-risk stratum and \(8-5=3\) outcome units for the high-risk stratum. Standardize using the treated cohort’s shares:

$$ ATT(g,t)=0.75(1)+0.25(3)=0.75+0.75=1.50. $$

The estimated group-time effect is 1.50 outcome units for this adoption cohort at time \(t\), under the stated assumptions. By contrast, suppose eligible controls are 25% low risk and 75% high risk. Their unadjusted mean change is \(0.25(3)+0.75(5)=4.50\), while the treated cohort’s unadjusted mean change is \(0.75(4)+0.25(8)=5.00\). The unadjusted difference is only \(0.50\). It does not reproduce the standardized contrast because the groups have different covariate compositions.

Equivalent Weighting of Eligible Controls

Standardization can also be expressed as reweighting controls to match the treated cohort’s pretreatment covariate distribution. Let \(S_i=1\) indicate membership in cohort \(g\), and \(S_i=0\) indicate membership in the eligible control group for \(t\). Within this eligible sample, define \(e(x)=P(S_i=1\mid X_i=x)\). If \(0<e(x)<1\) wherever the treated cohort has covariate support, controls can be weighted in proportion to the odds \(e(x)/(1-e(x))\). Those weights make the weighted control covariate distribution match that of the treated cohort. Applying them to control outcome changes gives the same target contrast as standardization, in the population.

Identification conditions: A covariate-adjusted group-time contrast requires (1) consistency of observed outcomes with the relevant potential outcomes; (2) no anticipation through the baseline period \(g-1\); (3) conditional parallel trends given the measured pretreatment covariates; (4) controls untreated at both comparison times; and (5) overlap, meaning that treated covariate values have eligible controls. These are substantive conditions, not consequences of using a regression or weights.

Worked Example: Matching the Treated Mix With Weights

In a hypothetical eligible sample, 100 units adopt in cohort \(g\), and 100 units are controls who remain untreated through \(t\). Among adopters, 80 have low baseline risk and 20 have high baseline risk. Among controls, 30 have low risk and 70 have high risk. Suppose the treated mean changes are 5 and 10 outcome units in the low- and high-risk strata, respectively; the corresponding control mean changes are 2 and 6. Assume conditional parallel trends and no anticipation, and suppose both strata are represented in both groups.

The conditional effects are \(5-2=3\) outcome units for low risk and \(10-6=4\) for high risk. The treated distribution therefore implies \(ATT(g,t)=0.80(3)+0.20(4)=3.20\) outcome units.

For a weighting calculation, the treated share among low-risk units in the pooled sample is \(e(0)=80/(80+30)=0.7273\); among high-risk units it is \(e(1)=20/(20+70)=0.2222\). The corresponding odds weights for controls are:

$$ w(0)=\frac{0.7273}{1-0.7273}=\frac{80}{30}=2.667, \qquad w(1)=\frac{0.2222}{1-0.2222}=\frac{20}{70}=0.2857. $$

The weighted control counts are \(30(2.667)=80\) low-risk units and \(70(0.2857)=20\) high-risk units, matching the treated distribution. The treated mean change is \([80(5)+20(10)]/100=6.00\). The weighted control mean change is \([80(2)+20(6)]/100=2.80\). Thus the weighted difference is \(6.00-2.80=3.20\) outcome units, equal to the standardized estimate.

This equivalence is a population result when the weights correctly balance the relevant covariates and the identification conditions hold. In finite samples, estimated weights may not balance covariates exactly. Very large weights can also make estimates unstable; they signal that a few controls are being asked to represent many treated units.

Why the Adjustment Must Be Pretreatment

Adjustment is intended to make the untreated outcome changes more comparable across adoption and control groups. A covariate measured before treatment can help explain differences in those changes without being caused by treatment. A variable measured after treatment may instead be affected by treatment. Conditioning on it can remove part of the treatment effect being studied, or create a misleading comparison by selecting units based on a consequence of treatment and other causes of the outcome.

For example, suppose a policy affects later healthcare use, and later healthcare use also predicts the health outcome. Adjusting for healthcare use measured after policy adoption would not generally estimate the total group-time effect. It would condition on a post-treatment variable, potentially blocking a pathway through which the policy acts. The fact that this variable predicts the outcome does not make it an appropriate adjustment covariate. Use covariates measured before the relevant treatment exposure; if their measurement timing differs across cohorts, confirm that each is genuinely pretreatment for the cohort being analyzed.

A Short Justification of the Standardized Contrast

The identification argument can be seen by separating the observed treated change into its untreated change and treatment effect. Under no anticipation, the cohort’s outcome at \(g-1\) equals its untreated potential outcome at that time. At \(t\), its observed outcome is the treated potential outcome. Thus, conditional on \(G_i=g,X_i=x\), the observed change can be written as the mean untreated change plus the conditional treatment effect. Eligible controls are untreated at both times, so their observed change is their mean untreated change. Subtracting the control change gives:

$$ \begin{aligned} & E[Y_{it}-Y_{i,g-1}\mid G_i=g,X_i=x]\\ &\quad - E[Y_{it}-Y_{i,g-1}\mid G_i>t\text{ or }G_i=\infty,X_i=x]\\ &= ATT(g,t\mid x)\\ &\quad + E[Y_{it}(0)-Y_{i,g-1}(0)\mid G_i=g,X_i=x]\\ &\quad - E[Y_{it}(0)-Y_{i,g-1}(0)\mid G_i>t\text{ or }G_i=\infty,X_i=x]. \end{aligned} $$

Conditional parallel trends sets the last two terms’ difference to zero. The observed conditional difference is therefore \(ATT(g,t\mid x)\). Taking its expectation over \(X_i\) among units with \(G_i=g\) yields \(ATT(g,t)\). This derivation also shows the limitation: if conditional parallel trends fails, adjustment does not generally identify the causal effect.

Worked Example: When Covariate Overlap Fails

Suppose a hypothetical adoption cohort is 60% low risk and 40% high risk, but the eligible untreated controls include only low-risk units. For low-risk units, the treated cohort’s mean outcome change is 4 units and the control mean change is 2 units. Assume no anticipation and conditional parallel trends for the low-risk stratum. The low-risk conditional effect is \(4-2=2\) outcome units.

That calculation identifies an effect for the low-risk part of the cohort, but it does not identify the full cohort effect. There are no high-risk controls to supply the high-risk untreated change. The full target would be \(0.60(2)+0.40\,ATT(g,t\mid X=\text{high})\), and the high-risk conditional effect is unknown from these data and assumptions. Reporting \(0.60(2)=1.20\) as the full cohort effect would incorrectly treat the unsupported high-risk contribution as zero. A defensible analysis must obtain suitable controls, make and justify additional modeling assumptions, or explicitly change the target to a population with covariate support.

Common Mistakes and Practical Checks

  • Assuming adjustment guarantees parallel trends. It does not. Conditional parallel trends is an identifying assumption that must be argued for; covariates only define the conditions within which trends are assumed to match.
  • Using the controls’ covariate mix as the target. That generally changes the target population. For the cohort ATT, average conditional effects over the adoption cohort’s covariate distribution.
  • Including already-treated units as controls. A valid control for this contrast must remain untreated at both \(g-1\) and \(t\). A unit treated by \(t\) does not meet that definition.
  • Adjusting for a post-treatment covariate. A variable affected by treatment can be a mediator or a source of selection when conditioned on. Predictive value alone does not justify its use as a pretreatment adjustment variable.
  • Ignoring lack of overlap. If treated covariate values have no eligible controls, standardization or weighting cannot recover the missing untreated change without further assumptions.

The practical sequence is to define the cohort and comparison period, select controls that are untreated at both times, specify covariates measured before treatment, assess overlap, and then standardize or weight the conditional changes. Each step defines the comparison; none should be treated as a mechanical substitute for the identifying assumptions.

Check Your Understanding

Use the definitions and conditions in this tutorial to answer the following questions.

  1. State conditional parallel trends for cohort \(g\), time \(t\), and covariates \(X_i\). What does it leave unrestricted?
  2. Why is the standardized group-time ATT averaged over the treated cohort’s covariate distribution rather than the controls’ distribution?
  3. A unit adopts after time \(t\), while another adopted before \(t\). Which can be an eligible control for a comparison between \(g-1\) and \(t\), and why?
  4. Explain how odds weights for eligible controls can make their covariate distribution match the treated cohort’s distribution.
  5. If no eligible controls have a covariate value found among treated units, what part of the identification argument fails?
  6. Why can adjusting for a covariate measured after treatment change the causal quantity being estimated?
Clinical Biostats