Elo Rating System Details
The Elo rating system is a way to calculate relative team strength based purely on their win/loss record. The essence of the system is that every team has a rating, the rating difference between two teams gives an expected win probability, and the ratings move after the game based on whether the result was better or worse than expected.
The system is named after Arpad Elo, a Hungarian-American physicist and chess player who developed it for chess ratings. It works well for any head-to-head matchup competition and is routinely used in many competitive board games, video games, and sports leagues.
1. Expected Win Probability
The first step is to calculate the win probability before the game starts. If two teams have the same Elo rating on a neutral field, each team has a 50% chance of winning. If one team has a higher Elo, that team is expected to win more often.
NFL games are usually not neutral-site games, so I add a home-field advantage adjustment to the home team's Elo before calculating the probability.
2. Updating Elo After a Game
After the game, each team's Elo changes based on the difference between the actual result and the expected result. A win counts as 1, a tie counts as 0.5, and a loss counts as 0.
The winner gains exactly as many Elo points as the loser gives up. The margin of victory does not matter in this implementation. A one-point upset and a three-touchdown upset cause the same Elo movement for a given matchup.
3. Fresh Season Example: 2022
The simulation database starts with the 2022 NFL season. Every team starts with an Elo of 1500 at the beginning of the 2022 season.
The first regular-season game in the stored 2022 data is Buffalo at the Los Angeles Rams on September 8, 2022. Since both teams start at 1500, the only pregame difference is home-field advantage for the Rams.
Buffalo won that game 31-10. Since the Rams were expected to win 57.85% of the time but actually lost, the Rams lose Elo and the Bills gain Elo.
A tie moves the ratings differently. Indianapolis at Houston in Week 1 of 2022 ended 20-20. Houston was at home, so the Texans had the same 57.85% pregame expectation. A tie is worse than expected for the home team and better than expected for the road team.
4. Carrying Elo Into Later Seasons
After the first stored season, the model does not reset every team back to 1500. Instead, each team's final Elo from the previous season is regressed slightly towards the league average before the new season starts to account for offseason changes.
For example, if a team finished the previous season at 1605 Elo, its next starting rating would be:
If a team finished at 1395 Elo, it would also move one-third of the way back toward 1500:
From there, completed games are processed chronologically using the same win-probability and update formulas above. Once the Elo ratings are current, the main methodology page explains how I use betting markets and Monte Carlo simulations to turn those ratings into playoff, draft, and game-impact probabilities.


