EPL Projection Model
How Fairline's Premier League model works: a Dixon-Coles adjusted Poisson framework with the tau draw correction, venue-split goal rates, recent form, and the markets it prices.
Updated Sep 2026 · Part of the models series
Statistical estimates, not betting advice. Past results do not predict future results. 21+. Call or text 1-800-MY-RESET (1-800-697-3738).
Why does the model use Dixon-Coles instead of plain Poisson?
Football (soccer) has a fundamental modeling challenge that standard Poisson doesn't handle well: low-scoring outcomes are correlated. In a 0-0 or 1-1 game, both teams' goal counts reflect the same underlying match conditions (defensive tactics, poor pitch, weather) suppressing both sides at once. Standard Poisson treats the two teams' scores as independent draws, and that assumption systematically underestimates the probability of draws.
The Dixon-Coles model (1997) fixes this by adding a tau correction that adjusts exactly four cells in the score matrix (the 0-0, 1-0, 0-1, and 1-1 outcomes) using a parameter rho (-0.07) fitted from historical match data. The correction shifts draw probability by 2-3 percentage points, the part of the score matrix a plain Poisson model gets most wrong. Low-scoring results like draws are exactly where the goals-are-independent assumption breaks down.
The model also compares each team's season scoring rates with a trailing average from its last 8finished matches. This lets recent changes affect the projection while bounding the adjustment so a short streak cannot dominate the season sample. The EPL is also unique in having a three-way outcome (Home/Draw/Away), so the model must correctly distribute probability across all three outcomes and cannot treat the market as a binary yes/no.
What goes into a team's expected goals?
Five components: the goals a team actually scores and concedes at each venue, how well it suppresses opponents, its recent form, fixture congestion, and home venue. A sixth factor, player absence, then cuts the number when the announced starting eleven is missing expected starters.
The model computes each team's scoring rate (lambda) from five weighted components. Goals differential (each team's actual home/away goal splits) is the foundation; a 2025-26 audit found the model's prior xG-based version produced systematic per-team biases, so live lambdas are built from actual goals instead. The remaining components capture factors those splits alone miss. The percentages shown describe the design allocation across components; the live formula applies each factor as a multiplicative adjustment rather than consuming these percentages directly.
Per-Team Home/Away Splits: Each team's home and away attack and defense strengths are computed from their actual goals scored and conceded at each venue, drawn from finished fixtures. The samples are Bayesian-blended with the league venue baseline using 10 phantom matches as a prior, so early-season noise gets shrunk toward the league mean. This replaces a flat venue factor that assumed every team shared the league-wide H/A asymmetry. In 2025-26 the per-team H-A spread ranges from +0.89 (Newcastle) to -0.41 (Chelsea), so a uniform factor erased real venue effects.
Defensive Suppression (15%): How well a team limits opponents' goals. Separating this from overall goals differential lets the model weight defensive solidity independently, which matters most in low-scoring league phases.
Recent Form (18%): A simple average of goals scored and conceded over the last 8 finished matches. Each rate is compared with the team's season rate and adjusts the relevant lambda by 10% per goal per match, capped at 12%.
Congestion (8%): Fixture pile-ups from Champions League, Europa League, and cup competitions force rotation and fatigue, reducing attacking output.
Home Venue (8%): Captured entirely by the per-team H/A splits above, which already encode each ground's actual scoring and conceding profile. A 2026-07 ablation tested adding a generic multiplicative boost on top of the venue splits and found it added no 1X2 accuracy while worsening goal-total projections, so it stays neutral in the live model (see the Home Advantage section below).
Player Absence (0-25%): A separate multiplicative reduction applied on top of the five core components. When the pipeline runs within 90 minutes of kickoff, the official starting XI is fetched from PulseLive (the backend that powers premierleague.com), and any expected starter not in it is treated as a rotation-out absence alongside FPL-flagged injuries and suspensions. Each absence reduces lambda proportional to that player's xG/90 share of team output, capped at 25% total. This catches B-team rotations before midweek cup matches and end-of-season dead rubbers, where the manager rests healthy starters and FPL injury data has no signal.
What exactly does the tau correction change?
Four cells of the scoreline matrix, and nothing else. It raises 0-0 and 1-1, lowers 1-0 and 0-1, and leaves every other scoreline exactly where plain Poisson put it. One fitted parameter, rho, sets how far each of the four moves.
The heart of the model. Standard Poisson produces a 9x9 matrix of scoreline probabilities assuming independence. The tau correction then adjusts four specific cells:
- P(0,0) is increased, because goalless draws happen more often than independence predicts
- P(1,1) is increased, because 1-1 draws are also more common
- P(1,0) and P(0,1) are decreased, because narrow wins are slightly less likely
With rho = -0.07, this shifts draw probability by 2-3 percentage points and is the correction the whole framework exists for. The parameter is refitted at mid-season and end-of-season from finished EPL matches. The 2026-05-16 refit moved it from -0.13 to -0.07 on 690 matches of combined 2024-25 and 2025-26 data.
How much does recent form move the number?
It shifts a team's expected goals by a fixed percentage for each goal per match its recent scoring differs from its season rate, and the shift is capped in both directions. Every match in the window counts the same. The model applies no time decay inside the window.
Football teams evolve through transfers, tactical adjustments, injuries, and manager changes. The live model takes an arithmetic mean over the trailing finished-fixture window, so every match in that window carries equal weight. It does not apply exponential time decay.
| Parameter | Value | |
|---|---|---|
| Form window | 8 matches | Simple trailing mean of finished fixtures |
| Goal-rate scaling | 10% | Lambda shift per one-goal-per-match difference |
| Maximum adjustment | 12% | Cap in either direction |
How does the model handle home advantage?
Each club's home and away scoring and conceding rates are estimated separately, so a fortress ground is already in the expected goals before any further adjustment. A 2026-07 test added a generic home boost on top and found it bought no 1X2 accuracy while making goal totals worse, so no extra boost ships.
Home advantage in the EPL is carried by the per-team venue-split strengths above: each club's home and away scoring and conceding rates are estimated separately, so a fortress ground or a difficult away trip is already priced into the lambda before any further adjustment. A 2026-07 preregistered ablation tested adding a generic multiplicative boost and per-ground premiums (Anfield, St James' Park) on top of the venue splits by replaying three completed seasons through the real backtest. The extra boost added no measurable 1X2 accuracy and made goal-total projections measurably worse, so both the boost and the premiums are neutral in the live model.
What do fixture congestion and a new manager do to the projection?
Congestion cuts a team's expected goals when it plays again before the rest threshold below, because European and cup fixtures force rotation and tired legs. A new manager raises them by a fixed percentage that decays to zero over his first matches.
These adjustments capture situations that baseline team strength doesn't account for. Fixture congestion from European competition forces rotation and fatigue. A new manager appointment produces a well-documented short-term performance boost as players respond to fresh methods and increased scrutiny.
| Parameter | Value | |
|---|---|---|
| Fixture congestion penalty | -0.075 | Triggered when <3 days between matches |
| New manager bounce | +12% | Decays linearly over first 5 matches |
What league averages anchor the numbers?
Home and away goal averages are held separately, because a home team and an away team score at different rates across the league. Every attack and defense rating is measured against the matching baseline, and they refresh each matchweek.
The league-wide scoring averages that anchor all lambda calculations. Home and away baselines are separated because home advantage in football is baked into the attack/defense strength ratios, with home teams creating better chances on average.
| Parameter | Value | |
|---|---|---|
| Goals per game | 2.73 | Updated each matchweek |
| Home Goals (League Avg) | 1.45 | Actual goals scored by home teams per match |
| Away Goals (League Avg) | 1.25 | Actual goals scored by away teams per match |
| BTTS rate | 52% | How often both teams score (key BTTS market input) |
What happens when the model and the sportsbook disagree?
Fairline writes an internal observation row and shows you nothing new. A row is recorded when the model's fair odds and a book price differ by a flat 3%, and those rows feed calibration and closing-line research. They are never presented to you as a bet to place.
Fairline records an internal observation whenever the model's fair odds differ from the sportsbook's price by a flat 3%, the same threshold for every market. Each row carries a one-unit research weight for calibration and closing-line tracking. These observations are not surfaced as bets.
Command-line reference. The standalone model runner also includes a quarter-Kelly staking calculator with per-market EV thresholds (below). These are an offline reference and do not drive any user-facing surface. The internal measurement record uses the flat 3% threshold and one-unit research weight described above.
| Parameter | Value | |
|---|---|---|
| 1x2 | 3.0% | |
| Asian Handicap | 2.0% | |
| Total | 2.0% | |
| Btts | 3.0% | |
| Correct Score | 5.0% | |
| Team Total | 2.5% | |
| Anytime Goalscorer | 4.0% | |
| Cards | 5.0% |
Which Premier League markets does the model price?
Six: the 1X2 match result, the Asian handicap, goal totals, both teams to score, correct score, and team totals. Every one is read off the same Dixon-Coles scoreline matrix, so a correct score price can never contradict the 1X2 price built from the same cells.
Football has more distinct market types than any other sport the model covers. Each one asks a different question, and the Dixon-Coles score matrix lets the model answer all of them from a single unified probability distribution.
1X2 (Match Result)
LIV 1.75 / Draw 3.50 / ARS 4.50Three-way outcome: home win, draw, or away win. Football is the only major sport where a tie is a regular outcome, with about 25% of matches ending in a draw. Shown in decimal odds here (1.75 = +75 American). This is where Dixon-Coles does its primary work: the tau correction shifts draw probability by 2-3 points vs standard Poisson, and the draw is the outcome a plain Poisson model gets most wrong.
Asian Handicap
LIV -1.5 +120 / ARS +1.5 -140A goal-based spread that eliminates draws entirely. If the result is a push, you get your stake back. Quarter lines (-1.25, -1.75) split your bet across two adjacent handicaps. Asian handicap is the sharpest, most efficient football market, with the lowest EV threshold and the cleanest prices, and it's the market most favored by sharp bettors worldwide.
Goal Totals (Over/Under)
O 2.5 -110 / U 2.5 -110Combined goals across both teams. 2.5 is the most common line. Driven by both teams' goal-scoring rates, defensive suppression, and fixture-specific factors like congestion (tired legs produce fewer goals). Quarter lines (2.25, 2.75) work like Asian handicaps, splitting between adjacent whole lines to soften pushes.
BTTS (Both Teams To Score)
Yes -125 / No +105Does each team score at least one goal? Independent of final margin: a 3-1 and a 1-1 both cash 'Yes'. Derived directly from the score matrix: sum all cells where both home and away goals > 0. The league BTTS rate sits around 55%, and the model's edge here comes from defensive matchups where one side is unusually likely to be shut out.
Correct Score
2-1 +650 / 1-1 +550Pick the exact final score. The highest-variance market football offers: correct score cashes rarely but pays huge. The model reads each scoreline directly from the Dixon-Coles matrix cell, so priced bets are always internally consistent with the rest of the markets. Requires the largest edge threshold because pricing errors compound at long odds.
Team Totals
LIV O 1.5 -130 / LIV U 1.5 +110Over/under on one team's goals. Useful when the model has a strong view on one side's attack (Manchester City at home vs. a relegation defense) but an unclear read on the opponent. Derived by marginalizing the score matrix across one team's axis.
Has the EPL model been validated against the market?
Not in a forward, preregistered comparison against a sharp closing line. A 380-match season is too small for accuracy figures to mean much on their own, so the model is checked on Brier score and closing line value instead, graded as matches settle.
EPL presents an honest backtesting challenge because the season is only 380 matches, a sample too small for accuracy metrics to be meaningful on their own. Dixon-Coles is validated primarily through Brier score and CLV. The core question is whether the model's probabilities are better calibrated than the market's opening lines. Historical academic replications of Dixon-Coles on multi-decade European football data consistently show it is well-calibrated against match outcomes, and our implementation follows the same framework. Live validation happens continuously against bet results on the Ledger tab on Transparency.
FairLine has not run a forward, preregistered comparison of the EPL model against a sharp closing line; that needs more forward finals than one 380-match season provides (T7.8). Status: pending data.
When should you not trust this model?
Trust it least on midweek matches after a Champions League tie, on the first match back from an international break, and in matchweeks 1 to 3. Trust it most on a standard Saturday fixture with a full week of rest, from matchweek 6 on. The two lists below give the full version.
EPL's weekly rhythm means most matches are clean projection environments. The exceptions are European-competition weeks and international breaks, where fixture context fights the model's assumptions.
- Standard Saturday 3pm/5pm/7pm matches with full week of rest
- Mid-season form (matchweeks 6-34, after early-season noise settles)
- Matches between non-European teams (no congestion variable)
- Asian handicap and totals markets (sharpest lines)
- Draw-friendly matchups where Dixon-Coles' edge is strongest
- Post-Champions League midweek (heavy rotation, hard to predict XI)
- First match after an international break (player fatigue and injuries)
- First match under a new manager (bounce is modeled but volatile)
- Final-day matches with nothing to play for (motivation flips)
- Matchweeks 1-3 (priors dominate, little current-season data)
- Correct score markets (always treat as entertainment bets)
Where can I read the draw correction in more detail?
The tau correction is the part of this model people ask about most. Why do soccer models adjust the odds of 0-0 and 1-1 draws works all four corrected cells through one match, with the arithmetic shown.
Sources
- Dixon and Coles, 'Modelling Association Football Scores and Inefficiencies in the Football Betting Market', JRSS-C 46 (1997)
- Maher, 'Modelling association football scores', Statistica Neerlandica 36 (1982), the independent-Poisson model Dixon-Coles corrects
- premierleague.com, the source for fixtures, results and the announced starting eleven
- The Fantasy Premier League public API, the source for injury and suspension flags
The parameter values on this page are rendered from the running system and refresh periodically; when a weight or threshold changes, this page reflects it automatically.