King of the Court

Model record

How often the model's favorite wins, and whether its percentages mean what they say.

This season (live)

Each night's prediction refreshes about every two hours and locks at the first tip-off; only that locked version is graded here. GitHub sometimes starts scheduled runs hours late, so if no run made it before tip-off the night is listed as no prediction rather than graded on a late one.

2025-26 backtest

Are the percentages honest?

Every player-night in the backtest, grouped by the win chance the model gave. The shaded bar is the average chance the model gave; the gold mark is how often those players actually won. If they line up, a "20%" really means about one night in five.

How it works

Minutes. A weighted average of the player's recent minutes this season (a game's weight halves every 6 games back), with last season's average counting as one extra game. Players ruled out on ESPN's injury report are dropped; questionable or day-to-day players get a 70% chance to play.

PRA per minute. The same recent weighting, pulled toward last season's rate (worth 100 minutes of this season) and, for players with little history, toward a league-wide 0.78.

Game. Projected PRA = minutes × PRA per minute, scaled up or down with the betting total (a high total means more possessions). A blowout adjustment for big spreads was tested and made the projections worse, so it's off.

Teammates out (v2). A team's regulars are the players from its last 5 games projected for 10+ minutes. When some of them sit, the rest get more shots and minutes: projected PRA rises 0.4% for every 1% of the team's usual production that's missing, compared with what was missing in the player's own recent games (so a star who has been out for weeks isn't counted twice). A questionable teammate only counts in the simulations where they sit.

Opponent defense (v2). How much PRA each team has allowed this season compared with what the players it faced were projected for, pulled heavily toward average. It's small: every team was within ±2% in early December 2025 and ±5% by April. A version split by position (guards, forwards, centers) was tested and did slightly worse.

Simulation. Each night is played out 10,000 times. Every player's PRA varies around the projection (the spread was measured from how far 2025-26 projections actually missed), and a shared game factor moves everyone in a fast or overtime game together. Win = the share of simulations a player finished first; ties count as a split.

Fitting and testing. The settings were chosen using October–January 2025-26 only, then tested untouched on February–April. The replay only ever sees games before each night, with one shortcut: it knows who actually played (standing in for the final injury report), so it never has to guess about late scratches. Live predictions do have to guess, so expect them to do a bit worse.

What it ignores (for now): back-to-backs (tested on 2025-26: no measurable effect on PRA) and betting odds. How many people pick each player is estimated separately for the value columns on the Tonight page.