The Ledger
Every projection we have made, graded the morning after. No edits, no erasing.
Spread check: the model's favored side covered -1.5 (won by 2+) in 15/35 graded games (43%) — the league-wide baseline for favorites is roughly 45%, so anything meaningfully above that is edge. Model spreads only; no book lines are used anywhere on this site.
Calibration — is the model honest about its confidence?
When the model leans 60–69% on a team, it should win roughly that often. Being a few points above the bucket, consistently, is what an edge looks like.
| Model leans | Picks | Record | Won |
|---|---|---|---|
| 40–49% | 22 | 13–9 | 59% |
| 50–59% | 12 | 6–6 | 50% |
| 60–69% | 1 | 1–0 | 100% |
| 70%+ | — | — | — |
Month by month
| Month | Record | Hit rate | No-pick |
|---|---|---|---|
| November 2026 | 20–15 | 57% | — |
Every game, week by week
| Date | Game | Proj. Score ? | Final | Pick ? |
|---|---|---|---|---|
| Fri, Nov 13 | NSH @ VGK | 2 - 3 | 3 - 2 | ✗ |
| Fri, Nov 13 | NYR @ VAN | 3 - 2 | 5 - 1 | ✓ |
| Thu, Nov 12 | BUF @ CHI | 3 - 2 | 2 - 3 | ✗ |
| Thu, Nov 12 | CAR @ SEA | 4 - 2 | 4 - 1 | ✓ |
| Thu, Nov 12 | COL @ OTT | 3 - 2 | 3 - 4 | ✗ |
| Thu, Nov 12 | DET @ FLA | 2 - 3 | 4 - 5 | ✓ |
| Thu, Nov 12 | MIN @ TOR | 3 - 2 | 5 - 2 | ✓ |
| Thu, Nov 12 | MTL @ BOS | 2 - 3 | 5 - 2 | ✗ |
| Thu, Nov 12 | NYI @ LAK | 2 - 3 | 5 - 2 | ✗ |
| Thu, Nov 12 | STL @ UTA | 2 - 3 | 1 - 0 | ✗ |
| Thu, Nov 12 | TBL @ CBJ | 3 - 2 | 3 - 1 | ✓ |
| Thu, Nov 12 | WPG @ DAL | 2 - 3 | 8 - 3 | ✗ |
| Thu, Nov 12 | WSH @ NJD | 2 - 3 | 2 - 5 | ✓ |
| Wed, Nov 11 | NSH @ ANA | 3 - 3 | 4 - 2 | ✗ |
| Wed, Nov 11 | NYR @ CGY | 3 - 2 | 3 - 1 | ✓ |
| Wed, Nov 11 | PHI @ EDM | 2 - 3 | 2 - 3 | ✓ |
| Wed, Nov 11 | PIT @ SJS | 3 - 3 | 3 - 2 | ✓ |
| Wed, Nov 11 | TBL @ BUF | 3 - 3 | 8 - 3 | ✓ |
| Wed, Nov 11 | UTA @ VGK | 3 - 3 | 3 - 5 | ✓ |
| Tue, Nov 10 | COL @ TOR | 3 - 3 | 6 - 3 | ✓ |
| Tue, Nov 10 | DET @ STL | 3 - 3 | 2 - 3 | ✗ |
| Tue, Nov 10 | FLA @ CBJ | 3 - 3 | 4 - 1 | ✓ |
| Tue, Nov 10 | MIN @ MTL | 3 - 3 | 2 - 1 | ✓ |
| Tue, Nov 10 | NJD @ WPG | 3 - 2 | 2 - 4 | ✗ |
| Tue, Nov 10 | NSH @ LAK | 3 - 3 | 3 - 0 | ✗ |
| Tue, Nov 10 | WSH @ OTT | 3 - 3 | 3 - 2 | ✗ |
| Mon, Nov 9 | NYI @ SJS | 3 - 3 | 2 - 3 | ✗ |
| Mon, Nov 9 | NYR @ EDM | 2 - 3 | 1 - 3 | ✓ |
| Mon, Nov 9 | PHI @ VAN | 2 - 2 | 3 - 1 | ✗ |
| Sun, Nov 8 | FLA @ BOS | 2 - 3 | 1 - 4 | ✓ |
| Sun, Nov 8 | NJD @ TOR | 3 - 3 | 4 - 0 | ✓ |
| Sun, Nov 8 | PHI @ CGY | 2 - 2 | 3 - 4 | ✓ |
| Sun, Nov 8 | PIT @ ANA | 3 - 4 | 2 - 5 | ✓ |
| Sun, Nov 8 | TBL @ WPG | 3 - 2 | 3 - 4 | ✗ |
| Sun, Nov 8 | VGK @ BUF | 3 - 2 | 4 - 1 | ✓ |
| Model pick record (shown games) | 20–15 | |||
How the model is built — references & read more
The game model is a Maher (1982) attack–defence Poisson (Maher, Appl. Stat. 31:179–184): each team's goals for/against per game versus league average, multiplied per matchup, home ice +5%. A cross-season carryover prior seeds every team's rates with last season's profile as 18 pseudo-games — the practice FiveThirtyEight used for its club ELOs — to tame early-season noise. Attack rates are blended halfway with shot-volume process and regressed toward career shooting-percentage baselines, the regression logic behind Muffin Regression, rebuilt on official NHL shot counts because expected-goals feeds aren't free to commercialize. Road back-to-backs cost 0.5 expected goals. Most-likely scores are winner-conditioned: tied scorelines are excluded from the pick, because NHL games never end tied.
What we tested and rejected: the Dixon & Coles (1997) low-score correlation and recency-decay weighting both failed our untouched holdout windows and are not in the model. No third-party model or data vendor runs anything here — every number is computed from the NHL's official public feeds by this codebase.
Grading discipline: every parameter is fitted on one date window and only ships if it improves a later, untouched window (currently 108 games). Headline holdout numbers: 59–61% regulation-winner direction; 6.5% exact most-likely score (the world-class ceiling for exact NHL scores is roughly 7–9% — a single goal is irreducible variance). The table above is the live record, not the backtest.