Abstract
This study tests whether a small collection of publicly observable signals can forecast weekly United States public mass-shooting incidence. The outcome is the number of Mother Jones / Codeholics-defined incidents in each Monday–Sunday ISO week: a public, indiscriminate shooting with at least three fatalities. We build a 522-week panel from 2014-W01 through 2023-W52 and reserve the final 104 weeks, 2022-W01 through 2023-W52, as a fixed test set. Predictors include trailing incident counts, seasonality, holiday and school-session indicators, lagged FBI NICS counts, annual population, and a completed-month incident-frequency proxy for public attention. We compare a week-of-year seasonal mean, a lag-only negative-binomial (NB) model, a regularized full NB model, and regularized logistic models for "any incident" and "at least two incidents."
The full NB obtained test RMSE 0.450, slightly below the lag-only NB at 0.452 and the seasonal baseline at 0.465, but had worse MAE. For the at-least-one task, logistic average precision was 0.271 versus 0.237 for the NB probability baseline. Only one at-least-two week occurred in the test set, making that discrimination estimate extremely unstable. These are weak predictive signals, not evidence of causality or a deployable warning system.
Headline TEST-set metrics (104 weeks, held out)
| Count model | RMSE | MAE | pinball@0.5 | pinball@0.8 | pinball@0.9 |
|---|---|---|---|---|---|
| Seasonal baseline | 0.465 | 0.310 | 0.115 | 0.187 | 0.109 |
| Lag-only NB | 0.452 | 0.319 | 0.115 | 0.194 | 0.083 |
| Full NB | 0.450 | 0.344 | 0.115 | 0.167 | 0.082 |
| Any-incident model | AUC-PR | AUC-ROC | Brier |
|---|---|---|---|
| Lag-only NB probability | 0.237 | 0.557 | 0.179 |
| Full logistic | 0.271 | 0.553 | 0.177 |
The full NB dominates upper-quantile loss (pinball@0.8 / pinball@0.9) where mass-shooting alerting actually fires; the dedicated logistic wins precision-recall
- calibration for the "any incident" task. The at-least-two task had only 1 positive in 104 weeks — too rare for stable evaluation.
Full manuscript
The 11-section, 2,355-word manuscript is here as static markdown + BibTeX download:
- manuscript.md — full paper
- references.bib — 7 BibTeX entries (Mother Jones / Follman, Codeholics enrichment, Lankford & Madfis, GVA methodology, BuzzFeed News NICS, FBI NICS, World Bank)
Sections
- Abstract
- Research question and contribution
- Outcome definition and the GVA gap
- Data sources and the public-attention substitution
- Temporal design and leakage controls
- Predictive features
- Models
- Evaluation measures
- Held-out results
- Negative findings, limitations, and ethics
- Reproducibility and conclusion
Reproduction
git clone https://git.catalystgroup.tech/herman/msf-forecast-pipeline
cd msf-forecast-pipeline
pip install -r requirements.txt # numpy, pandas, matplotlib, scipy, statsmodels, pytest
make all # ≈ 2 minutes on a single CPU
make all writes results/features.csv, results/predictions_test.csv,
results/metrics_{count,any,high}.csv, results/cv_metrics.csv,
results/calibration_any.png, and results/figures/*.png. Six pytest cases
cover loaders, features, and metrics.
Ethics statement
Forecast association must not be interpreted as a causal effect of firearm checks, media attention, holidays, or schools. National weekly probabilities should not be used to profile people or communities, allocate punitive policing, or claim that a specific attack is predictable. Responsible use is limited to auditable methodological research and aggregate preparedness discussion.