Skip to content

CORE Ratings

Analysis

How good each team is per play, once you account for who they played and the situations they were in. Zero is an average team; higher is better. points per 100 qualifying plays, above average. Built from 96,743 plays across 808 games.

Offense against defense

Offense across, defense up. Best teams are top right. Both numbers are adjusted for who each team played, so a soft schedule does not flatter anyone.

-20+0+20-20+0+20CORE offense (points per 100 plays)← worsebetter →CORE defense (vs average)← worsebetter →
136 teams · dashed lines mark the league medianr = -0.39(r² = 0.15)

Where efficiency and the poll disagree

The gap between a team’s CORE rank and its AP rank. This is the column worth arguing about — it is where one of the two measures is about to be shown up.

#TeamCOREOffenseDefense
116Ohio State+39.2+13.7#11-25.6#2
216Notre Dame+38.3+20.4#2-17.9#4
317Indiana+35.3+18.8#4-16.5#6
418Oregon+34.6+18.7#6-15.9#7
518Texas Tech+33.7+4.1#45-29.6#1
638Miami+31.1+13.5#12-17.6#5
749Utah+29.1+18.7#5-10.3#22
8616Vanderbilt+25.4+27.6#1+2.2#72
9823Texas A&M+22.7+12.2#17-10.5#21
10823USC+22.5+18.2#7-4.3#42
11826Washington+21.7+12.7#15-9.1#24
12826Missouri+20.9+5.4#37-15.5#9
13827James Madison+20.6+4.8#40-15.8#8
14826Alabama+20.6+7.4#31-13.2#15
15828Georgia+20.0+9.3#27-10.7#20
16930Ole Miss+19.4+15.6#10-3.8#45
17932Old Dominion+18.9+4.7#42-14.3#11
18933Louisville+18.6+4.6#43-14.0#12
19934Toledo+18.3+2.8#49-15.4#10
20933BYU+18.0+10.2#24-7.8#26
21934Oklahoma+17.8-1.6#78-19.4#3
22935Michigan+17.4+11.1#21-6.3#35
231136Pittsburgh+16.8+4.1#44-12.6#17
241038Iowa+16.7+3.9#47-12.8#16
251139South Florida+16.2+11.3#20-4.9#40
261341Tennessee+15.0+16.0#9+1.0#66
271544SMU+14.6+9.3#28-5.2#38
281644Texas+14.3+5.5#36-8.8#25
291544Florida State+14.3+12.9#14-1.4#54
301746Auburn+13.6+1.8#58-11.8#18
311847TCU+13.2+6.1#34-7.1#31
321847Penn State+13.0+7.8#30-5.2#39
332051Arizona+12.4+4.7#41-7.7#28
342351North Texas+11.9+18.0#8+6.1#99
352353San Diego State+11.6-2.0#80-13.6#13
362353Illinois+11.1+9.7#25-1.4#55
372558Arkansas+10.7+19.5#3+8.8#114
382556Georgia Tech+10.6+13.2#13+2.6#76
392658Virginia+10.3+1.0#61-9.3#23
402659Washington State+10.0+2.5#51-7.4#30
412759Texas State+9.4+12.0#18+2.6#75
422759Wake Forest+9.3-4.2#89-13.5#14
432759Navy+9.3+12.6#16+3.3#84
443060Arizona State+8.2+2.0#57-6.3#36
453060LSU+8.1-2.9#84-11.0#19
463161East Carolina+7.8+2.4#52-5.4#37
473463Tulane+7.0+4.9#39-2.1#52
483363NC State+7.0+6.1#33-0.8#58
493363Kansas State+6.7+2.6#50-4.2#43
503463Cincinnati+6.7+11.9#19+5.1#92
513463Iowa State+6.4+2.0#56-4.4#41
523565Kentucky+5.8-1.9#79-7.8#27
533665South Carolina+5.3-1.3#77-6.6#33
543765Baylor+5.3+5.7#35+0.3#64
553765Boise State+5.3-1.2#76-6.5#34
563965Clemson+4.9+2.1#55-2.9#50
573766Kansas+4.9+10.4#22+5.5#95
583967UTSA+4.7+3.0#48-1.7#53
594271Florida+3.5+0.2#65-3.3#48
604672Duke+2.4+9.0#29+6.5#101
614775Memphis+2.0+4.0#46+2.0#70
624776Western Michigan+1.8-5.2#97-7.0#32
635281New Mexico+0.5-2.3#82-2.8#51
645381Mississippi State+0.1-1.1#75-1.2#57
655984Houston-0.9-0.7#70+0.1#61
665987Ohio-1.1+1.4#60+2.5#73
675990Northwestern-1.8-0.4#68+1.4#69
685990Nebraska-1.8+0.3#63+2.1#71
695989UNLV-1.9+10.2#23+12.1#127
706090Louisiana Tech-2.2-6.3#103-4.1#44
716091Marshall-2.7+0.2#64+2.9#80
726093Wisconsin-3.3-11.0#119-7.7#29
736192Fresno State-3.4-7.1#106-3.8#46
746192Army-3.5-0.3#67+3.3#83
756195Maryland-3.8-7.4#107-3.5#47
766393Kennesaw State-3.9+2.2#54+6.1#98
776395Utah State-4.1-1.0#72+3.1#81
786397San José State-4.3-1.1#74+3.3#85
7963100Rutgers-4.9+9.5#26+14.4#131
8063100UCF-5.0-6.2#102-1.2#56
8165100Miami (OH)-6.0-6.8#104-0.8#59
8265100Hawai'i-6.2+0.8#62+7.0#104
8365100Western Kentucky-6.3-6.1#101+0.2#62
8465102UCLA-6.4-2.1#81+4.4#88
8566102California-6.6-3.9#88+2.7#78
8667102Southern Miss-6.7-5.7#100+1.1#67
8766103Central Michigan-6.9-4.4#91+2.5#74
8867103Liberty-7.1+1.7#59+8.8#113
8970104UConn-7.6+5.1#38+12.7#129
9071104Tulsa-8.2-8.0#111+0.2#63
9172105Michigan State-8.6-4.4#93+4.2#87
9275107Missouri State-9.3-0.5#69+8.8#115
9374112Purdue-9.5-4.3#90+5.2#93
9475112Virginia Tech-9.5-0.2#66+9.3#117
9578113Boston College-10.0-0.8#71+9.2#116
9678114Minnesota-10.1-6.9#105+3.2#82
9779116North Carolina-10.5-7.8#109+2.7#77
9879116West Virginia-10.6-11.1#120-0.5#60
9981115Jacksonville State-10.7-3.8#87+6.9#103
10081121Temple-11.9-3.3#85+8.6#111
10183121Colorado-11.9-4.8#94+7.1#106
10288121Stanford-12.6-11.4#121+1.2#68
10389123Florida Atlantic-13.1-1.1#73+12.0#126
10491126South Alabama-14.2-3.6#86+10.6#120
10592126Georgia Southern-14.7+2.3#53+17.0#134
10692127Oregon State-14.8-9.3#114+5.5#94
10793126Delaware-15.0-5.1#96+9.9#118
10892128UL Monroe-15.2-7.9#110+7.3#107
10995128Florida International-15.2-10.8#117+4.4#90
11092129Nevada-15.3-10.9#118+4.4#89
11195128Wyoming-15.3-18.2#131-2.9#49
11295129UAB-15.8-4.4#92+11.3#124
11397129Middle Tennessee-15.9-5.0#95+10.9#121
11497129Eastern Michigan-16.0-2.5#83+13.4#130
11599129Coastal Carolina-16.4-8.4#113+8.1#109
116100129Troy-16.6-13.1#125+3.5#86
117100130Georgia State-16.7-5.6#99+11.1#123
118100129Arkansas State-16.8-10.5#116+6.3#100
119100131Air Force-17.3+6.4#32+23.7#136
120100131New Mexico State-17.5-11.8#122+5.7#96
121103131App State-18.4-9.7#115+8.7#112
122103131Bowling Green-18.8-15.9#130+2.9#79
123104131Colorado State-19.4-7.5#108+11.8#125
124104131Buffalo-19.7-14.9#128+4.8#91
125104131Kent State-19.8-5.4#98+14.4#132
126107131Louisiana-20.6-8.1#112+12.5#128
127106133Syracuse-20.9-14.2#126+6.6#102
128112133Akron-21.3-12.8#124+8.5#110
129115134Northern Illinois-22.4-14.7#127+7.7#108
130119134Oklahoma State-22.9-11.8#123+11.1#122
131128135UTEP-26.7-26.0#136+0.7#65
132128135Rice-26.8-19.8#132+7.0#105
133129136Ball State-27.9-21.9#133+6.0#97
134131136Sam Houston-30.3-15.1#129+15.3#133
135133136Charlotte-33.1-22.9#135+10.2#119
136136137Massachusetts-40.3-22.2#134+18.1#135

