A betting model is a systematic way to estimate the probability of match outcomes. When your probabilities differ from the bookmaker's, you have identified a potential value bet.
The Core Concept
Every bookmaker price implies a probability. Odds of 2.50 on a home win imply a 40% probability (1/2.50). If your model estimates 45%, you have found 5 percentage points of value. Over hundreds of bets, that edge compounds into profit.
Step 1: Collect Your Data
You need historical match data. For the Premier League, a full season gives you 380 matches. Key fields:
- Home team, away team
- Home goals, away goals
- Date (to weight recent form more heavily)
Free sources include football-data.co.uk, which provides CSV files for major leagues dating back over 20 years.
Step 2: Calculate Attack and Defence Ratings
For each team, calculate:
- Average goals scored at home and away
- Average goals conceded at home and away
- League average goals per game (home and away separately)
Then derive attack and defence strength:
- Attack strength = Team's goals scored / League average goals scored
- Defence strength = Team's goals conceded / League average goals conceded
Step 3: Apply the Poisson Distribution
The Poisson distribution predicts the probability of a given number of events (goals) occurring, given an average rate.
For a match between Team A (home) and Team B (away):
- Expected home goals = Home attack strength x Away defence strength x League average home goals
- Expected away goals = Away attack strength x Home defence strength x League average away goals
Use the Poisson formula to calculate the probability of each scoreline (0-0, 1-0, 0-1, 1-1, etc., up to 5-5).
Step 4: Derive Market Probabilities
From your scoreline matrix:
- Home win probability = Sum of all scorelines where home goals > away goals
- Draw probability = Sum of all scorelines where home goals = away goals
- Away win probability = Sum of all scorelines where away goals > home goals
- Over 2.5 goals = Sum of scorelines with 3+ total goals
- BTTS Yes = Sum of scorelines where both teams score at least 1
Step 5: Compare to Bookmaker Odds
Convert bookmaker odds to implied probabilities and compare:
- If your model says 45% and the bookmaker implies 40%, you have value
- If your model says 35% and the bookmaker implies 40%, skip the bet
Improving Your Model
Once your basic Poisson model is running, consider enhancements:
- Add xG data instead of actual goals (reduces noise from lucky/unlucky results)
- Include home advantage adjustment factors
- Account for team form trends and managerial changes
- Add player-level data for key absences