🐻⬇️🏀

Model Catalog

Shared descriptions for implemented, exploratory, and planned team/player models.

Implemented Team Models

Model Status Where Shown Description
Elo (ELO) implemented team pages
Streaming paired-comparison rating with recency baked into sequential updates.
Classic Elo fit on scored games with home-court handling. Good general win model baseline and already inherently time-aware because ratings update game by game.
Bradley-Terry (BT) implemented team pages
Static logistic paired-comparison model with one team strength parameter.
Win/loss model of the form logit(P(team i beats team j)) = eta_i - eta_j + beta_home. This is the clean static paired-comparison baseline.
Bradley-Terry Recency (BTr) implemented team pages
Static Bradley-Terry with exponential recency weights on newer games.
Same paired-comparison form as Bradley-Terry, but newer games receive more weight. This is the simplest bridge between static BT and fully dynamic team models.
Margin (Margin) implemented team pages
Linear team-strength model fit on point differential instead of binary wins.
Margin model of the form margin_ij = eta_i - eta_j + beta_home. It is the linear paired-comparison baseline for scoring margin targets.
Margin Recency (MargR) implemented team pages
Margin regression with exponential recency weights on newer games.
Same linear margin model as Margin, but trained with exponentially decayed sample weights so recent games matter more.
Pythagorean (PythRaw) implemented team pages
Pythagorean win expectation from raw points scored and allowed.
Classic points-scored versus points-allowed baseline. Good sanity check for how much simple season scoring rates already explain wins.
Efficiency (Eff) implemented team pages
Tempo-adjusted efficiency version of Pythagorean ratings.
Transforms raw scoring into points-per-possession style efficiency before building win-strength estimates. This is the pace-adjusted baseline before opponent correction.
Adjusted Efficiency (PythAdj) implemented team pages
Opponent-adjusted efficiency model with separate offensive and defensive components.
Best current in-repo adjusted-efficiency baseline: adjusted offensive and defensive efficiency, opponent correction, and pythagorean-style conversion back to win strength.
Log Adjusted (PythLog) implemented team pages
Log-scale adjusted efficiency model that downweights blowout leverage.
Uses a log-style adjustment so blowouts do not dominate as hard as they do in raw margin style models. This is the closest current proxy for the log(margin) family discussed in planning.
Points Off/Def (PtsOD) implemented team pages
Raw points regression with separate offensive and defensive team parameters.
Model of the form points_i = intercept + off_i + def_j + beta_home. This is the two-parameter team baseline without pace adjustment.
Points Off/Def Recency (PtsR) implemented team pages
Off/def points regression with exponential recency weights.
Same two-parameter points model as Points Off/Def, but with recency weighting. Useful for testing whether newer offensive and defensive form should move faster than season-long estimates.
Core Ensemble (Ens) implemented team pages
Equal-logit blend of Elo, recency BT, recency margin, log-adjusted pyth, and points off/def.
Simple hybrid that averages log-odds from the strongest current team baselines. This is the clean 'blend the good baselines' model rather than a new estimator family.
Recency Ensemble (EnsR) implemented team pages
Equal-logit blend of Elo, recency BT, recency margin, log-adjusted pyth, and recency points off/def.
Current strongest team hybrid in the strict bakeoff. It keeps the blend structure from Core Ensemble but swaps in the recency-weighted points off/def component.
AP Poll (AP) implemented baseline catalog only
Human ranking baseline for games involving a ranked team.
AP Poll comparison baseline for D1 NCAA only. It is treated as an ordinal ranking signal, not a calibrated probability model. On validation pages it only appears in the ranked-games scope, where every model is re-evaluated on games involving at least one ranked team.
Home Team Baseline (Home) implemented baseline catalog only
Always favor the home team with a fixed prior.
Intentional dumb baseline. Useful only to ensure richer models beat a naive home-court rule.
Avg Margin Baseline (AvgMarg) implemented baseline catalog only
Predict from simple average scoring margin in the training window.
Training-only average margin baseline. Another cheap sanity check for whether a richer team model adds signal beyond raw per-game margin.
Dynamic Bradley-Terry (DynBT) implemented team pages
Time-evolving paired-comparison model with latent team strength drift.
Glicko-style paired-comparison model with team uncertainty that expands during idle stretches and tightens with new games. This is the first explicit temporal paired-comparison model beyond static BT plus recency weighting.
Adjusted Context Blend (Adj+) implemented catalog only
Experimental context-heavy win model blending strong team components with rest and venue context.
Context-heavy second-stage win model that blends our strongest component ratings with rest and venue context. This remains an exploratory team baseline: useful in the bakeoff and model pages, but not yet clean enough for the main public team-output surfaces.

