Expected Goals (xG) has become the most influential metric in modern football analytics, and at 1X2.TV, our xG model is a critical component of our prediction pipeline. This article explains how we build and maintain our xG model, from raw shot data collection through to integration into match outcome predictions.
What xG Measures
Expected Goals quantifies the quality of a scoring opportunity by estimating the probability that an average player would score from that specific shot. Factors include shot location (distance and angle to goal), body part used (foot, head, other), assist type (through ball, cross, set piece), game state (open play, counter-attack, set piece), and defensive pressure. Each shot in our database receives an xG value between 0 and 1.
Training the xG Model
Our xG model is trained on hundreds of thousands of shots from our historical database, covering all major European leagues over multiple seasons. We use a gradient-boosted classifier (XGBoost) that takes shot features as input and predicts goal probability. The model achieves strong calibration — shots assigned an xG of 0.15 result in goals approximately 15% of the time across large samples.
From Shot-Level to Match-Level Predictions
Individual shot xG values aggregate to team-level expected goals for each match. A team creating chances with a total xG of 2.1 in a match is performing well offensively regardless of the actual scoreline. Our match prediction models use rolling xG averages rather than raw goal counts because xG is a more stable and predictive metric — it better separates genuine team quality from short-term luck.
xG Difference as a Predictive Feature
The difference between a team's xG created and xG conceded (xGD) is one of our most powerful predictive features. Teams with positive xGD but poor actual goal difference are strong candidates for improvement, while teams outperforming their xG are likely to regress. This mean-reversion dynamic is a key source of value in our predictions.
Accessing xG-Powered Predictions
Every prediction on 1X2.TV is informed by our xG models. We publish team-level xG statistics alongside our match predictions, allowing users to see the underlying data driving our forecasts.

