How DiggyHub ranks teams and predicts games
DiggyHub ranks every Division I team and gives each upcoming match a win percentage. Both come from one data-driven rating system built and tested on real results. It is not a poll or a vote, and nobody adjusts a team’s number by hand.
What goes into it
- Every point, not just wins and losses. Each finished match is measured by the rally points each team won, so dominance counts: a sweep by a wide margin says more about a team than a narrow five-set win.
- Recent form. Recent results count for more than older ones, so the ratings follow teams that are improving or slipping while still respecting the whole season.
- Strength of schedule. A result against a strong opponent is worth more than one against a weak opponent, and the ratings account for who each team has played and who those opponents played in turn.
- How much we know about a team. The model is more confident about teams that have played more matches and stays cautious early in the season when results are thin.
- The matchup itself. A match is treated as a head-to-head between two specific teams, not just a comparison of two numbers, so a game between two strong teams is not handled like a game between a strong team and a weak one.
- Home court. Win percentages account for the small but real advantage of playing at home.
The ranking is every team ordered by its rating. A team joins the ranking once it has played enough matches for its rating to mean something.
How we keep it accurate
- Back-tested on real history. Before a change reaches the site, we test it against more than 10,000 matches from past seasons: for each match, the model predicts the result using only what was known beforehand, and we score it against what actually happened. We adopt a change only if it measurably improves accuracy on seasons it was not tuned on.
- Updated every day. Ratings and rankings are recalculated every day, and again as new results come in. The win percentage for every upcoming match is refreshed with them, right up until the match starts, so what you see always reflects the previous day’s results.
- Always being improved. We keep testing the model against new results all season and refine it when the evidence shows a change makes it more accurate. Ideas that do not hold up in testing never reach the site.
How well it works
We publish how accurate we are because it should be checked. This table is from the 2025 season, predicting each match about a week ahead. When the model said a team had about a 75% chance, that team won about 75% of the time.
| The favourite’s chance | Model said | Favourite won | Matches |
|---|---|---|---|
| 50-60% | 55.1% | 54.6% | 782 |
| 60-70% | 65.0% | 65.1% | 780 |
| 70-80% | 75.0% | 74.6% | 835 |
| 80-90% | 85.2% | 84.3% | 907 |
| 90-100% | 94.8% | 95.6% | 976 |
The ranking is tested the same way. Across the 2025 season, the team our ranking placed higher the day before won about 78% of matches between two ranked teams, compared with about 70% for a ranking built only from win-loss records and about 72% for one built from raw points without accounting for who each team played.
What it does not use
- Injuries, lineups, transfers or anything about individual players
- Preseason expectations or last season's results (every season starts from scratch)
- The AVCA poll or the NCAA RPI (they are shown next to the ranking, not fed into it)
- Conference strength beyond what the schedule itself shows
- Rest days, travel, venue, weather, betting lines
- The order of sets within a match (only total points in each set)
Limits to keep in mind
- Early in a season a rating rests on only a few matches, so rankings and percentages are less certain until teams have played more.
- The model cannot know about injuries, lineup changes or transfers. It learns about them only when they show up in results.
- A win percentage is a probability, not a promise. A team given 90% still loses about one match in ten.
About · How it works · Privacy · Terms · Contact