MethodAtlas
Design-BasedEstablished

Regression Discontinuity Design – Fuzzy

When crossing the cutoff changes the probability of treatment (not a guarantee), use fuzzy RDD — essentially IV at the cutoff.

Quick Reference

When to Use
When crossing the cutoff changes the probability of treatment but does not determine it perfectly — there is noncompliance at the threshold. Essentially IV at the cutoff.
Key Assumption
The running variable cannot be precisely manipulated, the cutoff is a valid instrument (exclusion restriction holds at the threshold), and the first stage (jump in treatment probability at the cutoff) is sufficiently strong.
Common Mistake
Applying sharp RDD methods when there is substantial noncompliance at the threshold, or not reporting and testing the first-stage jump in treatment probability.
Estimated Time
2.5 hours

One-Line Implementation

Stata: rdrobust y x, c(0) fuzzy(treatment)
R: rdrobust(y = df$y, x = df$x, c = 0, fuzzy = df$treatment)
Python: rdrobust(y=df['y'], x=df['x'], c=0, fuzzy=df['treatment'])

Download Full Analysis Code

Complete scripts with diagnostics, robustness checks, and result export.

Motivating Example: Maimonides' Rule and Class Size

The 12th-century scholar Maimonides wrote that a class should not exceed 40 students. Israel adopted this as policy: when enrollment in a grade exceeds 40, the school must split into two classes. At 41 students, average class size drops from 41 to about 20.5.

Angrist and Lavy (1999) exploited this rule to estimate the effect of class size on student achievement. But here is the complication: the rule creates a discontinuity in expected class size, not a perfect deterministic assignment. Some schools do not comply perfectly — they might get exemptions, combine classes, or handle the split differently. Crossing the 40-student threshold changes the probability of being in a small class, but does not guarantee it.

(Angrist & Lavy, 1999)

This setting is a fuzzy RDD. The running variable (enrollment) crosses a cutoff (40), and the probability of treatment (small class) jumps — but not from 0 to 1. It jumps from, say, 0.1 to 0.7. To handle this non-compliance, you use the cutoff as an instrument for actual treatment.


A. Overview: Sharp vs. Fuzzy RDD

Sharp RDD (Quick Review)

In a sharp RDD, treatment is a deterministic function of the running variable:

Di=1(Xic)D_i = \mathbf{1}(X_i \geq c)

Everyone above the cutoff is treated; everyone below is not. The treatment effect is identified by the jump in the outcome at cc.

Fuzzy RDD

In a fuzzy RDD, the cutoff changes the probability of treatment, but not deterministically:

limxcP(Di=1Xi=x)limxcP(Di=1Xi=x)\lim_{x \downarrow c} P(D_i = 1 | X_i = x) \neq \lim_{x \uparrow c} P(D_i = 1 | X_i = x)

There is a jump in the first stage (the probability of treatment) at the cutoff, but it is less than one. Some units above the cutoff do not receive treatment, and some below do.

The Key Insight: Fuzzy RDD = IV at the Cutoff

The fuzzy RDD estimator is the ratio of two jumps:

τFRD=Jump in outcome at cJump in treatment probability at c=limxcE[YiXi=x]limxcE[YiXi=x]limxcE[DiXi=x]limxcE[DiXi=x]\tau_{FRD} = \frac{\text{Jump in outcome at } c}{\text{Jump in treatment probability at } c} = \frac{\lim_{x \downarrow c} E[Y_i | X_i = x] - \lim_{x \uparrow c} E[Y_i | X_i = x]}{\lim_{x \downarrow c} E[D_i | X_i = x] - \lim_{x \uparrow c} E[D_i | X_i = x]}

This ratio is exactly the Wald/IV estimator (the same logic underlying instrumental variables estimation), with the instrument being the indicator for crossing the cutoff: Zi=1(Xic)Z_i = \mathbf{1}(X_i \geq c).


Common Confusions


B. Identification

The Three Requirements