Implemented Player Models

Model Status Where Shown Description
RAPM (Legacy) (RAPM) implemented player pages
Legacy player overall RAPM row kept for backward-compatible pages and joins.
Compatibility alias for the historical player_model_outputs surface. The richer first-class rows are RAPM Overall and RAPM Off/Def.
RAPM Overall (RAPM) implemented player pages, players leaderboard
Single-parameter regularized adjusted plus-minus estimate.
Classic player RAPM with one overall impact coefficient per player. This is the clean scalar adjusted-impact baseline.
RAPM Off/Def (RAPM O/D) implemented player pages, players leaderboard
Simultaneous offensive and defensive RAPM decomposition.
Two-parameter player RAPM variant with offense and defense estimated together. This is the first explicit expansion beyond a single player eta.
Plus/Minus (Legacy) (+/-) implemented player pages
Legacy raw plus/minus row kept for backward-compatible pages and joins.
Compatibility alias for the historical player_model_outputs surface. The cleaner browseable scoring version is Plus/Minus Rate.
Plus/Minus Rate (PM/100) implemented player pages, players leaderboard
Raw plus/minus rate baseline per 100 possessions.
Simple player baseline: no teammate or opponent adjustment, just observed plus/minus scaled to possession volume.
Plus/Minus Rate Recency (PMR) implemented player pages, players leaderboard
Recency-weighted raw plus/minus rate baseline.
Same raw per-100 plus/minus baseline as Plus/Minus Rate, but weighted toward recent games. Useful as a cheap temporal player baseline.
Player Vector 2D (Vec2) implemented player pages, players leaderboard
Low-dimensional player embedding model with lineup composition and interaction effects.
Single 2D vector per player. Five-player lineup vectors are summed, passed through a tanh nonlinearity, then interacted against the opponent lineup vector to predict segment margin. The displayed player rating is that player's neutral-context projection onto the learned scoring head, with the vector coordinates stored in metadata.
Points For Elo (Pts For) implemented player pages, players leaderboard
Online player rating for contribution to team scoring rate.
Sequential Elo-style update model on team points per 100 possessions. Positive values mean a player's minutes tend to lift their own team's scoring rate.
Points Prevention Elo (Pts Def) implemented player pages, players leaderboard
Online player rating for suppressing the opponent's scoring rate.
Defensive side of the points event model. Positive values mean a player's minutes tend to reduce the opponent's points per 100 possessions.
Points Net Elo (Pts Net) implemented player pages, players leaderboard
Net point-differential event Elo from points created plus points prevented.
Neutral-context sum of Points For Elo and Points Prevention Elo. This is the cleanest interpretable 2D replacement for 'offense points created / defense points prevented' before moving to richer vector models.
Rebounds For Elo (Reb For) implemented player pages, players leaderboard
Online player rating for contribution to team rebound rate.
Sequential event model on team rebounds per 100 possessions. Positive values mean a player's minutes tend to raise their own team's rebound rate.
Rebound Prevention Elo (Reb Def) implemented player pages, players leaderboard
Online player rating for suppressing the opponent's rebound rate.
Defensive side of the rebound event model. Positive values mean a player's minutes tend to reduce the opponent's rebounds per 100 possessions.
Offensive Rebounds For Elo (OReb For) implemented player pages, players leaderboard
Online player rating for contribution to own-team offensive rebounds.
Sequential event model on team offensive rebounds per 100 possessions. Positive values mean a player's minutes tend to create more second-chance opportunities for their own team.
Offensive Rebound Prevention Elo (OReb Def) implemented player pages, players leaderboard
Online player rating for preventing opponent offensive rebounds.
Opponent-suppression side of the offensive-rebound event model. Positive values mean a player's minutes tend to deny the opponent second-chance possessions.
Offensive Rebound Net Elo (OReb Net) implemented player pages, players leaderboard
Net offensive-rebound event Elo from second chances created plus denied.
Neutral-context sum of Offensive Rebounds For Elo and Offensive Rebound Prevention Elo.
Defensive Rebounds For Elo (DReb For) implemented player pages, players leaderboard
Online player rating for contribution to own-team defensive rebounds.
Sequential event model on team defensive rebounds per 100 possessions. Positive values mean a player's minutes tend to end possessions by cleaning the defensive glass.
Defensive Rebound Prevention Elo (DReb Def) implemented player pages, players leaderboard
Online player rating for suppressing opponent defensive rebounds.
Counterpart to Defensive Rebounds For Elo. Positive values mean a player's minutes tend to reduce the opponent's defensive rebounds per 100 possessions.
Defensive Rebound Net Elo (DReb Net) implemented player pages, players leaderboard
Net defensive-rebound event Elo from defensive boards created plus denied.
Neutral-context sum of Defensive Rebounds For Elo and Defensive Rebound Prevention Elo.
Rebound Margin Elo (Reb Net) implemented player pages, players leaderboard
Net rebound-margin event Elo from rebounds created plus rebounds prevented.
Neutral-context sum of Rebounds For Elo and Rebound Prevention Elo. Good quick read on which players most tilt the glass overall.
Assists For Elo (Ast For) implemented player pages, players leaderboard
Online player rating for contribution to team assist rate.
Sequential event model on team assists per 100 possessions. Positive values mean a player's minutes tend to lift assisted shot creation for their team.
Assist Prevention Elo (Ast Def) implemented player pages, players leaderboard
Online player rating for suppressing the opponent's assist rate.
Defensive side of the assist event model. Positive values mean a player's minutes tend to reduce how cleanly the opponent generates assisted offense.
Assists Net Elo (Ast Net) implemented player pages, players leaderboard
Net assist event Elo from assisted creation plus assisted-shot prevention.
Neutral-context sum of Assists For Elo and Assist Prevention Elo. Useful for separating orchestrators from players who mainly score without driving team assist volume.
Threes For Elo (3s For) implemented player pages, players leaderboard
Online player rating for contribution to team made-threes rate.
Sequential event model on made threes per 100 possessions. Positive values mean a player's minutes tend to raise their team's made-three volume.
Three Prevention Elo (3s Def) implemented player pages, players leaderboard
Online player rating for suppressing the opponent's made-threes rate.
Defensive side of the three-point event model. Positive values mean a player's minutes tend to reduce the opponent's made-three rate.
Threes Net Elo (3s Net) implemented player pages, players leaderboard
Net made-three event Elo from threes created plus threes prevented.
Neutral-context sum of Threes For Elo and Three Prevention Elo. Useful for spotting spacing gravity plus perimeter containment in one scalar.
Stocks For Elo (Stocks For) implemented player pages, players leaderboard
Online player rating for contribution to team steals-plus-blocks rate.
Sequential event model on team stocks per 100 possessions, where stocks = steals + blocks. Positive values mean a player's minutes tend to create more disruptive defensive events for their team.
Stocks Prevention Elo (Stocks Def) implemented player pages, players leaderboard
Online player rating for suppressing opponent stocks.
Opponent-suppression side of the stocks event model. Positive values mean a player's minutes tend to reduce the opponent's steals-plus-blocks rate.
Stocks Net Elo (Stocks Net) implemented player pages, players leaderboard
Net stocks event Elo from stocks created plus stocks denied.
Neutral-context sum of Stocks For Elo and Stocks Prevention Elo.
Ball Security Elo (Sec) implemented player pages, players leaderboard
Online player rating for keeping own-team turnovers down.
Sequential event model on negative turnovers per 100 possessions. Positive values mean a player's minutes tend to improve team ball security.
Turnover Force Elo (TO Force) implemented player pages, players leaderboard
Online player rating for forcing opponent turnovers.
Opponent-suppression side of the turnover event model. Positive values mean a player's minutes tend to make the other team cough the ball up more often.
Turnover Margin Elo (TO Net) implemented player pages, players leaderboard
Net turnover event Elo from ball security plus turnover force.
Neutral-context sum of Ball Security Elo and Turnover Force Elo. This is the clean turnover-margin read from the online event family.
Player Segment Elo (SegElo) implemented catalog only
Streaming Elo-style player updates from on/off stint outcomes.
Online segment-margin model with one scalar per player, updated stint by stint from lineup scoring outcomes. This is the simplest streaming analogue to batch RAPM.

Exploratory And Planned Models

Model Status Where Shown Description
State-Space Team (State) planned catalog only
Variational or Kalman-style latent team state with uncertainty over time.
Planned temporal generalization of the team grid. Lets strength move across days or weeks and supports uncertainty-aware backtesting in rolling windows.
Team From Player Attrs (Tm<-Pl) planned catalog only
Compose team strength from projected player attributes and lineup-level aggregates.
Planned team model that builds team ratings from player-level estimates, projected usage, lineup mixes, and possibly injuries/availability.
Variational Team Rating (VI Team) planned catalog only
Variational version of the team family with posterior uncertainty over team parameters.
Planned probabilistic analogue of the current team grid. Most useful once we want uncertainty-calibrated rolling bakeoffs and better budget-aware hyperparameter search.
Player Overall + Tilt (Tilt) planned catalog only
Reparameterized player model with one overall term plus an offense/defense tilt.
Planned alternative to pure off/def RAPM: one shared overall quality parameter plus a second axis for how that value leans offense versus defense.