One game graded and the rankings did not change: Seattle rose 8.4 to 1683.0 and is still first, New England fell 8.4 to 1584.4 and is still sixth, and the other thirty numbers are untouched. What moved is the gaps — Seattle's lead over Buffalo from 58.7 to 67.1, New England's hold on sixth from 11.6 to 3.2. Since 2000, 905 of 7,017 games changed no rank at all, and three season openers did the same, 2025 among them. Tonight is different: San Francisco and the Rams in Melbourne are priced at .5789 on a neutral field, any Rams win makes them second, any 49ers win drops the Rams to fourth or fifth and lifts the 49ers three to five places, and the widest result rearranges eight rows. Priced both ways, before kickoff.
By C. B. Zakarian · Published September 10, 2026
This is the first rankings piece of the season with a real game in it, and its headline is that the rankings did not change. Seattle beat New England 13–10 on Wednesday, the pipeline graded the game overnight, and the power rankings page republished with Seattle at 1683.0 and New England at 1584.4 — up 8.4 and down 8.4 from the August 12 board. Seattle was first and is first. New England was sixth and is sixth. The other thirty numbers are the same to the tenth, because the other thirty teams have not played.
I want to be precise about why that is the right outcome and not a defect. The rankings page shows a dash in every row of its movement column this morning, and it will keep doing so until Monday night: movement on that page is measured against a snapshot frozen at the end of each fully graded week, never against yesterday's build, so that a site rebuilt twice in a day cannot manufacture an arrow. One game into a sixteen-game week there is no completed week to compare against. The numbers below are the movement the page refuses to draw, computed the only honest way — against the frozen opening board — and they are worth about as much as one game is worth.
The more useful question is what tonight can do, because it is a different kind of game. San Francisco and the Rams play in Melbourne at 20:35, on a neutral field, priced at .5789 for the Rams by the ledger, and unlike Wednesday every decided result moves the board: a one-point Rams win makes them second, a one-point 49ers win drops the Rams to fourth and lifts the 49ers three places, and the widest plausible outcomes rearrange eight of the thirty-two rows. All of it is priced below, both branches, before kickoff.
| # | Team | Aug 12 | Now | Change | Gap to next |
|---|---|---|---|---|---|
| 1 | Seattle | 1674.6 | 1683.0 | +8.4 | 67.1 (was 58.7) |
| 2 | Buffalo | 1615.9 | 1615.9 | · | 1.2 |
| 3 | Los Angeles Rams | 1614.7 | 1614.7 | · | 2.1 |
| 4 | Denver | 1612.6 | 1612.6 | · | 7.0 |
| 5 | Houston | 1605.6 | 1605.6 | · | 21.2 (was 12.8) |
| 6 | New England | 1592.8 | 1584.4 | −8.4 | 3.2 (was 11.6) |
| 7 | Philadelphia | 1581.2 | 1581.2 | · | 15.3 |
| 8 | Jacksonville | 1565.9 | 1565.9 | · | 2.0 |
| 9 | Detroit | 1563.9 | 1563.9 | · | 4.5 |
| 10 | San Francisco | 1559.4 | 1559.4 | · | 3.3 |
| 11 | Minnesota | 1556.1 | 1556.1 | · | 2.7 |
| 12 | Baltimore | 1553.4 | 1553.4 | · | 17.5 |
Three gaps changed and they are the whole story of the opener on this board. Seattle's lead over Buffalo went from 58.7 to 67.1, wider than the 58.7 it opened with, which the history below shows was already a bigger opening lead than all but three seasons in this file. The gap above New England, to Houston, widened from 12.8 to 21.2. And the gap below New England, to Philadelphia, shrank from 11.6 to 3.2 — the Patriots are still sixth, but sixth is now a coin flip with a lean, and a loss to Pittsburgh on September 20 would hand the spot to the Eagles regardless of what Philadelphia does.
Nothing else moved because nothing else could. The page draws its tier lines wherever adjacent teams sit 25 or more points apart, and there are two: below #1 at 67 points, and below #29 at 33. Both were there on August 12; the top one got wider. Elsewhere the board is a slope with almost no steps in it: thirteen of the thirty-one adjacent gaps are under five points, the median gap is 7.0, and the five tightest pairs — Cleveland over the Giants by 0.6, Atlanta over Indianapolis and Miami over Washington by 0.9 each, Buffalo over the Rams and Las Vegas over Tennessee by 1.2 — are the places where a single game will reorder rows without meaning anything at all.
nfl_elo.py.A rankings board on which a game changes nothing sounds like a board that is not paying attention. It is the opposite. Replay the engine over every played game in the file from 2000 through 2025 — 7,017 of them, leaving out 1999 because the engine starts that season with every team tied at 1505 — and count, after each one, how many of the thirty-two teams changed rank:
Openers specifically: of the 413 week-1 games since 2000, 36 changed no rank. Of the 26 games that opened a season, three changed nothing — 2005, 2017 and 2025, so this is the second year running that the first game of the season left the board where August put it — and the average season opener moves 3.6 rows, with a maximum of eight (2012 and 2019). By the end of a full week 1, on the other hand, the board is a different object: an average of 26.2 of the 32 ranks change between the August board and the Tuesday after the first Monday night game, never fewer than 22 and as many as 30. Fifteen of this week's sixteen games are still to come, and so is nearly all of that reordering.
And the top of the board is the sticky part. In 24 of those 26 seasons the team that entered week 1 ranked first was still first when the week was over; the exceptions were 2015 and 2021. Seattle entered this week with a 58.7-point lead, and only three seasons in the file opened with a wider one, the widest being 87.7 in 2005; the median opening lead is 25.2. The lead is now 67.1, and Buffalo, the only team that could close it this week, plays Sunday at Houston as a slight road underdog on the frozen board. The number one spot is not in play before September 20.
San Francisco at the Rams is the ledger's second row: a division game on a neutral field at the Melbourne Cricket Ground, Rams 1614.7 and third, 49ers 1559.4 and tenth, a gap of 55.3 points and no home edge, so p(Rams) = 1 / (1 + 10−55.3/400) = .5789. Had the file called this a Rams home game the price would be .6444; the neutral-site flag costs the favourite six and a half points of probability and is the reason this is the seventh most uncertain game on the sixteen-game board rather than the twelfth. The schedule file's line as of this morning's pull is Rams by 3.5 with moneylines of +164 and −198, which I quote as a snapshot rather than a close.
The update rule is the one priced for Wednesday, with two differences that both make tonight louder. The gap damper is 2.2 / (0.001 × 55.3 + 2.2) = 0.9755 against Wednesday's 0.9443, and the exchange rate between the branches is .5789 / .4211 = 1.375 against Wednesday's 2.111: the favourite is shorter, so it gains more for winning and the underdog gains less for the upset. A one-point Rams win is worth 5.69 rating points, more than Seattle's 4.21 would have been; a one-point 49ers win is worth 7.83.
| Margin | Rams win by it | LA (rank) | SF (rank) | 49ers win by it | LA (rank) | SF (rank) |
|---|---|---|---|---|---|---|
| 1 | +5.69 | 1620.4 (2) | 1553.7 (11) | −7.83 | 1606.9 (4) | 1567.2 (8) |
| 3 | +11.39 | 1626.1 (2) | 1548.0 (12) | −15.66 | 1599.1 (5) | 1575.1 (8) |
| 7 | +17.08 | 1631.8 (2) | 1542.3 (12) | −23.49 | 1591.2 (5) | 1582.9 (7) |
| 10 | +19.70 | 1634.4 (2) | 1539.7 (12) | −27.08 | 1587.6 (5) | 1586.5 (6) |
| 14 | +22.25 | 1637.0 (2) | 1537.2 (12) | −30.59 | 1584.1 (7) | 1590.0 (5) |
| 21 | +25.39 | 1640.1 (2) | 1534.0 (13) | −34.91 | 1579.8 (8) | 1594.3 (5) |
| 28 | +27.66 | 1642.4 (2) | 1531.7 (13) | −38.03 | 1576.7 (8) | 1597.4 (5) |
The rank column is where tonight differs from Wednesday. Any Rams win makes them second: a one-point win puts them at 1620.4, 4.5 clear of Buffalo's 1615.9, and no margin puts them anywhere else — the ceiling, at the file's record 59-point margin, is 1648.4, still 34.6 short of Seattle. The 49ers on the losing side fall to eleventh at one point (1553.7 is under Minnesota's 1556.1 and three tenths above Baltimore), twelfth at two, thirteenth at seventeen. So the smallest Rams win changes four rows of the board, a fourteen-point one five, and a 21-point one six.
A 49ers win is busier. The Rams drop to fourth at one point, below Denver and above Houston; to fifth at two; to seventh at fourteen, when they fall under New England's 1584.4; to eighth at nineteen, under Philadelphia. The 49ers rise to eighth at one point, having passed Jacksonville and Detroit; to seventh at six, past Philadelphia; to sixth at nine, past New England; and to fifth at eleven, when they pass the Rams themselves — a 49ers win by eleven or more inverts the two teams on the board, which is the kind of sentence the ranking will support and the rating will not, since at eleven the two are under a point apart. No 49ers win short of the record margin reaches Houston's 1605.6. A one-point 49ers win changes five rows; the most any result tonight can change is eight.
A tie — fifteen of them in the file since 1999 — costs the Rams 1.07 and moves neither rank. And the miss budget: tonight carries .4211 expected misses, the largest single share on the board after the six games priced closer to a coin flip, against the .3215 Wednesday carried and spent.
Ranks are ordinal and most of the gaps are noise. The rankings page says this itself: anything closer than 25 points is a coin flip with a lean. Tonight the Rams "passing" Buffalo means a rating 4.5 points higher, and the 49ers "passing" the Rams at eleven means less than one. I have reported the rank consequences because a rankings page is what people read, and I have put the ratings beside every one of them because the ratings are what the model uses.
The movement column is empty on purpose. The rankings page compares against the last fully graded week, and week 1 is one-sixteenth graded. The August-to-now changes on this page are the same comparison the page will draw on Tuesday, minus fifteen games.
Tonight is unplayed. Every figure in the last section is a pre-game price from the current ratings and the ledger's frozen .5789. The line quoted is the schedule file's number as of the September 10 pull, not a closing number.
The neutral-site treatment is the file's, not mine. The game log marks the Melbourne game Neutral, so the engine applies no home edge. Whether a Rams "home" game 8,000 miles from Inglewood deserves half an edge or none is a real question this model answers with a flag.
The history counts rank changes among 32 teams from 2000. The 1999 season is left out because the engine begins it with every team tied, and the first game of a tied board reorders it artificially. Relocated franchises are carried as one team throughout.
No rosters, no injuries, no quarterbacks. Every number here is a function of scores. The Rams and 49ers ratings are 2025's results plus a third of a regression and nothing that has happened since February.
The board is read from the frozen ledger at /data/predictions.json, which nfl_elo.py wrote after grading the opener, and cross-checked against the rendered power-rankings.html and the rankings state file that holds the August 31 opening snapshot. The history is a walk-forward replay of explainer_src/nfl_elo.py over the nflverse game log at /data/games.csv, recording the full 32-team rank order before and after every game. Tonight's prices apply the same engine's update rule to the current ratings. The harness is explainer_src/make_rankings_after_opener_chart.py; the rank-change count is three lines:
before = ranks_of(engine.r) # {team: rank}, ties broken alphabetically
engine.feed(game)
changed = sum(1 for t in before if ranks_of(engine.r)[t] != before[t])
# 2000-2025: 905 of 7,017 games -> 0 ; median 4 ; max 17 (2003_02_NE_PHI)
The script asserts the post-opener board (all 32 ratings, both moves, the unchanged order, every adjacent gap and both tier lines), the rankings page's rows and its empty movement column, the state file's single snapshot, the replay's reproduction of the frozen board, the zero-rank-change counts by category, the week-1 and top-spot history, and every rating, rank and crossover margin in tonight's table both ways: 129 assertions, all green as of September 10, 2026. The sixteen week-1 rows as pulled this morning are read from a dated snapshot saved by the companion harness, because the site's build republishes the June bundle over the served game file.
Sources: the nflverse public game log (games.csv, 1999–2025 results plus the 2026 schedule, with the opener graded and tonight's line as of the September 10 pull), bundled at /data/games.csv; this site's ledger and power-rankings generator, both published in full.
Want the code behind these metrics? Work through the 45-chapter NFL analytics tutorial.
Browse tutorials Free tools