PuckCast Edge
Betting edges, stake sizing, props priced against the line, fantasy tiers and the graded ledger. $14.99 a month in season, or $99 for the year.
Model health
Every number on this page is recomputed from a single committed file of walk-forward predictions — the same file the published headline is checked against every CI run. Nothing here is typed in by hand, and nothing here is the model marking its own homework on games it trained on.
Verdict
PERFORMING AS THE LEAGUE ALLOWS
2025-26 finished at 55.4%, against 56.4% predicted by how close together the teams were that season. True talent spread across the league has fallen 39% over this window, and accuracy tracks it at r = 0.94. The top confidence band still hit 73.9%.
Measured against accuracy against what this season's league parity predicts. 2025-26 came in 0.7 standard deviations below that, which is inside normal variation.
That is not the same as saying nothing changed. Observed accuracy fell from 64.7% to 55.4% across this window, and the headline figure above was measured over a stretch that included the most stratified league in sixteen years. If the teams stay as close together as they are now, the number to expect is nearer 56.4% than 60.7%.
data/certified/wf_predictions_en95.parquethow the model worksTwo accuracy figures circulate in this repo and both are correct: 60.7% over six seasons and 60.5% over five full ones. The 868-game difference is the shortened 2020-21 season. Neither surface used to say which window it meant.
| Window | Games | Accuracy | vs. always-home | Brier | Log loss | AUC | ECE |
|---|---|---|---|---|---|---|---|
| 6 seasons, 2020-21 to 2025-26 | 7,428 | 60.7% | +7.0pp | 0.2336 | 0.659 | 0.641 | 0.0122 |
| 5-fold, full seasons only (2021-22 to 2025-26) | 6,560 | 60.5% | +6.8pp | 0.2337 | 0.659 | 0.640 | 0.0081 |
With 95% confidence intervals, which this site did not previously compute. An accuracy with no interval invites you to read a difference between two bands that may not exist.
| Band | Edge | Games | Share | Accuracy | 95% interval | Beats a coin flip |
|---|---|---|---|---|---|---|
| A | 20+ pts | 877 | 12% | 75.7% | 72.8%–78.4% | yes |
| B | 5-20 pts | 4,320 | 58% | 61.4% | 60.0%–62.8% | yes |
| C | 0-5 pts | 2,231 | 30% | 53.4% | 51.3%–55.5% | yes |
When the model says 62%, does it happen 62% of the time? Each row is a bucket of predictions; the interval is what that bucket’s sample size actually supports. 10 of 10 buckets contain their own prediction inside the interval, and expected calibration error over the whole set is 0.0122.
| Predicted | Games | Model said | Actually happened | 95% interval | Calibrated |
|---|---|---|---|---|---|
| 13%–21% | 19 | 18.6% | 21.1% | 8.5%–43.3% | yes |
| 21%–28% | 112 | 25.3% | 30.4% | 22.6%–39.4% | yes |
| 28%–35% | 362 | 32.4% | 32.9% | 28.2%–37.9% | yes |
| 35%–43% | 809 | 39.7% | 38.3% | 35.0%–41.7% | yes |
| 43%–50% | 1,458 | 46.8% | 44.6% | 42.1%–47.2% | yes |
| 50%–58% | 1,790 | 54.0% | 54.5% | 52.2%–56.8% | yes |
| 58%–65% | 1,513 | 61.2% | 60.2% | 57.7%–62.6% | yes |
| 65%–73% | 938 | 68.4% | 69.4% | 66.4%–72.3% | yes |
| 73%–80% | 362 | 75.6% | 77.3% | 72.8%–81.4% | yes |
| 80%–87% | 65 | 82.0% | 81.5% | 70.5%–89.1% | yes |
A multi-season average hides a trend by construction — but a trend on its own can mislead just as badly. Accuracy here is bounded by how far apart the teams actually are, and the spread of true team strength has fallen 39% across these seasons. Regressed against that one number, accuracy correlates at r = 0.94. The column worth reading is the last one: how far off the pace the model was for that season’s league.
| Season | Games | Accuracy | 95% interval | AUC | Team spread | Expected | Off the pace |
|---|---|---|---|---|---|---|---|
| 2020-21 | 868 | 62.0% | 58.7%–65.1% | 0.659 | 0.192 | 62.0% | -0.01σ |
| 2021-22 | 1,312 | 64.7% | 62.1%–67.3% | 0.676 | 0.219 | 64.0% | +0.51σ |
| 2022-23 | 1,312 | 61.4% | 58.8%–64.0% | 0.661 | 0.200 | 62.6% | -0.90σ |
| 2023-24 | 1,312 | 61.2% | 58.5%–63.8% | 0.646 | 0.182 | 61.3% | -0.08σ |
| 2024-25 | 1,312 | 59.9% | 57.2%–62.5% | 0.624 | 0.142 | 58.3% | +1.20σ |
| 2025-26 | 1,312 | 55.4% | 52.7%–58.1% | 0.583 | 0.117 | 56.4% | -0.70σ |
An overall accuracy figure averages every game the model has an opinion about, including the ones where it barely has one. The A band — where the model leans hard — is the part worth judging separately, and it tells a different story: the hit rate held, while the number of such games roughly halved. A flat league offers fewer spots worth being confident about, which is the model behaving correctly rather than failing.
| Season | A-grade games | Share of slate | A-grade accuracy | 95% interval | In line with earlier seasons |
|---|---|---|---|---|---|
| 2020-21 | 50 | 5.8% | 78.0% | 64.8%–87.3% | yes |
| 2021-22 | 170 | 13.0% | 77.1% | 70.2%–82.7% | yes |
| 2022-23 | 233 | 17.8% | 73.0% | 66.9%–78.3% | yes |
| 2023-24 | 193 | 14.7% | 76.7% | 70.2%–82.1% | yes |
| 2024-25 | 139 | 10.6% | 77.7% | 70.1%–83.8% | yes |
| 2025-26 | 92 | 7.0% | 73.9% | 64.1%–81.8% | yes |
Every season’s interval contains the rate the earlier seasons established, 2025-26 included. There is no evidence here of the strong picks getting worse. There is clear evidence of there being fewer of them: 17.8% of the slate in 2022-23, 7.0% now.
Every prediction site publishes an accuracy number. Almost none publish the one that got worse. The numbers here are recomputed on every data refresh from the committed predictions file, and the generator refuses to write if they stop matching the headline the rest of the site shows — so this page cannot quietly drift into being a second, friendlier set of figures.
The first version of this page printed “DECAY DETECTED” and blamed the model. Checking it properly showed the opposite: a plain Elo rating with no access to any of this model’s inputs declined by almost exactly the same amount over the same seasons, and the spread of team strength across the league fell 39% at the same time. The league got closer together. That is a real finding and it is a different one.
What is still unexplained is why the league flattened, and whether it stays flattened. Sixteen seasons of standings say this level of parity is low but not unprecedented — 2011-12 and 2015-16 were flatter still — so the honest answer is that nobody here knows yet, and the page will say when that changes.