I've always had a fascination with college football ranking systems. I was a math geek in school (and I've got passing grades on two years' worth of AP Calculus exams to prove it), and I always thought there was some way we could measure college football teams in a way that made sense.
I was also frustrated by the fact that most analytical ranking systems are either not transparent with their methods at all or use formulas that are so convoluted that it feels like they're hiding stuff under a pile of numbers. This can be for proprietary reasons, but I suspect some of them might be so opaque because they're just trying to show off their math skills.
A few years ago I tried to assemble a formula for ranking FBS teams but dropped work on it because adulting. But with the controversy erupting between Alabama and UCF over the results of this past season, I figured I'd dust off the formula to try and see which team was better.
Computer ranking systems are reflections of their creators' biases. Some emphasize history or microanalyze on-field play. I never thought it should be that complicated.
I freely admit that this system reveals my own biases. But I also hope that my biases line up with yours more often than not.
When I think about good a college football team is, I want to answer two basic questions:
- Who did they play?
- How did they play them?
Let's take each of these one at a time.
Who did they play?
This comes down to one key metric: Strength of Schedule.
Strength of Schedule is the third rail of college football analysis, but we're going to ride it. Multiple systems have different schemes for measuring this, often packed with adjustments that tend to muddy the waters.
I think it's pretty simple. the strength of a given team's schedule is dependent on four key factors, which we'll break down here:
How good were their opponents?
This is pretty simple to figure out: Just add up your opponent's records and you've got yourself a winning percentage.
How good were their opponents' schedules?
Why do we figure this out? Simple: It gives us more information about the numbers behind the record. You could beat a team with a great record (like USF) who beat up on a bunch of crap teams. How much is that worth in figuring out your strength of schedule? I say a lot.
Where did they play them?
If you're an SEC team and you played Alabama in Tuscaloosa this year, you're going to have a harder time than if you played them at home. It might still be hard, but location matters.
When did they play them?
As teams get to the latter parts of the season, things ramp up. Injury attrition happens. The weather gets weird. You play your rival(s). You may even make the postseason. Bottom line is that, as the season wears on, the task you face each week gets tougher.
Let's look at the numbers we can calculate easily: The opponents' records and opponents' opponents' records:
|UCF Opponent||W||L||W%||Opp. W||Opp. L||Opp. W%|
* A note about Austin Peay: I hate it when FBS teams play FCS teams. I get why it happens, but I still hate it. I think there should be some kind of penalty that you pay for playing a team from the division below you. In this case, Austin Peay had a good year, but for the purposes of this calculation, I'm dividing their win percentage by two. I'm also taking the full record of FCS teams vs. FBS teams in 2017 and applying that as our Opponents' Opponents' Win Percentage, as though FCS is its own conference of teams that play FBS teams. So yes, you do pay a penalty for playing an FCS opponent.
Let's look at Alabama:
|Bama Opponent||W||L||W%||Opp. W||Opp. L||Opp. W%|
Now, you can get a pretty good idea for total strength of schedule by adding the win percentage and the opponents' win percentage, because simply put, if you have a good team like Auburn (10-4), and they played a tough schedule themselves (113-70 combined), then it stands to reason Auburn had a tough go, which they did in 2017.
Now, to figure out how tough the schedule was, let's add in some calculations:
- Add the opponents' win percentage and opponents' opponents' win percentages.
- Multiply by a road win factor - basically a bonus for winning on the road. I chose 1.25, since playing a game on the road is like adding an extra quarter of a game. Neutral site games are multiplied by 1.125 (halfway between 1 and 1.25), which makes sense because you're still traveling but not in unfriendly territory.
- Multiply that number by a weight factor that increases with each game as we get later in the season. For that, I take the season opener and multiply by 1, and then add one-tenth for every game after that (e.g., Game 2's weight is 1.1, Game 3 is 1.2, and so on.
The Strength of Schedule Formula for each game looks like this:
(Opponents' Win % + Opponents' Opponents' Win %) x Road Win Factor x Weight
So let's look at how this works out for UCF:
|UCF Opponent||H/A/N||W%||Opp. W%||Road Win Factor||Weight||SOS Rating|
I like this, because those SOS Results read like a degree of difficulty rating for each game. For example, that first Memphis game wasn't nearly as big as the second one, but it was a tougher game than the UConn game. And the Temple game was a relatively tough game because it was on the road late in the season against a good team that payed a tough schedule itself.
It also reveals something I suspected: The AAC Title Game was a bigger game than the USF game, since USF beefed up their record against some miserable opponents.
Now, let's look at Alabama:
|Bama Opponent||H/A/N||W%||Opp. W%||Road Win Factor||Weight||SOS Rating|
Impressive, especially as the season wore on late.
We can also conclude that, actually Alabama did have a better strength of schedule. Their Average SOS Rating came out to 2.025, where UCF's came out to 1.820. So there, they have an argument.
We'll come back to this in a bit. Now let's talk about the other question:
How did you play them?
Given the limited data set we have every year, the only way to figure out the difference between two different teams on the field is measured by how much one team beat the other.
Of course, in college football, margin of victory is dangerous. For one thing, everything is a one-game situation. But there's nothing we can do about that.
But the other thing that makes it difficult is that teams do run up the score. Regardless of what you may think, they do it constantly. And there are other factors, including where the games are played. Ranking systems have at times eschewed margin of victory as a factor, but in that case, you're throwing out an at least somewhat useful trove of data.
I still believe it's accurate in some way, given that it's really all we have. This is admittedly imperfect, but there is way you can adjust margin of victory to more definitively determine how well a team played without overvaluing it.
Cap the Margin
What does beating a team by 56 points say more strongly than if you beat the same team by 28 points? I say nothing. To me, if you beat a team by 28 or more - in other words, if you're one touchdown per quarter better than they are - you've proven your point. So for this rating, let's cap margin of victory at 28.
Oh, and if you whack an FCS team? Guess what: Divide that margin by half.
Adjust for Home and Away
If you beat a team on the road, that's a real accomplishment. Conversely, if you beat a team at home, theoretically you're supposed to do that. Las Vegas has a system for this when calculating betting lines, and it's remarkably simple: Home field is worth three points. So let's go with that:
- Home: Subtract three points
- Away: Add three points
- Neutral Site: No adjustment
Overtime can be deceptive. You can beat a team by one, two, three, six, seven or even eight points. But in terms of measuring the game as a whole, if two teams go into overtime, we can assume that they are effectively matched evenly. Therefore, overtime is basically a way to determine the winner of a tied game, and the true margin of victory shouldn't be more than one.
In this case, for math's sake, we can adjust the margin of victory in overtime to something more indicative of the result by just dividing by three, because if you score 7, that required more work than nailing a long field goal to win.
Once we've got that number, we can turn margin of victory into a fraction by dividing it by our maximum margin of victory, which is 28.
Alright, so let's analyze UCF's margin of victory in its 13 games:
|UCF Opponent||Pts For||Opp Pts||MOV||Home/Away||Adj. MOV||MOV Factor|
|Bama Opponent||Pts For||Opp Pts||MOV||Home/Away||Adj. MOV||MOV Factor|
So now let's do what we did with the SOS Rating. When you add up the MOV Factors for both squads and divide by the number of games each team played, you get this:
- UCF: 8.512 / 13 = 0.655
- Alabama: 8.536 / 14 = 0.610
So overall, UCF played its opponents better per game than Alabama did when adjusting for margin of victory.
Putting It All Together
Now let's have some fun.
Let's take our Strength of Schedule Rating and multiply it by our Margin of Victory Factor and see what happens:
|UCF Opponent||Pts For||Opp Pts||SOS Rating||MOV Factor||Rating|
Here's where the numbers begin to tell us a story.
The Strength of Schedule Rating tells us the degree of difficulty of each individual game on the schedule, given the opponent's record and the strength of their own schedule.
The Margin of Victory factor tells us by how much UCF beat a given opponent on a standardized scale.
So the Rating becomes an indication of how well UCF played that particular opponent in that particular game. This seems to be pretty straightforward.
Let's look at Bama:
|Bama Opponent||Pts For||Opp Pts||SOS Rating||MOV Factor||Rating|
Now we can truly compare UCF's performance in 2017 against Alabama's.
When you add up the game ratings for both squads you get this:
- UCF: 13.243
- Alabama: 13.274
So Alabama edged out UCF! Alabama wins!
Hold your horses there, Brent Key. Alabama played one additional game, which gives them an edge when you add the game ratings. The way you fix that is by dividing that total rating by the number of games each team played.
When you do that, you get this:
UCF: 13.243 / 13 games = 1.019
Alabama: 13.274 / 14 games = 0.948
So there you have it. UCF edges out Alabama.
Now, like I said above, I recognize that there are some flaws in this model, and I plan on examining them and adjusting for them in the future. Ideally, I'd like to see exactly how much of an adjustment is required for home versus road points, for example. And of course I'd like to extrapolate this out to all of FBS. That will require time that I just don't have right now but hopefully will soon.
But for now, this is how I, one person, tried to measure these two teams in a way that accounts for the parameters I think are important in college football. You can take it or leave it whatever way you want. But I've at least tried to be transparent about it, and after showing all the work, this is the conclusion I've arrived at:
Alabama had a stronger schedule than UCF. But when you account for strength of schedule and adjust for margin of victory and the number of games each team played, it turns out that UCF was better than Alabama last year.
Hang that banner high, UCF. You earned it.
Now that we've settled that, let's get ready for 2018.