Fuzzy RDD requires:

  1. Relevance — The cutoff causes a jump in the probability of treatment. This jump is the first stage, and it must be meaningfully large.
  2. Continuity of potential outcomesE[Yi(0)Xi=x]E[Y_i(0) | X_i = x] and E[Yi(1)Xi=x]E[Y_i(1) | X_i = x] are continuous at cc. Informally: absent the treatment jump, the outcome would not jump at the cutoff.
  3. No manipulation — Units cannot precisely control the running variable to sort above or below the cutoff.

Monotonicity

Additionally, fuzzy RDD requires a monotonicity assumption: crossing the cutoff can only increase (or only decrease) the probability of treatment for any individual. There are no "defiers" — units for whom crossing the cutoff would reduce their treatment probability.

Formal Estimand

The fuzzy RDD identifies:

τFRD=E[Yi(1)Yi(0)complier at Xi=c]\tau_{FRD} = E[Y_i(1) - Y_i(0) | \text{complier at } X_i = c]

This estimand is the treatment effect for the subpopulation of compliers — those whose treatment status would change if they moved from just below to just above the cutoff — evaluated right at the cutoff.


C. Visual Intuition

Imagine two graphs stacked vertically. The top graph shows the outcome (test scores) as a function of the running variable (enrollment). You see a cloud of data points with a fitted curve on each side of the cutoff. At the cutoff, the outcome might show a jump (the reduced form).

The bottom graph shows the treatment (actual class size) as a function of enrollment. Here, you clearly see a jump at 40: the probability of being in a small class increases sharply. This jump is the first stage.

The fuzzy RDD estimate is the ratio of the top jump to the bottom jump. If test scores jump by 3 points and the probability of small-class treatment jumps by 0.6, the fuzzy RDD estimate is 3/0.6=53 / 0.6 = 5 points — the causal effect of small classes for compliers at the cutoff.

If the bottom graph shows no jump (flat first stage), you have no instrument and cannot identify the treatment effect. The strength of the first stage is critical.

Interactive Simulation

Fuzzy RDD as Local IV

The fuzzy RDD estimate equals the jump in the outcome divided by the jump in treatment probability at the cutoff — exactly a Wald IV estimate applied locally. A weak first stage (small treatment jump) inflates the variance of the estimate.

03.547.0710.61Simulated ValueJump inJump inBandwidth A…Parameters

Computed Results

Fuzzy RDD / Wald Estimate
5.00
Approx. First-Stage F-stat
18.0
Approx. Std. Error of Estimate
0.71
0.051
010
120
Interactive Simulation

Fuzzy RDD: When Compliance Isn't Perfect

DGP: 500 units, R ~ Uniform(-1,1). Above cutoff: P(D=1) = 0.80, below: P(D=1) = 0.10. Y = 5.0·D + 2·R + ε. Bandwidth h = 0.50, local n = 269.

First Stage: P(D=1) vs R0.000.250.500.751.00-1.0-0.50.00.51.0Running Variable (R)P(D = 1)0.70Reduced Form: Y vs R-6.4-2.02.57.011.5-1.0-0.50.00.51.0Running Variable (R)Outcome (Y)D=0D=13.96 / 0.70 = 5.63
D = 0D = 1

Estimation Results

Estimatorβ̂SE95% CIBias
Sharp RD (ITT, target: 3.50)closest3.9620.561[2.86, 5.06]+0.462
OLS on D6.5630.160[6.25, 6.88]+1.563
Fuzzy RD (IV)5.6350.797[4.07, 7.20]+0.635
True β5.000
500

Number of observations

5.0

Causal effect of treatment on outcome

0.80

P(D=1 | R ≥ 0): treatment take-up rate above cutoff

0.10

P(D=1 | R < 0): treatment take-up rate below cutoff

0.50

Width of the local window |R| < h around the cutoff

Why the difference?

The sharp RD estimates 3.962, which is the intent-to-treat effect (reduced form). But because only 80% above the cutoff actually take treatment (vs. 10% below), the causal effect on those who comply is larger: 5.635 = reduced form / first stage = 3.962 / 0.703. The scaled ratio is the LATE for compliers at the cutoff.


