Guide

What is expected goals (xG)?

Expected goals (xG) scores every shot by how often shots like it are scored, so a team's xG is the number of goals an average team would have scored from the same chances.

Why the scoreline lies

A 1-0 win can come from one lucky deflection against fifteen clear chances conceded. The result says the team won. The chances say they were outplayed and got away with it.

Goals are rare, so single matches are noisy. A team can be the better side for ninety minutes and lose. Over a season that evens out, but you rarely have a season to wait - you have the next fixture.

How xG is calculated

Every shot gets a probability based on where it was taken from, what part of the body took it, how the ball arrived, and how many defenders were in the way. A tap-in from six yards might be 0.7; a speculative effort from thirty yards might be 0.03.

Add up a team's shot probabilities and you get their xG for the match. Two goals from 0.6 xG means they finished exceptionally well, or got lucky. No goals from 2.4 xG means the chances were there and did not go in.

What it is good for, and what it is not

xG predicts future goals better than past goals do, because it measures the process rather than the outcome. That makes it the natural input to a goals model.

It says nothing about who deserved to win in any moral sense, it undervalues teams built around a genuinely exceptional finisher, and it is close to useless in a single match. It earns its keep across dozens of them.

How Oddsy uses it

Expected goals feeds the goal-expectancy side of our model, alongside recent form, rest days, injuries and a team strength rating. It is one input, not the answer.

Every prediction we publish shows the resulting probability, and every one is graded afterwards whether it landed or not.

See it applied

Every match we have called is published with the model's probability, the market price and the result - including the ones we got wrong.

Browse settled predictions