Tutorials › Causal Inference › Covariate Adjustment in RD Estimation

Regression Discontinuity Designs · Tutorial 649 of 972

Covariate Adjustment in RD Estimation

See how to adjust local RD regressions for predetermined covariates while protecting the cutoff estimand and interpreting changes in the estimate.

Advanced 11 min read

What You'll Learn

  • Define the sharp RD cutoff estimand using conditional outcome limits.
  • Specify a local linear RD regression with predetermined covariates.
  • Compare adjusted and unadjusted estimates in a worked example.
  • Explain when precision can improve and why it is not guaranteed.
  • Identify how covariate distribution changes and post-treatment adjustment threaten interpretation.

Why Adjust for Covariates in an RD Design?

In a regression discontinuity design (RD), the running variable determines treatment at a cutoff. The central comparison is between outcomes just below and just above that cutoff. Predetermined covariates—characteristics measured before treatment and not affected by it—can help explain outcome variation within a local RD sample. Adjusting for them may therefore make the estimated cutoff jump more precise.

Adjustment is not automatically harmless. It can change the estimate because covariates differ across the two sides in the observed local sample, because the outcome model imposes restrictions, or because the covariates do not have a common distribution at the cutoff. The key question is not simply whether an adjusted estimate is numerically different, but whether the adjustment preserves the RD estimand and its identifying assumptions.

Definition: Let \(R_i\) be the running variable, \(c\) the cutoff, \(D_i=1\{R_i\ge c\}\) the treatment indicator in a sharp RD design, \(Y_i\) the observed outcome, and \(X_i\) a vector of predetermined covariates. The sharp RD estimand is the difference between the right- and left-hand limits of the conditional mean outcome at the cutoff: $$ \tau_{\mathrm{RD}}= \lim_{r\to c^+}E[Y_i\mid R_i=r] - \lim_{r\to c^-}E[Y_i\mid R_i=r]. $$ Under the usual continuity and treatment-assignment conditions for sharp RD, this jump identifies the average treatment effect at the cutoff for units represented there.

The covariate-adjustment discussion here concerns estimating that local jump, not replacing the RD design with a general regression comparison. The usual local RD sample, kernel weights, and local polynomial structure still matter. Covariate adjustment is an addition to that local estimation, not a substitute for the continuity assumptions that identify the effect.

Local Regression With Covariate Adjustment

A common adjusted local linear specification is

$$ Y_i=\alpha+\tau D_i+\beta_- (R_i-c)+\beta_+D_i(R_i-c) +\gamma^\top(X_i-x_c)+\varepsilon_i. $$

Here \(x_c\) is a chosen reference value for the covariates, often their estimated mean among observations close to the cutoff. The slopes in the running variable are allowed to differ on the two sides. In this specification, \(\tau\) is the fitted difference at \(R_i=c\) and \(X_i=x_c\). A common covariate slope \(\gamma\) is imposed on both sides. Other specifications can allow covariate slopes to differ by side, but then the coefficient on \(D_i\) remains a difference at the chosen reference value, rather than automatically being an average over the cutoff covariate distribution.

With kernel weights, observations nearer the cutoff contribute more to the local fit according to the selected kernel and bandwidth. Including covariates can improve precision when they explain outcome variation that remains after accounting for the running variable, provided the adjustment is suitably specified. It does not guarantee a smaller standard error: additional estimated coefficients can cost precision, and a poorly supported or overly restrictive model can make the result less reliable.

Worked Example: A Covariate-Adjusted Local Comparison

Consider a hypothetical, very narrow window around a sharp RD cutoff. To keep the arithmetic transparent, use an equally weighted local-constant comparison within this window, without running-variable slopes. Let \(X\) be a predetermined binary covariate. The hypothetical observations are:

Side of cutoff\(X=0\) outcomes\(X=1\) outcomesOverall mean of \(X\)
Below8, 1012, 140.50
At or above1216, 18, 200.75

The unadjusted difference in local means is \(16.5-11=5.5\) outcome units. Because the proportion with \(X=1\) differs across sides, this contrast also reflects a difference in covariate composition.

Fit a regression with a side indicator and a common linear slope for \(X\). The pooled within-side slope is $$ \hat{\gamma}= \frac{\sum_g\sum_i(X_i-\bar X_g)(Y_i-\bar Y_g)} {\sum_g\sum_i(X_i-\bar X_g)^2}, $$ where \(g\) indexes the two sides. Below the cutoff, the numerator contribution is \(4\) and the denominator contribution is \(1\). At or above the cutoff, the corresponding contributions are \(4.5\) and \(0.75\). Therefore $$ \hat{\gamma}=\frac{4+4.5}{1+0.75} =\frac{8.5}{1.75}=4.857. $$

