Research The whole CFB model in seven numbers
The whole CFB model in seven numbers
Our college football preseason rating is one line of arithmetic: a constant and six inputs. It beat an SP plus carryover baseline on average out of sample, across two held out seasons and without losing either, and here is every number, including the one that came out backwards.
James Madison projects to 8.08 wins in our preseason college football rating. Texas projects to 7.78. Before you read that as the model liking the Dukes more than the Longhorns, it does not. Those are expected wins, and James Madison plays a much softer schedule, so its win count runs ahead of a team that rates far higher per game. What matters here is that both numbers came out of the same short formula, and the formula fits on a card. No committee, no black box, no proprietary blend we ask you to trust. Seven numbers, and every one of them traces to a table you could rebuild yourself.
What the rating is
The rating is a linear composite. It takes six things about a team going into a season and turns them into one number: points versus an average opponent on a neutral field. The six inputs are prior season SP plus (last year’s performance, carried forward), a four year blue chip ratio (the talent base), returning production (how much of last year’s roster is back), net portal flow, the average star rating of the transfers coming in, and a flag for a first year head coach.
We fit it the plainest way there is. Ordinary least squares, regressing each team’s actual end of season SP plus rating on those six preseason inputs, trained on the 2021 through 2023 seasons only (389 team seasons, in sample R squared 0.657). Then, to turn a rating into expected wins, we walk a team’s real schedule and price every game with the same math the published leans use: a per game win probability from the normal curve of the rating gap, a standard deviation of 17 points, home field worth 2.5, and any non FBS opponent pinned at minus 22.
The formula
Here it is, start to finish:
rating = -10.716
+ 0.5634 * prior_sp
+ 19.2118 * bcr
+ 5.8729 * ret_ppa
- 0.0947 * portal_net
+ 1.7239 * tin_stars
- 2.2511 * new_hc
Seven numbers: one baseline constant and one weight per input. That is the model. When we say a team rates where it rates, this is the sentence behind it.
What each weight is telling you
The weights do not rank by size, because the inputs live on different scales. Prior season SP plus swings across tens of points from the top of the sport to the bottom, so even its modest 0.5634 per point makes performance carryover the single biggest lever in the formula. Blue chip ratio carries the heaviest coefficient per unit: a 0.10 gap in four year blue chip ratio is worth roughly 1.9 rating points.
Returning production lands third in impact, behind carryover and talent. Its weight is about 5.9 points per full unit of the input, so a team bringing back most of its production against one that gutted its two deep is a real edge in the number, just not the headline one. This is the input a lot of preseason takes overweight in August, and the model keeps it in proportion.
Then the one that came out backwards. Net portal flow has a negative weight, minus 0.0947. Read literally, adding bodies through the portal makes a team slightly worse in the model, not better. That is not the portal being useless. It is the model saying a big net inflow usually marks a roster that just lost a lot, and that the raw count of transfers is not the signal. The signal is who you brought in, which is why transfer quality sits in the formula as its own positive term (average incoming star rating, weight 1.7239) while the headcount sits there as a mild negative. Bodies are not talent. Stars are.
Last, a first year head coach costs about 2.3 rating points on average, which on some schedules is close to a full expected win. New staff, new system, and the model prices the transition instead of pretending it is free.
Did it beat the baseline
The honest test is out of sample. Train on 2021 through 2023, then compare each held out season’s expected wins to what teams actually did, for every team with at least eight graded games. The baseline is the single number we used before this: last year’s SP plus walked through the schedule.
| Season | Teams | Composite MAE | SP plus baseline |
|---|---|---|---|
| 2024 | 133 | 1.844 | 2.012 |
| 2025 | 134 | 1.915 | 1.919 |
| Average | 1.880 | 1.966 |
The composite wins clearly in 2024, by about 0.17 of a win, and 2025 is a tie inside a rounding error. Averaged, it is about 0.09 of a win better than the baseline while never losing a season. That is a real improvement and a small one, and we are not going to dress it up as more. It is the rating because it wins the average without giving a season back, and because every input is a receipt we can show you.
What it will not claim
Here is the line most preseason models will not print. This validates predicting actual wins. It says nothing about beating the market. We have no archive of preseason win total lines going back far enough to grade closing line value or return, so no market beating claim is on the table, and we will not make one until a full season of lines is stored and graded.
The error bar is the other thing to keep in front of you. An average miss of about 1.9 wins per team means any single number is a lean, not a lock. On several of our published leans the market total already sits within one average error of our number, and a gap that small is noise, not an edge. That is exactly why a one win gap between our number and the market is a lean, and it takes a wider gap to become a pick. The gap has to clear the model’s own error before it means anything. Weighting a within error gap like a real edge is the fastest way to hand the vig your season.
Two teams also carry no number yet, on purpose. North Dakota State and Sacramento State just moved up to the FBS, and rather than invent a rating from data that does not exist, we flag them as not yet rated until they have a season of it.
What it powers
This formula is the engine behind our expected wins and our win total leans for 2026. The full field, every team we rate with its number and its expected wins, lives at edgelabs.bet/cfb/power-ratings, and the win total board that comes out of it is at edgelabs.bet/cfb/win-total-predictions. Members get the leans first, with the sample and the error attached to each one. Founding access is open at edgelabs.bet/join.