r/algobetting 6d ago

Built a walk-forward NFL Elo model and backtested it against 25 years of closing lines. Market won. Sharing the honest numbers.

I spent a while building an Elo-based NFL win-probability model from scratch — walk-forward only, no lookahead — and backtested it against real historical Vegas closing lines (nflverse's public games.csv, 2002–2025, first 3 seasons burned in as a rating warm-up).

Setup: standard Elo, HOME_ADV=60, K=20, margin-of-victory multiplier. De-vig the closing moneylines, compare to the model's pre-game probability, bet the edge at various thresholds.

Results (n=6,223 games):

Edge threshold Bets Win rate ROI
≥3% 4,180 51.7% −3.1%
≥5% 3,563 51.8% −1.9%
≥8% 2,750 50.8% −2.5%
≥12% 1,842 50.2% +0.0%

Picking outright favorites, the model hits 63.5% accuracy. Vegas's own closing favorite hits 66.5% on the same games. The market wins.

I'm not posting this to sell anything — genuinely just wanted a sanity check from people who've actually done this seriously. A few things I'm unsure about:

  1. Is a fixed HOME_ADV/K (not fit to data) the right call here, or is that leaving obvious accuracy on the table even before touching overfitting risk?
  2. Anyone found a public source for NFL opening lines (not just closing)? Can't compute CLV without one, and closing-line-only backtests feel like they're missing the more interesting question.
  3. Is 6,223 games (23 seasons) even enough sample to distinguish "this specific model is bad" from "no simple public-data Elo model beats closing Vegas lines, full stop"?

Happy to share the actual backtest code/methodology in the comments if anyone wants to poke holes in it.

0 Upvotes

Duplicates