01 · The ratings
Two teams, two numbers: Atlanta 1461.1 at home, Carolina 1405.4 on the road.
Every NFL team carries one Elo number, updated after each game it plays. Going into week 2 of the 2026 season, the Atlanta Falcons stood at 1461.1 and the Carolina Panthers at 1405.4, shown here to one decimal while the calculation uses four. The numbers mean little on their own; only the gap between two teams matters, and here it is 55.7 points in Atlanta's favour.
02 · Home field
Home field adds 65 points, so Atlanta starts with a 120.7-point edge.
Playing at home is worth something, and this model prices it at 65 Elo points, the same value FiveThirtyEight used. The points are added to the home team for this one calculation only; they are not kept afterwards. Atlanta's effective rating becomes 1526.1, and its edge over Carolina grows from 55.7 to 120.7 points.
03 · Expectation
The edge becomes an expected score: Atlanta should win 67 percent of the time.
Elo turns a rating gap into an expected score with a logistic curve: one divided by one plus ten to the power of minus the edge over 400. An edge of 120.7 gives Atlanta 0.6671, which reads as winning about 67 percent of games like this one. Carolina's expectation is the rest, 0.3329. A tie would count as half a win for each side.
04 · The result
The result: Carolina wins 34–3, a 31-point upset of the expectation.
Carolina won 34–3 in Atlanta. For Elo the result is a score between zero and one: a win counts 1, a tie 0.5, a loss 0. So Carolina scores 1 and Atlanta 0. The winning margin, 31 points, is kept for later, because this version of Elo also cares how convincing a win was, not only who won it.
05 · Surprise
Surprise is actual minus expected: for Carolina, 1 − 0.3329 = +0.6671.
Every Elo update starts from surprise: the actual score minus the expected one. Carolina was expected to collect 0.3329 and collected 1, a surprise of +0.6671. Atlanta's surprise is the mirror image, −0.6671. A favourite that wins as expected moves very little; an underdog that wins moves a lot, and an upset like this one moves the ratings most.
06 · The multiplier
Carolina won as the underdog, so the multiplier grows: a 31-point margin makes it 3.667.
A blowout says more than a one-score game, so the update is multiplied by ln(margin + 1): ln(32) = 3.4657. FiveThirtyEight's formula then scales it by 2.2 / (0.001 × edge + 2.2), using the winner's own pregame edge. Carolina's edge was −120.7, which gives 1.0581 and a multiplier of 3.667. Had Atlanta won by 31, the same term would have cut it to 3.29, which stops favourites from piling up points.
07 · The margin term · what breaks without it
Without the margin term, Carolina would gain only 13.3 points, not 48.9.
Remove the margin term and the update is just K times surprise: 20 × 0.6671 = 13.3 points. Carolina would gain 13.3 whether it won by 1 or by 31, and a rating would need many more games to catch up with a team that is clearly better or worse than its number. The multiplier is why one game moved these ratings by 48.9.
08 · The update
New ratings: Carolina 1454.3, Atlanta 1412.2. The pair still sums to 2866.5.
The shift is K × multiplier × surprise: 20 × 3.667 × 0.6671 = 48.9 points. Carolina adds them and rises to 1454.3; Atlanta loses exactly the same amount and falls to 1412.2. Elo never creates or destroys points in a game, so the two ratings still add up to 2866.5, as they did before kickoff.
09 · Against the published numbers · the check
Checked against the published ratings: expected score, multiplier and shift all match to the last digit.
Run from the same four-decimal ratings, this page reproduces the published update exactly: an expected score of 0.667087, a multiplier of 3.666988 and a shift of 48.924 points, each at the precision the ratings table publishes. The only inputs are the two stored pregame ratings, the venue and the final score, so anyone can repeat the calculation with the formulas above.
Frequently asked questions
What does an Elo rating of 1461.1 mean on its own?
Very little. An Elo number only carries meaning next to another team's number, because the expected score depends on the gap between the two ratings, not on either value alone. In this game Atlanta stood at 1461.1 and Carolina at 1405.4, a gap of 55.7 points before home field was added. The calculation runs on ratings stored to four decimals and shows them to one decimal.
Why does the home team get 65 extra Elo points?
Playing at home is worth something, and this model prices it with a fixed bonus of 65 Elo points, the same value FiveThirtyEight's NFL model used. The bonus is added to the home team inside the expected-score calculation only and is never stored in the rating afterwards. For Atlanta it turned a 55.7-point rating gap into a 120.7-point edge over Carolina.
How does Elo turn a rating gap into an expected score?
It uses a logistic curve: the expected score is 1 divided by (1 + 10 to the power of minus the edge divided by 400). With Atlanta's edge of 120.7 points, home field included, the result is 0.6671, so Atlanta would be expected to win about 67 percent of games like this one. Carolina's expected score is the remainder, 0.3329, and the two always add up to 1.
Why does the margin of victory change how far ratings move?
A blowout says more about two teams than a one-score game, so the update is multiplied by ln(margin + 1), which is 3.4657 for a 31-point win. That term is then scaled by 2.2 / (0.001 × edge + 2.2), using the winner's pregame edge. Carolina won as a 120.7-point underdog, so the multiplier rose to 3.667. Without any margin term Carolina would have gained 13.3 points instead of 48.9.
Are Elo points created or lost in a game?
No. Whatever the winner gains, the loser gives up. Here the shift was 20 × 3.667 × 0.6671 = 48.9 points: Carolina rose from 1405.4 to 1454.3 and Atlanta fell from 1461.1 to 1412.2. The two ratings add up to 2866.5 both before kickoff and after the game. Against the published ratings, the expected score of 0.667087, the multiplier of 3.666988 and the shift of 48.924 all match exactly.