D. Mathematical Derivation

Don't worry about the notation yet — here's what this means in words: The fuzzy RDD estimate divides the jump in the outcome by the jump in treatment probability at the cutoff, just like an IV Wald estimator applied locally.

Define the instrument Zi=1(Xic)Z_i = \mathbf{1}(X_i \geq c). The local Wald estimator is:

τ^FRD=τ^Yτ^D\hat{\tau}_{FRD} = \frac{\hat{\tau}_Y}{\hat{\tau}_D}

where:

τ^Y=limxcE^[YiXi=x]limxcE^[YiXi=x]\hat{\tau}_Y = \lim_{x \downarrow c} \hat{E}[Y_i | X_i = x] - \lim_{x \uparrow c} \hat{E}[Y_i | X_i = x]τ^D=limxcE^[DiXi=x]limxcE^[DiXi=x]\hat{\tau}_D = \lim_{x \downarrow c} \hat{E}[D_i | X_i = x] - \lim_{x \uparrow c} \hat{E}[D_i | X_i = x]

In practice, both limits are estimated using local polynomial regressions within a bandwidth hh of the cutoff. The most common approach is local linear regression, weighted by a kernel function.

Implementation via 2SLS within the bandwidth:

For observations within bandwidth hh of cc, estimate:

First stage:

Di=γ0+γ1Zi+γ2(Xic)+γ3Zi(Xic)+viD_i = \gamma_0 + \gamma_1 Z_i + \gamma_2(X_i - c) + \gamma_3 Z_i(X_i - c) + v_i

Second stage:

Yi=β0+β1D^i+β2(Xic)+β3Zi(Xic)+εiY_i = \beta_0 + \beta_1 \hat{D}_i + \beta_2(X_i - c) + \beta_3 Z_i(X_i - c) + \varepsilon_i

The coefficient β^1\hat{\beta}_1 is the fuzzy RDD estimate. The slope interaction uses the exogenous cutoff indicator Zi=1{Xic}Z_i = \mathbf{1}\{X_i \geq c\} rather than D^i\hat{D}_i, because Di(Xic)D_i(X_i - c) would be a second endogenous regressor requiring its own first stage. The γ1\gamma_1 coefficient from the first stage is the jump in treatment probability.

Bandwidth selection: Imbens and Kalyanaraman (2012) and Calonico et al. (2014) provide data-driven bandwidth selectors that balance bias and variance.

(Calonico et al., 2014)

E. Implementation

library(rdrobust)
library(rddensity)

# Fuzzy RDD
frd <- rdrobust(y = df$test_score, x = df$enrollment, c = 40,
              fuzzy = df$small_class)
summary(frd)

# First stage
first_stage <- rdrobust(y = df$small_class, x = df$enrollment, c = 40)
summary(first_stage)

# RD plot
rdplot(y = df$test_score, x = df$enrollment, c = 40, nbins = c(20, 20))

# Manipulation test
manip <- rddensity(X = df$enrollment, c = 40)
summary(manip)

F. Diagnostics

First-Stage Strength

The first stage must show a clear, statistically significant jump in treatment probability at the cutoff. Report:

  • The size of the jump (coefficient on the cutoff indicator in the first-stage regression)
  • The effective F-statistic
  • A plot of treatment probability against the running variable

If the first stage is weak (small jump), the fuzzy RDD estimate will be imprecise and potentially biased, just like weak-instrument IV. Sensitivity analysis across different bandwidths can help assess the robustness of the result.

Manipulation Test

Use the McCrary (2008) density test or the Cattaneo et al. (2020) test to check whether units bunch on one side of the cutoff. If the density is discontinuous at cc, units may be manipulating the running variable.

(McCrary, 2008)

Covariate Balance at the Cutoff

Pre-determined covariates should not jump at the cutoff. Run the RDD specification replacing the outcome with each covariate. Significant jumps suggest either manipulation or a violation of the continuity assumption.

