How it Works
Most betting models are wrong. Ours is less wrong, and that’s enough.
The edge in sports betting isn’t about picking winners. It’s about finding probabilities the market has mispriced. To do that, you need a model that generates its own numbers independently of the bookmaker, and the mathematical discipline to trust them when the odds diverge.
This is ours.
The Dixon-Coles Framework
The foundation of the xWin Engine is a set of continuously updated Attack and Defence ratings for every club across the four divisions. These aren’t points-per-game averages or form guides. They’re maximum likelihood estimates derived from the full historical result set, weighted to decay older results and amplify recent trajectory.
Every rating is adjusted for home advantage and opponent quality. The number you see isn’t how many goals a team scores. It’s their attacking or defensive output relative to the league mean, normalised so that 1.00 represents the average. Arsenal at 1.37 attack means they generate 37% more expected threat than a typical side. Hull at 1.46 defence means they concede at 46% above the mean.
Poisson Distribution Modelling
Armed with ratings for both sides, we calculate expected goals for each team in each fixture, factoring in home advantage, the opponent’s defensive strength, and the league’s scoring environment. Those two values feed into independent Poisson distributions.
The Poisson distribution is the natural mathematical model for low-frequency count events, goals, buses, radioactive decay. It describes the probability of a given number of events occurring in a fixed interval, given a known average rate. For football: given that we expect 1.6 home goals, what is the probability of exactly zero? One? Two? Three?
We calculate this for every scoreline from 0-0 to 10-10. The joint probability of each scoreline is the product of both Poisson probabilities. Summing across the right cells gives you Win, Draw, and Loss probabilities. The score matrix on every match card is this calculation made visible, every cell a real number, not a heuristic.
This is also where we diverge from the bookmaker. Their odds reflect market demand, liability management, and margin. Our probabilities reflect only the mathematics. When those two things diverge significantly, that divergence is the edge.
This calculator, and more, are on our Calcs & Convertors page.
Monte Carlo Method, 100,000 runs
A single match probability is useful. A season projection built from single match probabilities is where it gets serious.
We take the full fixture list, every remaining game across the division, and simulate the entire campaign from start to finish. In each simulation, every match is resolved probabilistically: a random draw against the Poisson outcome distribution determines the result. Points accumulate. The table updates. The model is dynamic: team ratings update within each simulation run based on results, meaning a team on a simulated winning streak gets marginally stronger as the campaign progresses, and a struggling side weakens. The season behaves like a season, not a static projection.
We run this 100,000 times.
The percentage you see next to Arsenal for finishing 1st isn’t a prediction. It’s the proportion of 100,000 simulated universes in which Arsenal finish top. The full position distribution, every team, every finishing position, is the complete output of that variance. It’s the most honest thing we can show you.
built on others’ work
None of this was built in a vacuum. The Dixon-Coles framework, Joseph Buchdahl’s writing on closing line value, and the broader shift toward data-driven modelling in football all shaped how the xWin Engine works. We’re not claiming to have invented anything here, just applied it properly, and tried to build something better than a tipster with a burner account and a Telegram channel.
