The weekly run
After the last game of each week, a script downloads the season schedule and results from the nflverse data releases, replays every game since 1999 to build Elo, fits the season-to-date Massey and Markov ratings, and rebuilds the site. The current board reflects 47 games of the 2026 season, through 2026-09-27.
Elo
Elo answers “how strong is this team right now?” and remembers the past. Each team carries one number; the expected result of a game depends on the difference, with 65 points added for the home team:
After the game the ratings move by with K = 20 and a margin-of-victory multiplier
Here dwinner is the winner’s pregame edge including home field, with its sign: when a favorite wins, the edge is positive and the multiplier shrinks; when an underdog wins, it is negative and the multiplier grows. That asymmetry keeps strong teams from gaining rating simply by beating weak ones by large margins. Between seasons every rating moves one third of the way back to 1505. Dividing an Elo difference by 25 converts it to an approximate point spread. The constants follow FiveThirtyEight’s published NFL model; the backtest shows how they have performed.
Massey (least squares)
Massey answers “how many points better than average has this team played this season?” Every game becomes one equation, home rating minus away rating plus a home-field term equals the margin, and the system is solved by least squares:
Margins are capped at 28 points so one blowout cannot dominate. With only a few weeks played the plain system is unstable, so a ridge penalty (λ = 2) pulls each team toward its preseason Elo expressed in points. The pull matters less every week as games accumulate. The fitted home-field term this season is 0.35 points.
Markov chain
The Markov rating answers “who beat the teams that beat everyone else?” Picture a fan who switches allegiance after every game: from a loser to the team that beat it, with a stronger pull after a bigger win. The share of time the fan spends on each team, over a long walk, is its rating:
For a game won by margin m, the walker moves from loser to winner with weight and back with weight 1 − w. The damping α = 0.15 lets the walker jump to any team with a small probability, which keeps a team whose wins all came by 21 points or more, and therefore send nothing back, from trapping the walk. The shares are rescaled so that 1.00 is the league average. The Markov ratings guide covers the continuous-time version of the idea, and the explainer animates the walk.
Next-game win probability
The win probability shown for each team’s next game comes from the Elo difference plus home field, using the expected-score formula above. It is a pregame number and does not update during games; the win probability calculator handles live game states.
Change log
- 2026 season: ratings published weekly with the constants on this page.
Frequently asked questions
How often are the NFL ratings updated?
After every week of the season. The update runs once the last game of the week is in the nflverse data, usually on Tuesday, and again on Friday to pick up Thursday night games.
Why do Elo and the Markov chain rank some teams so differently?
Elo carries last season forward, pulled one third of the way back to average, so early in a season it still reflects the previous year. The Markov rating sees only the current season and rewards wins over teams that themselves win.
What does a Massey rating of +5.0 mean?
That the team has played about five points better than an average team on a neutral field this season, after adjusting for the strength of its opponents. Margins are capped at 28 points before fitting.
Why is home field worth 65 Elo points?
It is the value in FiveThirtyEight’s published NFL model, about 2.6 points on the scoreboard. Home teams have won a smaller share of games in recent seasons, which the backtest page shows season by season.