Bandwidth Sensitivity

Show that results are robust to different bandwidth choices: the optimal bandwidth, half the bandwidth, and twice the bandwidth. The rdrobust package produces bias-corrected estimates that are less sensitive to bandwidth choice.


Interpreting Results

  • The fuzzy RDD estimate is the LATE for compliers at the cutoff — the causal effect of treatment for units whose treatment status changes due to the cutoff rule.
  • This estimate is not the ATE for the full population. Compliers at the cutoff may be a special group.
  • The reduced form (the jump in outcome at the cutoff, without dividing by the first stage) is the ITT analog for RDD. It is generally worth reporting.
  • If the first-stage jump is large (close to 1), the fuzzy RDD approaches the sharp RDD, and the LATE approaches a local ATE.
  • It is recommended to present the results graphically. The RD plot is the most convincing evidence — readers should see the discontinuity.

G. What Can Go Wrong

ProblemWhat It DoesHow to Fix It
Weak first stageImprecise and biased estimateReport effective F-stat; consider whether the design is viable
Manipulation of running variableUnits sort above/below cutoff, invalidating the designMcCrary/density test; covariate balance checks
Using sharp RDD when fuzzy is neededUnderstates the treatment effect (gives ITT, not LATE)Check for non-compliance; use fuzzy specification
Global polynomialHigh-order polynomials produce misleading estimates at the cutoffUse local linear regression with data-driven bandwidth
Extrapolating away from cutoffEstimates are only valid at the cutoffReport the estimate as local; discuss external validity
Donut hole neededObservations exactly at the cutoff are unusualTry excluding observations within a small window of the cutoff
Assumption Failure Demo

Weak First Stage at the Cutoff

The cutoff induces a large jump in treatment probability (from 0.15 to 0.75)

Fuzzy RDD estimate = 4.8 (SE = 1.2). First-stage jump = 0.60, effective F = 42. Precise and reliable estimate of the LATE for compliers at the cutoff.

Assumption Failure Demo

Manipulation of the Running Variable

Students cannot precisely control their entrance exam scores near the scholarship cutoff

McCrary density test p = 0.43. Smooth density across the cutoff. Covariate balance tests show no jumps. The quasi-random assignment near the cutoff is credible.

Assumption Failure Demo

Using a Global High-Order Polynomial Instead of Local Regression

Local linear regression within an MSE-optimal bandwidth of 5 points around the cutoff

Fuzzy RDD estimate = 5.2 (robust bias-corrected SE = 1.8). Estimate is driven by observations close to the cutoff where the design is most credible.

(Gelman & Imbens, 2019)
Concept Check

In Angrist and Lavy's class size study, suppose the reduced form (jump in test scores at enrollment = 40) is 2.5 points, and the first stage (jump in the probability of having a small class) is 0.50. What is the fuzzy RDD estimate, and what does it represent?


H. Practice

Concept Check

A scholarship is awarded to students scoring above 80 on an entrance exam. However, some students above 80 decline the scholarship, and some below 80 receive it through appeals. A researcher runs a standard (sharp) RDD, comparing average outcomes just above and below 80. What does this estimate?

Concept Check

In a fuzzy RDD, the first stage shows that crossing the cutoff increases the probability of treatment from 0.20 to 0.28 — a jump of only 0.08. The effective F-statistic is 4.2. What should you be concerned about?

Concept Check

A researcher studies the effect of remedial math classes on college GPA. Students scoring below 60 on a placement test are assigned to remediation, but some below 60 skip it and some above 60 voluntarily enroll. She estimates the fuzzy RDD and finds an effect of 0.4 GPA points for compliers at the cutoff. Can she generalize this to all students?

Concept Check

A researcher fits a fourth-degree global polynomial on both sides of the cutoff to estimate a fuzzy RDD. A reviewer insists she should use local linear regression with data-driven bandwidth instead. Why does the reviewer prefer this approach?

Guided Exercise

Fuzzy RDD: Medicaid Eligibility and Health Outcomes

