For personal, informational use only — not betting advice. 18+. Read the disclaimer
Court Vision Picks

How the model works and how it did

Data & tests

Every number on this page is recomputed from the data and the current models (report generated 2026-10-18). Results are shown as they came out, including the ones that didn't work.

What the model does

Each morning it predicts every game's final score from recent team form, season record, rest and travel (back-to-backs, time-zone changes), shooting and turnover efficiency, head-to-head history, injuries, and home court. The score models use 74 inputs and the margin model 77; they were trained on games through Apr 2026.

The data we have

DatasetSourceCoverageRowsUsed for
Game results & betting linesKaggle — nba_2008-2026.csv (v4)2007-08 → 2025-26 incl. playoffs 24,440Training targets, head-to-head history, closing spread/total lines for testing
Model training setBuilt by train.py (team form, rest & travel, Four Factors, injuries, H2H)Dec 2020 → Apr 2026 7,641Training and held-out testing of the score, total and spread models
Team box scoresNBA stats API2020-12 → 2025-06 12,844Shooting, turnovers, rebounding and free-throw rates (Four Factors)
Players out (DNP) historyNBA stats API box scores2020-21 → 2024-25 31,841How much scoring each team was missing in past games
Home-court resultsESPN (incl. neutral-site flag)2016-17 → 2025-26 11,759League home-court advantage; neutral-site handling
Live data (daily)ESPN schedule & scores, NBA stats API, The Odds API (FanDuel)Current season —Today's games, recent form, injuries, market lines, results

Last season's tests

Tested on 1147 games from Oct 27, 2025 – Apr 8, 2026 that the model never saw during training, against the real closing betting lines.

1. Picking the winner — this works

Model

66.8%

winners named correctly

"Better record" rule

67.3%

pick the team with the better record

Always pick home

54.9%

simplest baseline

The model is most reliable when it predicts a clear margin:

0–3 pts 52.3% (440)
3–6 pts 68.4% (339)
6–10 pts 81.2% (266)
10+ pts 86.3% (102)

Across four seasons (2022-23 → 2025-26, 4,899 games, retrained before each one) the model named 64.4% of winners vs 63.3% for the better-record rule. In 2025-26 alone the simple rule was slightly ahead — one season is a small sample.

2. Over/Under vs the betting line — no proven edge

The model's total is less accurate than the market's: it missed by 15.27 pts on average vs 14.55 for the closing line. At standard −110 odds you need 52.4% to break even.

Model total vs lineGamesWin rateUnits at −110
0–2.5 pts 302 51.3% -6.1
2.5–5 pts 264 51.5% -4.4
5–8 pts 433 48.0% -35.9
8+ pts 138 52.9% +1.4

No band is reliably above break-even: the best one covers only 138 games, too few to tell a small edge from luck. An earlier test (Dec 2024 – Jun 2025) showed 57.3% in the 2.5–5 pt band. It did not repeat on 2025-26, so the site shows those picks as unproven "leans".

3. Against the spread — no edge

Model margin vs spreadGamesWin rateUnits at −110
0–2.5 pts 420 53.6% +9.5
2.5–5 pts 365 45.5% -48.1
5+ pts 353 51.3% -7.5

Overall the spread picks lost money. The one band above break-even is a few hundred games from a single season, so it's more likely noise than an edge; it needs to hold up again this season before it means anything.

4. Home court is shrinking

Home teams won by 3.1 pts on average in 2016-17 but only 1.7 in 2025-26. The model uses 1.85 pts (the last three seasons) and zero at neutral sites like the NBA Cup in Las Vegas or games abroad. Team-specific home-court edges — even Denver's altitude — weren't distinguishable from noise.

Limits