Four ways to measure a team, and where each fails

This site publishes all four. That is not indecision — each answers a different question, and where they disagree is the information, not the noise.

Results · Elo, SRS

Measures: who beat whom, and by how much

Fails when: It cannot tell a good team from a lucky one. Elo moves on outcomes, and a season is twelve of them — a team that won three one-score games is rated as though it earned all three.

Efficiency · CORE, SP+

Measures: how good each play was, adjusted for situation and opponent

Fails when: It is indifferent to winning. A team can be the most efficient in the country and lose to the second-most because a punt was blocked, and the rating will not notice, because the rating is not about that.

The market · closing spreads

Measures: everything anyone knows, priced

Fails when: It is not published as a rating and it has no memory. It is the sharpest number available on any single game and it will not tell you who the fourth-best team in the country is.

Human polls · AP, coaches

Measures: reputation, weighted by results

Fails when: Inertia and brand. A preseason ranking survives contact with reality for weeks, and a team that starts unranked has to be much better than one that started at 12 to pass it.

How CORE is computed

  1. Remove the situation. For each play, predict its EPA from the game state alone — period, seconds left, score margin, down, distance, field position, home/away/neutral, pass or rush. No team identity is in those features, so what the model learns is what an average offense does from that spot. The residual is the part the situation does not explain.
  2. Remove the opponent. Offenses and defenses form one connected network across a season. Fit both sides at once — residual ~ offense(team) + defense(opponent) — by ridge regression over team dummies. Ridge rather than plain least squares because in September the schedule graph is barely connected, and an unregularised fit hands a huge rating to whoever beat up an overmatched opener.
  3. Report in points per 100 plays. Offense is points created above average; defense is points allowed above average, so lower is better; overall is the difference.

Excluded: overtime, garbage time, FBS vs FCS, special teams, non-scrimmage plays.

How sure is any of this? The small range under each rank is where a team would sit if its rating were one standard error better, or worse, than the estimate — about a two-in-three chance of covering the truth. It is wide on purpose: a season is a dozen games, and most of this table is one good afternoon away from a different order. Those bars are checked rather than claimed: fitting 2025’s odd and even weeks separately and standardising every team’s difference by its own two errors gives a spread of 0.93 on offense and 0.94 on defense, where 1.00 is exactly right-sized. It covers sampling error only — not the shrinkage the ridge applies on purpose, and not a team that changed in November.

What this is not. Not a prediction, not a forecast, not a projection of next week. It is a measurement of what happened per play, adjusted. The model that forecasts games is a different object and lives on the model record, where its actual edge is stated with the same bluntness.