Methodology & glossary
How the numbers work
Glossary
- Sideout %
The share of rallies a team wins when the opponent is serving. Winning a rally on the opponent’s serve is a sideout, and it earns the serve back.
Sideout % = rallies won while receiving ÷ rallies received
Example: A team that receives 60 serves and wins 38 of those rallies has a 63.3% sideout rate. D1 teams typically sit around 58–62%.
- Break % (point-scoring %)
The share of rallies a team wins on its own serve. Because sideouts are the norm, breaks are what decide sets.
Break % = rallies won while serving ÷ rallies served
Example: Win 22 of 55 service rallies and the break rate is 40.0%.
- Hitting % (attack efficiency)
Kills minus attack errors, divided by total attack attempts. It is shown as a three-digit decimal.
Hit % = (K − E) ÷ TA
Example: 15 kills, 5 errors and 40 attempts gives (15 − 5) ÷ 40 = .250.
- RallyIQ
Our team rating, built from every rally in the NCAA play-by-play. Each team gets a serving strength S and a receiving strength R, fitted together so that P(server wins the rally) = logistic(μ + S_server − R_receiver + h·home). The published number is expected points won per 100 rallies (50 served, 50 received) above an average D1 team on a neutral floor.
Penalized (ridge) maximum likelihood over all serving blocks in PBP-verified final games, shrunk toward a preseason prior
Example: A RallyIQ of +10 means about 10 more points per 100 rallies than an average D1 team would win in the same spot.
- Adjusted break % and adjusted sideout %
The break and sideout rates a team would post against a perfectly average D1 opponent on a neutral floor, read straight off its RallyIQ serving and receiving strengths. They remove schedule strength from the raw rates.
- AdjHit O / AdjHit D
Opponent-adjusted hitting %. AdjHit O is the hitting % a team would post against an average D1 defense; AdjHit D is the hitting % an average D1 offense would post against it (lower is better). They come from a one-pass opponent adjustment on box scores and describe a team; they do not feed the forecasts.
- Win vs avg
Match win probability against an average D1 team on a neutral floor. We run the two rally rates through an exact set-and-match model: every score state to 25, win by two, 15 in set five, best of five. Small rally edges compound over a match.
- Win probability (game pages)
The chance each team wins the match from the current score, serve and set, from the same exact rally-scoring model using the two teams’ RallyIQ strengths. It updates point by point during live matches. It is drawn only when the play-by-play reproduces the official set scores.
- SOS (strength of schedule)
The average RallyIQ of the opponents in the games used for a team’s rating, with its rank among D1 teams. SOS describes the schedule only; for how good the record is against that schedule, see Strength of Record (SOR) below.
- Strength of Record (SOR)
A résumé ranking on the Rankings page, not a power rating: the chance that an average RallyIQ top-25 team would have won at least as many matches as this team did against the same opponents. The benchmark team’s serving and receiving strengths are the average of the current RallyIQ top 25. For each final with a winner, the benchmark’s win probability comes from the same exact set-and-match model used for forecasts, with home and away as listed in the NCAA feed and each opponent at its current RallyIQ (its preseason prior if it has no rally-tracked games yet, or the average rated non-D1 team). Those per-match probabilities give the full distribution of benchmark wins (a Poisson-binomial), and SOR is the probability of reaching this team’s actual win total or more. Lower is harder to match. SOR # ranks D1 teams by it, ties broken by WAT. It updates whenever RallyIQ refits.
SOR = P(benchmark wins ≥ actual wins), benchmark wins ~ Poisson-binomial(p₁ … pₙ), pᵢ = P(average top-25 team beats opponent i)
Example: A 12-0 team at 1.0% SOR played a schedule that an average top-25 team would sweep only 1 time in 100.
- WAT (wins above top-25)
The companion to SOR: actual wins minus the benchmark top-25 team’s expected wins on the same schedule (the sum of the per-match win probabilities above). Positive means the team has won more than an average top-25 team would have.
WAT = actual wins − Σ pᵢ
Example: A 10-2 team whose schedule an average top-25 team would win 7.45 times out of 12 has a WAT of +2.55.
- Four Factors percentiles
On team pages, each stat in four groups (attack, serve, ball control, defense/block) is shown as a percentile against every D1 team this season, so 90 means better than 90% of D1.
- Rotation splits
Sideout and break % in each of the six rotation slots. Slot 1 is the rotation a team starts the set in; each sideout rotates it one spot, so the slot is exact for sets with clean play-by-play. The play-by-play does not say who is serving, so slots are positions in the order, not named servers, and a coach who changes the starting lineup shifts what slot 1 means.
The RallyIQ model
Every final match whose play-by-play reproduces the official set scores contributes two observations: how many rallies the home team served and won, and the same for the away team, each against the other team as receiver. One penalized maximum-likelihood fit (a binomial model with a ridge penalty) solves for every team's serving and receiving strength at once, plus a home-court edge. There is no rating-on-rating iteration: the fit converges to a single optimum in a few Newton steps.
Early in the season the penalty pulls each team toward a preseason rating: last season's final RallyIQ, regressed 10% toward the middle and adjusted by returning production (the share of last year's points scored by players back on the same roster). The pull is worth a fixed number of rallies, so it fades as games accumulate.
The penalty strength, the regression and a final calibration scale were chosen by a forward-chaining backtest on the 2026 season and checked out of sample on the full 2025 season. Recency weighting, discounting blowout rallies and a neutral-site correction were tested and dropped because none improved forecasts in both seasons.
Data sources
- Scores, schedules, box scores and play-by-play: public NCAA game data, refreshed every five minutes during the season.
- Rankings: the AVCA Coaches Poll rank attached to each match.
- Rosters, heights, hometowns and headshots: official school athletics rosters; photos credit and link to the school.
- Everything else (ratings, splits, percentiles, win probability) is computed here from that data.
How current the numbers are
The NCAA scoreboard is polled every five minutes, all season. When a match goes final, its box score and play-by-play are pulled on the next pass, so a player's season totals usually update within minutes of the last point. Nothing here is keyed in by hand, and nothing waits for a weekly batch.
Season stats are recomputed from every final box score on request rather than stored as a snapshot, so a kill recorded tonight is in tonight's per-set average. Each player and team page shows the date its stats run through, and repeats it in machine-readable form for search engines and AI assistants.
Scorers do revise box scores after a match. Every final is re-pulled once to pick up those corrections, and a handful of feed errors are corrected by hand against the schools' own box scores.
Caveats
- Some matches have no play-by-play, or a feed that contradicts the official result. Those matches still count in records and box-score stats but are left out of RallyIQ, rotation splits and win-probability charts.
- Scorers correct box scores after matches; we re-pull each final once to pick up corrections.
- Rally splits match play-by-play names to the box score and can miss a few rallies.
- Ratings describe the season so far. Early-season numbers lean on the preseason prior.
- College Volleyball is independent and not affiliated with the NCAA, the AVCA or any school.