Difference-in-Differences Event-Study Designs Explained
The two meanings of "event study", how to read a DiD event-study coefficient plot, and why staggered adoption needs Callaway-Sant'Anna instead of two-way fixed effects.
In short
"Event study" means two different things. In finance, it is the abnormal-return method: realised minus model-predicted returns around a market event. In applied microeconomics, a "DiD event-study plot" is a difference-in-differences regression with leads and lags of treatment, used to show pre-trends and dynamic treatment effects. For market-reaction questions use the abnormal-return method; the free ARC calculator runs it from a CSV.
On this page
Two meanings of "event study"
The same phrase names two distinct methods, and conflating them is the most common confusion in this area.
Finance event study
The finance event study measures a market reaction: it computes abnormal returns (realised minus model-predicted returns) around a dated event and tests whether their cumulative average (CAAR) differs from zero. It answers "how did the market price this news?"
DiD event-study plot
A difference-in-differences event-study plot is a panel regression of an outcome on leads and lags of a treatment indicator (relative-time dummies). It answers "what is the dynamic causal effect of a policy or treatment, and were pre-trends flat?" It is an econometric design, not a returns calculation.
The DiD event-study specification with leads and lags
The dynamic (event-study) DiD regression replaces the single post-treatment dummy with a full set of relative-time indicators:
$$Y_{it}=\alpha_i+\lambda_t+\sum_{k=-K,\,k\neq -1}^{K}\theta_k\,D_{it}^{k}+\varepsilon_{it},$$
where $\alpha_i$ are unit fixed effects, $\lambda_t$ are time fixed effects, and $D_{it}^{k}$ equals one when unit $i$ is $k$ periods from its treatment date. The period $k=-1$ is omitted as the reference, so every $\theta_k$ is measured relative to the last pre-treatment period. The $\theta_k$ for $k\geq 0$ trace the dynamic treatment effect; the $\theta_k$ for $k-1$ test pre-trends.
Reading the coefficient plot
Plot $\hat\theta_k$ against relative time $k$ with confidence bands. Read it in three parts: the pre-period coefficients ($k-1$) should hover around zero with bands covering zero, supporting parallel trends; the omitted period ($k=-1$) is pinned at zero by construction; the post-period coefficients ($k\geq 0$) show the effect's size and how it evolves. A pre-period slope that drifts away from zero is a pre-trend and undermines the design.
The parallel-trends assumption and what pre-period coefficients test
DiD identifies the treatment effect only if, absent treatment, treated and control units would have followed parallel paths. The pre-period event-study coefficients are a partial test: flat, insignificant pre-period $\theta_k$ are consistent with parallel trends, though they do not prove it (the assumption concerns the unobserved counterfactual). Cluster standard errors at the unit level, and be aware that pre-trend tests have limited power in small panels.
Why two-way fixed effects is biased under staggered adoption
When units are treated at different times (staggered adoption), the standard two-way fixed-effects (TWFE) estimator is biased. The reason is that TWFE implicitly uses already-treated units as controls for later-treated units. When treatment effects change over time, these "forbidden comparisons" enter with negative weights, so the TWFE coefficient can even carry the wrong sign relative to every underlying group's true effect (Goodman-Bacon, 2021, Journal of Econometrics; de Chaisemartin & D'Haultfoeuille, 2020, American Economic Review).
Forbidden comparison
A forbidden comparison is a difference-in-differences contrast that uses an already-treated unit as the control group for a later-treated unit. Under staggered timing and dynamic effects these comparisons receive negative weights in two-way fixed effects, biasing the estimate.
Callaway-Sant'Anna group-time average treatment effects
Callaway and Sant'Anna (2021) avoid forbidden comparisons by estimating group-time average treatment effects $ATT(g,t)$: the effect at time $t$ for the cohort first treated at time $g$, using only clean controls (never-treated or not-yet-treated units).
ATT(g,t)
$ATT(g,t)$ is the average treatment effect at calendar time $t$ for the group of units first treated in period $g$, estimated against a comparison group that is not yet treated at $t$. Aggregating $ATT(g,t)$ by event time gives an unbiased dynamic event-study path under staggered adoption.
You then aggregate the $ATT(g,t)$ into the object you want: a single overall effect, an effect by cohort, or, for an event-study plot, an aggregation by event time $e=t-g$. The control group is a modelling choice: never-treated is cleaner but assumes such units exist and are comparable; not-yet-treated uses more data but requires the later-treated to be valid controls in the interim. Implementation is the did package in R and csdid/differences in Python or Stata; Sun and Abraham (2021) provide a closely related interaction-weighted estimator.
Which tool for which question
| Question | Method | Tool |
|---|---|---|
| How did the stock market price this news? | Finance event study (abnormal returns) | ARC |
| Dynamic causal effect of a policy on an outcome, single treatment date | DiD event-study regression | OLS with relative-time dummies |
| Same, but treatment timing is staggered | Callaway-Sant'Anna ATT(g,t) | R did / Python csdid |
| One treated unit, need a counterfactual | Synthetic control | Donor-pool weighting |
If your question is a market reaction, the abnormal-return method is the right tool, and ARC runs it free from a CSV: AR, CAR, CAAR, Patell Z and BMP.
Run it free in ARC →For market-reaction questions, run abnormal returns free
When the outcome is a stock price and the question is how the market judged an event, use the finance event study: pick a return model, choose the tests, and run it in the free ARC calculator. Reserve the DiD and Callaway-Sant'Anna machinery for causal effects on non-price outcomes with treated and control panels.
FAQ
Is a DiD event study the same as a finance event study?
No. A finance event study computes abnormal stock returns around a market event. A DiD event study is a panel regression on leads and lags of treatment to estimate a dynamic causal effect and test pre-trends. They share a name but are different methods for different questions.
Why not just use two-way fixed effects with staggered timing?
Because TWFE uses already-treated units as controls for later-treated units. When treatment effects vary over time these forbidden comparisons get negative weights, biasing the estimate. Use Callaway-Sant'Anna or Sun-Abraham instead.
Never-treated or not-yet-treated controls?
Never-treated units give the cleanest comparison but must exist and be comparable. Not-yet-treated units use more data but assume the later-treated are valid interim controls. Report both as a robustness check when feasible.
How should I bin the endpoints of the event-study plot?
Bin the most distant leads and lags into single endpoint coefficients to avoid estimating effects from very few observations, and always omit one pre-period (usually $k=-1$) as the reference category.