A health economist studies whether Medicaid enrollment improves health outcomes. Medicaid eligibility is determined by an income threshold: households earning below 138% of the federal poverty level (FPL) are eligible. However, take-up is imperfect — some eligible households do not enroll, and some ineligible households obtain coverage through other programs. The researcher uses income relative to the 138% FPL cutoff as the running variable.

Why is this a fuzzy RDD rather than a sharp RDD?

What does the first stage estimate in this fuzzy RDD?

If the reduced form (jump in health outcomes at the cutoff) is 0.08 and the first stage (jump in enrollment probability) is 0.40, what is the fuzzy RDD estimate?

Who does this fuzzy RDD estimate apply to?

Error Detective

Read the analysis below carefully and identify the errors.

A researcher studies whether receiving a scholarship (given to students scoring above 80 on an entrance exam) affects college completion. They note that some students above 80 do not accept the scholarship and some below 80 receive it through appeals. They run: reg completion score_above_80, vce(robust), where score_above_80 = 1 if entrance score >= 80. They report: 'Crossing the 80-point threshold increases college completion by 12 percentage points (p < 0.01).'

Select all errors you can find:

Referee Exercise

Read the paper summary below and write a brief referee critique (2-3 sentences) of the identification strategy.

Paper Summary

A study examines whether receiving need-based financial aid improves college graduation rates. Students with family income below \$50,000 are eligible for a grant, but take-up is imperfect: only about 65% of eligible students actually receive the aid (some fail to complete paperwork), and about 10% of ineligible students receive aid through appeals. The authors use a fuzzy RDD with family income as the running variable and the \$50,000 threshold as the cutoff. They report a fuzzy RDD estimate that receiving aid increases 6-year graduation rates by 18 percentage points.

Key Table

VariableCoefficientRobust SEp-value
Aid received (fuzzy RDD)0.1800.0650.006
First-stage jump0.550
Effective F-statistic31.2
Bandwidth (MSE-optimal)$8,200
McCrary density test p0.03
N (within bandwidth)4,200

Authors' Identification Claim

The \$50,000 income threshold creates a quasi-random assignment of financial aid eligibility near the cutoff. The fuzzy RDD accounts for imperfect compliance by instrumenting actual aid receipt with eligibility status.


I. Swap-In: When to Use Something Else

  • Sharp RDD: When compliance at the cutoff is perfect — every unit above the threshold receives treatment, every unit below does not.
  • IV / 2SLS: When the source of exogenous variation is not a running-variable threshold but a discrete instrument. Fuzzy RDD is a special case of IV where the instrument is the indicator for crossing the cutoff.
  • Difference-in-differences: When there is temporal variation in treatment adoption rather than a threshold-based assignment rule.
  • Matching: When there is no threshold-based assignment but rich pre-treatment covariates support a selection-on-observables strategy.

J. Reviewer Checklist

Critical Reading Checklist



Paper Library

Foundational (6)

Hahn, J., Todd, P., & Van der Klaauw, W. (2001). Identification and Estimation of Treatment Effects with a Regression-Discontinuity Design.

This paper provided the formal econometric framework for both sharp and fuzzy regression discontinuity designs. For the fuzzy case, it showed that the treatment effect can be identified as the ratio of the discontinuity in the outcome to the discontinuity in the treatment probability, analogous to a Wald estimator.

Imbens, G. W., & Lemieux, T. (2008). Regression Discontinuity Designs: A Guide to Practice.

Journal of EconometricsDOI: 10.1016/j.jeconom.2007.05.001

Imbens and Lemieux provided a comprehensive practical guide to implementing RDD, covering bandwidth selection, functional form, and graphical analysis. Their treatment of fuzzy RDD as a local IV estimator clarified the interpretation and implementation for applied researchers.

Lee, D. S., & Lemieux, T. (2010). Regression Discontinuity Designs in Economics.

Journal of Economic LiteratureDOI: 10.1257/jel.48.2.281

