How FiveStat works.
The models, data and validation behind FiveStat's predictions — how probabilities are generated, how performance is tested, and where the models are known to be limited.
Methodology last updated · September 2026
Premier League model at a glance
Historical Premier League results are used to estimate each team's underlying attacking and defensive strength. Longer-term quality is then blended with more recent performance so the model can respond to changes in form without overreacting to a handful of matches.
A team's attacking strength is matched against its opponent's defensive strength, with home advantage included, to estimate the expected goals for both sides.
Expected goals are converted into a full matrix of possible scorelines using a bivariate Poisson model. The matrix is the foundation for FiveStat's match probabilities.
Home win, draw, away win, Over/Under 2.5 goals, clean-sheet and correct-score probabilities are all calculated directly from the same scoreline distribution.
Those fixture probabilities feed into 10,000 simulations of the remaining Premier League season, producing expected final points and probabilities for every finishing position.
Premier League match model
FiveStat maintains a historical Premier League dataset from 2016/17 onwards. Goals scored and conceded are separated by team and match context to form the basis of the model's attacking and defensive ratings.
Promoted teams: clubs entering the Premier League without sufficient top-flight history require cold-start assumptions until enough current-season evidence exists. Predictions for these teams should therefore be treated with additional uncertainty early in the season.
Each team receives an attacking rating describing its scoring strength and a defensive rating describing the scoring strength it typically allows opponents.
Ratings are fitted and normalised relative to the league, allowing teams to be compared on a common scale rather than relying on raw goals alone.
Long-run ratings provide stability, but football teams change over time. FiveStat therefore blends each team's underlying rating with a recent-form estimate.
The aim is to respond to genuine changes in team strength while avoiding large rating swings caused by short-term variance.
Fixture-level expected goals are produced by combining one team's attacking strength with the opposition's defensive strength and the relevant home-field effect.
This gives the model an expected scoring rate for the home team and away team before the scoreline distribution is calculated.
Rather than modelling home and away goals as completely independent events, FiveStat uses a bivariate Poisson structure with a shared component between the two scoring processes.
This produces a probability for each represented scoreline. The resulting matrix is normalised so that its probabilities sum to 1.
Once the scoreline matrix exists, different match probabilities can be obtained by summing the relevant cells.
Over 2.5 goals is the probability of all scorelines with at least three total goals. Clean-sheet probability is the probability that the opponent scores zero.
Correct-score probabilities are simply the individual cells within the same matrix.
Walk-forward model validation
1101 historical Premier League predictions generated using only information available before each fixture.
How the model is tested
The model is tested under the same information constraints it faces in production.
For each historical prediction point, the model is fitted using only data that would have been available before that fixture. The prediction is recorded, the historical timeline advances, and the process repeats.
Future matches are never included when generating an earlier prediction.
RPS is FiveStat's primary probabilistic evaluation metric for match outcomes.
It evaluates the full home / draw / away probability distribution rather than simply asking whether the most likely result happened.
Confident incorrect predictions receive a larger penalty than uncertain ones. Lower RPS is better.
Outcome accuracy records how often the result with the highest probability — home win, draw or away win — actually occurs.
It is easy to interpret, but it ignores the difference between a 36% forecast and a 75% forecast. For that reason it is treated as a supporting metric rather than the primary measure of model quality.
Over/Under 2.5 performance, correct-score rate and xG error provide additional diagnostics for different parts of the probability distribution.
No single metric tells the whole story, so FiveStat evaluates both the quality of individual outputs and the calibration of the wider probability model.
Predicted final table
Each unplayed Premier League fixture is simulated from FiveStat's home-win, draw and away-win probability distribution.
Simulated points are added to each team's actual points total to create a possible final league table.
The process is repeated 10,000 times.
The proportion of simulations in which a team finishes in each position becomes its estimated probability of finishing there.
Expected final points are calculated from the average points total across the simulations.
Fixture probabilities remain fixed within an individual simulation. The model does not re-fit team strength after each simulated match.
The table should therefore be read as the probability distribution implied by what FiveStat knows today.
As real fixtures are completed and new information arrives, the model and league simulation are run again.
FPL Planner
Player projections start with the player's share of their team's season xG and xA.
That season-level share is blended with recent attacking involvement before being applied to FiveStat's expected team output for the upcoming fixture.
Expected playing time is also incorporated so a player who regularly completes 90 minutes receives a different projection from a player with more limited minutes.
Team xG represents FiveStat's expected attacking output in an upcoming fixture.
Team xGA is simply the expected goals assigned to that team's opponent, making it the defensive equivalent.
These values can be summed over the next 1, 3 or 5 gameweeks to identify favourable fixture runs.
Clean-sheet probabilities come directly from the match scoreline matrix:
Across several gameweeks these probabilities are summed to create expected clean sheets over the selected planning window.
FiveStat's fixture difficulty is generated from the model rather than assigned manually.
Fixtures are classified from each team's win probability:
Bet Value Finder
Decimal odds are collected across available UK bookmakers and converted into implied probabilities.
Because bookmaker prices contain an overround, the raw probabilities are normalised within each market before comparison with FiveStat.
The margin-adjusted probabilities are then averaged across the available bookmakers to produce the market estimate shown by FiveStat.
The Bet Value Finder measures where FiveStat's estimated probability differs from the bookmaker market.
A positive value means FiveStat considers the outcome more likely than the market does. A negative value means the market assigns the higher probability.
This is a probability-disagreement signal, not a guarantee of profit.
Prices move, different bookmakers offer different odds, and even a correctly identified probability edge can lose repeatedly over a small sample.
Model performance and market disagreement should be assessed across many outcomes rather than judged by the result of an individual bet.
If using FiveStat for real-money betting, only gamble what you can afford to lose and gamble responsibly.
Data pipeline
Formula 1 models
DPR attempts to isolate driver performance from car performance by comparing teammates in the same machinery.
Clean representative laps are used, with pit-related laps and statistical outliers removed before each driver's median pace is compared with their teammate.
CPI measures the underlying pace of each constructor relative to the field.
It provides the car-performance component of the race model, while DPR provides the driver-performance component.
Driver and constructor pace are combined with qualifying position.
A circuit-specific overtaking index controls how much weight is placed on underlying pace versus starting position.
The resulting ratings are used within a Monte Carlo simulation to estimate win, podium and points-finish probabilities.
FiveStat also analyses individual race performance through teammate pace comparisons and stint efficiency.
Stint efficiency compares actual lap times with the expected degradation profile of the tyre compound and tyre age.
Simulated race probabilities are converted into expected fantasy returns.
Completed-race points are combined with projected returns for future races to create season and transfer-target projections.
Where the Premier League model struggles
A team given a 65% chance of winning still fails to win 35% of the time under that forecast.
Individual misses are therefore expected. The correct way to evaluate a probabilistic model is across a large number of predictions, not one fixture at a time.
Promoted clubs begin with limited Premier League data. Their initial ratings therefore contain more uncertainty than those of established teams and become more informative as current-season evidence accumulates.
The model reacts to what happens on the pitch. It does not directly understand that a new manager has arrived, a key player is injured, or a tactical system has fundamentally changed.
Real team strength can therefore change faster than historical ratings are able to reflect.
The model does not explicitly know that a team is fighting relegation, resting players before a European tie, or has little left to play for.
Those situations can change team selection and match behaviour without immediately appearing in historical performance data.
Pre-match models cannot observe the tactical decisions that happen after kick-off — protecting a lead, chasing an equaliser, substitutions or changes in defensive shape.
The scoreline model captures some dependence between the two teams' scoring processes, but not every in-game dynamic.
The first few gameweeks contain less evidence about current team strength.
Summer transfers, promoted clubs and tactical changes mean previous-season data can be less representative, so uncertainty is naturally higher early in the season.
FiveStat is designed to estimate uncertainty, not remove it.
Validation metrics describe average performance across many historical predictions. They should not be assumed to apply equally to every individual fixture.
The most useful way to read FiveStat is therefore to consider the probability, the model assumptions and the uncertainty around the situation together.