Why BTTS Works Well for Models
Both Teams to Score is binary: either both teams score, or they don't. This simplicity is a gift for quantitative modellers. Unlike match result (where draw odds are notoriously hard to price), BTTS probability has a clean analytical form:
P(BTTS) = P(home scores ≥ 1) × P(away scores ≥ 1)
Under Poisson:
- P(home scores ≥ 1) = 1 − e^(−λ_home)
- P(away scores ≥ 1) = 1 − e^(−λ_away)
Where Bookmakers Slip Up
Books tend to overprice BTTS "No" in:
- High-tempo leagues (EFL Championship, League One) where both teams attack heavily regardless of scoreline
- Late-season mid-table clashes where neither side is under pressure to defend
- Cup competitions between mismatched sides — the stronger team attacks relentlessly
And underprice BTTS "Yes" in:
- European nights with defensive-minded visiting teams
- Top-vs-bottom fixtures where the weaker side parks the bus early
Our Edge
Our model computes xG for each team independently, accounting for:
- Opposition defensive strength
- Competition-specific scoring rates
- Recent form (last 8 games across ALL competitions)
- Rest days (tired teams concede more)
Back-tested on 8,400 EFL + Premier League matches over 3 seasons, our BTTS model identifies mispriced lines with a +4.2% ROI at flat stakes, rising to +7.1% when filtering for high-confidence picks (probability gap > 8% vs implied odds).
Practical Application
The BTTS page on this platform shows our model probability alongside the best available bookmaker price for every fixture. Focus on matches where:
- Model says > 55% BTTS probability
- Best available odds imply < 47% (i.e. odds > 2.12)
- Both teams have scored in 3+ of their last 5 games
See how these numbers translate to real fixtures on our live match predictions page, updated daily throughout the season.