Everything needed to reproduce the analysis that data-sharing restrictions allow — plus a re-estimation of the headline event studies using modern estimators developed since the paper was published.
Re-running the original Stata specification on the zip-code panel reproduces the published results. A scandal's effect is split into a short-term (0–3 years) and long-term (4+ years) component — measured per scandal event — with a pre-scandal term as a placebo. Controls: zip and year fixed effects, state-specific year trends, and year interacted with 1990 zip characteristics (Catholic share, population, urbanization, race, education, income); standard errors clustered by zip code.
| Effect of a scandal (per event) | Religious employees log · Table 1, col 2 | Charitable contributions log · Table 1, col 3 |
|---|---|---|
| Short-term (0–3 yrs) | −0.011 (0.009) | −0.003 (0.003) |
| Long-term (4+ yrs) | −0.030 (0.010)*** | −0.014 (0.004)*** |
| Pre-scandal (placebo) | −0.001 (0.005) | +0.004 (0.004) |
| Observations / zip codes | 247,585 / 19,045 | 175,280 / 25,645 |
*** p<0.01. Standard errors in parentheses, clustered by zip. Reproduced by replicate.py from regressions.do (Table 1, cols 2–3).
The paper's event-study graphs trace a scandal's effect year by year (−5 to +5, with the year before the scandal as the reference), using the same controls as the table. We reproduce them exactly, then overlay two modern estimators robust to heterogeneous treatment timing — Callaway & Sant'Anna (2021) and the Borusyak, Jaravel & Spiess (2024) imputation estimator — on a binary first-scandal design, carrying the paper's controls. (We do not use Sun & Abraham: on the sparse IRS giving panel its interaction-weighting is unreliable, so for consistency both figures use the same two estimators.)
Replicated and extended from scratch in es_full.py (the original event-study figures) and es_modern.py (both Callaway-Sant'Anna and Borusyak versions, carrying the paper's controls).