Kuningas BettingKUNINGAS BETTING
Articles
GuideAug 28

What is xG (Expected Goals) and how it makes your bets better

13 years of betting experience and building my own xG model, distilled — how we read expected goals and how we actually use it to place bets.

What is xG?

xG, or expected goals, measures how likely a specific chance is to result in a goal. Every shot gets a value between 0 and 1 — a penalty kick, for example, is roughly 0.76 xG (a 76% chance of scoring), while a shot from 30 metres at a tight angle might be worth 0.02 xG.

Add these up across a match and you get a single number per team that shows how good the chances they created actually were — regardless of whether those chances were finished or not. That last part is exactly what makes xG so valuable to a bettor: it separates the quality of a team's performance from raw luck.

How xG is actually calculated

Every xG model (including the one I built myself over the years) scores a shot based on several factors: distance from goal, angle to goal, whether it was struck with the foot or head, whether it was a one-on-one with the keeper, how many defenders were between the shot and the goal, and what kind of situation created the chance — a corner, a free kick, a fast break, or a build-up move.

These factors are trained on thousands of historical shots where the outcome (goal or no goal) is already known. The model learns the patterns from that data — for instance, that shots from the centre of the box six metres out go in far more often than shots from a tight angle near the byline, even if both look like "good chances" at first glance.

Why the scoreline alone is misleading

Football is a low-scoring sport — a typical match ends 2-3 goals total. That means randomness (variance) has an outsized effect on the result. A team can create six excellent chances and still lose 0-1, while their opponent managed just one dangerous shot the entire match.

If you only look at the final score, it looks like the losing team played badly. The xG data, however, shows they were actually the better side — and over a longer sample (tens of matches), that kind of performance usually pays off eventually. This is exactly why xG is so useful: it helps identify teams that are genuinely playing well but whose results haven't caught up yet — and that's often precisely where the odds haven't caught up either.

How I actually use xG when betting

First, I look at a team's xG trend over the last 5-10 matches, not just their league position. A team with poor results but consistently strong xG is often undervalued — odds are mostly based on recent results, not on the actual quality of play.

Second, I use xG on over/under and Asian handicap markets: if the combined xG between two teams in recent meetings has been consistently high, but the bookmaker's over/under line hasn't caught up to that, it's often a spot with value. The same applies to handicaps — if one team is clearly dominant in xG terms but the handicap line is still conservative, it's worth a closer look.

Third, I use it live (in-play) as well — if a team is trailing 0-0 but has already racked up 1.8 xG, the live over/under or handicap odds often become attractive, since the market tends to react to the scoreline rather than the actual run of play.

The limitations of xG worth remembering

xG isn't magic. It doesn't fully account for how the scoreline affects a team's behaviour (e.g. a team consciously slowing the tempo while leading 1-0), doesn't precisely capture an individual striker's finishing ability, and doesn't directly measure defensive quality. Different models — including my own — will give slightly different numbers for the same shot, depending on which factors the model weighs.

That's why xG should never be your only decision factor — it's one strong tool alongside others (lineups, form, motivation, fatigue), not an automatic betting formula. Combined with the rest, though, it gives a far clearer picture than the league table and recent results alone.

Betting tips, analysis and strategies straight to your pocket — completely free.

Join on Telegram