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.
|