Game projections
Before every game: the home side's expected margin and win probability, from the players available (each one's Keel Impact before the season, moved toward what his box score says as the season goes, × his recent minutes), how that compares with the team's usual roster, each team's net rating so far and rest. Here is how it has done.
From November 2026 the win chance shown blends the model's with the sportsbooks' (their margin removed) while the model learns; the record grades the chance as it was shown, and earlier games show the model alone.
Next up
- Toronto Raptors at Philadelphia 76ers. 7:00 PM. Keel projection: PHI 75% to win
- Detroit Pistons at Washington Wizards. 7:00 PM. Keel projection: DET 79% to win
- Dallas Mavericks at Minnesota Timberwolves. 8:00 PM. Keel projection: MIN 65% to win
- Charlotte Hornets at Phoenix Suns. 9:00 PM. Keel projection: PHX 70% to win
- New York Knicks at Indiana Pacers. 7:00 PM. Keel projection: NYK 65% to win
- Milwaukee Bucks at Orlando Magic. 7:00 PM. Keel projection: ORL 73% to win
- Cleveland Cavaliers at Miami Heat. 8:00 PM. Keel projection: MIA 54% to win
- Atlanta Hawks at Chicago Bulls. 8:00 PM. Keel projection: ATL 77% to win
- Memphis Grizzlies at New Orleans Pelicans. 8:00 PM. Keel projection: MEM 68% to win
1,321 of these are replays with a fit on another season (the model never saw them); 0 were made live before tip-off.
Graded on NaN-26 with a fit on NaN-24 only: 68.3% winners picked, log loss 0.592 — against 0.607 with the season's net rating alone and 0.688 for home court alone.
Is it honest?
When the favourite was given about 70 %, did it win about 70 % of the time? On the diagonal is honest.
| Favourite's chance | Projected | Won | Games |
|---|---|---|---|
| 50%–55% | 52% | 55% | 218 |
| 55%–60% | 57% | 59% | 244 |
| 60%–65% | 62% | 69% | 189 |
| 65%–70% | 68% | 64% | 210 |
| 70%–75% | 72% | 76% | 126 |
| 75%–80% | 78% | 79% | 127 |
| 80%–85% | 82% | 82% | 96 |
| 85%–90% | 87% | 86% | 76 |
| 90%–95% | 92% | 96% | 27 |
| 95%–100% | 97% | 100% | 8 |
Month by month
| Month | Games | Winners | Log loss |
|---|---|---|---|
| October 2025 | 80 | 66.3% | 0.602 |
| November 2025 | 219 | 74.4% | 0.564 |
| December 2025 | 197 | 59.4% | 0.700 |
| January 2026 | 233 | 62.2% | 0.656 |
| February 2026 | 166 | 66.9% | 0.612 |
| March 2026 | 239 | 75.7% | 0.500 |
| April 2026 | 144 | 75.0% | 0.531 |
| May 2026 | 38 | 63.2% | 0.628 |
| June 2026 | 5 | 20.0% | 0.786 |
Latest results
| Final | ||||
|---|---|---|---|---|
| NYK @ SAS | SAS 57% | 94–90 | Missed | |
| SAS @ NYK | NYK 58% | 106–107 | Called | |
| SAS @ NYK | NYK 60% | 115–111 | Missed | |
| NYK @ SAS | SAS 55% | 105–104 | Missed | |
| NYK @ SAS | SAS 57% | 105–95 | Missed | |
| SAS @ OKC | OKC 66% | 111–103 | Missed | |
| OKC @ SAS | OKC 55% | 91–118 | Missed | |
| SAS @ OKC | OKC 67% | 114–127 | Called | |
| NYK @ CLE | CLE 52% | 130–93 | Missed | |
| OKC @ SAS | OKC 55% | 82–103 | Missed | |
| NYK @ CLE | CLE 53% | 121–108 | Missed | |
| OKC @ SAS | OKC 56% | 123–108 | Called | |
| CLE @ NYK | NYK 57% | 93–109 | Called | |
| SAS @ OKC | OKC 68% | 113–122 | Called | |
| CLE @ NYK | NYK 57% | 104–115 | Called | |
| SAS @ OKC | OKC 70% | 122–115 | Missed | |
| CLE @ DET | DET 58% | 125–94 | Missed | |
| SAS @ MIN | SAS 57% | 139–109 | Called | |
| DET @ CLE | CLE 57% | 115–94 | Missed | |
| CLE @ DET | DET 57% | 117–113 | Missed | |
| MIN @ SAS | SAS 67% | 97–126 | Called | |
| OKC @ LAL | OKC 68% | 115–110 | Called | |
| DET @ CLE | CLE 57% | 103–112 | Called | |
| SAS @ MIN | SAS 54% | 109–114 | Missed | |
| NYK @ PHI | NYK 55% | 144–114 | Called | |
| OKC @ LAL | OKC 68% | 131–108 | Called | |
| DET @ CLE | CLE 57% | 109–116 | Called | |
| SAS @ MIN | SAS 56% | 115–108 | Called | |
| NYK @ PHI | NYK 57% | 108–94 | Called | |
| LAL @ OKC | OKC 80% | 107–125 | Called |