◉ COURTSIDESIM LABA different game. Every time.
THE DAILY NBA SIMULATOR

Tonight, before
the first whistle.

Every matchup. Thousands of possibilities.
Run the slate, then watch one possibility unfold.

Pacific time
Loading the slateESPN schedule

MODEL × MARKET

Where the numbers disagree.

Sportsbook lines from ESPN when available. Rank by modeled expected return or probability edge; these are unvalidated model estimates, not demonstrated advantages. Only unstarted games appear.

* Market probabilities remove the two-sided bookmaker margin. Spread/total model and market probabilities are conditional on no push. ** Expected net return per 100 hypothetical units at the quoted price, with pushes returning the stake. No wagers are placed. Lines may be delayed; timestamps show when this app retrieved them.

How comparisons work

Moneyline uses win probability; spread compares simulated score margin to each quoted handicap; totals compare combined points to the quoted total. Edge is model probability minus margin-removed market probability, in percentage points. Modeled return is win probability × net payout minus loss probability, per 100 units. Large disagreements can indicate model weakness, stale lines, or missing injury information. Odds are a comparison baseline and do not influence this model’s predictions.

PROVE IT OVER TIME

Model versus market.

The first simulation you run before tip-off is saved in this browser, together with available moneylines. Completed results can then compare model and market on the same games. Re-running never replaces that first prediction. Nothing runs while this file is closed.

THE DYNAMIC PLAYER MODEL

Individual players.
Shared uncertainty.

ESPN inputs, on demand. Rosters and injuries are cached in memory for 15 minutes; player season stats for six hours. Profiles load when you simulate or open a matchup. There is no update while this file is closed. Reopen the page for fresh inputs.

Player-specific probabilities. Current-season totals plus 25% of prior-season totals inform shooting and event rates. Shooting estimates also include 50 prior attempts at 54% on twos and 36% on threes, or 30 at 78% for free throws. Sparse or failed profiles use clearly labeled league priors.

Estimated participation. Minutes come from observed season averages, not a published lineup feed. The top ten available players form a default rotation. No injury report is not a guarantee of availability. Historical dates are excluded to prevent using future information.

Model assumptions and limits

Initial lineup selection uses observed starts and projected minutes. Rotations change on a three-minute grid, favoring players below their target minutes. Two-shot fouls, six-foul disqualification, steals, blocks, assists, rebounds, overtime, and second-chance shots are modeled. Individual usage weights select shooters. Defensive rebounds, blocks, and steals use player box-score rates and heuristic probabilities; there are no matchup-level defensive ratings. A small shooting penalty applies after a player exceeds target minutes. Automatic mode loads up to 12 earlier completed regular-season games per team from each of the current and prior seasons. Possessions are estimated as FGA − offensive rebounds + turnovers + 0.44 × FTA, averaged over both teams and normalized to 48 minutes. Team pace uses exponential recency weights (45-day scale), a 0.35 weight on prior-season games, and an eight-game prior at 100 possessions. Each team retains a separate pace tendency and 2–7 possession SD. Expected game pace is the harmonic mean of the two tendencies, representing the sum of each side’s possession durations. Team pace draws share 50% correlation (an explicit modeling assumption), and each side uses a different share of the paired possession clock. Both teams still receive balanced possession counts, because basketball possessions alternate. These estimated SDs are not calibrated predictive intervals. Venue effects use regularized regression of home-minus-away margins, controlling for team strength plus home- and away-team venue adjustments. The intercept has a 20-game penalty around a 2-point prior, team ratings have penalty 8, and venue adjustments penalty 80. Those regularization settings are modeling assumptions, not learned facts. Neutral sites receive zero home effect. Each team receives its own venue scoring contribution: home = half the learned league effect plus that team’s home adjustment; away = negative half the league effect minus that team’s road adjustment. These team-specific contributions shift shooting independently and need not be equal and opposite. They are regularized allocations of margin effects, not identified causal scoring effects. With sparse history the shared prior can still produce equal contributions. Prior-game completion times must precede target tip-off; missing completion timestamps use a conservative start-plus-12-hour cutoff. Failed history requests and fallback priors are visible on each card. Manual overrides are available. No rest, travel, altitude, or late-game strategy adjustment has been added. No and-ones, three-shot fouls, intentional late-game fouling, coaching strategy, shot-location accuracy, or rest adjustment is modeled. Shot locations are illustrative. Score ranges are the middle 80% of simulations, not calibrated confidence intervals. Free-throw and rebound events within a possession share a simplified game clock. This is an experimental player model, not a proven forecasting system.

ESPN NBA data ↗ · Unofficial. Estimated starters are not confirmed lineups.