Team ratings
The core of LangIndex is a ridge-regression model fit on every game result from the season. Instead of rating each team in isolation, it jointly estimates offensive and defensive efficiency for all 365 teams at once, so every rating is automatically adjusted for the quality of every opponent played. The "ridge" penalty shrinks extreme early-season results toward average and relaxes as sample sizes grow.
Spread projections
Game spreads come from the efficiency gap between two teams, scaled by expected pace and adjusted for home court and rest. Every projection is logged before tipoff, and model accuracy is tracked publicly in the app: no retroactive fitting, no cherry-picking.
Player ratings
Player impact is measured with Box Plus/Minus (BPM), which estimates per-100-possession contribution from box score statistics. Zero is an average D-I player; the best players in the country grade out between +8 and +10.
Data
Everything is built from publicly available game results and box scores for NCAA Division I men's basketball, going back 11 seasons. All modeling is done independently. The spread model exists for information and entertainment, not financial advice.
See it all live in the LangIndex app.