Lab
11footy

11footy xG

Metrics · shot · goals

xG

flagship metric · data to Mon 12 Oct 2026

How likely a shot was to be a goal, judged before anyone knew how it ended, by a model of ours; added up over a match, a side or a player.

An expected goal (xG) is the chance, between 0 and 1, that a shot like this one ends in a goal. 11footy's model reads the shot, never the result, and is trained on the shots of past seasons only. A match, team or player xG is the sum of his shots'.

  • xG: all shots, penalties included: what a match was worth
  • npxG: without penalties: what open-play and set-piece chances were worth
  • xA: the xG of the shots a player set up
  • G - xG: goals minus xG: finishing above or below the chances

What goes in

our base data only
  • The shot list of the five leagues since 2014-15: where the shot was taken, with what, in which situation (open play, corner, set piece, free kick, penalty), the action just before it and who set it up, the minute, the score from the shooter's side, home or away, the time since the side's previous shot.
  • Nothing from a provider's own xG, xA or any derived metric: those are not read anywhere (ADR 0024).

How it is computed

the formula in words
  1. A gradient-boosted trees model turns the inputs of each shot into a probability (the xg package, ADR 0029); each season is rated by a model that never saw it.
  2. xG of a match, side or player = the sum of the probabilities of his shots.
  3. npxG = the same without penalties. xA (expected assists) = the xG of the shots a player set up. Goals above expected (G - xG) = goals minus xG.

When to trust it

sample and threshold policy
  • A shot's xG is a probability, not a verdict: a 0.08 shot that goes in is not evidence of anything.
  • Totals over a match are fine; per-90 numbers, rankings and percentiles of players need 900 league minutes. Under 450 minutes a line is marked a small sample.
  • Goals above expected (G - xG) needs a whole season of a player's shots to say anything and, as the check below shows, mostly does not repeat: read it as luck until a long run says otherwise.

How well it works

worked out from the data, not typed in
  • Over 549,129 rated shots the model expected 59,681 goals and 58,888 were scored (+1.4% difference). Log loss 0.258, Brier 0.074.
  • No full season was off by more than 4.7%.
  • Goals above expected, per 90, between the even and the odd matches of the same season: r = 0.03 over 17,887 player-seasons: mostly noise.
549,129shots rated
58,888goals they became
59,681goals expected by the model
+1.4%expected against scored
SeasonShotsGoalsExpectedExp. v goalsLog loss
2014-1545,5964,6364,629−0.2%0.246
2015-1645,3154,7164,725+0.2%0.251
2016-1745,7505,0454,852−3.8%0.261
2017-1845,3074,7954,808+0.3%0.254
2018-1947,0654,8835,054+3.5%0.254
2019-2043,7554,6824,708+0.6%0.258
2020-2143,2414,9604,891−1.4%0.269
2021-2245,6054,9725,091+2.4%0.259
2022-2345,6844,8825,110+4.7%0.259
2023-2445,7524,9105,093+3.7%0.258
2024-2543,6214,8034,908+2.2%0.263
2025-2644,0314,7164,910+4.1%0.258
2026-278,407888902+1.6%0.262
Each season is rated by a model that never saw it. The full calibration, by chance band, league, situation and body part, is on the expected-goals page.
ReadingEven v odd matches, rWhole season, reliabilityPlayer-seasons
Goals above expected per 90 (no penalties)0.030.0617,887
Reliability is the Spearman–Brown estimate of how well a whole season would agree with another. Close to zero: the reading does not repeat.

What it does not tell you

limits
  • No goalkeeper or defender positions and no shot speed in the data: two shots from the same place count the same however crowded the goal was.
  • xA counts the shot, not the pass: a good pass to a poor finisher is worth what the shot was worth.
  • Shots exist from 2014-15 only; earlier seasons have no xG.
  • Penalties are worth about the same every time, so they are left out when the question is about open play (npxG).
  • G - xG is not a skill rating: see the check below for how little of it repeats.

Where you see it

each one has a ? beside it
Expected goals source: 11footy's own expected goals. The same description as data: /lab/api/metrics/xg.

Data to (the latest league match played), built . Unless a season is chosen, every view shows 2025-26 (2026-27 is still young: 0 players have 900 league minutes so far, so the numbers are of 2025-26 until half as many as last season do.). Percentiles and per-90 ranks from 900 league minutes, within the player's role, five leagues together; under 450 minutes a small sample.