Tutorials › Econometrics (Graduate) › Covariate-Stratified Bounds for Treatment Effects

Partial Identification and Sensitivity · Tutorial 810 of 952

Covariate-Stratified Bounds for Treatment Effects

Learn to derive and aggregate covariate-stratified worst-case treatment-effect bounds, and identify when stratification genuinely narrows them.

Advanced 11 min read

What You'll Learn

  • Derive conditional bounds for an average treatment effect using observed outcome contributions and bounded potential outcomes.
  • Aggregate stratum-specific bounds with the population covariate distribution.
  • Explain why stratification alone does not tighten bounds when every stratum has the same outcome limits.
  • Identify how known covariate-specific outcome limits can yield narrower bounds.
  • Interpret sharpness and recognize when a bound relies on an unsupported outcome-range assumption.

Why condition on covariates?

When treatment is not randomized, the observed outcomes do not reveal both potential outcomes for any individual. Worst-case bounds address this missing-counterfactual problem by restricting potential outcomes to a known range rather than assuming that treatment assignment is independent of them. Covariates can make the restrictions more informative: for example, a known outcome range may be narrower for one covariate group than for another.

A key qualification is that dividing the population into covariate strata does not automatically narrow the aggregate worst-case bounds. If the same outcome range applies in every stratum and no further restrictions are imposed, the stratum-specific bounds aggregate to the usual unconditional bounds. Stratification tightens them when it contributes valid additional information, such as known stratum-specific outcome limits.

Definition: Let \(D\in\{0,1\}\) denote treatment, \(X\) denote pre-treatment covariates, and \(Y(1)\) and \(Y(0)\) denote the potential outcomes under treatment and control. The average treatment effect is \(ATE=E[Y(1)-Y(0)]\). The observed outcome satisfies consistency, \(Y=DY(1)+(1-D)Y(0)\). In a stratum \(X=x\), the conditional average treatment effect is \(E[Y(1)-Y(0)\mid X=x]\). Assume potential outcomes are bounded in that stratum by known limits \(a(x)\leq Y(d)\leq b(x)\), for \(d\in\{0,1\}\).

These bounds do not require treatment to be randomly assigned, or require conditional exchangeability. They use the observed treatment and outcome distribution, consistency, and the stated potential-outcome limits. The limits must be justified as restrictions on potential outcomes, not merely guessed from the smallest and largest outcomes observed in a sample. We also assume treatment does not alter another unit’s potential outcomes, so each unit’s potential outcomes are well-defined under each treatment condition.

Conditional worst-case bounds

For a discrete covariate stratum \(j\), let \(\pi_j=P(X=j)\) be its population share and let \(e_j=P(D=1\mid X=j)\) be its treatment probability. Define the observed outcome contributions \(m_{1j}=E[DY\mid X=j]\) and \(m_{0j}=E[(1-D)Y\mid X=j]\). These are contributions per member of the stratum, not means within the treated and control groups. This distinction keeps the formulas defined even if a stratum has no treated units or no control units.

Among stratum members who were treated, \(Y(1)\) is observed; among those not treated, it is missing but lies between \(a(j)\) and \(b(j)\). Thus the conditional mean of \(Y(1)\) lies between \(m_{1j}+(1-e_j)a(j)\) and \(m_{1j}+(1-e_j)b(j)\). For \(Y(0)\), the observed contribution is \(m_{0j}\), and the missing share is \(e_j\). Subtracting the largest feasible mean of \(Y(0)\) for a lower effect bound, and the smallest for an upper bound, gives:

$$ \begin{aligned} L_j &=m_{1j}+(1-e_j)a(j)-m_{0j}-e_j b(j),\\ U_j &=m_{1j}+(1-e_j)b(j)-m_{0j}-e_j a(j). \end{aligned} $$

Here \([L_j,U_j]\) bounds the conditional average treatment effect in stratum \(j\). The formulas work at treatment probabilities of zero or one: the observed contribution from an empty treatment group is zero, while the potential outcomes missing for that entire group are bounded by \(a(j)\) and \(b(j)\). No conditional mean from an empty group is needed.

