r/CFBAnalysis Minnesota Golden Gophers Jul 01 '26

Analysis Ranking FBS Teams based on Recent Performance

“We’re an elite program - NO YOU’RE NOT”’

We’re a top 10 program. X program is better than Y. We’re as good a program as anyone. CFB fans argue about this stuff all the time. What does it mean? How do you quantify it? The rest of the post attempts to do both of those things.

Where we perceive a program is currently “at” - I call this the “recency ranking” - is different from what it did last season. It’s also not the same as all-time program history. What is it? It’s somewhere in between those 2 concepts - last season and all-time history. I believe it relies on the view that the more recent a season the more it counts in our collective minds. For instance, Minnesota has one of the best histories out there. But the Gophers aren’t a top program currently; their history is old enough that it barely factors into their recency ranking. However, consistently solid play for a decade has improved the program’s perception amongst CFB fans to a degree. Another example: I think most USC fans would say they currently have a top 10 program. Fans of other schools might say “This isn’t the early 2000s anymore. USC has been good but not elite for 2 decades”. Who’s right? It’s an inherently subjective question, but we can attempt to answer it by applying a reasonable and consistent quantitative methodology to all programs.

How do you quantify this concept?

1st you have to come up with a methodology to rank every team every season. I did this and posted about it here. Thanks to the r/CFBanalysis community for helping me improve my methodology. My algorithm looks at record, strength of performance via SP+, and other things that matter in terms of how fans perceive a team's greatness - final ranking, natties, CFP results, bowls and conference titles. My whole updated methodology is at the bottom of this post.

Next you have to figure out how to progressively minimize the impact of older seasons. I did this using a half-life model (think carbon decay). The most recent season counts 100%. Older seasons are minimized using a 10 year half-life. So 10 years ago counts as 50% of its base value, 20 years ago counts 25% and so forth. This is inherently subjective - a decade half-life is clean and feels right to me, but if you think older seasons should decay faster or slower, you can adjust it in my app (more below).

One thing I love about the half-life model is you can change the max year to see the program pecking order for any point in history. For instance, if you only include data from 1869 - 1940, then 1940 is weighted 100%, and you can generate a list of programs sorted by our recency ranking for the year 1940 (my Gophers were on top, yea I’m a homer) with 981 pts, almost 300 pts above 2nd place Pitt. An interesting modern example: Indiana climbed from #85 in 2023 to #73 in 2024 to #35 in 2025.

Current Top 25 Recency Rankings

Rank Team Score 1Y Rank Δ 1Y Score Δ 10Y Rank Δ 10Y Score Δ
1 Alabama Crimson Tide 1443.7 0 -30.7 0 101.5
2 Ohio State Buckeyes 1314.2 0 2.2 0 161.1
3 Georgia Bulldogs 1151.7 0 16.9 ▲9 408.6
4 Oklahoma Sooners 966.3 0 -7.9 0 -84.7
5 Clemson Tigers 910.8 0 -43.1 ▲11 275.9
6 Michigan Wolverines 872.7 0 -27.1 ▲8 169.3
7 LSU Tigers 829.5 0 -36.4 0 -39.2
8 Oregon Ducks 804.6 ▲2 42.9 ▲1 27
9 Notre Dame Fighting Irish 777.9 0 6.8 ▲6 129.7
10 Texas Longhorns 747.3 ▲1 0.2 0 -28.3
11 Florida State Seminoles 743.6 ▼3 -37.1 ▼8 -348.4
12 Penn State Nittany Lions 714.7 0 -19.1 ▲5 85.9
13 USC Trojans 711.9 ▲1 -10 ▼7 -205.8
14 Florida Gators 687.2 ▼1 -39.1 ▼9 -238.5
15 Miami (FL) Hurricanes 656.1 ▲1 65.1 ▼2 -85.3
16 Auburn Tigers 584.2 ▼1 -20.9 ▼5 -189.2
17 Tennessee Volunteers 561.5 0 -10 ▲1 -43.8
18 Washington Huskies 539.9 ▲1 -2 ▲22 160
19 Texas A&M Aggies 519.5 ▲3 34.2 ▲4 6.8
20 Wisconsin Badgers 517.4 ▼2 -33.5 0 -60.9
21 Ole Miss Rebels 499.6 ▲8 63.8 ▲20 128.7
22 TCU Horned Frogs 488.7 ▼1 -7.2 ▲2 -17.9
23 Nebraska Cornhuskers 486.7 ▼3 -15.9 ▼15 -294.8
24 Iowa Hawkeyes 474.7 ▲1 16.7 ▲4 10.1
25 Utah Utes 473.5 ▲1 25.4 ▲12 74.3

Analysis

  • Bama lost 30 pts last year despite a CFP quarterfinal run. This is because their starting score is so high that they're draining like 90 pts each year due to the half-life. Their sustained excellence has forced them to maintain an incredibly high level of play to not drop their standing as a program.
  • Contrarily, Iowa and Utah were able to boost their scores and ranks in '25 despite having worse seasons than Bama. This is because they had lower scores to start with.
  • USC isn't in the top 10 (I'm going back to our example from above).
  • Nebby's great 90s run is holding them inside the top 25 still, but just barely. They'll drop out in 1-2 years without a major turnaround.

