27.12 Applications of RD Designs

Regression Discontinuity (RD) designs have widespread applications in empirical research across economics, political science, marketing, and public policy. These applications leverage threshold-based decision rules to identify causal effects in real-world settings where randomized experiments are infeasible.

Key applications include:

  • Marketing: Estimating the causal effects of promotions and advertising intensity.

  • Education: Evaluating the impact of financial aid or merit scholarships.

  • Healthcare: Assessing the effect of medical interventions assigned based on eligibility thresholds.

  • Labor Economics: Studying unemployment benefits and wage policies.

27.12.1 Applications in Marketing

RD has been widely applied in marketing research to estimate causal effects of pricing, advertising, and product positioning.

  1. Position Effects in Advertising

(Narayanan and Kalyanam 2015) uses an RD approach to estimate the causal impact of advertisement placement in search engines. Since ad placement follows an auction-based system, a discontinuity occurs where the top-ranked ad receives disproportionately more clicks than lower-ranked ads.

Key insights:

  • Higher-ranked ads generate more click-throughs, but this does not always translate into higher conversion rates.

  • The RD framework helps distinguish correlation from causation by leveraging the rank cutoff.

  1. Identifying Causal Marketing Mix Effects

(Hartmann, Nair, and Narayanan 2011) presents a nonparametric RD estimation approach to identify causal effects of marketing mix variables, such as:

  • Advertising budgets

  • Price changes

  • Promotional campaigns

By comparing firms just above and below an expenditure threshold, the RD framework isolates the true causal impact of marketing spending on consumer behavior.

27.12.2 R Packages for RD Estimation

Key RD Packages in R

Feature rdd rdrobust rddtools
Estimator Local linear regression Local polynomial regression Local polynomial regression
Bandwidth Selection (G. Imbens and Kalyanaraman 2012) (Calonico, Cattaneo, and Titiunik 2014; G. Imbens and Kalyanaraman 2012 ; Calonico, Cattaneo, and Farrell 2020) (G. Imbens and Kalyanaraman 2012)
Kernel Functions Epanechnikov, Gaussian Epanechnikov Gaussian
Bias Correction No Yes No
Covariate Inclusion Yes Yes Yes
Assumption Testing McCrary Sorting Test No McCrary Sorting, Covariate Distribution Tests

For a detailed comparison, see (Thoemmes, Liao, and Jin 2017) (Table 1, p. 347).

27.12.2.1 Specialized RD Packages

  • rddensity: Tests for discontinuities in the density of the running variable (useful for manipulation/bunching detection).
  • rdlocrand: Implements randomization-based inference for RD.
  • rdmulti: Extends RD to multiple cutoffs and multiple scores.
  • rdpower: Conducts power calculations and sample selection for RD designs.

Why Use rdrobust?

  • Implements local polynomial regression, providing bias correction and robust standard errors.
  • Uses state-of-the-art bandwidth selection methods.
  • Produces automatic RD plots for visualization.

27.12.3 Example of Regression Discontinuity in Education

We illustrate a Sharp RD using a simulated example of college GPA and future career success.

Setup:

  • Students qualify for a prestigious internship if their GPA ≥ 3.5.

  • The outcome variable is future career success (e.g., salary).

  • RD estimates the causal impact of the internship program on earnings.

Yi=β0+β1Xi+β2Wi+ui

