Skip to main content

RDD — Regression Discontinuity Design

RDD evaluates causal impact when treatment is determined by a cutoff in a running variable — e.g. a test score ≥ threshold qualifies for a scholarship. Comparing units just above and just below the cutoff (as-good-as random) yields a credible causal estimate at the threshold.

Sharp vs Fuzzy

Sharp RDD: crossing the cutoff ⇒ surely treated. Fuzzy RDD: crossing only increases the probability of treatment ⇒ combine with IV (using the cutoff as instrument).


Intuition

Estimate the jump in E[YX]E[Y \mid X] at the threshold cc; this is the local causal effect (LATE) at the cutoff.


Running in EcoLab

  1. Modeling module → Causal inference family → RDD.
  2. Declare the running variable, cutoff, and outcome; choose sharp/fuzzy, bandwidth, polynomial order.
  3. Run; view the RDD plot + estimate at the cutoff; run the McCrary test (manipulation); export the replication code.

Replication code

* ── RDD estimation ────────────────────────────────
* Install: ssc install rdrobust
rdrobust y score, c(50)

* ── RDD plot ──────────────────────────────────────
rdplot y score, c(50)

* ── Bandwidth selection ───────────────────────────
rdbwselect y score, c(50)

Limitations

  • Identifies only a local effect at the cutoff (LATE), not generalizable to the whole sample.
  • Sensitive to bandwidth and functional form; check for manipulation of the running variable.

Video tutorial

Video Tutorial: Guide to running RDD in EcoLab

See also