Skip to contents

The usual two-way fixed-effects event study reads its relative-time coefficients as dynamic treatment effects. Sun and Abraham show each is a weighted sum of cohort-specific effects at MANY relative times with possibly NEGATIVE weights, so under heterogeneity across cohorts it can carry the wrong sign – the contamination comes from already-treated units acting as controls.

Usage

morie_caus_did_sun_abraham(
  Y_panel,
  G_first_treat,
  rel_periods = NULL,
  control = "never"
)

Arguments

Y_panel

balanced panel, units by periods.

G_first_treat

first-treatment period per unit; Inf or NA for never-treated.

rel_periods

relative periods to report.

control

"never" or "notyet".

Value

list: rel_periods, mu, catt, weights, cohorts, naive_twfe, weights_nonnegative, weights_sum_to_one, n_never_treated, control_group, n_units, n_periods, method.

Details

The interaction-weighted estimator never pools across cohorts. It forms a cohort-by-relative-time effect against a clean control group and aggregates with the SHARES of each cohort among units observed at that relative time. Because the weights are shares they are non-negative and sum to one, which is exactly what the two-way fixed-effects weights are not. naive_twfe is computed alongside for comparison.

Period e - 1 is the reference, so mu at relative time -1 is zero by construction and the pre-periods are a pre-trends check.

References

Sun and Abraham (2021), Journal of Econometrics 225:175-199.

Examples

set.seed(1)
Y <- matrix(stats::rnorm(200), 20)
G <- c(rep(4, 10), rep(Inf, 10))
morie_caus_did_sun_abraham(Y, G, rel_periods = c(0, 1))$weights_sum_to_one
#> [1] TRUE