What xG actually is
It stands for expected goals. Every shot is assigned a probability of ending in a goal based on how it happened: distance, angle, body part, whether it followed a cross, whether defenders were nearby. Adding up those probabilities gives the team's xG for the match. It is not an opinion: it is a historical average of similar shots.
How it is calculated shot by shot
The model is trained on hundreds of thousands of recorded attempts and learns what share of them ends in a goal in each situation. A shot from five metres at an open goal might be worth 0.7; a long-range free kick, 0.03. No shot is worth 1: even the penalty, historically, is converted three times out of four.

Why a 0-0 can carry 2.4 xG
Because xG measures the quality of the chances, not the scoreboard. A team can create four clear openings and miss them all: the result says 0-0 and the xG says that match should have had goals. On a single afternoon that means nothing; repeated over twenty matches, it says quite a lot.
What it measures well
It measures the structural quality of an attack and a defence across a season, and it predicts future performance better than actual goals do. If a team keeps winning with less xG than its opponents, it is a candidate to stop winning. And the other way round: the side that creates and does not convert usually corrects.
What it does not measure
It does not measure tactical context or game state: the shots of a team losing 3-0 count the same as those in a tight 0-0. It does not measure the quality of the finisher, except in models that add that separately. And it says nothing about the opposing goalkeeper or a one-off goalkeeping error.
How we use it
xG is one of the model's variables, never the only one: without a price there is no decision. A team with strong xG at an expensive price is not a bet; one with modest xG at a giveaway price might be. The metric organises the analysis, the price makes the decision.