Messi Goals vs Expected Goals: A Finishing Case Study
Across seven La Liga seasons from 2014/15 to 2020/21, Understat credits Messi with 203 non-penalty league goals from 163.4 non-penalty xG, about 40 goals above expectation. FBref's Opta figures for 2017/18 to 2020/21 point the same way with a larger gap. Over more than 1,200 shots, that margin is far larger than chance alone typically produces.
The figures and what they cover
Two public sources carry long runs of Messi's shot data, and they cover different spans.
Understat publishes its own xG model for league matches from 2014/15 onward. For Messi it covers La Liga with Barcelona (2014/15 to 2020/21) and Ligue 1 with Paris Saint-Germain (2021/22 and 2022/23). It does not cover MLS, cup competitions, or internationals. Figures here were read from Understat's player data on 22 October 2026.
FBref displayed Opta's xG model from 2017/18 onward, which extends to Messi's MLS seasons with Inter Miami. Sports Reference announced on 20 January 2026 that Opta had terminated its data feed and that the advanced data had been removed from FBref, as reported by Awful Announcing and The Athletic. The Opta figures below therefore come from an Internet Archive snapshot of Messi's FBref page dated 17 December 2025.
Neither source covers his first decade at Barcelona, so whole-career claims go beyond these two sources. Other public datasets reach further back and are not directly comparable with either model.
Season by season on Understat
Non-penalty goals minus non-penalty xG, Barcelona, La Liga: 2014/15 +6.6, 2015/16 +1.1, 2016/17 +9.3, 2017/18 +6.0, 2018/19 +9.7, 2019/20 +2.9, 2020/21 +4.0. Every season was positive. At PSG the sign flipped: 2021/22 was 3.9 below and 2022/23 was 1.7 below.
FBref's Opta numbers point the same way for the overlapping Barcelona seasons. Its MLS figures for 2023 to 2025 show 48 non-penalty league goals from 34.5 npxG, though MLS shots are not directly comparable with La Liga shots.
What beating xG means statistically
An xG model estimates how often an average shooter scores a given chance. If each shot is treated as an independent trial with scoring probability equal to its xG, the expected goal total is the sum of xG values and the variance is the sum of xG times one minus xG.
Applying that to Understat's shot-level values for Messi's 1,205 non-penalty La Liga shots gives a standard deviation of about 10.4 goals (our calculation). The observed excess of 39.6 goals sits roughly 3.8 standard deviations above expectation. For a calibrated model and an average finisher, a gap that size is very unlikely.
Two caveats keep this honest. First, the test asks whether Messi beats the model, not why; a model that misses something his shots share would produce the same result. Second, analysts look at thousands of players, so a few large deviations appear by chance. The stronger evidence is consistency: seven positive seasons in a row on Understat, with the same direction on Opta's model.
Where the excess came from
Splitting Understat's Barcelona shots by situation shows where the gap was built. Open play produced 166 goals from 137.0 xG on 852 shots, the bulk of the excess. Direct free kicks produced 28 goals from 19.8 xG on 284 attempts, a gap of about 1.9 standard deviations on its own. Penalties went 28 goals from 29.0 xG, essentially at expectation, which is why npxG is the fairer comparison for finishing.
Why providers disagree
For Barcelona from 2017/18 to 2020/21, Understat's npxG totals 88.3 while Opta's is 77.1, against the same 111 non-penalty goals. Opta's model includes shooter pressure and goalkeeper position, per FBref's explainer, so the same shot can carry a different value. The gap above xG is about 22.7 goals on Understat and 33.9 on Opta. The direction agrees; the size depends on the model. Never mix sources in one comparison.
How a modeller should use this
Finishing skill is real but noisy, so estimate it with shrinkage: start each player at the population average and move toward their observed goals minus xG only as shots accumulate. Messi is the rare case where the data overwhelms the prior. For most players, a season or two above xG says little.
This page describes historical data and method, and is not betting advice.
| Measure | Understat, La Liga 2014/15 to 2020/21 | FBref (Opta), La Liga 2017/18 to 2020/21 |
|---|---|---|
| League goals | 231 | 125 |
| Non-penalty goals | 203 | 111 |
| xG | 192.3 | 92.4 |
| Non-penalty xG | 163.4 | 77.1 |
| Non-penalty goals minus npxG | +39.6 | +33.9 |
| Ligue 1 2021/22 to 2022/23, npG vs npxG | 22 vs 27.5 | 22 vs 25.5 |
| Data status | Live on Understat | Removed from FBref January 2026 |
Frequently asked questions
- Does Messi outperform his expected goals?
- In the seasons public data covers, mostly yes. Understat shows 203 non-penalty La Liga goals from 163.4 npxG between 2014/15 and 2020/21, positive in every season. FBref's Opta figures for 2017/18 to 2020/21 show 111 goals from 77.1 npxG. Both Ligue 1 seasons were below xG on Understat; on Opta 2021/22 was below, at 6 goals from 10.0 npxG, while 2022/23 was marginally above, at 16 from 15.5. Neither of these two sources covers his seasons before 2014/15.
- Why do Understat and FBref show different xG for Messi?
- They use different models. Understat trains its own, while FBref displayed Opta's, which per FBref's explainer accounts for defensive pressure and goalkeeper position as well as location and angle. For the same four Barcelona seasons, Understat assigns 88.3 npxG and Opta 77.1. Both show Messi well above expectation; they disagree on by how much, so keep comparisons within one source.
- Is beating xG a skill or luck?
- Both are involved, and sample size decides which dominates. Over a season most finishing gaps are within the noise a shot-by-shot variance calculation predicts. Messi's Understat gap of about 40 goals on 1,205 shots is roughly 3.8 standard deviations under that calculation, and it was positive seven seasons running, which points to skill rather than variance.
- Why does the FBref data come from an archive?
- Sports Reference announced on 20 January 2026 that Opta had terminated its data feed and that advanced data such as xG had been removed from FBref, as reported by Awful Announcing and The Athletic. The Opta values on this page were read from an Internet Archive snapshot of Messi's FBref page dated 17 December 2025.