EconStatsCraft › Regression discontinuity

Regression discontinuity

Estimates the jump in an outcome at a cutoff. Includes bandwidth and polynomial sensitivity, a density-manipulation check, and the RD plot with binned means.

What it needs

The intuition

A rule that assigns a benefit at exactly 50 marks creates two groups either side of the line who are, in every respect other than the benefit, indistinguishable - nobody scoring 49.8 is meaningfully different from someone scoring 50.2. The threshold manufactures something very close to a randomised experiment, for free, out of bureaucracy.

When to use it

Treatment is determined by whether a continuous score crosses a known cutoff.

Where the estimator comes from

\tau=\lim_{x\downarrow c}E[Y\mid X=x]-\lim_{x\uparrow c}E[Y\mid X=x]. Identification needs only that E[Y^0\mid X] and E[Y^1\mid X] are continuous at c - so any jump must be caused by the treatment. Estimation is local linear regression on each side within a bandwidth h, usually with triangular kernel weights that give observations nearest the cutoff the most influence. Fuzzy designs, where crossing changes the PROBABILITY of treatment, use the Wald ratio \tau_{\text{fuzzy}}=\tau_Y/\tau_D: the jump in outcome divided by the jump in treatment.

The model

\tau=\lim_{x\downarrow c}E[y\mid X=x]\;-\;\lim_{x\uparrow c}E[y\mid X=x]

What it assumes

Statistical properties

How to read the output

A worked reading

The jump is 2.5831 (SE 0.5343, p < 0.0001) at a cutoff of 50, fitted on the 335 observations inside the optimal bandwidth of 12.63. Across bandwidths from h/2 to 1.5h and polynomial orders 1 and 2 the estimate ranges from 2.2428 to 3.5187 - the same sign and the same order of magnitude everywhere, but a spread of more than one unit, which is worth reporting rather than smoothing over. The narrowest bandwidth at order 2 is the least precise (SE 1.1889, p = 0.059), as it should be with 182 observations and four parameters. The density check gives a ratio of 0.958 just either side of the cutoff, z = -0.19, p = 0.8494: no sign that units sorted across the threshold. A stable sign, a smooth density and an honest account of the bandwidth sensitivity is what a credible RD looks like.

Symptom → diagnosis → what to do

If you see thisIt meansDo this
Density jumps at the cutoffManipulation - the design is invalidAbandon, or use a donut RD excluding the immediate neighbourhood
Estimate flips sign across bandwidthsNot robustDo not report it as causal
Only significant with a high-order polynomialAlmost certainly an artefactReport the local linear result
Covariates also jump at the cutoffSomething else changes there tooLook for another rule using the same threshold
Very few observations near the cutoffUnderpoweredWiden the bandwidth and accept more bias, or say the design cannot answer it

Common mistakes

Where to read this properly

See also

Fuzzy RD is IV with the threshold indicator as the instrument.

Related Causal

Spatial autocorrelation · Spatial regression · Heckman selection · Instrumental variables (2SLS) · Difference-in-differences · Staggered difference-in-differences · Matching & weighting · Oaxaca–Blinder decomposition

All analyses

Charts

Line chart · Area chart · Bar chart · Stacked bar · Scatter plot · Bubble chart · Histogram · Box plot · Pie chart · Heat map · Rebased to 100 · Lorenz curve and Gini

Maps

World map · Bivariate map · Flow map · India - state map · India - district map

Explore

Descriptive statistics · Summary by group · Two-way table · Classical statistical tests

Regression

Multiple regression (OLS) · Logit / Probit · Tobit (censored) · Truncated regression · Multinomial logit · Ordered logit / probit · Quantile regression · Poisson / Negative binomial

Time series - one series

Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · Rolling-origin cross-validation · Theta method · Unobserved components · STL forecasting · Forecast combination · Markov regime switching · Change frequency (resample) · ARCH / GARCH volatility · Decompose & filter · Spectral analysis · Exponential smoothing · Forecast accuracy

Time series - several series

Yield curve (Nelson–Siegel / Svensson) · Dynamic factor model · Dynamic regression (ARIMAX) · Structural VAR · VAR · Granger causality · Cointegration · VECM · ARDL & bounds test

Panel data

Panel regression · Panel cointegration tests · Heterogeneous panel: Mean Group & PMG · Gravity model of trade · Dynamic panel GMM · Panel diagnostics · Panel unit-root tests

Multivariate statistics

Principal components (PCA) · Factor analysis · Cluster analysis

Marketing research

Conjoint analysis · MaxDiff (best–worst scaling) · TURF - reach of a product line · Price sensitivity (Van Westendorp) · Market basket analysis · Perceptual map · Scale reliability (Cronbach’s alpha) · Key driver analysis

Causal

Spatial autocorrelation · Spatial regression · Heckman selection · Instrumental variables (2SLS) · Difference-in-differences · Staggered difference-in-differences · Regression discontinuity · Matching & weighting · Oaxaca–Blinder decomposition

Finance & risk

Black–Scholes option pricing · Bond price, duration & convexity · Merton distance to default · EMI / home loan planner · CAPM / beta estimation · Multi-factor model · Portfolio optimization · Value at Risk & Expected Shortfall · Performance & drawdown · Time value of money & NPV/IRR · Equity valuation (DDM, FCF, residual income) · Cost of capital (WACC) · Binomial option pricing · Option strategies (payoff & profit) · Forwards, futures & swaps · Credit risk & Basel capital · Extreme value theory (tail risk)

Actuarial

Life table · Life annuity · Life insurance pricing · Chain ladder reserving · Buhlmann credibility · Survival analysis · Mortality graduation · Aggregate loss model · Ruin probability · Multi-state Markov model · Loss severity fitting

Tests & breaks

Monte Carlo experiment · F-test, Wald & Chow · Structural breaks & stability

Machine learning

Regression vs machine learning · Ridge / Lasso / Elastic Net · Random forest · Gradient boosting

Open the workspace →

Starting engine…

EconStatsCraft rigorous, plain-spoken econometrics

Econometrics that explains itself.

Regression, panel data, time series and the whole battery of tests. Every result is followed by a verdict you can defend.

Load a dataset to see it here.