Expected Assists vs Expected Goals: xA, xAG, and xG Compared

Expected goals (xG) is the probability a shot becomes a goal. In Opta's usage, expected assists (xA) is the probability a completed pass becomes a goal assist, credited whether or not a shot follows. FBref's expected assisted goals (xAG) is the xG of the shot a pass sets up, so it exists only when a shot is taken.

Three metrics, three units

The cleanest way to separate these metrics is by what each one rates.

xG rates a shot. FBref's explainer defines xG as the probability that a shot results in a goal based on the shot's characteristics and the events leading up to it, such as location, body part, pass type, and type of attack. It is credited to the shooter.

xA, in Opta's definition, rates a completed pass. Opta's glossary on The Analyst describes expected assists as the likelihood that a completed pass becomes a goal assist. FBref's explainer adds that the model uses the type of pass, its location on the pitch, the phase of play, and the distance covered, and that players receive xA for every completed pass whether or not a shot occurred.

xAG rates a pass by its outcome shot. FBref's expected assisted goals isolates the xG of shots that follow a completed pass. Players receive xAG only when a shot is taken after their pass, and the value equals that shot's xG.

An illustration

Take two passes into the box, with illustrative values. In the first, a cutback finds a striker who shoots from a chance worth 0.40 xG and misses. The striker gets 0.40 xG, the passer gets 0.40 xAG, and the passer's xA is whatever Opta's pass model assigns to that cutback, which need not be 0.40.

In the second, an identical cutback reaches the same striker, who takes a poor touch and never shoots. Nobody gets xG, the passer gets no xAG, and the passer still receives xA for the completed pass. That is the whole point of xA: it measures the pass rather than what a teammate did with it.

The naming problem

Older articles often use xA for what FBref now calls xAG. FBref's explainer says that before October 2022 it used xA to mean expected assisted goals; when it switched its data provider to Opta, Opta supplied its own pass-based xA, so FBref renamed the old metric xAG. Understat still uses the older meaning: its xA is the sum of the xG of shots from a player's key passes. When a source says xA, check which definition it means before comparing numbers.

How they relate to each other

At team level, xAG is a subset of xG: every unit of xAG is also counted as the shooter's xG, so summing player xG plus xAG across a squad counts assisted shots twice. FBref uses xG plus xAG per player because it mirrors goals plus assists, which also counts an assisted goal twice across the shooter and passer.

Penalties produce xG but no xAG, since a penalty is not assisted. That is one reason FBref reports npxG plus xAG as a non-penalty contribution figure.

xA and xAG for the same player can diverge for long stretches. A creator whose passes keep reaching teammates who decline to shoot will show more xA than xAG.

Which to use for which question

Finishing. Goals minus xG, preferably non-penalty, over large samples.

Chance creation that led to shots. xAG, compared with actual assists. Assists minus xAG mostly reflects teammates' finishing, not the passer.

Passing quality independent of teammates. Opta's xA, since it credits the pass whether or not a shot follows.

Forecasting. Use per-90 rates over many matches, keep one provider throughout, and expect differences between providers on the same matches.

Where to get the data now

Sports Reference announced on 20 January 2026 that Opta had terminated its data feed and that advanced data had been removed from FBref, as reported by Awful Announcing and The Athletic. Check what FBref currently shows before building on it. Understat continues to publish its own xG and xA for the leagues it covers, and Opta's data is available through The Analyst and commercial licences.

This page explains metric definitions and is not betting advice.

DimensionxGxA (Opta)xAG (FBref)
Event ratedShotCompleted passCompleted pass followed by a shot
Credited toShooterPasserPasser
Needs a shotYesNoYes
Value comes fromShot featuresPass type, location, phase, distancexG of the resulting shot
Depends on teammateNoNoYes, teammate must shoot
Natural comparisonGoalsAssistsAssists
Understat equivalentxGNoneUnderstat's xA

Frequently asked questions

What is the difference between xA and xAG?
Opta's xA is the probability that a completed pass becomes a goal assist, and it is credited for every completed pass whether or not a shot follows. FBref's xAG is the xG of the shot that a pass sets up, so it is credited only when a shot is taken. xA measures the pass itself; xAG measures the chance the pass produced.
Is expected assists the same as expected goals?
No. Expected goals rates shots and is credited to the shooter. Expected assists rates passes and is credited to the passer. Under FBref's xAG and Understat's xA, the passer's value equals the shooter's xG on the resulting shot, which is why the two are often confused, but Opta's xA uses its own pass model.
Why do older articles use xA for what FBref now calls xAG?
FBref's explainer says that before October 2022 it used xA to mean expected assisted goals. When it moved to Opta as its data provider, Opta supplied a pass-based xA, so FBref renamed its older metric xAG. Understat still uses xA in the older sense, as the sum of xG from shots after a player's key passes.
Can you add xG and xA together?
For an individual player, xG plus xAG is a common contribution measure because it mirrors goals plus assists. Across a whole team it double counts, since every unit of xAG is also some teammate's xG. Adding Opta's pass-based xA to xG mixes two different units, a pass probability and a shot probability, so treat that sum with care.