Key Takeaways: Game Simulation
One-Page Reference
Monte Carlo Fundamentals
Core Idea: - Generate many random scenarios - Aggregate results to estimate probabilities - Explore full distribution of outcomes
How Many Simulations? | N | Standard Error | |---|----------------| | 1,000 | ±1.6% | | 10,000 | ±0.5% | | 100,000 | ±0.16% |
Score-Based Simulation
Simple Model:
Home ~ N(μ_home + HFA, σ)
Away ~ N(μ_away, σ)
Parameters: - σ (score std): ~10 points - HFA: ~2.5 points - Score correlation: 0.10-0.15
Output: Distribution of final scores and margins
Drive-By-Drive Simulation
Drive Outcomes (League Average): | Outcome | Probability | |---------|-------------| | Touchdown | 22% | | Field Goal | 15% | | Punt | 38% | | Turnover | 12% | | Other | 13% |
Process: 1. Simulate drive outcome 2. Update score 3. Switch possession 4. Repeat until game ends
What Simulation Provides
Beyond Point Estimates: - Full probability distributions - Confidence intervals - Scenario probabilities - Path-dependent outcomes
Key Questions Answered: - P(home wins by 10+)? - P(total > 45)? - P(overtime)? - Expected score distribution
Season Simulation
Uses: - Playoff probability - Division title odds - Draft position estimates - Schedule strength impact
Process: 1. Simulate each game 2. Calculate standings 3. Determine playoffs 4. Repeat many times 5. Aggregate probabilities
Live Win Probability
Factors: - Current score - Time remaining - Possession - Field position
Method: 1. Set current game state 2. Simulate game to completion 3. Count home wins 4. Repeat many times
Validation Checklist
- [ ] Score distributions match historical
- [ ] Margin distributions match historical
- [ ] Close game frequency realistic
- [ ] Blowout frequency realistic
- [ ] Win probabilities calibrated
- [ ] Overtime frequency correct
Common Score Patterns
Most Common NFL Scores: 17, 24, 20, 27, 14, 10, 21, 13
Score Correlation: - High-scoring games: both teams elevated - Low-scoring games: both teams depressed - Typical correlation: ~0.1-0.15
Simulation Limitations
Does NOT Provide: - Better point estimates than models - Certainty about outcomes - Immunity to bad assumptions
Watch For: - False precision (more sims ≠ better model) - Assumption sensitivity - Over-interpretation
Practical Applications
| Application | Simulation Type |
|---|---|
| Win probability | Score-based |
| Game script | Drive-by-drive |
| Season outcomes | Season sim |
| Fantasy ranges | Score/player sim |
| Betting scenarios | Score-based |
Quick Implementation
# Basic game simulation
def simulate_game(home_mean, away_mean, n_sims=10000):
home_scores = np.random.normal(home_mean, 10, n_sims)
away_scores = np.random.normal(away_mean, 10, n_sims)
margins = home_scores - away_scores
home_win_prob = np.mean(margins > 0)
return {
'home_win_prob': home_win_prob,
'mean_margin': np.mean(margins),
'std_margin': np.std(margins)
}
Key Insight
Simulation reveals uncertainty. The goal isn't predicting exactly what will happen—it's mapping the landscape of what might happen and how likely each scenario is. Every probability comes with a distribution.