xG Lab
Home

How the model works

Most sites show win probabilities but never tell you how they're built or how accurate they are. Here's both — the method, then the receipts, scored on 378 out-of-sample matches.

The method
Self-built models on top of licensed match data — no black box.

Win probability

Each team gets an attacking and defensive strength from an exponentially-weighted average of its recent expected goals (xG)— recent games count more, and form carries across seasons. Those strengths set each side's expected goals (λ) beforekickoff. A Poisson model then turns the remaining minutes into live win / draw / loss probabilities, updating as the score and clock change. Ratings are shrunk toward the league average so the model doesn't get overconfident about the very best and worst teams, and the weighting is tuned to minimise pre-kickoff log loss.

Red cards

A sending-off adjusts both sides' scoring rates — down for the team reduced to ten, up for their opponent — which is the step you see in the replay curve.

Season projections

Projections simulate the fixture list many thousands of times from those same xG strengths, counting how often each team wins the title, finishes top four or goes down, and averaging their final points. A fixed random seed makes the numbers reproducible.

Everything is out-of-sample

Every accuracy figure below is scored using only information available beforeeach kickoff — the model never sees the result it's predicting.

Calibration
When the model says 70%, does it happen ~70% of the time? Points on the dashed line are perfectly calibrated. Bigger points = more predictions in that band.
Accuracy vs baselines
Lower LogLoss / Brier is better; higher Accuracy is better. The rolling out-of-sample model clearly beats the naive base-rate baseline — using only each team's form before kickoff, no future information.
ModelLogLossBrierAccuracy
Baseline (base rates)1.0100.61050%
Rolling (out-of-sample)0.9560.56857%

The rolling model cuts LogLoss from 1.010 (baseline) to 0.956 and lifts accuracy from 50% to 57%. Base rates this era: home 50% · draw 16% · away 34%.

Data & limitations

  • xG and match data come from a licensed commercial provider; win-probability, projections and power ratings are our own calculations on top of it.
  • Coverage is retrospective — completed matches, not live in-play.
  • xG depth is available for recent seasons; older seasons may show results without it.
  • For informational and educational use only — not advice of any kind.

New here? See how xG Lab compares to FBref & Understat, read the manifesto, or brush up in the glossary.