A weekly 1–100 model built to measure both current team quality and March readiness.
← Back to rankings
Every Division I team is graded from 1 to 100. The 64 highest Salas Scores become that Monday's official Salas 64. The score is calculated automatically from four parts:
Each component is normalized against the rest of Division I so teams from different conferences are judged on the same scale.
This is the foundation of the model. It uses opponent-adjusted offensive and defensive efficiency to estimate how strong a team actually is possession by possession, independent of raw record or pace.
A team that consistently scores efficiently and prevents opponents from doing the same will grade highly even if it plays at a slow pace. The adjusted ratings account for opponent quality, which helps compare teams across different schedules.
The résumé component measures what a team has actually accomplished. Salas 64 uses its own version of Wins Above Bubble rather than simply counting ranked wins or using raw strength of schedule.
The model uses approximately the 45th-strongest Division I team as the bubble reference point. For every game, it estimates how likely that bubble-level team would have been to win against the same opponent at the same location.
This means a difficult road win is worth much more than an easy home win, while a difficult schedule does not earn credit by itself. Teams must actually perform well against that schedule.
The March Profile looks at the parts of basketball that repeatedly determine possession-by-possession success. The model uses both offense and defense so a one-dimensional team cannot receive an elite March grade from only one side of the floor.
The model also applies a small two-way balance adjustment. Teams that are strong on both offense and defense receive a modest boost; teams with a major weakness on one end receive a modest penalty.
Recent performance matters, but it is intentionally kept small so one hot week does not erase the full season. The model evaluates each team's last eight games using scoring margin, opponent quality, and game location, then compares that recent performance with the rest of Division I.
The rankings publish every Monday. A scheduled data job pulls the newest season results, records, Four Factors, and adjusted efficiency data, recalculates every Division I team's Salas Score, saves the previous week's ranks, and produces the new top 64.
That same process automatically creates the Biggest Riser, Biggest Faller, and Hottest Team. The Team to Watch is selected by the model from teams outside the very top group that combine a strong Salas Score with strong recent form.
The advanced math stays behind the scenes. Clicking a team in the rankings shows only the information most fans need: Salas Score, overall record, last-10 record, current streak, previous rank, weekly change, and best win.
The automated updater is built around the College Basketball Data API for game results, team season statistics, Four Factors, and adjusted efficiency ratings. The API key is kept private in GitHub Actions and is never exposed in the public website code.