Worked Example: Bounds in One Binary-Outcome Stratum

Suppose a hypothetical stratum has binary outcomes, so the known limits are \(a=0\) and \(b=1\). The treatment share is \(e=0.40\), the mean outcome among treated units is \(0.75\), and the mean among controls is \(0.25\). Compute the conditional effect bounds.

The observed contributions are \(m_1=e(0.75)=0.40(0.75)=0.30\) and \(m_0=(1-e)(0.25)=0.60(0.25)=0.15\). Substituting into the lower-bound formula gives \(L=0.30+0.60(0)-0.15-0.40(1)=-0.25\).

For the upper bound, \(U=0.30+0.60(1)-0.15-0.40(0)=0.75\). Thus the sharp worst-case interval is \([-0.25,0.75]\) outcome units. The observed treated-control difference is \(0.75-0.25=0.50\), but it is not itself an identified causal effect without additional assumptions.

Aggregating over the covariate distribution

The population ATE is the population-share-weighted average of the conditional effects. Therefore, if \(\pi_j\) is the share in stratum \(j\), its lower and upper bounds are the corresponding weighted sums:

$$ L_{\mathrm{ATE}}=\sum_j \pi_j L_j, \qquad U_{\mathrm{ATE}}=\sum_j \pi_j U_j, \qquad \sum_j\pi_j=1. $$

The weights are population stratum shares, not treatment shares and not equal weights unless the strata are equally common. For continuously distributed covariates, the corresponding result integrates conditional endpoints over the population distribution of \(X\): \(L_{\mathrm{ATE}}=E[L(X)]\) and \(U_{\mathrm{ATE}}=E[U(X)]\).

These aggregate endpoints are sharp under the stated restrictions. In each stratum, the lower endpoint is attained by setting the missing treated potential outcomes \(Y(1)\) to \(a(j)\) and the missing control potential outcomes \(Y(0)\) to \(b(j)\). The upper endpoint is attained by reversing those assignments. These choices preserve the observed outcomes and treatment assignments, respect the outcome limits, and can be made separately in every stratum. Consequently, the weighted endpoints are attainable for the population ATE; every feasible ATE lies between them.

Worked Example: Aggregating Bounds With Common Outcome Limits

Consider a hypothetical population with two covariate strata. Each has binary outcomes with common limits \([0,1]\). Stratum A has population share \(0.60\), treatment share \(0.50\), treated mean \(0.80\), and control mean \(0.30\). Stratum B has share \(0.40\), treatment share \(0.25\), treated mean \(0.60\), and control mean \(0.20\). Find the conditional bounds and aggregate them.

In stratum A, \(m_{1A}=0.50(0.80)=0.40\) and \(m_{0A}=0.50(0.30)=0.15\). Hence \(L_A=0.40-0.15-0.50=-0.25\) and \(U_A=0.40+0.50-0.15=0.75\).

In stratum B, \(m_{1B}=0.25(0.60)=0.15\) and \(m_{0B}=0.75(0.20)=0.15\). Hence \(L_B=0.15-0.15-0.25=-0.25\) and \(U_B=0.15+0.75-0.15=0.75\).

Weighting by population shares gives \(L_{\mathrm{ATE}}=0.60(-0.25)+0.40(-0.25)=-0.25\) and \(U_{\mathrm{ATE}}=0.60(0.75)+0.40(0.75)=0.75\). The stratum treatment shares differ, but stratification has not tightened these aggregate bounds.

When stratification does—and does not—tighten bounds

With a common outcome range \([a,b]\) in every stratum, aggregation reproduces the unconditional worst-case bounds exactly. To see why, write \(e(X)=P(D=1\mid X)\). Averaging the conditional lower endpoint yields \(E[DY]-E[(1-D)Y]+aE[1-e(X)]-bE[e(X)]\). The law of iterated expectations gives \(E[e(X)]=P(D=1)\) and \(E[1-e(X)]=P(D=0)\). Thus the expression is the unconditional lower endpoint. Replacing \(a\) and \(b\) in the missing-outcome terms gives the same equality for the upper endpoint. Knowing \(X\) alone, without a restriction that changes what potential outcomes are feasible, does not improve these bounds.

