2025 season, 16 games in. Ratings and records refresh through the season; nothing here is a preseason guess. Preseason projections →
Best:
Indiana#1 nationally
Median and standing are by Elo rating, measured against every conference with at least four rated teams.
Big Ten in orange, the rest of the country in grey. Elo rating, all 136 teams.
Showing 18 of 136 teams in the Big Ten. Ranks stay national — #1 means first in the country, not first here.
Ranked teams the model likes more than the human poll.
2025 coverage: Elo 136/136 · SP+ 136/136 · FPI 136/136 · SRS 136/136 · CORE off/def 136/136 · schedule 136/136 · AP poll 49. Metrics with no teams yet this season are left out of the table rather than shown as a column of dashes.
Every rating here is bought in except CORE, which we build. How we build it →
Every other column on this page is bought in — Elo, SP+, FPI, SRS and the AP poll all arrive from CollegeFootballData. CORE is the exception. We build it here, from play-by-play, and it is published nowhere else.
It answers a narrower question than a power rating: how good is this team per play, once you remove the situations it happened to face and the opponents it happened to draw? Two teams can post identical yards per play when one of them ran its snaps at a three-score lead against the worst defenses on the schedule. That gap is most of the difference between the two numbers, and every raw per-play stat carries it.
So we remove both, in two stages. First the situation: each play’s expected value is predicted from game state alone — period, clock, score margin, down, distance, field position, home or away, pass or rush — with no team identity in the model at all, and what is left over is the part the situation does not explain. Then the opponent: offenses and defenses form one connected network over a season, so both sides are fitted at once by ridge regression rather than credited separately. Ridge specifically, because in September the schedule graph is barely connected and an unregularised fit hands a huge rating to whoever beat an overmatched opener.
Reported in points per 100 qualifying plays, above average. Offense is better when high, defense when low. Overtime, garbage time, FBS-vs-FCS games, special teams and non-scrimmage plays are all excluded.
⚠ CORE is a measurement, not a forecast. It says what a team has already done per play, adjusted. It does not say who wins next week — that is a separate model, and the two are kept as separate objects on purpose. Full method →

| 12‑29‑0 conf |
| Big Ten#2 |
| 2138 |
| D2O11 |
| #1113 gm |
| 42 up 2 places since last week | Oregon | 13‑28‑1 conf | Big Ten#3 | 2071 | D7O6 | #514 gm |
| 10 | Penn State | 7‑63‑6 conf | Big Ten#4 | 1954 | D39O30 | #2112 gm |
| 11 | Iowa | 9‑46‑3 conf | Big Ten#5 | 1937 | D16O47 | #2412 gm |
| 162 down 2 places since last week | USC | 9‑47‑2 conf | Big Ten#6 | 1871 | D42O7 | #3113 gm |
| 174 up 4 places since last week | Washington | 9‑45‑4 conf | Big Ten#7 | 1866 | D24O15 | #5212 gm |
| 221 down 1 places since last week | Michigan | 9‑47‑2 conf | Big Ten#8 | 1786 | D35O21 | #3213 gm |
| 472 up 2 places since last week | Illinois | 9‑45‑4 conf | Big Ten#9 | 1595 | D55O25 | #1512 gm |
| 555 up 5 places since last week | Northwestern | 7‑64‑5 conf | Big Ten#10 | 1574 | D69O68 | #5412 gm |
| 578 down 8 places since last week | Nebraska | 7‑64‑5 conf | Big Ten#11 | 1558 | D71O63 | #3612 gm |
| 661 up 1 places since last week | Minnesota | 8‑55‑4 conf | Big Ten#12 | 1516 | D82O105 | #4412 gm |
| 69 | Wisconsin | 4‑82‑7 conf | Big Ten#13 | 1502 | D29O119 | #612 gm |
| 74 | Rutgers | 5‑72‑7 conf | Big Ten#14 | 1469 | D131O26 | #1311 gm |
| 833 up 3 places since last week | Michigan State | 4‑81‑8 conf | Big Ten#15 | 1409 | D87O93 | #1811 gm |
| 862 up 2 places since last week | Maryland | 4‑81‑8 conf | Big Ten#16 | 1387 | D47O107 | #4911 gm |
| 991 up 1 places since last week | UCLA | 3‑93‑6 conf | Big Ten#17 | 1322 | D88O81 | #212 gm |
| 1131 up 1 places since last week | Purdue | 2‑100‑9 conf | Big Ten#18 | 1227 | D93O90 | #311 gm |
