๐ How Good Are NBA Predictions, Really?
We don't just make predictions and move on — every one gets written down and checked against what actually happened. Here's the honest scorecard, good or bad.
โฌ Download the full graded history as CSV — don't take our word for it, run your own numbers.
67%
Right about 67 times out of every 100 games this season, based on replaying 1307 real games.
For context, just always picking the home team would only be right 55.5% of the time — so the model's real analysis is worth about 12 points over that simplest possible guess, a genuine edge, not just noise.
๐ฏ When We Say We're Sure, Are We Actually Right?
The single most honest check of any prediction model: if we say a team has a 70% chance and that's a fair number, they should actually win about 70% of the time we say that — not 50%, not 95%. Below, the bar shows how often the home team actually won when we gave a prediction in that range; the marker shows what we predicted. A bar that reaches its marker means our confidence levels mean what they claim.
0-10% predicted
0.0% actual
10-20% predicted
4.8% actual
20-30% predicted
16.4% actual
30-40% predicted
28.3% actual
40-50% predicted
38.5% actual
50-60% predicted
52.7% actual
60-70% predicted
62.8% actual
70-80% predicted
73.2% actual
80-90% predicted
83.6% actual
90-100% predicted
88.9% actual
Based on replaying 1307 real NBA games this season, only ever using information the model would have actually had before each game.
๐ Us vs. Vegas vs. ESPN
Every prediction we make is written down before the game happens, then graded once it's over — so this is a real report card, not hindsight. 0 games graded so far, 0 still waiting on a result.
Results last checked 2026-08-03 02:03:09 UTC, across all sports — 0 newly graded that run.
No games have finished yet since we started keeping score — check back once today's games wrap up.
Show the stats behind this
For each prediction we also track how confident we were, not just whether we got the winner right — a model that says "90%" and is wrong should be judged more harshly than one that says "51%" and is wrong. That's what "average error" below measures (lower is better; 0 would be a perfect psychic, 0.25 is what you'd get by always guessing 50/50).
๐งช The Longer History
We also replayed this whole season game-by-game, only ever using information the model would have actually had before each game — a much bigger sample (1307 games) than the live scorecard above, though it's a simulation rather than predictions made in real time.
Show the stats behind this
The sample size behind the calibration chart above, range by range:
| When we said | They actually won | Sample size |
| 0-10% | 0.0% | 1 games |
| 10-20% | 4.8% | 21 games |
| 20-30% | 16.4% | 61 games |
| 30-40% | 28.3% | 127 games |
| 40-50% | 38.5% | 174 games |
| 50-60% | 52.7% | 264 games |
| 60-70% | 62.8% | 269 games |
| 70-80% | 73.2% | 235 games |
| 80-90% | 83.6% | 128 games |
| 90-100% | 88.9% | 27 games |
"All games" includes stretches early in a season where teams don't have much of a track record yet, which makes predictions noisier. "5+ games of history" filters those out. We don't compare against Vegas here because ESPN's data doesn't keep betting odds around for games that already happened — only the live scorecard above can do that comparison.
All Games
66.6%
1397 games · average error 0.2104
5+ Games of History
67.4%
1307 games · average error 0.2081
๐ง Are We Improving the Model Over Time?
We regularly test small adjustments to the model against games it's never seen, to check if they'd genuinely help. Right now: no — the best alternative we tried looked slightly better, but not by enough to rule out plain luck. So we're deliberately sticking with our original settings rather than chasing noise.
Show the stats behind this
We tested a range of alternate settings against 420 games held back specifically for this check. The best one found: K-factor 40, home advantage 90 (average error 0.1728 vs. our default's 0.1752). We only trust a result like this once it clears a high statistical confidence bar (we require it to be about a 1-in-1000 fluke or better, precisely because we're testing many variations at once and the best-looking one is expected to look good by chance alone sometimes).
Currently Running
K 20
home advantage: 70 pts
Original Default
K 20
home advantage: 70 pts