CollegeHoopsLab
Reference

Glossary

Every stat on College Hoops Lab in plain English, with its formula. 107 terms.

20+ wins
How often the team ends the regular season with at least 20 wins, counting games already played and games against non-D1 opponents.
P(20+) = seasons with wins now + simulated wins ≥ 20 ÷ seasons
25+ wins
How often the team ends the regular season with at least 25 wins, including games already played.
P(25+) = seasons with total wins ≥ 25 ÷ seasons
2P%
Share of two-point attempts made.
2P% = 2PM ÷ 2PA × 100
2P%: two-point percentage
Share of two-point attempts (everything inside the arc) that go in.
2P% = (FGM − 3PM) ÷ (FGA − 3PA) × 100
3P%
Share of three-point attempts made. Very noisy on small samples.
3P% = 3PM ÷ 3PA × 100
3P%: three-point percentage
Share of three-point attempts that go in.
3P% = 3PM ÷ 3PA × 100
3PA rate
How much of the offense comes from deep: the share of shots that are threes. It's style, not good or bad.
3PA rate = 3PA ÷ FGA × 100
AdjD: adjusted defense
Points a team would allow per 100 possessions against an average D1 offense on a neutral floor. Lower is better.
Same model as AdjO, from the other side: · AdjD = Avg + Def(team)
AdjEM: adjusted efficiency margin
The headline rating: how many more points per 100 possessions a team scores than it allows, against an average D1 opponent on a neutral court. A +20 team would be roughly a 14-point favorite over an average team in a 70-possession game.
AdjEM = AdjO − AdjD
AdjO: adjusted offense
Points a team would score per 100 possessions against an average D1 defense on a neutral floor. It corrects raw scoring for the defenses faced and where the games were played. Higher is better.
Every game: 100 × Pts ÷ Poss · = Avg + Off(team) + Def(opp) ± Home · Solved for all teams at once. · AdjO = Avg + Off(team)
AdjT: adjusted tempo
How many possessions a team's games would have in 40 minutes against an average-paced opponent. It measures pace, so it's neither good nor bad.
Poss per 40 min = Avg + Pace(team) + Pace(opp) · AdjT = Avg + Pace(team)
Adjusted game margin
How well a team played in one game, on the same scale as AdjEM. It gives credit for a close road loss to a great team and discounts a blowout of a weak one.
(OffEff − expected OffEff) · − (DefEff − expected DefEff) · expected = what an average team would do · vs this opponent at this venue
Adjusted plus-minus
Plus-minus with the other nine players on the court accounted for. Each player starts from a guess built from their box score (points, shots, rebounds, assists, turnovers, steals, blocks, fouls) and their team's preseason projection. Then every stretch of play nudges that guess up or down. Early on, the starting point does most of the work; the more minutes a player logs, the more their on-court results count.
Rating = starting point + on-court adjustment · Starting point = Σ (weight × box rate per 40) + weight × team projection · All weights and adjustments fit together by ridge regression over stints
Adjusted plus-minus, defense
The defensive half. Positive means opponents score less with this player on the court, after accounting for everyone else on the floor.
Defensive part of the adjusted plus-minus regression (sign flipped so + = good)
Adjusted plus-minus, offense
The offensive half: how much the team's scoring per 100 possessions goes up with this player on, after accounting for everyone else on the floor.
Offensive part of the adjusted plus-minus regression
AP Top 25
The Associated Press media poll: about 60 sportswriters and broadcasters rank their top 25 each week. It's opinion, not a formula, so it can differ a lot from our ratings, especially early in the season. Shown for context; it isn't used in any of our numbers.
Each voter ranks 25 teams: 1st place = 25 points … 25th = 1 point · Rank = order of total points
Assist rate
Share of made baskets that were assisted. Higher usually means more ball movement.
Assist rate = AST ÷ FGM × 100
Assists
Passes that led directly to a made basket.
AST
Assists per game
Average assists in D1 games.
APG = Assists ÷ Games
Ast%: assist rate
Share of teammates' made baskets a player assists while on the floor.
Ast% = AST ÷ ((Min ÷ (Tm Min ÷ 5)) × Tm FGM − FGM) · × 100
Average finish
The team's average place in the final conference standings across simulated seasons. 1.0 would mean first every time.
Avg finish = Σ place × share of seasons at that place
Average miss
How far the predicted final margin was from the real one, on average, in points.
mean( | predicted margin − actual margin | )
Betting line
The point spread (DraftKings, via ESPN), turned into the favorite's expected margin, and the moneylines turned into a win chance with the bookmaker's cut removed.
margin = −spread · chance = p(home ML) ÷ (p(home ML) + p(away ML))
Biggest deficit overcome
The most points the winner trailed by at any point.
max over the game of (opponent score − winner score)
Biggest lead
Each team's largest lead, and when they had it.
max (team score − opponent score)
Blk%: block rate
Share of opponents' two-point attempts a player blocks while on the floor.
Blk% = BLK × (Tm Min ÷ 5) ÷ (Min × Opp 2PA) × 100
Block %
Share of opponents' two-point attempts that this team blocks.
Block% = Blocks ÷ Opp 2PA × 100
Blocks
Opponent shots blocked.
BLK
Brier score
Grades the win probabilities. Saying 90% and being right costs little; saying 90% and being wrong costs a lot. 0 is perfect; always saying 50% scores 0.25.
mean( (probability − outcome)² ) · outcome = 1 if the team won, 0 if not
Conference title odds
How often the team finishes with the best conference record in the simulated seasons, alone or tied. A tie counts, the way a shared regular-season title does. Conference tournaments aren't included.
Title = seasons with the best conference win % (ties included) ÷ seasons simulated
Defensive efficiency
Points allowed per 100 possessions in this game. Lower is better.
DefEff = 100 × Opp points ÷ Possessions
Defensive rebounds
Rebounds of the opponent's misses.
DREB
DR%: defensive rebound %
Share of available defensive rebounds a player grabs while on the floor.
DR% = DREB × (Tm Min ÷ 5) · ÷ (Min × (Tm DREB + Opp OREB)) × 100
eFG%: effective field goal %
Shooting percentage that gives threes their extra credit. A made three counts 1.5 times a made two.
eFG% = (FGM + 0.5 × 3PM) ÷ FGA × 100
ESPN win probability
ESPN's own tip-off win chance, driven by its BPI ratings. ESPN doesn't publish a predicted score.
from ESPN's game page at tip-off
Excitement index
How much of a ride the game was. It adds up every rise and fall in the win-probability chart, then gives a bit extra for lead changes, a close finish and overtime. A mismatch that goes as expected scores under 1, a typical game about 2, and the top 10% of games 8 or more.
Excitement = total win-probability swing · + 0.25 × lead changes · + 1 if decided by 3 or fewer (or in OT) · + 1 per overtime · swing = Σ |change in home win chance| · (50% → 80% → 40% = 0.3 + 0.4 = 0.7)
Fast-break points
Points scored in transition before the defense set up, as logged by ESPN.
from ESPN's team box score
Field goals
Shots made and attempted, threes included (free throws not).
FGM-FGA
Final margin
Points between the two teams at the end. Overtime games count as the closest, since they were tied after 40 minutes.
|winner points − loser points|
Fouls
Personal fouls. Five and you're out.
PF
Fouls per 40
Personal fouls per 40 minutes. Lower is better: foul trouble limits minutes.
Fouls/40 = PF ÷ Min × 40
Free throws
Free throws made and attempted.
FTM-FTA
FT rate
How often a player gets to the line compared with how often they shoot.
FT rate = FTA ÷ FGA × 100
FT%
Share of free throws made.
FT% = FTM ÷ FTA × 100
FT%: free throw percentage
Share of free throws made.
FT% = FTM ÷ FTA × 100
FTR: free throw rate
How often a team gets to the line compared with how often it shoots. On defense lower is better.
FTR = FTA ÷ FGA × 100
Game MVP
The player on the winning team with the best Game Score, with a small nudge for how the team did while they were on the court.
MVP = best on the winning team of · Game Score + 0.25 × plus-minus
Game Score
John Hollinger's one-number summary of a box score line. Points count fully; misses, turnovers and fouls take some back; rebounds, assists, steals and blocks add. About 10 is an average starter's night and 30+ is a monster game.
PTS + 0.4×FGM − 0.7×FGA − 0.4×(FTA − FTM) · + 0.7×OREB + 0.3×DREB + STL + 0.7×AST · + 0.7×BLK − 0.4×PF − TOV
In-game win probability
The home team's chance to win at each moment, from the current margin, the time left and the pregame forecast. Early on the forecast matters most; late, the scoreboard does. It doesn't know who has the ball, so it adds one possession's worth of doubt that fades over the last 30 seconds, and a tie at the horn is worth the team's chance in overtime.
P(home wins) ≈ Φ( (m + μ·f) ÷ (σ·√f) ) · m = home margin now, f = share of 40 min left · μ = pregame home margin, σ = forecast spread · Last 30 s: + one possession of spread; · tie at the horn → overtime chance (OT = 5/40 of a game)
Lead changes
How many times the team in front changed. Going from ahead to tied and back ahead doesn't count.
count of scores that put the other team ahead
Log loss
Like Brier, but punishes confident misses much harder. Always saying 50% scores 0.693.
−mean( outcome·ln p + (1 − outcome)·ln(1 − p) )
Matchup quality
How good the weaker of the two teams is. Ranking by the weaker team means both teams have to be good: a great team against a bad one ranks low.
quality = min(AdjEM of team A, AdjEM of team B)
Min%: share of minutes
How much of the available playing time a player gets. 100% = never leaves the floor.
Min% = Min ÷ (Team min ÷ 5) × 100
Minutes
Minutes on the court.
MIN
Minutes per game
Average minutes played in D1 games.
MPG = Minutes ÷ Games
Model line
The margin today's ratings would predict for this game, in points. Compare it with the result to see who over- or under-performed.
(Pred OffEff − Pred DefEff) × Poss ÷ 100
Off-court net rating
The same thing for the minutes this player sat. Compare it with On net.
Off net = 100 × (pts for − pts against) ÷ possessions, while off
Offensive efficiency
Points scored per 100 possessions in this game, before any opponent adjustment.
OffEff = 100 × Points ÷ Possessions
Offensive rebounds
Rebounds of their own team's misses.
OREB
On-court net rating
How many more points the team scores than it allows, per 100 possessions, with this player on the court.
On net = 100 × (pts for − pts against) ÷ possessions, while on
On/off
How much better the team is with this player on the court than off it, per 100 possessions. It corrects for how good the team is, but it's still skewed by who the player shares minutes with. Someone whose backup is excellent looks worse than they are.
On/off = On net − Off net
OR%: offensive rebound %
Share of available offensive rebounds a player grabs while on the floor.
OR% = OREB × (Tm Min ÷ 5) · ÷ (Min × (Tm OREB + Opp DREB)) × 100
OR%: offensive rebound rate
Share of a team's own misses that it rebounds. On defense, it's the share opponents grab back (lower is better).
OR% = OREB ÷ (OREB + Opp DREB) × 100
Outright title odds
How often the team finishes alone in first place, with no one tied.
Outright = seasons alone in 1st ÷ seasons simulated
Picked winner
How often the forecast's favorite won. Easy to read, but it ignores confidence: calling a coin flip right counts the same as calling a lock.
games where the favorite won ÷ games
Plus-minus
The team's scoring margin while this player was on the court, all season. Simple and telling, but it mostly reflects who they played with and against: a bench player who subs in with the starters looks great.
+/- = Σ (team points − opponent points) while on the court
Plus-minus (this game)
The team's scoring margin while this player was on the court in this game, from lineups rebuilt out of the play-by-play substitutions. Blank when the lineups couldn't be rebuilt for at least 90% of the game.
+/- = team points − opponent points, while on the court
Plus-minus per 40
Plus-minus scaled to a full game, so starters and bench players can be compared.
+/- per 40 = +/- × 40 ÷ minutes on court
Points
Points scored.
PTS = 2 × 2PM + 3 × 3PM + FTM
Points in the paint
Points from shots inside the lane, as logged by ESPN.
from ESPN's team box score
Points off turnovers
Points scored on possessions that started with the other team's turnover.
from ESPN's team box score
Points per 40
Scoring rate per 40 minutes on the floor, so bench players and starters compare fairly.
Pts/40 = Points ÷ Minutes × 40
Points per game
Average points in D1 games. Fast teams inflate it; Pts/40 and usage are fairer comparisons.
PPG = Points ÷ Games
Possessions
How many times a team had the ball. Turns totals into per-possession rates, so fast and slow teams compare fairly.
Poss = FGA − OREB + TO + 0.475 × FTA · (averaged over both teams in the game)
Predicted closeness
How near a coin flip the forecast is.
|home win chance − 50%|, smallest first
Predicted score
Points each team would score if the game matched today's ratings exactly. Same math as the Matchup page.
Poss = AdjT(A) + AdjT(B) − league tempo · Pts(A) = (AdjO(A) + AdjD(B) − league eff ± home edge) · × Poss ÷ 100
Pregame win chance
Our forecast the morning of the game, made using only games already played (the same replay as the How it works page). For games against non-D1 teams there is no morning-of forecast, so today's ratings stand in.
chance = Φ(predicted margin ÷ σ) · σ = typical miss of our margin forecasts
Prior: share from the preseason projection
A handful of games can't say much, so ratings start from a preseason projection and blend in new results. The projection is built from who's on this year's roster: returning players, transfers, and the minutes left for newcomers. This is how much of today's rating still comes from it. It shrinks with every game.
Prior share = λ ÷ (λ + D1 games played) · λ = prior strength, chosen by cross-validation
Projected conference record
Conference record now plus the average number of remaining conference games won in the simulations.
Projected conf wins = conf wins now + average simulated conf wins
Projected record
Record now plus the average number of remaining games won across all simulated seasons. Games against non-D1 opponents count, as they do in the real record.
Projected wins = wins now + average simulated wins · Projected losses = games − projected wins
Rebounds
All rebounds.
REB = OREB + DREB
Rebounds per game
Average total rebounds in D1 games.
RPG = (OREB + DREB) ÷ Games
Roster continuity
How much of last season's playing time is back. Returning = minutes played last year by players still on this team. Transfers = minutes incoming D1 transfers played for their old teams, as a share of a full team's minutes. Whatever is left goes to freshmen and other newcomers.
Returning = Σ last-season minutes of returning players ÷ team minutes · Transfers = Σ minutes share at old team ÷ 5
Scoring run
Points in a row by one team without the other team scoring at all. We list runs of 8 or more.
consecutive points by one team, opponent scoring 0 · time = first to last basket of the run
SOS: strength of schedule
How good the opponents have been so far: the average AdjEM of every D1 team played. Higher means a tougher schedule.
SOS = average AdjEM of D1 opponents
Starting point
What a player's box score and their team's preseason projection say before looking at plus-minus. Adjusted +/- minus this = how much the on-court results moved them.
Σ (weight × box rate per 40) + weight × team projection · weights fit from the stint data, using each player's stats from their other games
Steal %
Steals per 100 opponent possessions.
Steal% = Steals ÷ Opp possessions × 100
Steals
Times they took the ball away.
STL
Stl%: steal rate
Steals per 100 opponent possessions while on the floor.
Stl% = STL × (Tm Min ÷ 5) ÷ (Min × Opp Poss) × 100
Strength uncertainty
Ratings are estimates. In each simulated season a team's true strength is drawn around its rating, with a wider spread for teams with fewer games. A team that's secretly better then wins more of its games together, as in real seasons.
SD = σ₁₀₀ × √(prior share ÷ λ) · σ₁₀₀ = σ × 100 ÷ league tempo · = one game's noise ÷ √(λ + games played)
Three-pointers
Threes made and attempted.
3PM-3PA
Times tied
How many times the score was level after the opening tip.
count of scores that tied the game (0–0 excluded)
Title odds if they win / lose
How much this one game matters for the conference title: the team's title odds in the simulated seasons where it won this game, and in the ones where it lost. A loss also hints the team is weaker than its rating, which shows up here.
If W = titles in seasons they won this game ÷ those seasons · If L = titles in seasons they lost it ÷ those seasons
TO%: turnover rate
Share of possessions that end in a turnover. On offense lower is better; on defense, forcing more is better.
TO% = Turnovers ÷ Possessions × 100
TO%: turnover rate
Turnovers per 100 possessions a player uses. Lower is better.
TO% = TO ÷ (FGA + 0.44 × FTA + TO) × 100
Top-4 finish
How often the team finishes in the top four of its conference. Ties for a spot are settled by coin flip, since real tiebreakers such as head-to-head results aren't modeled.
Top 4 = seasons finishing 1st–4th ÷ seasons simulated
TS%: true shooting
The best single shooting number: points per shot attempt, counting threes and free throws. 55% is good, and 60%+ is excellent.
TS% = PTS ÷ (2 × (FGA + 0.44 × FTA)) × 100
Turnovers
Possessions lost without a shot: bad passes, steals, travels, shot-clock violations.
TO
Unbeaten odds
How often the team wins every remaining game. Even great teams rarely do this: lots of 85% chances in a row multiply down fast.
P(unbeaten) = seasons with zero losses ÷ seasons
Upset alert
Games where the underdog's chance is between 25% and 45%: not likely, but it would surprise no one. Listed with the best favorites first.
25% ≤ underdog win chance ≤ 45% · sorted by the favorite's AdjEM
Upsets
Games won by the team our morning-of forecast had under 40% to win.
winner's pregame chance < 40% · ("big upset" under 20%)
Usage rate
Share of team possessions a player ends with a shot, free throws or a turnover while on the floor. 20% is average, and 28%+ is a go-to scorer. It's volume, not quality.
Usage = (FGA + 0.44×FTA + TO) × (Tm Min ÷ 5) · ÷ (Min × (Tm FGA + 0.44×Tm FTA + Tm TO)) · × 100
Watch score
Close games between good teams. 100 would be a coin flip between the two best teams in the country.
watch = closeness × quality ÷ 100 · closeness = 100 × (1 − |2p − 1|) · quality = average D1 percentile of the two teams' AdjEM
Win chance
The chance this team wins this game. Same formula as the Matchup page: the rating gap, the possessions both teams play at, and the home edge, with a normal spread for game-to-game luck. Your what-ifs change it: strength tweaks, a new location, or forced results elsewhere that make a team look stronger or weaker.
Poss = AdjT(A) + AdjT(B) − league tempo · Margin = (AdjEM(A) − AdjEM(B) ± 2 × home edge) × Poss ÷ 100 · Win chance = Φ(margin ÷ σ)
Win-probability swing
The total distance the win-probability line traveled, up and down. A wire-to-wire win by the favorite barely moves it; a seesaw game piles it up.
Σ |change in home win chance|, in whole games · (1.0 = the line traveled 100 points)
Winner's lowest chance
The lowest the eventual winner's win probability fell during the game. Under 10% is a real comeback.
min over the game of the winner's in-game win chance
Winner's pregame chance
How likely the team that won was to win, according to our morning-of forecast. The lower it is, the bigger the upset.
chance the eventual winner wins, · from the morning-of forecast