Skip to contents

Bounds on the effects of an evstudy when the trend after adoption may depart from parallel by up to \(\bar M\) times the largest departure seen before it (Rambachan and Roth's relative magnitudes), with a conservative interval and the "breakdown" \(\bar M\) at which the interval first includes zero.

Usage

tse(
  x,
  mbar = c(0, 0.5, 1, 1.5, 2),
  target = "average",
  draws = 5000L,
  seed = NULL,
  conflvl = 0.95
)

Arguments

x

An evstudy result with one lead at least.

mbar

The values of \(\bar M\) (default 0, 0.5, 1, 1.5, 2).

target

"average" (the mean of the post-period effects, default) or an event time.

draws

Normal draws for the interval (default 5000).

seed

Optional seed for the bootstrap draws.

conflvl

Confidence level of the robust interval, a number strictly between 0 and 1 (default 0.95: the 2.5\ drawn bounds).

Value

A data frame of class rmbl_sensitivity: mbar, lowerbnd, upbound (the identified set at the estimates), lower, upper (the interval); attribute breakdown (the smallest \(\bar M\) whose interval includes 0, found by bisection; Inf if none up to 10).

Details

Let \(\delta_e\) be the bias of the event-time coefficient \(\beta_e\), with \(\delta_{-1} = 0\) at the reference period and the pre-period biases identified by the leads. The relative-magnitudes restriction is \(|\delta_{e+1} - \delta_e| \le \bar M D\), with \(D = \max_{s < 0} |\delta_{s+1} - \delta_s|\) the largest change between consecutive pre-periods. The bias at post-period \(e \ge 0\) is then at most \((e + 1)\bar M D\) in absolute value, so the identified set for the effect \(\tau_e\) is \(\beta_e \pm (e + 1)\bar M D\), and for the average post-period effect the average of those. The interval draws \((\beta^*)\) from the normal distribution of the estimates (with the event study's cluster-robust covariance), computes the bounds for each, and takes the \(\alpha/2\) quantile of the lower bound and the \(1 - \alpha/2\) quantile of the upper: by Bonferroni it covers the identified set, and so the effect, with probability at least conflvl. It is conservative; Rambachan and Roth's conditional and hybrid intervals (the HonestDiD package) are shorter.

References

Rambachan A, Roth J (2023). A more credible approach to parallel trends. Review of Economic Studies 90(5):2555-2591. doi:10.1093/restud/rdad018

Examples

p <- polex()
es <- evstudy(p, "district", "month", "crmrate", "refmonth",
                  leads = 3, lags = 4)
tse(es, seed = 1)
#> ╭── Sensitivity to parallel trends ──────────────────────────────────────╮
#> │   Method                 relative magnitudes (Rambachan and Roth)      │
#> │   Target                 average post-period effect                    │
#> │   Breakdown              Mbar = 0.6214                                 │
#> │   Robust interval level  95%                                           │
#> │                                                                        │
#> │    mbar  identified_set    robust_interval                             │
#> │   -----  ----------------  ----------------                            │
#> │   0.000  [-3.166, -3.166]  [-3.916, -2.400]                            │
#> │   0.500  [-3.865, -2.467]  [-4.980, -0.479]                            │
#> │   1.000  [-4.565, -1.768]  [-6.788, 1.519]                             │
#> │   1.500  [-5.264, -1.069]  [-8.811, 3.532]                             │
#> │   2.000  [-5.963, -0.370]  [-10.842, 5.572]                            │
#> │                                                                        │
#> │   The negative effect stays clear of zero while the trend after        │
#> │   adoption departs from parallel by up to 0.621 times the largest      │
#> │   departure before it. A departure as large as the pre-period's (Mbar  │
#> │   1) is enough to lose it: the conclusion leans on parallel trends.    │
#> │                                                                        │
#> │   Mbar bounds how far the trend after adoption may depart from         │
#> │   parallel, as a multiple of the largest departure seen before it; the │
#> │   effect is distinguishable from zero until the robust interval first  │
#> │   includes 0, at the breakdown value.                                  │
#> ╰────────────────────────────────────────────────────────────────────────╯

# your own panel: eight towns over ten years, four adopting a by-law (two
# in 2019, two in 2021), with each town's population, county and income
own <- data.frame(
  town = rep(c("A", "B", "C", "D", "E", "F", "G", "H"), each = 10),
  year = rep(2015:2024, times = 8)
)
i <- match(own$town, unique(own$town))
own$first <- c(2019, 2019, 2021, 2021, NA, NA, NA, NA)[i]
own$bylaw <- as.integer(!is.na(own$first) & own$year >= own$first)
own$pop <- c(12, 30, 8, 22, 15, 40, 9, 18)[i] * 1000
own$county <- rep(c("North", "South"), 4)[i]
own$income <- 50 + own$year - 2015 + cos(seq_len(80))
own$rate <- 30 + i + 0.5 * (own$year - 2015) - 4 * own$bylaw +
  0.2 * own$income + sin(seq_len(80))
es <- evstudy(own, "town", "year", "rate", "first", leads = 3, lags = 3)
# a 90 percent robust interval
tse(es, seed = 1, conflvl = 0.9)
#> ╭── Sensitivity to parallel trends ──────────────────────────────────────╮
#> │   Method                 relative magnitudes (Rambachan and Roth)      │
#> │   Target                 average post-period effect                    │
#> │   Breakdown              Mbar = 0.9629                                 │
#> │   Robust interval level  90%                                           │
#> │                                                                        │
#> │    mbar  identified_set    robust_interval                             │
#> │   -----  ----------------  ----------------                            │
#> │   0.000  [-4.016, -4.016]  [-5.236, -2.802]                            │
#> │   0.500  [-4.052, -3.979]  [-6.637, -1.345]                            │
#> │   1.000  [-4.089, -3.943]  [-8.056, 0.108]                             │
#> │   1.500  [-4.125, -3.907]  [-9.506, 1.600]                             │
#> │   2.000  [-4.162, -3.870]  [-11.020, 3.300]                            │
#> │                                                                        │
#> │   The negative effect stays clear of zero while the trend after        │
#> │   adoption departs from parallel by up to 0.963 times the largest      │
#> │   departure before it. A departure as large as the pre-period's (Mbar  │
#> │   1) is enough to lose it: the conclusion leans on parallel trends.    │
#> │                                                                        │
#> │   Mbar bounds how far the trend after adoption may depart from         │
#> │   parallel, as a multiple of the largest departure seen before it; the │
#> │   effect is distinguishable from zero until the robust interval first  │
#> │   includes 0, at the breakdown value.                                  │
#> ╰────────────────────────────────────────────────────────────────────────╯