Regression Discontinuity Design: A Practical Guide for Clinical Researchers
📖 14 min read · Published Mar 29, 2026
Regression Discontinuity Design (RDD) is the closest thing observational research has to a randomized experiment — and it's hiding in every threshold-based clinical decision you've ever made. Age cutoffs for screening, lab values triggering treatment, BMI thresholds for surgery eligibility — anywhere a number crosses a line and something changes, RDD can extract causal evidence.
What Is Regression Discontinuity Design?
RDD exploits the fact that units (patients, hospitals, regions) just above and just below a threshold are nearly identical — except that one group gets treated and the other doesn't. The treatment effect is estimated from the jump in the outcome at the cutoff.
The logic is simple: if a patient with a hemoglobin A1c of 6.49% is essentially the same as a patient at 6.51%, but one gets diagnosed with diabetes and the other doesn't, any difference in downstream outcomes near that cutoff is causal.
The Core Idea:
Treatment = f(Running Variable ≥ Cutoff)
Causal Effect = lim(E[Y|X→c⁺]) − lim(E[Y|X→c⁻])
The running variable (score) determines treatment. The discontinuity at the cutoff reveals the effect.
Sharp vs. Fuzzy RDD
Sharp RDD
Treatment assignment is deterministic at the cutoff. Everyone above gets treated; everyone below doesn't. No exceptions.
- Medicare eligibility at age 65 (everyone qualifies at the birthday)
- Scholarship awards based on a test score cutoff
- Hospital performance penalties based on readmission rate thresholds
Fuzzy RDD
The cutoff increases the probability of treatment but doesn't guarantee it. Some people above the cutoff don't get treated; some below do. Think of it as an instrumental variable where the instrument is "being above the cutoff."
- Clinical guidelines recommending statins above a cholesterol threshold (doctors don't always follow)
- Recommended screening ages (some patients get screened early, some late)
- BMI thresholds for bariatric surgery (not every eligible patient opts in)
Key Difference:
Sharp RDD estimates the average treatment effect at the cutoff (ATE|X=c). Fuzzy RDD estimates the local average treatment effect for compliers at the cutoff (LATE|X=c) — same logic as IV estimation.
When to Use It
RDD requires three conditions:
- A continuous running variable — age, test score, lab value, admission date, distance. It must be measured before treatment and not manipulable by the individual.
- A known cutoff — a clear threshold where treatment probability changes. The cutoff must be exogenous (not determined by the outcome).
- Sufficient density near the cutoff — you need enough observations on both sides. If observations are sparse near the threshold, your estimates will be noisy.
The Critical Assumption: No Manipulation
The validity of RDD depends on one thing: units cannot precisely manipulate their running variable to land on their preferred side of the cutoff. If patients can game their lab values, if hospitals can tweak their reported metrics, if students can choose their test date strategically — your design is compromised.
"Precise manipulation" is the problem. Imprecise influence is fine. A student can study harder (imprecise — they don't control their exact score), but a hospital that rounds down readmission rates to avoid a penalty (precise) violates the assumption.
McCrary Density Test
Test for manipulation by checking whether the density of the running variable is continuous at the cutoff. A "bunching" of observations just above or below the threshold suggests manipulation. Use the McCrary (2008) test or the Cattaneo, Jansson & Ma (2020) refinement.
Bandwidth Selection: The Make-or-Break Choice
RDD estimates are local — they use data near the cutoff. The bandwidth determines how "near" is near. This is the single most consequential methodological choice in any RDD analysis.
The Bias-Variance Tradeoff
- Too narrow: Low bias (you're comparing truly similar units) but high variance (few observations → wide confidence intervals)
- Too wide: Low variance (lots of data) but high bias (units far from the cutoff aren't comparable)
Data-Driven Bandwidth Selection
Don't pick bandwidth by eye. Use formal methods:
- Imbens-Kalyanaraman (IK) optimal bandwidth — minimizes mean squared error
- Calonico, Cattaneo & Titiunik (CCT) robust bandwidth — accounts for bias in the bandwidth selection itself. This is the current standard.
- Cross-validation — less common but useful for irregular data
Best Practice:
Use the CCT optimal bandwidth as your main estimate, then show robustness to half and double that bandwidth. If results flip with small bandwidth changes, your estimate is fragile.
Estimation: Local Polynomial Regression
The standard approach fits separate polynomial regressions on each side of the cutoff within the bandwidth. The treatment effect is the gap between the two fitted lines at the cutoff.
Polynomial Order
- Linear (order 1): Default and recommended. Simple, stable, interpretable.
- Quadratic (order 2): Can capture curvature but is more sensitive to outliers. Use only with a wider bandwidth.
- Higher orders (3+): Almost never justified. They create wild extrapolation near the boundary.
Gelman & Imbens (2019) Warning:
"We argue strongly against the use of higher-order (3+) polynomial regression in RD analysis." High-order polynomials produce noisy estimates, are sensitive to the degree of the polynomial, and can lead to misleading confidence intervals.
Kernel Weighting
Observations closer to the cutoff get more weight. Common kernels:
- Triangular: Default. Zero weight at the bandwidth edge. Best for point estimation at the cutoff.
- Uniform: Equal weight to all observations in the bandwidth. Simpler but slightly less efficient.
- Epanechnikov: Middle ground. Results usually similar to triangular.
Common Failure Modes
1. Running Variable Manipulation
The #1 threat to RDD validity. Always test for it. In clinical settings, look for:
- Providers rounding lab values (HbA1c of exactly 6.5% suspiciously common?)
- Patients timing procedures to meet age cutoffs
- Hospitals adjusting reported metrics near penalty thresholds
Fix: Run the McCrary density test. Plot the histogram of the running variable. If bunching is evident, RDD may not be valid for your setting.
2. Discontinuities in Covariates
If other characteristics jump at the cutoff, the treatment isn't the only thing changing. Check that baseline covariates are smooth through the cutoff.
Fix: Run balance tests — estimate the "effect" of the cutoff on pre-treatment covariates. They should show no discontinuity. Plot them.
3. Bandwidth Sensitivity
If your result only appears at one specific bandwidth and disappears at others, it's probably noise, not signal.
Fix: Report results at half, main, and double bandwidths. Plot the effect as a continuous function of bandwidth choice.
4. Too Few Observations Near the Cutoff
RDD is inherently a local estimator. If your sample is small or the running variable is discrete (e.g., age in years rather than days), you may not have enough observations for meaningful inference.
Fix: Report effective sample sizes within the bandwidth. For discrete running variables, consider the Kolesár & Rothe (2018) honest confidence intervals.
5. Extrapolation Beyond the Cutoff
RDD identifies the effect at the cutoff only. It does not tell you what happens far from the cutoff. A drug that works at the threshold dose tells you nothing about double the dose.
This is a feature, not a bug. Be honest about external validity — RDD trades generalizability for internal validity.
Clinical Applications
RDD is everywhere in clinical research — most researchers just don't recognize it. Here are some prominent examples:
Medicare at 65
Card, Dobkin & Maestas (2008, 2009) used the age-65 Medicare eligibility threshold to estimate the effect of insurance on healthcare utilization and mortality. Near-randomization at the birthday.
Birth Weight Thresholds in NICUs
Almond et al. (2010) exploited the 1,500g very low birth weight (VLBW) cutoff. Infants just below get more intensive (and expensive) care. RDD showed the extra care saves lives.
Alcohol and Mortality
Carpenter & Dobkin (2009) used the minimum legal drinking age (21 in the US) to estimate alcohol's effect on mortality. Sharp jump in drinking at 21 → sharp jump in deaths.
Diagnostic Thresholds
HbA1c ≥ 6.5% for diabetes, eGFR < 60 for CKD, BMI ≥ 40 for bariatric surgery eligibility — every diagnostic or treatment threshold is a potential RDD.
Modern Extensions
Geographic RDD
When treatment assignment is determined by location (e.g., different health policies on either side of a state border), geographic RDD compares outcomes for people living just on either side of the boundary. Requires careful handling of distance as the running variable.
Regression Kink Design (RKD)
Instead of a jump in treatment at the cutoff, RKD exploits a change in slope. Example: a tax benefit that increases at a different rate above an income threshold. The treatment intensity changes, not treatment itself.
Multi-Cutoff RDD
When the same policy has multiple thresholds (e.g., different insurance subsidy levels at different income brackets), you can combine estimates across cutoffs for a more comprehensive picture. See Cattaneo et al. (2016) for pooling strategies.
RDD with Covariates
Including covariates in RDD is not required for identification (the design handles confounding), but it can improve precision. Use them for efficiency, not for bias correction. If your result changes meaningfully after adding covariates, question the design, not the covariates.
Software
Recommended Packages:
- R:
rdrobust(Calonico, Cattaneo & Titiunik) — gold standard. Alsorddensityfor manipulation testing,rdlocrandfor local randomization inference. - Stata:
rdrobust,rddensity,rdlocrand— same team, same syntax. - Python:
rdrobust(newer, less mature but functional).
Reporting Checklist
What to include in every RDD paper:
- Running variable and cutoff — what is the score? What is the threshold? Why is it exogenous?
- Sharp or fuzzy — does the cutoff determine treatment (sharp) or just increase probability (fuzzy)? If fuzzy, report the first-stage jump.
- Manipulation test — McCrary or Cattaneo-Jansson-Ma density test. Show the histogram of the running variable near the cutoff.
- Covariate balance at the cutoff — plot pre-treatment covariates against the running variable. Test for discontinuities.
- Bandwidth selection method — CCT optimal, IK, or cross-validation? Report the selected bandwidth.
- Main estimate — point estimate, robust confidence intervals, effective sample size within bandwidth.
- Bandwidth sensitivity — results at half, main, and double bandwidths. Ideally a plot of effect vs. bandwidth.
- Polynomial order — justify your choice. Default to linear. If quadratic, explain why.
- Visual evidence — the classic RDD plot: binned averages of the outcome against the running variable, with fitted lines on each side. This is the most important figure in your paper.
- Effective sample size — how many observations are within the bandwidth on each side?
RDD vs. Other Methods
| Method | Best For | Key Assumption | Estimand |
|---|---|---|---|
| RDD | Threshold-based treatment | No precise manipulation at cutoff | Local ATE at cutoff |
| DID | Policy changes over time | Parallel trends | ATT |
| IV | Unmeasured confounding | Exclusion restriction | LATE |
| PSM | Measured confounding only | No unmeasured confounders | ATT |
| SCM | Single treated unit | No interference, convex hull | Unit-specific effect |
Key References
- Thistlethwaite, D.L. & Campbell, D.T. (1960). Regression-discontinuity analysis: An alternative to the ex post facto experiment. Journal of Educational Psychology. — The original RDD paper.
- Imbens, G.W. & Lemieux, T. (2008). Regression discontinuity designs: A guide to practice. Journal of Econometrics. — The definitive practical guide.
- Lee, D.S. & Lemieux, T. (2010). Regression Discontinuity Designs in Economics. Journal of Economic Literature. — Comprehensive review.
- Cattaneo, M.D., Idrobo, N. & Titiunik, R. (2020). A Practical Introduction to Regression Discontinuity Designs. Cambridge Elements. — Modern textbook treatment.
- Calonico, S., Cattaneo, M.D. & Titiunik, R. (2014). Robust nonparametric confidence intervals for regression-discontinuity designs. Econometrica. — The CCT bandwidth and inference method.
- McCrary, J. (2008). Manipulation of the running variable in the regression discontinuity design. Journal of Econometrics. — The original density test.
- Gelman, A. & Imbens, G. (2019). Why high-order polynomials should not be used in regression discontinuity designs. Journal of Business & Economic Statistics. — The "don't use cubics" paper.
- Card, D., Dobkin, C. & Maestas, N. (2008). The impact of nearly universal insurance coverage on health care utilization. American Economic Review. — Classic clinical RDD.
Want Aqrab to audit your RDD?
Paste your study design into our AI methodology engine. It'll check your assumptions, flag bandwidth problems, and tell you what's missing before a reviewer does.
Try Aqrab Free →