Xi={1,Wic0,Wi<c

We simulate 100 observations, where GPA is the forcing variable and career success depends on GPA and the treatment effect.

# Set seed for reproducibility
set.seed(42)

n = 100

# Simulate GPA scores (0-4 scale)
GPA <- runif(n, 0, 4)

# Generate future success with treatment effect at GPA >= 3.5
future_success <- 10 + 2 * GPA + 10 * (GPA >= 3.5) + rnorm(n)

# Load RD package
library(rddtools)

# Format data for RD analysis
data <- rdd_data(future_success, GPA, cutpoint = 3.5)

# Plot RD scatterplot
plot(data, col = "red", cex = 0.5, xlab = "GPA", ylab = "Future Success")

We estimate the Sharp RD treatment effect using local linear regression:

# Estimate the sharp RDD model
rdd_mod <- rdd_reg_lm(rdd_object = data, slope = "same")

# Display results
summary(rdd_mod)
#> 
#> Call:
#> lm(formula = y ~ ., data = dat_step1, weights = weights)
#> 
#> Residuals:
#>      Min       1Q   Median       3Q      Max 
#> -3.08072 -0.54182  0.05352  0.54135  2.51267 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept) 17.21703    0.20060   85.83   <2e-16 ***
#> D            9.79856    0.31716   30.89   <2e-16 ***
#> x            2.14839    0.09914   21.67   <2e-16 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 0.9284 on 97 degrees of freedom
#> Multiple R-squared:  0.9746, Adjusted R-squared:  0.9741 
#> F-statistic:  1863 on 2 and 97 DF,  p-value: < 2.2e-16

Plot the RD regression line with binned observations:

# Plot RD regression
plot(rdd_mod, cex = 0.5, col = "red", xlab = "GPA", ylab = "Future Success")

We verify whether results hold under different bandwidths and functional forms:

  1. Varying the Bandwidth
# Using rdrobust for robust estimation
library(rdrobust)

# Estimate RD with optimal bandwidth
rd_out <- rdrobust(y = future_success, x = GPA, c = 3.5)
summary(rd_out)
#> Sharp RD estimates using local polynomial regression.
#> 
#> Number of Obs.                  100
#> BW type                       mserd
#> Kernel                   Triangular
#> VCE method                       NN
#> 
#> Number of Obs.                   83           17
#> Eff. Number of Obs.               7           12
#> Order est. (p)                    1            1
#> Order bias  (q)                   2            2
#> BW est. (h)                   0.361        0.361
#> BW bias (b)                   0.670        0.670
#> rho (h/b)                     0.540        0.540
#> Unique Obs.                      83           17
#> 
#> =============================================================================
#>         Method     Coef. Std. Err.         z     P>|z|      [ 95% C.I. ]       
#> =============================================================================
#>   Conventional    12.836     2.495     5.144     0.000     [7.945 , 17.727]    
#>         Robust         -         -     4.473     0.000     [7.677 , 19.653]    
#> =============================================================================
  1. McCrary Test for Manipulation
library(rddensity)

# Check for discontinuities in GPA distribution
rddensity(GPA, c = 3.5)
#> Call:
#> rddensity.
#> Sample size: 100. Cutoff: 3.5.
#> Model: unrestricted. Kernel: triangular. VCE: jackknife
  1. Polynomial Functional Forms

We compare linear and quadratic specifications:

# Estimate RD with a quadratic polynomial
rdd_mod_quad <- rdd_reg_lm(rdd_object = data, slope = "separate", order = 2)
summary(rdd_mod_quad)
#> 
#> Call:
#> lm(formula = y ~ ., data = dat_step1, weights = weights)
#> 
#> Residuals:
#>      Min       1Q   Median       3Q      Max 
#> -3.06894 -0.52799  0.01642  0.55260  2.45318 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept) 17.30296    0.32241  53.667  < 2e-16 ***
#> D            9.14439    1.13752   8.039 2.65e-12 ***
#> x            2.29753    0.41955   5.476 3.61e-07 ***
#> `x^2`        0.04253    0.11228   0.379    0.706    
#> x_right      2.51976    9.23566   0.273    0.786    
#> `x^2_right` -1.61694   17.10035  -0.095    0.925    
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 0.9376 on 94 degrees of freedom
#> Multiple R-squared:  0.9749, Adjusted R-squared:  0.9736 
#> F-statistic:   731 on 5 and 94 DF,  p-value: < 2.2e-16

27.12.4 Example of Occupational Licensing and Market Efficiency

Occupational licensing is a form of labor market regulation that requires workers to obtain licenses or certifications before being allowed to work in specific professions. The debate around occupational licensing revolves around two competing effects:

  1. Efficiency-enhancing effect:
    • Licensing ensures that workers meet minimum quality standards, reducing information asymmetries between firms and consumers.
    • Higher-quality service providers are selected into the labor market.
  2. Barrier-to-entry effect:
    • Licensing requirements impose costs on potential entrants, reducing labor supply.
    • This creates frictions in the market, potentially leading to inefficiencies.

Bowblis and Smith (2021) investigates this tradeoff using a Fuzzy RD based on a threshold rule:

  • Nursing homes with 120 or more beds are required to hire a certain fraction of licensed/certified workers.

  • The study examines whether this policy improves quality of care or merely restricts labor market competition.


27.12.4.1 OLS Estimation: Naïve Approach and Its Bias

A simple Ordinary Least Squares regression can be used to estimate the effect of licensed workers on quality of service:

Yi=α0+Xiα1+LWiα2+ϵi

where:

  • Yi = Quality of service at facility i.

  • LWi = Proportion of licensed workers at facility i.

  • Xi = Facility characteristics (e.g., size, staffing levels).

27.12.4.2 Potential Bias in α2

  1. Mitigation-Based Bias:
    • Facilities with poor quality outcomes may hire more licensed workers in response to bad performance.
    • This induces a negative correlation between LWi and Yi, biasing α2 downward.
  2. Preference-Based Bias:
    • Higher-quality facilities may have greater incentives to hire certified workers.
    • This induces a positive correlation between LWi and Yi, biasing α2 upward.

27.12.4.3 Fuzzy RD Framework

The OLS model is endogenous, so we implement a Fuzzy RD Design that exploits a discontinuity in licensing requirements at 120 beds.

Yist=β0+[I(Bed121)ist]β1+f(Sizeist)β2+[f(Sizeist)×I(Bed121)ist]β3+Xitδ+γs+θt+ϵist

where:

  • I(Bed121) = Indicator for treatment eligibility (having at least 120 beds).

  • f(Sizeist) = Flexible functional form of facility size.

  • Xit = Other control variables.

  • γs = State fixed effects (accounts for state-level regulations).

  • θt = Time fixed effects (accounts for temporal shocks).

  • β1 = Intent-to-treat (ITT) effect.

This model estimates discontinuities in quality outcomes at the 120-bed threshold.


27.12.4.4 Why This RD is Fuzzy

Unlike a Sharp RD, treatment is not fully determined at the cutoff:

  • Some facilities with fewer than 120 beds voluntarily hire licensed workers.

  • Some facilities with more than 120 beds may not comply fully.

Thus, the RD framework must be modified:

  1. Fixed-Effect Considerations:
    • If states sort differently near the threshold, state fixed effects (γs) may be needed.
    • However, if sorting is non-random, the RD assumption fails.
  1. Panel Data Implications:
    • Fixed-effects models are not preferred in RD, as they are lower in the causal inference hierarchy.
    • RD typically excludes pre-treatment periods, whereas fixed-effects require before-and-after comparisons.
  2. Variation in Facility Size:
    • Hospitals rarely change bed capacity, so including hospital-specific fixed effects removes variation necessary for RD estimation.

27.12.4.5 Instrumental Variable Approach

To correct for endogeneity, we use a two-stage least squares IV approach, where the running variable serves as an instrument for treatment intensity.

Stage 1: First-Stage Regression

Estimate the probability of hiring licensed workers based on the 120-bed threshold:

QSWist=α0+[I(Bed121)ist]α1+f(Sizeist)α2+[f(Sizeist)×I(Bed121)ist]α3+Xitδ+γs+θt+ϵist

where:

  • QSWist = Predicted proportion of licensed workers at facility i in state s at time t.

Stage 2: Second-Stage Regression

Estimate the causal effect of hiring licensed workers on quality of service:

Yist=γ0+γ1^QWSist+f(Sizeist)δ2+[f(Sizeist)×I(Bed121)]δ3+Xitλ+ηs+τt+uist

where:

  • ^QWSist = Instrumented proportion of licensed workers.

  • γ1 = Causal effect of certified staffing on quality outcomes.

Key Observations

  • The larger the discontinuity at 120 beds, the closer γ1β1.
  • The ITT effect (β1) will always be weaker than the local average treatment effect (γ1).

27.12.4.6 Empirical Challenges

  1. Bunching at Round Numbers:
    • Figure 1 shows facilities clustering at every 5-bed increment.
    • If manipulation occurs, we expect underrepresentation at 130 beds.
  2. Clustering Standard Errors:
    • Due to limited unique mass points (facilities at specific sizes), errors should be clustered by mass point instead of individual facilities.
  3. Noncompliance and Selection Bias:
    • Fuzzy RD requires that we do not drop non-compliers (as it would introduce selection bias).
    • However, we can drop manipulators if there is clear evidence of behavioral bias (e.g., preference for round numbers).

27.12.5 Replicating (Carpenter and Dobkin 2009)

A well-known RD study by (Carpenter and Dobkin 2009) investigates the causal effect of legal drinking age on mortality rates.

Replication available at: Philipp Leppert.

Data available at: OpenICPSR.


27.12.6 Additional RD Applications

For a comprehensive empirical RD application, see (Thoemmes, Liao, and Jin 2017), where:

  • Multiple RD packages (rdd, rdrobust, rddtools) are tested.

  • Robustness checks are performed across bandwidth selection and polynomial orders.

References

Bowblis, John R, and Austin C Smith. 2021. “Occupational Licensing of Social Services and Nursing Home Quality: A Regression Discontinuity Approach.” ILR Review 74 (1): 199–223.
Calonico, Sebastian, Matias D Cattaneo, and Max H Farrell. 2020. “Optimal Bandwidth Choice for Robust Bias-Corrected Inference in Regression Discontinuity Designs.” The Econometrics Journal 23 (2): 192–210.
Calonico, Sebastian, Matias D Cattaneo, and Rocio Titiunik. 2014. “Robust Nonparametric Confidence Intervals for Regression-Discontinuity Designs.” Econometrica 82 (6): 2295–2326.
Carpenter, Christopher, and Carlos Dobkin. 2009. “The Effect of Alcohol Consumption on Mortality: Regression Discontinuity Evidence from the Minimum Drinking Age.” American Economic Journal: Applied Economics 1 (1): 164–82.
Hartmann, Wesley, Harikesh S Nair, and Sridhar Narayanan. 2011. “Identifying Causal Marketing Mix Effects Using a Regression Discontinuity Design.” Marketing Science 30 (6): 1079–97.
Imbens, Guido, and Karthik Kalyanaraman. 2012. “Optimal Bandwidth Choice for the Regression Discontinuity Estimator.” The Review of Economic Studies 79 (3): 933–59.
Narayanan, Sridhar, and Kirthi Kalyanam. 2015. “Position Effects in Search Advertising and Their Moderators: A Regression Discontinuity Approach.” Marketing Science 34 (3): 388–407.
Thoemmes, Felix, Wang Liao, and Ze Jin. 2017. “The Analysis of the Regression-Discontinuity Design in r.” Journal of Educational and Behavioral Statistics 42 (3): 341–60.