In-Season Updates

2026 NFL Week 8 Power Rankings

Updated: Oct. 27, 2026 · Source: Spreadspoke Analyst data

THE SHORT ANSWER

The Seattle Seahawks retake No. 1 heading into Week 8 at 1681 ELO after a 20–3 win over Kansas City while Buffalo was on a bye. Buffalo (1665) slips to second, and Minnesota (1637) and Denver (1633) follow. Full table below.

Every week, Spreadspoke ranks every NFL team by ELO rating, a single number that rises with wins and falls with losses. How far it moves depends on the margin of victory and on how strong the opponent was. The league average is 1500.

NFL ELO power rankings (all 32 teams)

Ratings are before this week's games. Move is the change in rank from last week's rankings.

RankMoveTeamRecordELOWeek ±SeasonLast Game
1▲ 1Seattle Seahawks4–31681+17−11W 20–3 vs KC
2▼ 1Buffalo Bills5–11665–▲ +42Bye
3▲ 1Minnesota Vikings6–01637+5▲ +80W 16–10 vs IND
4▲ 1Denver Broncos5–21633+14+15W 30–16 @ ARI
5▼ 2San Francisco 49ers6–11626▼ −35▲ +61L 20–29 @ ATL
6▲ 1Jacksonville Jaguars4–21602–▲ +36Bye
7▼ 1New England Patriots4–31598−19−4L 24–30 @ CHI
8▲ 1Los Angeles Rams3–41586+19▼ −36W 35–21 @ LVR
9▲ 3Chicago Bears5–21576+20▲ +47W 30–24 vs NE
10–Detroit Lions4–21571+10+4W 20–17 vs GB
11▲ 5Cincinnati Bengals4–21565▲ +42▲ +87W 35–13 @ BAL
12▼ 4Kansas City Chiefs5–11565−16▲ +73L 3–20 @ SEA
13▲ 1Pittsburgh Steelers5–21553+12▲ +43W 16–10 @ NO
14▲ 1Green Bay Packers4–31524−10−9L 17–20 @ DET
15▼ 2Houston Texans2–51518▼ −33▼ −101L 21–27 vs NYG
16▼ 5Baltimore Ravens4–31517▼ −43▼ −36L 13–35 vs CIN
17▲ 3Atlanta Falcons3–41478▲ +35+15W 29–20 vs SF
18▲ 4Tampa Bay Buccaneers2–51470▲ +50−6W 43–13 @ CAR
19▲ 2Dallas Cowboys3–41466▲ +41+16W 38–21 @ PHI
20▼ 1Cleveland Browns5–21454+10▲ +45W 27–24 @ TEN
21▼ 4Philadelphia Eagles2–51448▼ −41▼ −121L 21–38 vs DAL
22▲ 2New York Giants4–2–11446▲ +33▲ +37W 27–21 @ HOU
23▼ 5Carolina Panthers3–31436▼ −50+23L 13–43 vs TB
24▲ 1Washington Commanders1–4–11411–▼ −46Bye
25▼ 2Indianapolis Colts2–51408−6▼ −49L 10–16 @ MIN
26▲ 1Los Angeles Chargers0–61405–▼ −123Bye
27▼ 1New Orleans Saints2–51396−12▼ −26L 10–16 vs PIT
28–Las Vegas Raiders3–41385−19▲ +56L 21–35 vs LAR
29▲ 1Miami Dolphins1–51381+16▼ −70W 28–25 @ NYJ
30▼ 1Arizona Cardinals2–51366−13−8L 16–30 vs DEN
31–New York Jets2–51343−16+5L 25–28 vs MIA
32–Tennessee Titans1–61288−10▼ −41L 24–27 vs CLE

Ratings are whole numbers; teams with the same rating are listed alphabetically.

Who has moved most since Week 1

ELO points gained or lost since the start of the season.

