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,234 plays across 758 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-10+0+10+20-20+0+20CORE offense (points per 100 plays)← worsebetter →CORE defense (vs average)← worsebetter →
128 teams · dashed lines mark the league medianr = -0.30(r² = 0.09)

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
113Clemson+38.0+18.4#3-19.6#3
213Alabama+35.0+9.3#20-25.6#1
339Oklahoma+26.2+12.6#14-13.7#6
439Ohio State+26.0+11.0#17-15.0#4
5314Ole Miss+24.0+14.3#12-9.8#20
6318Baylor+22.5+18.0#4-4.5#40
7318LSU+22.4+12.5#15-9.9#19
8321Notre Dame+20.9+17.1#6-3.8#44
9423Florida State+20.3+9.3#21-11.1#14
10423Michigan+20.2+7.1#29-13.1#7
11526Stanford+19.3+15.7#10-3.6#45
12527Mississippi State+18.8+11.3#16-7.5#28
13529Arkansas+18.4+20.4#1+1.9#79
14529North Carolina+18.3+16.5#8-1.8#52
15629USC+17.9+10.6#18-7.3#29
16630Tennessee+17.2+8.9#22-8.3#24
17630Western Kentucky+17.1+19.0#2+1.9#78
18832Bowling Green+16.6+16.8#7+0.2#69
19836Georgia+16.1+4.4#43-11.7#10
20837Toledo+15.7+6.3#33-9.3#22
21937Washington+15.1+3.6#46-11.5#11
22938West Virginia+14.8+3.1#49-11.7#9
231138Oregon+14.2+16.3#9+2.1#81
241140Wisconsin+14.1+1.1#59-12.9#8
251140California+14.0+17.3#5+3.3#84
261244TCU+13.5+8.1#25-5.4#34
271247App State+13.0+5.7#36-7.3#30
281347Navy+12.7+14.1#13+1.5#76
291648UCLA+12.0+7.4#28-4.5#39
301852Iowa+11.4+6.6#31-4.8#38
311752South Florida+11.4+5.1#40-6.3#32
321853San Diego State+11.2+0.9#63-10.3#15
331952Michigan State+11.1+2.8#51-8.3#25
341855Louisiana Tech+10.8+7.9#27-2.9#48
352055Florida+10.3-1.1#68-11.5#12
362155Southern Miss+10.0+8.3#23-1.7#57
372257Louisville+9.3+4.4#44-4.8#37
382558Temple+8.6-1.6#72-10.2#17
392361Boise State+8.5+1.0#61-7.5#27
402661Auburn+8.3+2.5#54-5.9#33
412661Washington State+8.2+6.5#32-1.8#53
422662Houston+8.0+5.2#39-2.8#49
432662Utah+8.0-2.2#76-10.2#16
442663NC State+7.8+4.7#42-3.1#46
452765Georgia Southern+7.3+6.0#34-1.4#61
462865BYU+7.1+3.0#50-4.1#41
472967Oklahoma State+6.8+5.3#38-1.4#59
483069Memphis+6.0+5.5#37-0.5#65
493069Texas A&M+6.0-3.3#81-9.2#23
503069Cincinnati+5.9+8.3#24+2.4#82
513269Nebraska+5.8+5.9#35+0.1#68
523369Penn State+5.6-1.1#69-6.7#31
533471Pittsburgh+5.3+3.8#45-1.5#58
543472Western Michigan+5.0+10.5#19+5.5#92
553574Georgia Tech+4.3+1.9#57-2.5#50
563774Marshall+4.0-3.9#84-7.8#26
573874Arizona State+3.6+2.7#52-0.9#63
584175Indiana+3.0+8.1#26+5.1#90
593977Air Force+2.9+3.3#47+0.4#70
604077Minnesota+2.8+1.1#60-1.7#54
614077Illinois+2.5-6.8#101-9.4#21
624477Northwestern+2.2-12.7#113-14.9#5
634482Boston College+1.8-19.8#126-21.6#2
644681East Carolina+1.6+0.1#66-1.4#60
654782Utah State+1.1-1.8#73-3.0#47
664782Middle Tennessee+1.1+4.8#41+3.7#86
674883Texas+1.0-2.9#79-3.9#43
684885Miami+0.5+2.5#53+2.0#80
695287Virginia Tech-0.1-1.3#71-1.2#62
705386Arizona-0.1+7.0#30+7.1#98
715588Central Michigan-0.9-0.3#67+0.6#71
725588Texas Tech-1.1+14.8#11+15.9#123
735788Northern Illinois-1.6-5.5#92-3.9#42
745791Akron-2.1-7.3#103-5.3#36
755892Arkansas State-2.6-3.3#82-0.7#64
765893Iowa State-2.6+0.6#64+3.2#83
776293Colorado-3.5-3.6#83-0.0#67
786393UConn-3.7-9.0#108-5.3#35
796393Vanderbilt-3.9-15.1#118-11.2#13
806393Maryland-3.9-5.6#93-1.7#56
816594San José State-4.2+0.9#62+5.2#91
826796Ohio-4.7-6.5#100-1.8#51
836896Virginia-5.2+0.3#65+5.5#93
846896South Carolina-5.2+1.6#58+6.8#97
856997Missouri-5.7-15.6#120-10.0#18
866997Buffalo-5.7-4.3#88+1.4#75
877197Duke-5.9-5.1#91+0.9#73
8874101Georgia State-7.4-6.2#96+1.3#74
8974101Colorado State-7.5+2.2#56+9.7#108
9075100Tulsa-7.6+3.1#48+10.7#115
9174102Troy-8.1-1.8#74+6.2#95
9275102Kentucky-8.4-4.0#85+4.4#87
9379105Syracuse-9.8-2.5#78+7.3#100
9482105Kansas State-10.3-2.1#75+8.2#104
9581107Army-10.4-4.3#87+6.1#94
9686107Florida Atlantic-11.2-10.5#110+0.7#72
9786110Rutgers-11.8+2.2#55+14.0#120
9888110Nevada-12.2-4.2#86+8.0#102
9988112Oregon State-12.3-2.3#77+10.1#110
10089112Massachusetts-13.0-8.3#106+4.7#89
10191114Wake Forest-13.8-14.2#115-0.3#66
10293115Miami (OH)-14.5-12.8#114+1.7#77
10393115Purdue-15.4-6.3#98+9.1#105
10494116UNLV-15.8-4.4#89+11.4#118
10594116Wyoming-16.1-4.9#90+11.3#116
10696116Old Dominion-16.4-6.0#95+10.4#113
10797116UTSA-16.9-12.3#112+4.6#88
10897117New Mexico-17.1-7.1#102+10.1#111
10997118Louisiana-17.2-7.9#104+9.3#106
11099119South Alabama-18.2-10.5#109+7.8#101
111100119SMU-18.5-3.2#80+15.2#122
112100121Florida International-19.0-8.5#107+10.5#114
113100122Rice-19.3-1.2#70+18.1#126
114101123Kent State-20.0-21.7#128-1.7#55
115104127UL Monroe-21.2-17.6#124+3.6#85
116107128Tulane-22.6-15.5#119+7.2#99
117107128Ball State-22.8-8.0#105+14.7#121
118108128Idaho-23.2-6.4#99+16.8#124
119112128Fresno State-24.9-16.8#121+8.1#103
120112128North Texas-25.1-14.8#116+10.3#112
121114128Eastern Michigan-25.6-6.2#97+19.4#127
122115129UTEP-26.4-15.1#117+11.3#117
123115129Charlotte-26.6-20.3#127+6.4#96
124115129Hawai'i-26.8-17.1#122+9.7#109
125115129New Mexico State-26.9-5.9#94+20.9#128
126115129UCF-26.9-17.4#123+9.5#107
127116129Texas State-28.5-10.9#111+17.6#125
128121129Kansas-31.6-19.0#125+12.7#119

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.