Vols Data Lab
Opponent-adjusted ratings for every FBS team, and the math that produces them. Built for the people who want the number and the formula. 🍊
About 30% of these ratings still come from 2025. The typical team has played 7 games of 2026, which is not enough to rate anyone on its own, so each number is a weighted blend of this season and last. The blend shifts toward 2026 automatically after every week — by November it is close to nothing.
Before trusting any of it — how often is this model actually right?
Detected automatically
What the numbers say this week
Found by scanning the ratings, not written by hand. Every line shows the figures behind it.
LSU Tigers is the toughest opponent left on the schedule
Ranked 6th of 138, at Neyland in week 12.
- LSU Tigers +14.5
- 6-2
- Week 12
Tennessee is 14th of 138 in opponent-adjusted rating
A +10.3 rating means about 10.3 points better than an average FBS team on a neutral field.
- Rating +10.3
- Record 6-2
- 8 games counted
Tennessee has played the 36th-toughest schedule in the country
Opponents faced average a -0.1 rating. Schedule strength counts only games already played, not games still to come.
- Opponent average -0.1
- 36th of 138
Tennessee is 6th of 16 in the SEC
Ole Miss Rebels sits directly above at +12.6, a gap of 2.3 points.
- SEC rank 6/16
- Rating +10.3
The whole conference, in space
Every rated FBS team placed by offense, defense and the schedule that produced them. Tennessee is white; the teams on our schedule are orange.
Plotting 136 teams…
Tennessee · 2026 season
#14 of 138 FBS
Rating
+10.3
pts vs avg FBS
Record
6-2
8 games
Sched. strength
-0.1
#36 toughest
Raw margin
+16.0
unadjusted
The gap between the raw margin and the rating is the competition adjustment — what Tennessee's schedule was actually worth.
Team ratings
138 FBS teams · 566 games · solver converged in 18 iterations
| Team | |||||||
|---|---|---|---|---|---|---|---|
| 1 | 6-1 | +19.4 | +12.6 | +9.1 | +1.3 | +27.7 | |
| 2 | 6-1 | +18.7 | +10.1 | +11.4 | +1.3 | +25.9 | |
| 3 | 7-0 | +17.8 | +15.9 | +9.6 | -3.2 | +33.7 | |
| 4 | 7-1 | +17.1 | +8.8 | +14.3 | +0.4 | +21.6 | |
| 5 | 6-2 | +16.1 | +10.3 | +7.6 | +6.7 | +17.0 | |
| 6 | 6-2 | +14.5 | +9.3 | +9.2 | +1.6 | +24.1 | |
| 7 | 6-1 | +14.4 | +11.8 | +7.7 | -2.0 | +27.1 | |
| 8 | 5-2 | +13.2 | +4.5 | +8.4 | +8.6 | +11.6 | |
| 9 | 7-0 | +12.6 | +10.9 | +7.4 | -4.8 | +22.9 | |
| 10 | 5-2 | +12.6 | +9.4 | +3.3 | +5.1 | +10.7 | |
| 11 | 6-1 | +11.6 | +8.3 | +8.2 | -3.7 | +15.4 | |
| 12 | 4-3 | +10.9 | +8.5 | +8.6 | +3.1 | +12.4 | |
| 13 | 6-1 | +10.8 | +6.5 | +8.8 | +0.5 | +14.6 | |
| 14 | 6-2 | +10.3 | +7.3 | +5.7 | -0.1 | +16.0 | |
| 15 | 6-1 | +9.1 | +3.3 | +6.0 | -0.7 | +18.0 | |
| 16 | 6-1 | +9.0 | +5.0 | +7.0 | -6.2 | +19.4 | |
| 17 | 7-0 | +9.0 | +2.1 | +5.1 | +0.6 | +19.1 | |
| 18 | 6-2 | +8.9 | +7.6 | +6.3 | +1.7 | +15.0 | |
| 19 | 6-2 | +8.3 | +5.8 | +0.0 | +0.9 | +7.8 | |
| 20 | 7-1 | +8.3 | +9.2 | +3.4 | -7.3 | +23.1 | |
| 21 | 5-2 | +8.1 | +6.0 | +5.6 | -3.4 | +20.1 | |
| 22 | 4-3 | +8.0 | -2.4 | +9.5 | +5.7 | +3.9 | |
| 23 | 5-2 | +7.9 | +3.4 | +7.2 | -0.7 | +11.6 | |
| 24 | 4-3 | +7.9 | +8.6 | +2.4 | +0.4 | +11.3 | |
| 25 | 4-4 | +7.8 | +3.2 | +8.0 | +0.8 | +9.4 |
How the rating works (the math)
Raw margin lies. Beating an FCS team by 40 is not the same as beating Georgia by 3. To weight competition you need to know how good each opponent is — but that depends on how good their opponents were. The schedule graph is circular.
rating(i) = average over games of [ adjusted margin + rating(opponent) ]
We start every team at zero and iterate until nothing moves. That fixed point is the only set of ratings consistent with every result in the league — which is why this needs all 566 FBS games, not just Tennessee's.
- Home field: the home team's margin is reduced by 2.5 points before it counts.
- Blowout cap: margins pass through a smooth cap at 35 points, so a 50-point win counts meaningfully more than a 20-point win but nowhere near twice as much. Running up the score earns very little.
- Non-FBS opponents: pinned at -28, so scheduling three FCS teams never looks like playing three average FBS teams.
- Small samples: ratings regress toward zero by n/(n+1), so nobody is crowned off one September blowout.
Units are points per game against an average FBS team on a neutral field. A +14 team should beat a +3 team by about 11 on neutral turf.
Season résumé
Every game against an FBS opponent. Further right means a tougher opponent; above the line means Tennessee played better than its own rating expected.
FBS record
5-2
+1 vs FCS, not charted
Expected wins
4.6
from the ratings
Luck
+0.4
won what they earned
Volatility
±8.5
swing vs expectation
Best win · strongest team beaten
vs Alabama Crimson Tide
Rated +16.1 · #5 nationally · won by 16
Weakest team they lost to
at South Carolina Gamecocks
Rated +5.8 · #35 nationally · lost by 3 — no bad losses all season
How to read this
The dashed line is what the rating expected: against an opponent rated -6.8 the margin should be about +17.1. Dots above it are games Tennessee played better than its own rating; dots below are worse.
Expected wins sums each game's win probability. Comparing it with the actual record separates “good” from “fortunate” — a team can win close games it had no business winning, and the gap shows up here.
Volatility is the spread of those gaps. A low number is a team that performs the same every week; a high number is one nobody can predict.
Games against FCS opponents are excluded — an unrated opponent has no expectation to measure against — so the record here can differ from the headline record. Both are shown rather than quietly reconciled.
Rating movement by week
Each point is the rating re-solved using only games played through that week — what the model would have said at the time, not the final rating drawn backwards.
Tennessee in orange; other teams shown as context and labeled at the line end. Arrows are rank change from week 4 to week 8.
Who did they do it against?
A season total tells you how much. It doesn't tell you against whom. These numbers do.
- DeSean BishopRB957 RUSH YDS
Schedule D
+2.8
Weighted D
+2.9
Gap
+0.1
vs above-avg D
62%
BalancedBest: 220 vs Auburn Tigers (D +5.6) - Daune MorrisRB349 RUSH YDS
Schedule D
+2.8
Weighted D
+0.2
Gap
-2.6
vs above-avg D
25%
Weaker gamesBest: 116 vs Kennesaw State Owls (D -1.3) - Faizon BrandonQB130 RUSH YDS
Schedule D
+2.3
Weighted D
-2.7
Gap
-5.0
vs above-avg D
-11%
Small sampleBest: 68 vs Furman Paladins - Javin GordonRB120 RUSH YDS
Schedule D
+2.5
Weighted D
+0.4
Gap
-2.1
vs above-avg D
56%
Small sampleBest: 47 vs Furman Paladins - Justin BakerRB91 RUSH YDS
Schedule D
+5.6
Weighted D
+5.6
Gap
0.0
vs above-avg D
100%
Small sampleBest: 89 vs Furman Paladins - Hunter BarnesRB75 RUSH YDS
Schedule D
-1.3
Weighted D
-1.3
Gap
0.0
vs above-avg D
0%
Small sampleBest: 63 vs Kennesaw State Owls (D -1.3) - Mike MatthewsWR12 RUSH YDS
Schedule D
+2.8
Weighted D
-4.6
Gap
-7.4
vs above-avg D
-17%
Small sampleBest: 14 vs Arkansas Razorbacks (D -0.4) - DaSaahn BrameTE2 RUSH YDS
Schedule D
+3.5
Weighted D
+1.4
Gap
-2.1
vs above-avg D
50%
Small sampleBest: 1 vs South Carolina Gamecocks (D +3.3)
Reading these numbers
Schedule D is the average defensive rating of the opponents faced — how hard the slate was. Higher is a better defense.
Weighted D is the same average, but weighted by production. It answers a different question: of the defenses this player actually gained yards against, how good were they?
weighted D = Σ(production × opponent D) / Σ(production)
The gap between them is the story. A positive gap means production skewed toward the tougher defenses. Negative means it was padded against the weaker ones.
We deliberately do not publish a synthetic “adjusted yards” figure. Converting a points-based team rating into an individual yardage projection would require a yards-per-point constant nobody can justify. Every number above is exact arithmetic on real per-game results — no modeling assumptions, nothing to take on faith.
Known limitation: opponent quality here is measured in points, not yards. A defense can prevent points while giving up yardage, so this is a proxy rather than a direct measure. A yards-based rating is wired up and switches on automatically once a CFBD_API_KEY is configured.
Ratings computed from 566 completed FBS games via ESPN's public scoreboard, refreshed every 6 hours. Showing the 2026 season — this rolls forward automatically once 2027 games are played. Early-season ratings are blended with 2025 finals until enough games exist to stand alone.