Luck index
Goals scored. Goals expected.
See who came out ahead of the chances.
Loading chart…
Skill, variance, and everything between.
“Luck” is shorthand for the gap between goals and expected goals. Finishing, goalkeeping and model limitations can all contribute.
Sources, definitions & coverage
Understat xG, archived by vibedatascience. The historical snapshot contains 20 clubs playing 38 matches in each of 11 seasons, 2014–15 through 2024–25. 2025–26 retains its verified xgEdge snapshot. The current 2026–27 season uses FotMob shot-map xG. The current season’s outcome plot, season totals, minute charts and shot map use the same shot totals. Each season uses a single model throughout; values across the provider boundary are not directly comparable. The main plot rounds match xG separately for each side to the nearest whole goal (half values up), awards 3/1/0 points from that scoreline, and subtracts those expected points from the actual points earned. This is independent of the goal-difference calculation above it.
Goals minus xG = goals scored minus xG. Conceded minus xGA = goals conceded minus xGA. Combined subtracts conceded minus xGA from goals minus xG, giving actual goal difference minus expected goal difference. For example, 41 scored from 33 xG and 16 conceded from 18 xGA yields +8, −2, and +10 combined. Positive conceded-minus-xGA values mean more goals conceded than expected.
Season totals use all goals, including penalties and own goals in the source’s score totals. Per-match divides each contribution by matches played. Historical calculations retain source precision. Recent xG totals sum the original shot values. The table’s goals and xG columns remain season totals in both modes.
The Understat snapshot was archived September 1, 2025. Recent matches refresh daily from the same verified fixture snapshot as the results archive. Download match coverage for the latest counts. Historical match xG is from vaastav’s Understat archive, joined by date, club, venue and matching final score; coverage gaps are shown in the plot. Updates are daily snapshots, not live scores.