What is xG (Expected Goals)?
Expected goals, or xG, measures the quality of scoring chances in a match rather than the actual goals scored. Every shot is assigned a value between 0 and 1 based on factors like distance, angle, and defensive pressure — a tap-in from close range might carry an xG of 0.8, while a long-range strike might be worth 0.03. Add up the values for all of a team's shots and you get their expected goals for the match.
xG strips out finishing luck and randomness, which is exactly why it's become a standard tool for bettors: a team that wins 2-1 despite generating just 0.6 xG got fortunate, while a team that loses 1-0 with 2.4 xG was probably the better side. Betting on the underlying performance rather than the scoreline is where an xG Calculator earns its keep.
How This Calculator Converts xG into Probabilities
Enter the expected goals for each team and the calculator applies a Poisson distribution — the standard statistical model for predicting goal-scoring events in football and ice hockey — to simulate every realistic scoreline from 0-0 up to 10-10.
From that distribution, the calculator instantly generates:
- 1X2 probabilities — win/draw/loss chances for both teams
- BTTS and team-to-score — both teams to score, and each team's individual chance of scoring at all
- Fair odds — the true odds implied by the probabilities, useful for spotting value against bookmaker prices
- Handicap and totals markets — including team-specific over/under lines
- Full score matrix — the probability of every individual scoreline
For ice hockey, the model applies a draw-probability adjustment to reflect the sport's different scoring pattern compared to football. For baseball, where a completed game can't end in a draw, the calculator shows a straight Moneyline (Home/Away) instead of a 1X2 breakdown.
Using xG to Find Value Bets
The real use case for an xG Calculator isn't predicting scorelines — it's comparing your calculated fair odds against what bookmakers are offering. If your xG inputs (drawn from recent team performance data) produce a fair odds price higher than the bookmaker's price, that's a signal of value.
Example: A team with a home xG of 1.8 and an away opponent xG of 1.1 might produce a calculated ~52% win probability (fair odds ~1.92). If a bookmaker is offering 2.10 on that outcome, the market is pricing in a lower win probability than the underlying data suggests — worth a closer look.
This only works if your xG inputs are accurate — pull them from a reliable source (recent match data, rolling averages, or your own model) rather than guessing.
Frequently Asked Questions
What's a good xG value for a team?
Context-dependent, but as a rough guide: above 1.5 xG per match suggests a strong attacking performance; below 0.8 suggests a struggling one. Compare a team's xG to their league average rather than judging it in isolation.
Does this calculator work for ice hockey and baseball as well as football?
Yes. Select "Ice hockey" or "Baseball" from the sport dropdown. Ice hockey applies a draw-probability adjustment; baseball shows a Moneyline (Home/Away) instead of 1X2, since a completed MLB game can't end in a draw.
What's the difference between the probability output and fair odds?
They're the same underlying number expressed two ways. Fair odds are simply 1 ÷ probability. Toggle "Fair odds" to switch the display.
Can I use this to calculate handicap and totals odds too?
Yes — use the tabs above the score matrix to switch between 1X2, BTTS, team-to-score, handicap, totals, and team totals markets, all calculated from the same two xG inputs.