Here's the deal: xG measures the probability that a shot will result in a goal, based on a ton of historical data. It's a percentage, from 0 to 1.0. A shot from midfield with defenders swarming? Maybe a 0.01 xG. A penalty kick? Around 0.76 xG. Open net tap-in? Could be 0.90 xG. This isn't about predicting *this specific shot*, but rather, if you took that exact shot 100 times, how many times would it go in?
How do these models get built? Companies like StatsBomb, Opta, and FBref (which uses Opta data, mostly) feed millions of shots into algorithms. For each shot, they log dozens of variables:
* **Shot Location:** The most obvious factor. A shot from 6 yards out is far more dangerous than one from 30.
* **Body Part:** Headers are generally lower xG than shots with feet, unless it’s a diving header from point-blank range.
* **Type of Assist:** Was it a through ball, a cross, a cut-back? A precise cut-back from the byline often creates higher xG chances.
* **Angle to Goal:** A shot directly in front of goal has a better chance than one from a tight angle near the touchline.
* **Number of Defenders Between Shooter and Goal:** More bodies, lower xG.
* **Goalkeeper Position:** Was the keeper out of position? On their line?
* **Game State:** Is it open play, a corner, a direct free kick? Penalties are a separate beast, typically assigned a fixed xG.
* **Footedness:** Was it on the player's strong or weak foot? (Some models include this.)
Each model has its own proprietary secret sauce, weighting these variables differently. StatsBomb, for example, is renowned for tracking pre-shot actions like ball receipts and body orientation, which can add layers of nuance. Opta, on the other hand, boasts a massive historical dataset, giving their model broad predictive power.
Let's look at the 2025-26 La Liga season, five games in. Real Madrid sits top with 13 points. They've scored 11 goals from 9.2 xG. That's an overperformance of 1.8 goals. Are they lucky, or do they have elite finishers like Vinicius Jr. and Jude Bellingham who consistently convert lower xG chances? Probably a bit of both. Vinicius Jr. already has 4 goals from 2.8 xG, a +1.2 over his individual xG. Bellingham, with 3 goals from 2.1 xG, is also outperforming.
Barcelona, currently 3rd, has scored 9 goals from 10.5 xG, an underperformance of -1.5 goals. They're creating good chances but not finishing them. Robert Lewandowski, their primary striker, has 2 goals from 3.5 xG. That's a -1.5 xG difference, suggesting a dip in his usual clinical finishing. This is where xG becomes invaluable. It tells you Barcelona’s attack isn't the problem, their conversion is.
xG is great, but it has a limitation: it doesn't care *where* on target a shot goes. A tame shot straight at the keeper from 10 yards gets the same xG as a top-corner rocket from the same spot, *if* both are considered "on target" by the model. This is where **Expected Goals on Target (xGOT)** comes in. xGOT takes into account the *placement* and *power* of shots that hit the target. If a shot has an xG of 0.20 but is struck perfectly into the top corner, its xGOT might be 0.50. It’s a measure of shot quality *after* contact, reflecting the shooter's ability to hit the target in a way that makes it difficult for the keeper. Vinicius Jr.'s xGOT for his 4 goals might be 3.8, suggesting he's hitting the target well, but his actual goal tally is still higher.
On the flip side, we have **Expected Goals Against (xGA)**. This is simply the sum of the xG of all shots *your opponent* takes against your team. It's a fantastic measure of defensive solidity. Real Madrid, through five games, has conceded 3 goals from 4.8 xGA. Their keeper, Thibaut Courtois, is saving shots he's "expected" to concede, a positive difference of 1.8 goals. Courtois often pulls off these saves, so that's not surprising. Atlético Madrid, however, has conceded 6 goals from 4.0 xGA, a -2.0 difference. Their defense is allowing low-quality shots, but those shots are finding the net more often than statistically expected. This could point to poor goalkeeping or just a patch of bad luck.
Then there's **Non-Penalty Expected Goals (NPxG)**. This is exactly what it sounds like: xG with penalties removed. Penalties have a very high, fixed xG (around 0.76-0.79 depending on the model), and they can skew a team's overall xG numbers. When evaluating open play attacking prowess, NPxG is a much cleaner metric. For instance, if a team has 12.0 xG but 3 of those are penalties (3 * 0.76 = 2.28 xG), their NPxG would be 9.72. It paints a more accurate picture of how many *non-penalty* chances they are creating.
Here’s a snapshot of La Liga’s top 4 teams after 5 matches (2025-26):
| Team | Goals Scored | xG For | xG Diff (G-xG) | NPxG For | Goals Conceded | xGA Against | xGA Diff (GA-xGA) |
| :------------- | :----------- | :----- | :------------- | :------- | :------------- | :---------- | :---------------- |
| Real Madrid | 11 | 9.2 | +1.8 | 8.5 | 3 | 4.8 | -1.8 |
| Girona | 10 | 8.9 | +1.1 | 8.2 | 5 | 6.1 | -1.1 |
| Barcelona | 9 | 10.5 | -1.5 | 9.9 | 4 | 5.0 | -1.0 |
| Atlético Madrid | 8 | 9.0 | -1.0 | 8.3 | 6 | 4.0 | +2.0 |
Look at Atlético. Their xGA is only 4.0, meaning they're not allowing many dangerous chances, but they've conceded 6 goals. That +2.0 xGA difference is a red flag. Either their keeper Jan Oblak is having a rough patch, or they’re conceding goals from some genuinely unlucky deflections or errors that the xG model doesn’t fully capture. My hot take? Oblak is still elite, so this is likely a short-term blip, and that xGA number suggests their defense is actually performing well.
Real talk: xG isn't perfect. It doesn't account for defensive errors that *don't* lead to a shot, or world-class passes that unlock a defense but result in a marginal xG shot. It's a model, an estimation. But it’s the best estimation we have.
Ultimately, xG helps us separate performance from outcome. A team can play brilliantly, create high-quality chances, and lose 1-0 due to bad luck or an incredible opposing keeper. xG tells you they *deserved* more. Conversely, a team can scrape a 1-0 win from a single low-xG shot, and xG will tell you they were fortunate. It’s not about replacing goals; it’s about understanding the game at a deeper level.
My bold prediction for the end of the 2025-26 La Liga season: Real Madrid will win the league with an xG differential of +30.0 or better, but Barcelona will finish 2nd, with their xG underperformance evening out by March.
💬 Comments