Skip to main content

The Model

How ForzaPitch predicts football matches

01  Methodology

ForzaPitch uses a Poisson regression model enhanced with the Dixon-Coles correction to predict football match outcomes. For each match, we estimate the expected goals (xG) for each team from their attacking and defensive form, Elo rating, home advantage and league-wide scoring averages, then adjust for recent momentum, rest and fixture congestion, weather conditions, and table position or end-of-season stakes. The Poisson distribution gives us the probability of every possible scoreline, from which we derive 1X2, over/under, and other markets. Predictions are also blended with bookmaker odds, more heavily when the market is moving sharply.

02  Elo Ratings

Each team carries a global Elo rating updated after every match — and Elo isn't just used for cross-league cup ties, it's blended directly into the win/draw/loss probability alongside our Poisson estimate for every match, with the weight tuned per competition. For cup fixtures where two teams from different leagues meet, we also use Elo-weighted league baselines to correct for the difference in competitive level.

03  Match Context Adjustments

Beyond the base xG estimate, the model layers on contextual adjustments: recent form (weighted more heavily toward the last few matches), rest and fixture congestion (short-rest teams are penalised, well-rested teams get a small boost), weather (heavy wind or rain trims expected goals), and standings context (title races, relegation battles and dead rubbers shift motivation). Predictions with limited historical data are pulled toward a neutral baseline until enough matches have been played.
Weekly accuracy — last 8 weeks
40% 55% 70% 20 Jul 27 Jul 3 Aug 10 Aug 17 Aug 24 Aug 31 Aug 7 Sep
Period average: 61.7%
61.7%
Global Accuracy
Analysed: 3407 matches
Calibration

A well-calibrated model predicts 60% probability events correctly about 60% of the time. The table below compares our predicted confidence bands against actual outcomes.

25% 50% 75% 100% 0% 25% 50% 75% 100% perfect 55% previsto → 56.4% reale (n=1228) 65% previsto → 59.9% reale (n=1320) 75% previsto → 69.4% reale (n=612) 85% previsto → 78.3% reale (n=226) 95% previsto → 85.7% reale (n=21) Predicted probability Actual frequency
model perfect calibration ● <7pp deviation: good / mid / far
Confidence band Matches Expected (mid) Actual
50–60% 1228 55.0% 56.4%
60–70% 1320 65.0% 59.9%
70–100% 859 85.0% 72.2%