The adjusted side difference at the reference \(X=0\) is the difference in side means minus the fitted covariate slope times the difference in side-specific means of \(X\): $$ \hat{\tau}_{\mathrm{adj}} =(16.5-11)-4.857(0.75-0.50) =5.5-1.214=4.286. $$

Thus adjustment changes the estimate from \(5.5\) to \(4.286\) outcome units in this hypothetical local comparison. The difference arises because the covariate is more common above the cutoff and predicts higher outcomes in the pooled fit. This small example omits the running-variable slopes used in a local linear RD regression; it illustrates the role of covariate adjustment, not a replacement for that full specification. The adjusted number is an estimate at the chosen reference value under the common-slope model, so it should not be described as an average treatment effect without additional justification.

When Does Adjustment Preserve the Cutoff Target?

To see the target clearly, let \(Y_i(1)\) and \(Y_i(0)\) be the potential outcomes under treatment and control, and define \(m_d(r,x)=E[Y_i(d)\mid R_i=r,X_i=x]\), for \(d\in\{0,1\}\). In a sharp RD, the observed conditional mean is a treated potential-outcome mean on the right and a control potential-outcome mean on the left. In general, each marginal mean averages conditional means over the covariate distribution at that running-variable value.

$$ E[Y_i\mid R_i=r] = \begin{cases} \int m_1(r,x)\,dF_{X\mid R=r}(x), & r\ge c,\\ \int m_0(r,x)\,dF_{X\mid R=r}(x), & r<c. \end{cases} $$

This identity makes an important issue visible: as \(r\) approaches \(c\), both the conditional means and the distribution of \(X\) being averaged can change. It is not enough to establish pointwise convergence of \(m_d(r,x)\), or boundedness of those functions, while ignoring the changing covariate distributions.

A direct sufficient condition for interpreting the marginal cutoff limits is that the relevant integrals converge to the intended limits. One set of stronger, convenient sufficient conditions is that the covariate distributions on each side converge in total variation to a common cutoff distribution \(F_c\), the conditional means converge uniformly in \(x\) to \(m_d(c,x)\), and those functions are bounded near the cutoff. These conditions control both the changing distributions and the changing conditional means. Other regularity conditions can also suffice; uniform integrability by itself does not generally control integration against changing distributions.

When these integrals converge under a common limiting distribution, the RD jump can be written as

$$ \tau_{\mathrm{RD}} = \int\left[m_1(c,x)-m_0(c,x)\right]\,dF_c(x). $$

This is an average of conditional treatment effects over the covariate distribution at the cutoff. A regression coefficient evaluated at \(X=x_c\) equals this average under additional structure, such as a treatment effect that is constant in \(x\). If effects vary with \(x\), a fitted jump at a reference covariate value need not equal the average. One way to target the average explicitly is to estimate conditional outcome limits and average their difference over the common cutoff distribution, with the necessary support and regularity conditions.

Key takeaway: Predetermined covariates can improve precision, but an adjusted coefficient is not automatically the same estimand as the marginal RD jump. State the covariate model and reference value, assess whether covariate distributions are continuous at the cutoff, and justify any claim that the adjusted estimate targets the average cutoff effect.

Worked Example: Precision Gains Under a Simple Model

Suppose, hypothetically, that a local RD sample contains \(100\) observations on each side. Assume the conditional mean model is correctly specified, \(X\) is predetermined, the covariate has the same distribution on both sides, and the treatment effect does not vary with \(X\). For illustration, suppose the outcome variance within each side before adjustment is \(100\) outcome-units squared, and adjustment removes \(64\%\) of that residual variation. These are modeling assumptions for the example, not facts that can be presumed in an actual RD analysis.

Under the simple independent, equal-variance difference-in-means approximation, the unadjusted standard error is $$ SE_{\mathrm{unadj}}=\sqrt{\frac{100}{100}+\frac{100}{100}} =\sqrt{2}=1.414 $$ outcome units.

The adjusted residual variance is \(100(1-0.64)=36\) outcome-units squared. Under the same simple approximation, the adjusted standard error is $$ SE_{\mathrm{adj}}=\sqrt{\frac{36}{100}+\frac{36}{100}} =\sqrt{0.72}=0.8485 $$ outcome units. The smaller standard error follows from the assumed reduction in residual variation while holding the sample sizes and comparison structure fixed. In a local linear RD fit, the actual standard error depends on the design matrix, kernel weights, bandwidth, and variance estimator; this calculation illustrates the potential precision mechanism rather than providing a general RD standard-error formula.