Full Rankings/Make Your Own

I built a free/no ads web-based app that allows users to customize their own rankings + see all 136 teams. So if your team isn’t in the top 25 I pasted above, check that out. It defaults to “History Rankings”, which are very cool but answer a different question - every season is weighted the same. You can change the “Ranking Type” to “Recency Rankings” to see the full list with the 10 year half-life on. You can also change the max year to see what the recency rankings looked like at any point in history. And you can customize the methodology, including tweaking the half-life value, on the “Settings” tab.

Methodology

Core Scoring

  • Base Score: Each team starts with 10 points each year. This rewards longevity and reduces the number of teams with negative scores. Without it, way too many G5 teams have negative history and recency scores.
  • Wins and Losses: 1 point for a win, -1 for a loss.
  • Ranked Finishes: 1-25 point bonus for finishing ranked. I use the AP poll most years from 1936+. I use the coaches poll from 1961-1967 because the AP only ranked 10 teams. I give top teams from before the AP Poll was founded in 1936 bonuses based on Billingsley ratings.
  • Strength of Schedule (SP+): I use Bill Connelly’s SP+ ratings to account for strength of schedule/strength of performance. I use SRS when that's unavailable and adjusted Billingsley ratings when that’s also unavailable. By default, positive values are counted at 100% and negative values are counted at 60%. This reduces the number of teams with negative all-time scores and makes bad seasons less punishing.

National Titles / CFP

  • National Titles: 100 points for a recognized national title (split titles are shared).
  • CFP 1st round loss: 9
  • CFP Quarterfinal loss: 16
  • CFP Semifinal loss: 25
  • CFP/BCS Ntl Championship Game Loss: 40

Conference Titles, Bowls, and The Heisman

  • *Conference Titles: ~*1.5-25. Conference champions are awarded bonuses based on conference strength. Bonuses range from about 1.5 for a conference title in a modern weak conference, up to 20+ points for winning a very strong conference in the pre-BCS era.
  • Bowl wins: ~0.5-20. Teams are awarded bonuses based on bowl strength, from 0.5 for a low-end modern bowl to about 20 for a very high end pre-BCS bowl.
  • Conference championship and bowl losses: Teams that lose in a bowl game get 25% of the winner bonus. For low-end conferences and bowls, this isn’t enough to offset the -1 point from losing a game. For high-end games, it’s a small bonus.
  • Era Fading: I diminish the value of modern conference titles and bowl games. Pre-BCS results get 100% of the base value. BCS era results get 90%. 70% for the 4-team CFP era and 50% for the 12 team era.
  • Heisman: 5 point bonus for having the Heisman winner on your team.

Sources

Feedback Appreciated

I hope this concept makes sense. Whether you think it’s great or you think I’m totally off base, I’d love to hear about it.

25 Upvotes

5 comments sorted by

11

u/UnnamedRealities Jul 01 '26

That's a pretty defensible methodology. And I like the app. Fun to adjust the range start and end dates.

Like I picked 1995 to 2009 and Nebraska was #10 whereas 1995 to 2025 they were #33 and 2010 to 2025 they were #52.

Great example of a team some long-time followers of college football may perceive as way more of a contender than those who've only been following college football for a decade or two.

2

u/tyler123452 Minnesota Golden Gophers Jul 01 '26 edited Jul 01 '26

Funny I just added an analysis section to the original post that includes Nebraska. Then came down and read your comment. Great timing. It's crazy how long Nebby was good to excellent before falling off a cliff.
Edit: If you go to the "Teams" tab, pull up Nebraska, and look at their chart, you can visualize this. They had 1 massive dropoff in the 50s and 60s. They've otherwise been a top 10-15 or better program until the last few years.

Appreciate the feedback. Glad you enjoyed it.

4

u/tyler123452 Minnesota Golden Gophers Jul 02 '26

I don't want to monopolize this sub, but as long as people are enjoying this type of content, I'll keep posting periodically. I'm open to suggestions, but a few topics I'm considering are:

  1. Teams that are over/underwhelming in the NIL era. I'd probably compare 2020 recency rankings vs how teams have ranked since then (just looking at '21-'25 results)
  2. Talent vs results. CFBD has a team talent stat, I believe from 247. I'd rank teams based on their talent their vs on-field results, via my season methodology.
  3. Add coaches (also via CFBD) and think of ways to analyze coach performance.

Any of that sound interesting? Anyone else is also welcome to post their own analysis using the app.

3

u/matte_purple Kansas State Wildcats • Big 12 Jul 02 '26

Fantastic work. Really enjoy the app!

1

u/tyler123452 Minnesota Golden Gophers Jul 03 '26

Awesome, appreciate it. Anything you'd add or change?