BengalsCincinnati Bengals: +87 ELO since Week 1+87VikingsMinnesota Vikings: +80 ELO since Week 1+80ChiefsKansas City Chiefs: +73 ELO since Week 1+7349ersSan Francisco 49ers: +61 ELO since Week 1+61RaidersLas Vegas Raiders: +56 ELO since Week 1+56BearsChicago Bears: +47 ELO since Week 1+47BrownsCleveland Browns: +45 ELO since Week 1+45SteelersPittsburgh Steelers: +43 ELO since Week 1+43BillsBuffalo Bills: +42 ELO since Week 1+42GiantsNew York Giants: +37 ELO since Week 1+37JaguarsJacksonville Jaguars: +36 ELO since Week 1+36PanthersCarolina Panthers: +23 ELO since Week 1+23CowboysDallas Cowboys: +16 ELO since Week 1+16BroncosDenver Broncos: +15 ELO since Week 1+15FalconsAtlanta Falcons: +15 ELO since Week 1+15JetsNew York Jets: +5 ELO since Week 1+5LionsDetroit Lions: +4 ELO since Week 1+4PatriotsNew England Patriots: −4 ELO since Week 1−4BuccaneersTampa Bay Buccaneers: −6 ELO since Week 1−6CardinalsArizona Cardinals: −8 ELO since Week 1−8PackersGreen Bay Packers: −9 ELO since Week 1−9SeahawksSeattle Seahawks: −11 ELO since Week 1−11SaintsNew Orleans Saints: −26 ELO since Week 1−26RamsLos Angeles Rams: −36 ELO since Week 1−36RavensBaltimore Ravens: −36 ELO since Week 1−36TitansTennessee Titans: −41 ELO since Week 1−41CommandersWashington Commanders: −46 ELO since Week 1−46ColtsIndianapolis Colts: −49 ELO since Week 1−49DolphinsMiami Dolphins: −70 ELO since Week 1−70TexansHouston Texans: −101 ELO since Week 1−101EaglesPhiladelphia Eagles: −121 ELO since Week 1−121ChargersLos Angeles Chargers: −123 ELO since Week 1−123

Sample code: build the rankings yourself

The rankings come from spreadspoke_enhanced.csv, which carries pre-game and post-game ELO for both teams in every game.

import pandas as pd

# Spreadspoke enhanced game file: one row per game, 1966 to present
games = pd.read_csv("spreadspoke_enhanced.csv", low_memory=False)

# 2026 regular season through Week 7
season = games[games["schedule_season"] == 2026].copy()
season["week"] = season["schedule_week_str"].astype(int)
season = season[season["week"] <= 7]

# Stack home and away sides into one row per team per game
home = season[["week", "home_team_id", "elo_home_pre", "elo_home_post"]]
home.columns = ["week", "team", "elo_pre", "elo_post"]
away = season[["week", "away_team_id", "elo_away_pre", "elo_away_post"]]
away.columns = ["week", "team", "elo_pre", "elo_post"]
teams = pd.concat([home, away], ignore_index=True)

# Each team's latest game (teams on a Week 7 bye keep their Week 6 rating)
latest = teams.sort_values("week").groupby("team").tail(1)

# Rank 1 to 32 on current ELO
latest = latest.sort_values("elo_post", ascending=False).reset_index(drop=True)
latest.index += 1
print(latest[["team", "week", "elo_post"]])

The ELO update behind each post-game number uses K = 20, a 65-point home-field edge (none at neutral sites) and a margin-of-victory multiplier. Here it is as a function you can run on any game:

import math

def elo_update(home_elo, away_elo, home_pts, away_pts, neutral=False, k=20, hfa=65):
    diff = home_elo - away_elo + (0 if neutral else hfa)
    p_home = 1 / (1 + 10 ** (-diff / 400))           # home win probability
    result = 1 if home_pts > away_pts else 0 if home_pts < away_pts else 0.5
    winner_diff = diff if result == 1 else -diff
    mov_mult = math.log(abs(home_pts - away_pts) + 1) * 2.2 / (winner_diff * 0.001 + 2.2)
    shift = k * mov_mult * (result - p_home)
    return home_elo + shift, away_elo - shift

# Week 7: Carolina Panthers lost to Tampa Bay Buccaneers 13-43
print(elo_update(1486, 1420, 13, 43))   # (1436.3, 1469.7)

GET THE DATA

The file behind these rankings is included in the Spreadspoke ANALYST package. It includes historical data for every NFL game since 1966—including scores, closing spreads, weather, and pre- and post-game ELO ratings.

See ANALYST pricing →

Frequently Asked Questions

What is a good ELO rating?

ELO centers around 1500 for an average team. Strong playoff-caliber teams sit above 1600; rebuilding teams fall below 1400. The gap between two teams maps to an expected point spread.

Methodology

All figures are computed from the Spreadspoke Analyst data package: spreadspoke_enhanced.csv (results with pre- and post-game ELO: elo_home_pre, elo_home_post, etc.) and nfl_elo_handicapping_master.csv (ELO, closing spreads and model edge per game). Coverage is all 107 regular-season games from Weeks 1–7 of 2026; Bills, Chargers, Commanders, and Jaguars were on a bye in Week 7 and keep their Week 6 rating. The model uses K = 20, a 65-point home-field advantage (none at neutral sites, such as Pittsburgh vs. New Orleans at Stade de France in Week 7) and a margin-of-victory multiplier. League average is 1500. This page is published weekly while games are played.

Explore: Power Rankings Tracker · ATS Standings · Over/Under Records · All 32 Teams