๐Ÿปโฌ‡๏ธ๐Ÿ€

2017-2018 NBA Model Performance

Every ranked model predicted the same 1136 games (2017-11-11 to 2018-06-08, 30 weekly windows) out of sample: each week's games were predicted by models fit only on the season's earlier games.

Model Catalog · Player models

Model Performance Leaderboard

Ranked by full-season AUC. The final week is the season's last 7 played days (3 games, 2018-06-02 to 2018-06-08), predicted from every earlier game: a small sample that shows the latest form.

# Model AUC Acc Brier LogLoss AUC final wk Acc final wk
1 Elo Elo Streaming paired-comparison rating with recency baked into sequential updates. More โ†’ 0.723 66.2% 0.213 0.615 - 33.3%
2 Adjusted Context Blend Adjusted Context Blend Chronologically trained component blend with rest and signed venue context. More โ†’ 0.721 67.2% 0.214 0.617 - 100.0%
3 Margin Recency Margin Recency Margin regression with exponential recency weights on newer games. More โ†’ 0.721 65.8% 0.216 0.622 - 100.0%
4 Margin Margin Linear team-strength model fit on point differential instead of binary wins. More โ†’ 0.720 65.2% 0.217 0.625 - 100.0%
5 Points Off/Def Recency Points Off/Def Recency Off/def points regression with exponential recency weights. More โ†’ 0.714 65.6% 0.218 0.626 - 100.0%
6 Points Off/Def Points Off/Def Raw points regression with separate offensive and defensive team parameters. More โ†’ 0.713 65.3% 0.218 0.627 - 100.0%
7 Recency Ensemble Recency Ensemble Equal-logit blend of Elo, recency BT, recency margin, log-adjusted pyth, and recency points off/def. More โ†’ 0.708 63.8% 0.217 0.624 - 100.0%
8 Core Ensemble Core Ensemble Equal-logit blend of Elo, recency BT, recency margin, log-adjusted pyth, and points off/def. More โ†’ 0.708 64.3% 0.217 0.624 - 100.0%
9 Dynamic Bradley-Terry Dynamic Bradley-Terry Time-evolving paired-comparison model with latent team strength drift. More โ†’ 0.703 65.1% 0.220 0.633 - 100.0%
10 Bradley-Terry Recency Bradley-Terry Recency Static Bradley-Terry with exponential recency weights on newer games. More โ†’ 0.698 64.7% 0.220 0.631 - 100.0%
11 Bradley-Terry Bradley-Terry Static logistic paired-comparison model with one team strength parameter. More โ†’ 0.698 64.6% 0.220 0.631 - 100.0%
12 Pythagorean Pythagorean Pythagorean win expectation from raw points scored and allowed. More โ†’ 0.691 63.6% 0.230 0.652 - 100.0%
13 Adjusted Efficiency Adjusted Efficiency Opponent-adjusted efficiency model with separate offensive and defensive components. More โ†’ 0.691 63.6% 0.222 0.634 - 100.0%
14 Log Adjusted Log Adjusted Log-scale adjusted efficiency model that downweights blowout leverage. More โ†’ 0.691 63.6% 0.222 0.634 - 100.0%
15 Avg Margin Baseline Avg Margin Baseline Predict from simple average scoring margin in the training window. More โ†’ 0.689 63.4% 0.223 0.638 - 100.0%
16 Home Team Baseline Home Team Baseline Always favor the home team with a fixed prior. More โ†’ 0.592 59.2% 0.242 0.676 - 33.3%

Methodology

Out-of-sample windows

  • The season is split into 7-day windows ending on its last played day
  • Each window is predicted by models refit on all earlier games of the season
  • The first window starts after 21 days of games
  • Every model is scored on the same games; a model that cannot predict most of them is listed as not compared

Elo / Bradley-Terry

  • Elo: the published league Elo (preseason priors and carryover where configured), frozen at the window start
  • Bradley-Terry: static logistic fit on the earlier games
  • Recency variants weight games with a 120-day half-life in NCAA leagues (keeping the non-conference games that link conferences) and a 30-day half-life in pro leagues

Pythagorean and margin models

  • Raw, adjusted and log-adjusted Pythagorean from scores; efficiency from box-score possessions
  • Margin: ridge regression on point margin with a learned home advantage
  • Ensembles average the log-odds of five families

Baselines

  • Home Team: the home team wins 60% (50% at neutral sites)
  • Avg Margin: the higher average margin so far wins
  • Models should beat these to add value