When Adjustment Raises Concerns

Covariate continuity checks assess whether predetermined characteristics appear to change at the cutoff. A visible discontinuity can signal a problem with the RD design or with the composition represented on either side. Passing such checks does not prove continuity, and adding the covariates to the outcome regression does not repair a failure of the identifying assumptions.

Worked Example: Covariate Composition Changes the Comparison

Suppose, hypothetically, that \(X\) is binary and potential outcome means obey $$ m_0(c,x)=10+3x,\qquad m_1(c,x)=m_0(c,x)+2+4x. $$ The conditional treatment effect is \(2\) outcome units when \(X=0\) and \(6\) outcome units when \(X=1\). Assume the probability of \(X=1\) is \(0.25\) just below the cutoff and \(0.75\) just above it.

The limiting mean below is the control mean: $$ 10+3(0.25)=10.75. $$ The limiting mean above is the treated mean. The control component there is \(10+3(0.75)=12.25\), and the average conditional treatment effect under the above-cutoff covariate distribution is \(2+4(0.75)=5\). Thus the treated mean above is \(12.25+5=17.25\), and the observed jump is \(17.25-10.75=6.5\) outcome units.

That observed jump combines treatment-effect variation with a change in covariate composition. If one instead averaged the conditional treatment effect using the below-cutoff distribution, the result would be \(2+4(0.25)=3\) outcome units; using the above-cutoff distribution gives \(5\). There is no single common-distribution average identified by this calculation because the distributions differ. Conditional adjustment may describe outcome differences at particular \(X\) values, but it does not by itself restore the usual marginal RD interpretation.

Only covariates determined before treatment should ordinarily be used for this precision adjustment. A variable affected by treatment is post-treatment: conditioning on it can block part of the treatment effect or introduce bias through selection. For example, if an eligibility offer changes a participant’s program attendance, attendance is not a baseline adjustment covariate for estimating the offer’s total effect. The fact that a variable predicts the outcome is not sufficient reason to adjust for it.

Derivation: Why the Distribution Condition Matters

Write the right-side conditional mean as an integral with respect to its own covariate distribution. To obtain a limit under a common cutoff distribution \(F_c\), add and subtract the integral of the limiting conditional mean under the right-side distribution:

$$ \begin{aligned} &\int m_1(r,x)\,dF_{X\mid R=r}(x)-\int m_1(c,x)\,dF_c(x)\\ &= \left\{\int[m_1(r,x)-m_1(c,x)]\,dF_{X\mid R=r}(x)\right\}\\ &\quad+ \left\{\int m_1(c,x)\,dF_{X\mid R=r}(x) -\int m_1(c,x)\,dF_c(x)\right\}. \end{aligned} $$

The first term is controlled by regularity of the conditional means as \(r\) approaches \(c\). The second is controlled by convergence of the covariate distributions, together with suitable integrability of the limiting conditional mean. Both terms must vanish for the desired integral limit. The same argument applies to the left-side control mean. This decomposition explains why continuity in \(r\) of conditional means alone, or boundedness alone, does not suffice when the distribution of \(X\) changes with \(r\).

Common Mistakes

  • Assuming adjustment always improves precision. It can reduce residual variation, but estimating extra parameters or using an unstable specification can offset that gain. Compare uncertainty using an appropriate RD variance estimator.
  • Calling every adjusted coefficient the RD effect. A coefficient at \(X=x_c\) is a conditional contrast at that reference value. It is an average effect only under additional conditions or explicit standardization.
  • Treating covariate adjustment as a cure for discontinuity. If covariate distributions shift at the cutoff, adding \(X\) does not automatically recover the standard marginal RD estimand.
  • Adjusting for a post-treatment variable. Conditioning on a variable affected by treatment can change the causal question and introduce bias. Restrict precision adjustment to defensible predetermined covariates.

Check Your Understanding

Answer each question by stating the estimand or assumption involved.

  1. In a local linear RD regression, what does the coefficient on the treatment indicator represent when covariates are centered at \(x_c\)?
  2. Why can a covariate that predicts the outcome improve precision, and why is a smaller standard error not guaranteed?
  3. Under what kind of additional condition can a conditional jump at a reference covariate value equal the average RD effect at the cutoff?
  4. Why is convergence of conditional outcome means alone insufficient if the covariate distribution changes as the running variable approaches the cutoff?
  5. Give one reason a post-treatment variable should generally not be included as a precision covariate in an RD outcome regression.
Clinical Biostats