Football Sensei Logo
Football
Sensei

Methodology: How I Calculate Odds and Projections

1. Team Strength: The Elo Rating System

The first step in my process is to assign a score to each team representing it's relative strength. For this I use the Elo rating system, a method originally developed for chess players, adapted here for NFL teams. Each team's Elo rating changes throughout the season based on game outcomes.

Initial Elo for a New Season:

  • A team's Elo from the end of the previous season is partially regressed towards the league average. This accounts for year-to-year fluctuations and roster changes.
  • I also calculate a market-implied Elo from pre-season Vegas odds on team win totals. I then combine the market-based Elo and the regressed Elo from last season to set the initial Elo for each team.

Updating Elo After Each Game (Completed Games):

  • Before a game, I calculate the expected outcome based on the Elo ratings of the two teams, including an adjustment for home-field advantage. A higher-rated team is expected to win more often.
  • After a completed game, team Elos are updated. Winning teams gain Elo points, and losing teams lose them.
  • The magnitude of the change depends on the game's outcome relative to the expectation:
    • Upset wins (a lower-rated team beating a higher-rated one) result in larger Elo swings.
    • Expected wins (a higher-rated team beating a lower-rated one) result in smaller changes.
    • Ties also result in an adjustment, typically benefiting the lower-rated team slightly.
  • A K-factor determines how sensitive the Elo ratings are to recent results.

This dynamic Elo rating provides a constantly updated measure of each team's current strength based on actual game results. I do not factor in things like in-season injuries, trades, or weather.

2. Simulating the Season: The Monte Carlo Method

Once I have each team's current Elo rating and the schedule of remaining games, I use a Monte Carlo simulation to project the rest of the season. This involves:

Simulating Individual Future Games:

For each unplayed game in the schedule:

  • I calculate the home team's win probability using the current Elo ratings of both teams (including home-field advantage).
    Win Probability (Home)
    Phome=11+10(Ehome+HFA)EawaySP_{\text{home}} = \frac{1}{1 + 10^{-\frac{(E_{\text{home}} + \mathrm{HFA}) - E_{\text{away}}}{S}}}
    Where EhomeE_{\text{home}} and EawayE_{\text{away}} are Elo ratings; HFA\mathrm{HFA} is home-field advantage (≈ 55 Elo); and SS is the Elo scaling parameter (commonly 400).
    Example

    Let's say the Broncos have Elo 1600 and the Raiders have Elo 1400, and it’s a home game for Denver. I use a home‑field advantage of HFA = 55 Elo, which effectively boosts the home team’s Elo by 55 points for this calculation.

    Step‑by‑step
    • 1600+55=16551600 + 55 = 1655 adjusted home Elo
    • 16551400=2551655 - 1400 = 255 rating difference
    • S=400S = 400 (typical)
    • 255/S=0.6375-255 / S = -0.6375 exponent
    • 100.63750.23010^{-0.6375} \approx 0.230
    Win probability
    Phome=11+0.2300.813P_{\text{home}} = \dfrac{1}{1 + 0.230} \approx 0.813
    81.3% chance that the Broncos win.
  • Then I generate a random number between 0-1. If it's below the home team's win probability, the home team is marked as the winner for that simulated game. Otherwise, the away team wins.

Repeating Many Times:

I simulate the entire remaining schedule in this way to create one simulated season. I then repeat this process 5 million times. Each of these 5 million run-throughs of the remaining schedule provides a complete, unique potential outcome for the season.

3. Aggregating Results and Calculating Probabilities

After generating 5 million simulated season outcomes, I analyze the results:

  • Win-Loss Records & Standings: For each of the 5 million simulated seasons, I tally the final records for every team. These records are based on actual past results combined with the outcomes from the simulated future games.
  • Playoff Qualification: Based on the simulated standings and NFL tie-breaking rules (including head-to-head results, divisional and conference records, strength of victory, and strength of schedule derived from the simulated games), I determine which teams make the playoffs for each simulated season.
  • Conference Winners: I identify the top seed in each conference in each simulation.
  • Draft Order: In each simulation, I determine the draft order for all of the teams that missed the playoffs. I then apply first round draft pick trades, and tally up how often a team gets the first overall pick or a top 5 pick.

By counting how many times each event occurs across all 5 million simulations, I can calculate probabilities:

  • Playoff Odds: If a team makes the playoffs in 3 million out of 5 million simulations, their playoff odds are 60%.
  • Conference Winner Odds: Calculated similarly based on how often a team secures the #1 seed.
  • Draft Pick Odds (#1, Top 5, etc.): Based on how often the current owner of a pick lands in those draft slots.

4. Game Impact Analysis ("Who to Root For")

To determine how a specific upcoming game impacts a team's chances for various outcomes (like making the playoffs or getting the #1 pick), I downselect the 5 million simulations to only those where the home team won the game in question, and calculate the fraction of simulations where the target team makes the playoffs. Then I repeat this for the away team winning. The difference in these two probabilities shows how much that game's outcome impacts the target team's chances.

  • Baseline: I first note the team's probability for an outcome (e.g., playoff odds) based on all 5 million simulations.
  • Conditional Probabilities: I identify the subset of simulations where Team A wins a particular upcoming game. Within this subset, I calculate the target team's outcome probability (e.g., playoff odds if Team A wins). I do the same for the subset of simulations where Team B (Team A's opponent) wins that game.
  • Impact (Delta): The difference in probabilities between these scenarios shows how much that game's outcome "swings" the target team's chances. The "Root For" suggestion points to the game outcome (Team A winning or Team B winning) that most benefits the team you are viewing for a selected projection (e.g., making the playoffs).