The assist column tells you when a pass led to a goal. xA tells you how good the pass was - regardless of what the striker did with it.
The Problem With Counting Assists
You already know xG. You understand that not every shot is equal - a tap-in from six yards isn't the same as a speculative volley from 35 yards, even if both end up in the back of the net. The same logic applies to the pass before the shot.
A traditional assist requires one thing: the shot that follows has to go in. That creates a problem. If Kevin De Bruyne threads a perfect through-ball into the box and the striker blazes it over the bar, De Bruyne gets nothing. No assist, no credit, no statistical recognition - even though he did his job perfectly. If Erling Haaland tucks away three goals in a game, all assisted by the same kind of mundane square pass from the edge of the box, whoever played those passes suddenly looks like a creative genius.
The assist is a collaborative statistic that rewards the creator only when the finisher delivers. xA (Expected Assists) decouples the two. It asks: how good was that pass, independent of what happened next?
This is the core idea behind Expected Assists. And once you understand it, you'll never look at an assist tally the same way again.
How xA Is Calculated
The calculation of xA is elegantly simple once you know what xG is. Every pass that directly leads to a shot gets assigned the xG value of the resulting shot.
That's it. xA = the xG of the shot that followed your pass.
If a player plays a key pass into the penalty area and the resulting shot has an xG of 0.35 - meaning a shot from that position, of that type, is converted 35% of the time - then that pass is worth 0.35 xA. The passer gets credited with 0.35 xA whether or not the shot goes in.
Add up all those values across a season and you get a player's total xA: a measure of the cumulative chance quality they've generated with their passing.
Which Passes Count?
Only key passes feed into xA - passes that directly create a shot attempt. A player might complete 90 passes in a game, but if only two of them lead directly to shots, only those two are factored into xA.
This is why xA is so useful for identifying genuine creators rather than high-volume passers who circulate the ball without generating danger. A defensive midfielder with 85% pass accuracy might create zero xA, while a winger who completes fewer passes but consistently finds teammates in shooting positions accumulates xA quickly.
Pre-Shot vs. Post-Shot Models
There's a subtle refinement worth knowing. Standard xA uses a pre-shot model - it assigns xG based on the location and nature of the shot before the shot is taken. Some advanced models use post-shot xA, which incorporates additional shot information (like placement within the goal) to refine the value.
For most analytical purposes, pre-shot xA is the standard you'll encounter in data dashboards and scouting reports. The difference between the two models is usually small at the individual shot level, though it can add up across a season.
MatchAnalyzr Tip
In the Offensive Stats widget, you can see xA alongside actual assists for any player on your watchlist. The gap between the two tells you immediately whether their teammates are helping or hindering their chance creation numbers.
xA vs. Actual Assists - The Gap Tells the Story
The most revealing number isn't xA on its own. It's the gap between xA and actual assists.
A player accumulating 12 xA but only 6 actual assists over a season has a problem - their teammates are underperforming. The creator is doing their job. The finishers aren't. This gap is sometimes called 'unlucky' assists, though 'unclaimed' might be more accurate.
Conversely, a player with 6 xA but 10 actual assists has probably benefited from extraordinary finishing from their teammates, or from some luck. Their assist total is likely to regress toward their xA in future seasons.
This regression to the mean is one of xA's most powerful applications. If you see a player's assist tally dramatically outpacing their xA over a short period, be skeptical. Sustainability isn't guaranteed.
The De Bruyne Case Study
Kevin De Bruyne is perhaps the clearest illustration of why xA matters. In seasons where Manchester City's forwards were misfiring, De Bruyne's assist tallies would dip - not because he was creating fewer chances, but because the chances weren't being taken. His xA remained elite even when his raw assist number looked merely good.
Scouting reports based on assists alone would have systematically underrated him during those periods. xA corrected that picture. De Bruyne was always one of the top xA-per-90 players in Europe - the finishing variance around him was just noise.
Thomas Müller - The Raumdeuter's Statistical Signature
Thomas Müller's nickname - 'Raumdeuter,' German for 'space interpreter' - captures something xA measures well. Müller rarely takes the shot himself, but he occupies space that creates shooting opportunities for others and delivers passes at the most dangerous moments.
In seasons where Bayern's strikers were clinical, Müller's assist numbers were spectacular. In seasons where they weren't, his xA still held up. The data was consistent; what fluctuated was the finishing. Understanding this through xA is what separates a complete scouting report from a naive one.
Which Player Types Benefit Most From xA Analysis
Not every player type produces meaningful xA. Central defenders, defensive midfielders, and goalkeeper distributions rarely feed into the metric - they're not creating shots directly. The players where xA becomes most insightful are the creative ones.
Attacking Midfielders and Playmakers
The classic No. 10 - think prime Messi in his Barça role, De Bruyne, or David Silva - thrives in xA analysis. These players' entire value proposition is creating high-quality chances for others, and xA captures that precisely. A playmaker with elite xA-per-90 is producing value regardless of whether their teammates convert.
Wingers and Wide Forwards
Wingers present an interesting challenge for traditional stats - they're expected to both create and score, so assists alone miss the picture. A winger who cuts inside and drives toward goal might create several shots per game for themselves and teammates. xA separates which of their contributions came as a creator versus a finisher, making it much easier to characterize their role in attack.
False Nines and Withdrawn Forwards
Perhaps the most undervalued case. A false nine like Firmino in his Liverpool prime dropped deep to create chances rather than finishing them. His goal tally rarely matched his influence - but his xA was consistently high. Without that metric, his contribution to Liverpool's attack was dramatically undervalued by fans and pundits who fixated on goals.
MatchAnalyzr Tip
The Player Radar widget visualizes xA alongside xG, progressive passes, and dribbles - giving you a full picture of whether a player is primarily a creator, a finisher, or a complete attacker. Compare two players side by side to see instantly where each player's value comes from.
xGI - Combining xG and xA for Total Attacking Contribution
xA doesn't exist in isolation. The most complete picture of an attacking player's contribution comes from combining it with xG.
xGI (Expected Goal Involvement) = xG + xA
This single number tells you how many expected goals a player is generating - either through their own shots or through chances they create for others. It's the closest thing we have to a one-number summary of a player's attacking output.
Consider two players with the same xG. Player A has xG of 0.45 per 90 and xA of 0.10. Player B has xG of 0.20 per 90 and xA of 0.35. They have the same xGI (0.55), but they're completely different player types. xGI lets you compare total output; xG and xA separately tell you the shape of that output.
For scouting purposes, xGI is often the starting filter - identify players with high total output - and then the xG/xA split reveals whether you're looking for a finisher or a creator.
Per-90 Normalization
Like all per-game metrics, xA should always be viewed per 90 minutes rather than as a season total. A player with 8 xA in 3,000 minutes has accumulated that over a full season. A player with 5 xA in 1,200 minutes has a dramatically higher rate - they're just not getting the minutes to translate that into impressive season totals.
This is where xA becomes a discovery tool. Clubs looking to sign a creator can find players who are outperforming their minutes, playing in lower leagues or for weaker teams, whose per-90 xA marks them as elite creators not yet playing on a big stage.
xA in Transfer Scouting and Squad Building
xA has become a core metric in modern transfer analysis. When a club is targeting a creative player, xA-per-90 is often the first number they look at - it tells them whether the player genuinely creates high-quality chances or whether their assist record is inflated by exceptional finishing from teammates.
The classic scouting use case: a player at a mid-table club has 7 assists and 0.45 xA-per-90. At a top club with elite finishers, how many assists would that xA have produced? If you assume a conversion rate comparable to the top club's attackers, suddenly that 7 becomes 12 or 13. The player hasn't changed - the finishing environment has.
This projection logic is why clubs are increasingly paying for creative players whose assist tallies look modest but whose xA marks them as genuinely elite. You're buying the passes, not the scorelines.
Context Matters: Team and System
xA doesn't exist independent of system. A player's xA will naturally be higher when their team has more possession, more shots, and a more attack-minded structure. A creative midfielder playing for a low-block, counter-attacking team will have fewer opportunities to create shots than the same player in a high-pressing, possession-based system.
This is why xA-per-90 needs to be read alongside team context. A player generating 0.30 xA-per-90 for a defensive team is doing something quite different from a player generating 0.30 xA-per-90 for a dominant top-flight side. The former might be the best creator on their team playing in a constrained environment; the latter might be one of several creative options benefiting from permanent attacking pressure.
MatchAnalyzr Tip
Filter your watchlist players by xA-per-90 to find underrated creators whose assist tallies don't reflect their true output. A player with high xA but low assists is either unlucky or playing with poor finishers - both are interesting scouting situations worth investigating.
Limitations of xA
xA is a powerful tool, but it has genuine limitations that any serious user should understand.
**It only captures key passes.** A player who constantly makes passes that move teammates into dangerous positions - but where the teammate then dribbles, passes again before shooting, or draws a foul - gets no xA credit. Pre-assist play, second assists, and positional creativity that doesn't immediately create a shot are invisible to the metric.
**It doesn't capture pass difficulty.** Two passes with the same xG outcome might have wildly different execution difficulty. A simple cutback from the byline is technically a key pass. So is a 40-yard diagonal through the press to find a runner in behind. xA treats them identically.
**It's backward-looking.** xA measures the quality of passes already made, based on historical conversion rates for similar shots. It can't fully account for a specific teammate's finishing ability or the goalkeeper they're facing. It's a probabilistic average, not a precise prediction.
**Sample size matters enormously.** A player with 3 xA over 5 games tells you very little. xA needs a substantial sample - ideally a full season of data - before patterns become meaningful. Small samples produce volatile numbers.
None of these limitations make xA less useful. They just mean it should be part of a broader analytical picture rather than the only number you look at.
Frequently Asked Questions
What is the difference between xA and an assist?
An assist is awarded when your pass leads directly to a goal - it requires the shot to go in. xA (Expected Assists) credits you with the xG value of the shot that followed your pass, regardless of whether it was scored. This means xA measures the quality of your pass, not whether your teammate finished well. A perfect through-ball that's blazed wide still earns xA; a lucky square pass that results in a goal gives the passer an assist but very little xA.
Can xA be higher than actual assists?
Yes - and for most creative players, xA and actual assists fluctuate around each other depending on finishing. If a player's xA consistently exceeds their assist tally, their teammates are underconverting the chances being created. If actual assists consistently exceed xA, the player has been fortunate with finishing or has unusually clinical teammates. Over a long enough period, assists tend to converge toward xA.
What is a good xA per 90 for a midfielder?
Context varies by position and league, but as a rough guide: 0.10-0.19 xA-per-90 is solid for a central midfielder, 0.20-0.29 marks a genuinely creative player, and 0.30+ per 90 is elite-level creation. Attacking midfielders and wingers in dominant teams will naturally produce higher numbers due to more possession and shot opportunities. Always compare players to others in the same position and league context.
Does xA work for defenders and full-backs?
Yes, and it's particularly valuable for evaluating modern full-backs who are expected to contribute in attack. An overlapping full-back who consistently plays cutbacks or crosses into danger zones will accumulate meaningful xA even if their assist numbers are modest. xA helps distinguish genuinely creative full-backs from those who cross frequently but without creating real danger.
What is xGI and how does it relate to xA?
xGI stands for Expected Goal Involvement and is simply xG + xA. It gives you a single number representing a player's total expected attacking contribution - both from their own shots and from chances they create for others. It's the most complete one-number summary of an outfield attacking player's output, useful for initial comparisons before you drill into the xG/xA split to understand the type of player.
Your football.
Your analysis data.
Your dashboards.
Turn raw data into real insights with MatchAnalyzr. Build your own personalised football dashboard with the leagues, teams and players you actually follow.