Lee and Lemieux wrote the definitive survey of RDD methods in economics, covering both sharp and fuzzy designs, validity tests, and extensions. This paper is the standard reference for understanding the econometric theory and practical implementation of RDD.

Calonico, S., Cattaneo, M. D., & Titiunik, R. (2014). Robust Nonparametric Confidence Intervals for Regression-Discontinuity Designs.

EconometricaDOI: 10.3982/ECTA11757

Calonico, Cattaneo, and Titiunik developed bias-corrected confidence intervals for RDD that address the problem of conventional confidence intervals being invalid when using optimal bandwidth selectors. Their rdrobust software package has become the standard tool for implementing RDD in practice.

Dong, Y., & Lewbel, A. (2015). Identifying the Effect of Changing the Policy Threshold in Regression Discontinuity Models.

Review of Economics and StatisticsDOI: 10.1162/REST_a_00510

Dong and Lewbel extended fuzzy RDD by showing how to identify the effect of changing the policy threshold, not just the effect of treatment at the existing cutoff. This approach allows researchers to evaluate counterfactual policies that shift the eligibility boundary, broadening the policy relevance of fuzzy RDD estimates.

Battistin, E., & Rettore, E. (2008). Ineligibles and Eligible Non-Participants as a Double Comparison Group in Regression-Discontinuity Designs.

Journal of EconometricsDOI: 10.1016/j.jeconom.2007.05.006

Battistin and Rettore addressed the problem of imperfect compliance in fuzzy RDD by proposing a double comparison group strategy that uses both ineligible units and eligible non-participants to bound treatment effects. Their framework clarified how partial compliance affects identification and offered practical tools for strengthening fuzzy RDD inference.

Application (4)

Van der Klaauw, W. (2002). Estimating the Effect of Financial Aid Offers on College Enrollment: A Regression-Discontinuity Approach.

International Economic ReviewDOI: 10.1111/1468-2354.t01-1-00055

Van der Klaauw applied a fuzzy RDD to study how financial aid offers affect college enrollment decisions, exploiting discontinuities in an aid assignment rule where eligibility changes at GPA thresholds but compliance is imperfect. This paper is one of the earliest and most influential applications of fuzzy RDD.

Angrist, J. D., & Lavy, V. (1999). Using Maimonides' Rule to Estimate the Effect of Class Size on Scholastic Achievement.

Quarterly Journal of EconomicsDOI: 10.1162/003355399556061

Angrist and Lavy exploited a rule that caps class sizes at 40 students, creating discontinuities in class size as enrollment crosses multiples of 40. The imperfect compliance with the rule makes this a fuzzy RDD. This paper is one of the most widely taught examples of the fuzzy RDD approach.

Flammer, C. (2015). Does Corporate Social Responsibility Lead to Superior Financial Performance? A Regression Discontinuity Approach.

Management ScienceDOI: 10.1287/mnsc.2014.2038

Flammer used a sharp RDD design based on close shareholder votes on CSR proposals, where proposals that barely pass versus barely fail are essentially randomly determined. Published in Management Science, it demonstrated the power of RDD for studying corporate governance questions.

Cunat, V., Gine, M., & Guadalupe, M. (2012). The Vote Is Cast: The Effect of Corporate Governance on Shareholder Value.

Cunat, Gine, and Guadalupe used a fuzzy RDD around the majority threshold in shareholder governance proposals to estimate the causal effect of governance provisions on firm value. This paper is a leading example of fuzzy RDD applied to corporate governance and finance.

Survey (1)

Cattaneo, M. D., Idrobo, N., & Titiunik, R. (2020). A Practical Introduction to Regression Discontinuity Designs: Foundations.

Cambridge University PressDOI: 10.1017/9781108684606

A practical and accessible guide to implementing regression discontinuity designs, covering both sharp and fuzzy cases with worked examples and code. Part of the Cambridge Elements series, it provides step-by-step guidance on bandwidth selection, estimation, and inference using the rdrobust toolkit.

Tags

design-basedcutofflocal-effectnoncompliance