By contrast, known covariate-specific outcome limits can improve the result. If one stratum’s potential outcomes are known to lie in a narrower range, its missing-outcome contributions are less uncertain. The next example compares the stratified bounds with bounds that use only the broadest range for the whole population.

Worked Example: Narrower Bounds From Stratum-Specific Limits

Suppose a hypothetical population consists of two equally common strata. In stratum A, potential outcomes are known to lie in \([0,1]\); in stratum B, they lie in \([0,10]\). In A, \(e_A=0.80\), the treated mean is \(0.70\), and the control mean is \(0.40\). In B, \(e_B=0.20\), the treated mean is \(6\), and the control mean is \(3\). Compare bounds using the stratum-specific limits with bounds using only the global range \([0,10]\).

For A, \(m_{1A}=0.80(0.70)=0.56\) and \(m_{0A}=0.20(0.40)=0.08\). With limits \([0,1]\), \(L_A=0.56-0.08-0.80=-0.32\) and \(U_A=0.56+0.20-0.08=0.68\).

For B, \(m_{1B}=0.20(6)=1.20\) and \(m_{0B}=0.80(3)=2.40\). With limits \([0,10]\), \(L_B=1.20-2.40-0.20(10)=-3.20\) and \(U_B=1.20+0.80(10)-2.40=6.80\).

The stratified aggregate is \(L_{\mathrm{ATE}}=0.50(-0.32)+0.50(-3.20)=-1.76\) and \(U_{\mathrm{ATE}}=0.50(0.68)+0.50(6.80)=3.74\).

If only the global limits \([0,10]\) are used, the pooled observed contributions are \(E[DY]=0.50(0.56)+0.50(1.20)=0.88\) and \(E[(1-D)Y]=0.50(0.08)+0.50(2.40)=1.24\). The population treatment share is \(0.50(0.80)+0.50(0.20)=0.50\). The global bounds are therefore \(0.88-1.24-0.50(10)=-5.36\) and \(0.88-1.24+0.50(10)=4.64\). The stratum-specific bounds are narrower at both ends. This improvement comes from the valid tighter limit in A, not from partitioning the data by itself.

Common mistake and practical interpretation

A common mistake is to calculate conditional Manski bounds using a common outcome range, average those intervals, and claim that the covariates have narrowed the identified set. The two-stratum binary example shows why that claim fails: with common limits, the weighted endpoints equal the unconditional endpoints. A narrower interval is justified only if the conditioning step adds valid restrictions—such as known limits that vary with \(X\)—or if some other assumption is explicitly introduced. Merely observing that outcomes in a sample happened to fall in a narrow range does not establish such a restriction.

The bounds describe the range of population average effects compatible with the observed data and assumptions. For example, an interval containing both negative and positive values does not establish the effect’s sign. Nor does an endpoint estimate imply that the true effect equals that endpoint: the endpoints describe the most and least favorable completions of the missing potential outcomes allowed by the restrictions. Sampling uncertainty about estimated endpoints is a separate issue from this identification uncertainty.

Key takeaway: Compute bounds within covariate strata using observed outcome contributions and valid potential-outcome limits, then average the endpoints using population stratum shares. With common limits, stratification alone leaves the unconditional worst-case interval unchanged; tighter known stratum-specific limits can sharpen it.

Check Your Understanding

Use the definitions and formulas above to answer the following.

  1. Why are \(E[DY\mid X=j]\) and \(E[(1-D)Y\mid X=j]\) useful in the formulas when a stratum has no treated units or no controls?
  2. Suppose there are three strata with shares \(0.20\), \(0.30\), and \(0.50\). How should their conditional lower endpoints be combined to obtain the population lower bound?
  3. Why do stratified bounds with a common outcome range equal the unconditional worst-case bounds?
  4. In the final worked example, which information makes the stratified interval narrower than the global interval?
  5. Why is the observed sample minimum and maximum generally insufficient to justify a bound on all potential outcomes?
Clinical Biostats