How to Compare Expected Assists (xA) for Players and Teams: A Practical Checklist

How to Compare Expected Assists (xA) for Players and Teams: A Practical Checklist

You’re watching a match, and a midfielder threads a perfect through ball that the striker somehow misses. The assist column stays at zero, but you know that pass deserved a better fate. That’s where Expected Assists (xA) comes in—a metric that measures the quality of a pass, not just its outcome. In this how-to, I’ll walk you through a step-by-step checklist to compare xA for both players and teams, using public stats from sources like FBref and Opta. No insider info, no guarantees—just the numbers and how to read them.

Step 1: Understand What xA Actually Measures

Before you dive into comparisons, get clear on the definition. Expected Assists (xA) assigns a value to each pass that leads to a shot, based on factors like pass type, distance, angle, and the situation (e.g., through ball vs. cross). A pass that sets up a clear chance from six yards out gets a high xA (say, 0.6), while a sideways pass from 30 yards gets a low one (0.02). Unlike traditional assists, xA accounts for the shooter’s miss—so it’s a better measure of creative output.

  • Key difference: Assists count only when a goal is scored; xA counts every key pass that leads to a shot.
  • Public source: FBref pulls xA data from Opta, available for most top leagues (Premier League, La Liga, Serie A, Bundesliga, Ligue 1).

Step 2: Collect Player-Level xA Data from Reliable Sources

Head to FBref or WhoScored and look for the “Expected” stats section. For players, you’ll typically see:

  • xA per 90 minutes – normalizes for playing time.
  • Total xA – raw creative volume.
  • Key passes – passes leading to a shot (not xA-weighted, but useful context).
Pro tip: Filter by position. A central midfielder in a 4-3-3 formation might have lower xA than a winger in a 4-2-3-1, because their passing lanes differ. Compare within roles.

Example table (fictional, based on public-style data):

PlayerPositionTotal xAxA per 90Key Passes per 90
Player AWinger (4-3-3)8.20.452.8
Player BAttacking Mid (4-2-3-1)6.50.382.1
Player CStriker (3-5-2)3.10.181.1

Notice how Player A’s xA per 90 is higher—wingers in wide systems often get more crossing opportunities.

Step 3: Compare xA to Actual Assists for Context

This is where the real insight lives. Look at the gap between xA and actual assists:

  • xA > actual assists: The player’s passes aren’t being finished (bad luck or poor finishers).
  • Actual assists > xA: The player is overperforming (maybe due to exceptional finishers or luck).
Checklist action: For each player, note the difference. If a midfielder has 5 assists but only 3.2 xA, they might regress. Conversely, a winger with 2 assists and 6.1 xA is due for a breakout.

Step 4: Shift to Team-Level xA for Tactical Patterns

Now zoom out. Team xA aggregates all key passes from every player. This tells you about the team’s creative system. For example:

  • A team playing a 4-3-3 with high fullback involvement might have high xA from wide areas.
  • A 3-5-2 team could have concentrated xA through central midfielders and wing-backs.
How to compare teams: Look at total xA per match and xA per shot. A team with high xA per match but low xA per shot makes many low-quality chances. A team with low total xA but high xA per shot creates fewer but clearer opportunities.

Example team comparison (fictional):

TeamFormationTotal xA per MatchxA per ShotShots per Match
Team X4-2-3-11.80.1215
Team Y3-5-21.20.187

Team Y creates fewer chances but better ones—think a counter-attacking side.

Step 5: Cross-Reference with xG and PPDA xA doesn’t exist in a vacuum. Pair it with:

  • Expected Goals (xG): If a team has high xA but low xG, their shooters are underperforming. Check our expected goals season review for deeper analysis.
  • PPDA (passes per defensive action): A team with low PPDA (high pressing) might force turnovers that lead to high-xA chances. For example, a high-pressing 4-3-3 can generate creative passes from regains.
Action: Plot xA vs. xG for a team. If xA is high but xG is low, the problem isn’t creation—it’s finishing.

Step 6: Use Tables to Compare Players Across Leagues

When scouting players from different leagues (e.g., Ligue 1 vs. Premier League), adjust for league average. A winger with 0.5 xA per 90 in Ligue 1 might translate to 0.35 in the EPL due to stronger defenses. Use Transfermarkt valuations as a rough proxy for league quality, but remember: market value isn’t a transfer fee guarantee.

Comparison table (fictional):

LeaguePlayerxA per 90League Avg xA per 90xA Above Avg
Premier LeaguePlayer D0.420.28+0.14
La LigaPlayer E0.480.30+0.18
BundesligaPlayer F0.500.32+0.18

Player F’s raw xA looks higher, but relative to league average, Player E and F are similar.

Step 7: Look at Contract and Release Clause Context (Optional)

For scouting, xA matters, but so does availability. Check contract expiry and release clauses on Transfermarkt. A player with high xA and a low release clause is a bargain—but don’t assume the clause guarantees a transfer. Use this info as a filter, not a prediction.

Step 8: Summarize Your Findings in a Checklist

Here’s your quick recap for comparing xA:

  • Define xA and separate it from assists.
  • Pull player xA per 90 and key passes from FBref.
  • Compare xA to actual assists for regression clues.
  • Analyze team xA per match and xA per shot.
  • Cross-reference with xG and PPDA for tactical fit.
  • Use league-adjusted tables for cross-league scouting.
  • Check contract terms only for availability context.
  • Never treat xA as a guaranteed performance predictor.
Final thought: xA is a tool, not a crystal ball. It tells you who’s creating chances, but it doesn’t account for defensive pressure, goalkeeper positioning, or a striker’s cold streak. Use it alongside traditional stats and your own eye test. For more on how xA fits into tactical setups, see our guide on expected assists in tactical context, and for deeper passing analysis, check out assists and key passes data.

Remember: all stats come from public sources like Opta and FBref—no insider info here. Make your own conclusions, and enjoy the numbers.

Harold Austin

Harold Austin

Statistical Data Journalist

Marcus turns raw player and team statistics into clear narratives, using public databases like Opta, StatsBomb, and official league APIs. He focuses on performance trends and comparative metrics.