The Perfect xG Model Does NOT Exist. Does it?
Evaluating Accuracy, Bias, and Context to Understand Why One Model Cannot Fit Every Football Problem.
The following summary critically reviews the research paper titled “One xG model to rule them all? Challenging the most accurate xG model” by Robert Bajons and Tobias Harringer. All data, figures, and analysis presented here are drawn from their original work; I do not claim any authorship or ownership of the content. This summary has been written to provide a concise and technically informed synthesis of the paper’s findings, methodologies, and implications, while maintaining fidelity to the authors’ intellectual contributions.
1. Motivation
Expected Goals (xG) models have become a central tool in football analytics, widely adopted across broadcasting, coaching, and performance analysis. The paper highlights that xG is now “a standard part of match facts” and increasingly used by coaches such as Mikel Arteta and Arne Slot to evaluate performance. Among providers, Hudl-StatsBomb positions its model as the “most accurate xG model”, which motivates the authors to critically examine this claim.
The study is structured around three core objectives.
First, it evaluates how xG models should be assessed and analyzes the performance of Hudl-StatsBomb’s model under these criteria.
Second, it develops an alternative xG model using both proprietary and publicly available data, demonstrating improvements across several evaluation metrics.
Third, it challenges the idea of a single optimal xG model, arguing instead that different use cases require tailored variants.
This final point is central to the paper’s philosophy. Rather than searching for a universal model, the authors suggest that xG should be adapted depending on whether the goal is match prediction, player evaluation, or analysis under limited data conditions. The contribution is therefore both methodological and conceptual, offering not just a new model but a framework for thinking about xG more flexibly.
I recently shared the full video of a talk I gave at one of football’s leading sports analytics conferences, together with the presentation slides for anyone interested in exploring the ideas in more detail:
The Unfinished Revolution: Why Football Analytics Hasn't Gone Far Enough
Around one year ago I had the opportunity to talk in front of hundreds of people at a sports analytics conference. It was my first time on a stage, discussing some of the ideas and gaps in football analytics that had been on my mind for quite a while.
2. Data and Preprocessing
2.1 Data Description
The dataset combines two main sources. The first is proprietary Hudl-StatsBomb data from the 2024/25 season across five leagues: Allsvenskan, Championship, Eredivisie, Jupiler Pro League, and Major League Soccer. The second is publicly available StatsBomb data from the 2015/16 season covering the “top five” European leagues.
Event data provides detailed descriptions of on-ball actions, including spatial coordinates, timestamps, and contextual annotations such as possession sequences and player identities. A key feature is the “shot freeze frame,” which captures the positions of all visible players at the moment of a shot. This allows the model to incorporate spatial context beyond simple shot location.
In addition, the dataset includes aggregated physical metrics derived from tracking data, such as sprint counts and total running distance. These are measured in 15-minute intervals and provide a complementary view of player activity.
2.2 Data Preprocessing
The preprocessing pipeline focuses on constructing a clean and informative shot dataset. The authors restrict the data to open-play and free-kick shots, excluding penalties, corners, and kick-offs. Shots with missing spatial or contextual information are removed, resulting in a final dataset of 88,737 shots.
Several additional features are engineered. Using the StatsBombR package, the authors compute spatial variables such as distance and angle to goal and goalkeeper, as well as counts of attackers and defenders relative to the ball. They also determine each player’s dominant foot by analyzing passing behavior, assigning shots as taken with the strong foot, weak foot, or other body parts.
Game context is incorporated by reconstructing the scoreline at the time of each shot. This is derived from goal events and mapped onto each shot’s timestamp, with adjustments for home and away perspectives.
Finally, the authors introduce a rebound indicator. A shot is classified as a rebound if it occurs within three seconds of a previous shot in the same possession sequence. While this is an approximation, it captures “immediate rebound situations while excluding shots that result from new build-up play”.
3. Analyzing Hudl-Statsbomb’s xG model
3.1 Predictive accuracy
The evaluation begins with standard predictive metrics: accuracy, AUC, and logloss. While accuracy provides an intuitive measure, it depends on threshold choice. AUC captures the model’s ability to rank goals higher than non-goals, and logloss evaluates the quality of probabilistic predictions.
Compared to a naïve baseline that assigns a constant goal probability of 9.6%, the Hudl-StatsBomb model shows clear improvements, particularly in logloss. However, the authors caution that absolute values are difficult to interpret without comparison on the same dataset, as xG models are often evaluated on different samples.
3.2 Model calibration
Calibration assesses whether predicted probabilities align with observed outcomes. Ideally, shots with x% probability should result in goals approximately x% of the time.
Using a binning approach, the authors show that the model is well calibrated in low-probability regions, where most shots occur. However, in the 0.1–0.3 range, empirical goal rates exceed predictions, indicating systematic underprediction. This suggests that certain contextual factors are not fully captured by the model.
3.3 Goal distribution
From a theoretical perspective, xG models assume conditional independence of shots given the features. Under this assumption, total goals should follow a Poisson-Binomial distribution:
If the model is well specified, observed goals should fall within a high-probability interval derived from this distribution.
However, the analysis shows that the observed number of goals exceeds the upper bound of the 95% prediction interval. This indicates systematic underprediction and suggests that the feature set is insufficient, violating the assumption of feature sufficiency.
3.4 Potential biases
To identify missing variables, the authors analyze Goals Above Expectation (GAX) across different categories:
Systematic deviations from zero indicate bias.
Game state emerges as a strong factor. Shots taken while leading show overperformance relative to xG, while those taken when trailing show underperformance.
This effect intensifies later in matches, suggesting an interaction between scoreline and time.
The dominant foot also plays a significant role. Shots taken with the strong foot outperform expectations, while weak-foot shots underperform. Similarly, headers and other body parts show negative GAX values.
Rebound situations exhibit clear overperformance, indicating that the chaotic nature of rebounds is not fully captured by positional features alone.
In contrast, other factors such as home vs. away status and aggregated physical metrics show little to no additional explanatory power.
3.5 Summary of findings
Overall, Hudl-StatsBomb’s model demonstrates strong predictive performance and reasonable calibration. However, several limitations are identified. There is evidence of miscalibration in certain probability ranges, systematic underprediction of total goals, and situational biases related to game state, dominant foot, and rebounds.
These findings motivate the development of an improved model that explicitly incorporates these missing factors.
4. Developing own xG model
4.1 Model features
The authors construct a feature set that combines standard xG predictors with additional variables addressing identified biases. These include spatial features (distance, angle), event-based attributes (shot type, technique), and contextual variables such as game state, time interval, rebound indicator, and dominant foot.
A key innovation is the representation of defenders as probabilistic influence zones rather than fixed points. Each defender is modeled as a bivariate Gaussian distribution:
where the variance depends on the distance to the shooter.
This reflects the idea that defenders further away have a wider potential influence area, while closer defenders exert stronger pressure. Additionally, a weighting factor reduces the influence of distant defenders.
This approach smooths spatial effects and avoids unrealistic jumps in xG caused by small positional changes. It also allows for more nuanced representations of defensive pressure and shooting lanes.
4.2 Model fitting
Several modelling approaches are tested, including logistic regression, random forests, neural networks, and gradient boosting. XGBoost is selected due to superior out-of-sample performance.
The model is trained using 10-fold cross-fitting, ensuring that all predictions are out-of-sample. Hyperparameters are tuned via grid search, with logloss as the objective function. Early stopping is used to prevent overfitting, halting training when no improvement is observed over 20 rounds.
4.3 Model evaluation
The new model is evaluated against Hudl-StatsBomb’s benchmark using the same metrics. Results show slight improvements in AUC and logloss, indicating better discrimination and probability estimation, even though accuracy remains similar.
Calibration improves substantially, with predicted probabilities closely matching observed outcomes across all ranges. Notably, the previous underprediction in the 0.1–0.3 range is resolved.
From a theoretical perspective, the total number of goals now falls within the predicted Poisson-Binomial interval, suggesting that the feature sufficiency assumption is more plausible.
Finally, the inclusion of additional variables reduces situational biases.
Game state and dominant foot effects are largely neutralized, with GAX values close to zero across categories.
Some residual bias remains for rebounds, but it is reduced compared to the original model.
Overall, the model demonstrates improved predictive performance, better calibration, and reduced bias, supporting the idea that incorporating contextual variables leads to more robust xG estimates.
5. Use case specific xG models
While the model developed in Section 4 improves on several evaluation criteria, the authors shift the focus from model performance alone to the broader question of applicability. They argue that the “choice of xG model depends heavily on the particular use case,” and that optimizing for one objective may degrade performance for another.
5.1 Team strengths
A central debate in xG modelling is whether to include team strength variables. The authors propose an alternative to common ELO-based approaches by estimating attacking and defensive strengths using a bivariate Poisson model (Karlis and Ntzoufras, 2003), fitted via maximum likelihood on historical match data.
Empirically, adding team strength variables improves predictive performance. As shown in the chart below, models incorporating team strengths outperform both the baseline Hudl-StatsBomb model and the authors’ own model without such variables in terms of AUC and logloss. This demonstrates that team strength carries meaningful predictive signal.

To formally test this, the authors apply the Generalised Covariance Measure (GCM) test (Shah and Peters, 2020), which evaluates whether a variable adds predictive power conditional on other features. The results, show highly significant p-values for both attacking and defensive strength parameters, confirming that they are not conditionally independent of shot outcomes.

However, the usefulness of these variables depends on the task. For match prediction, they are clearly beneficial. In a toy example, the authors use average xG values (for and against) over recent matches as inputs to a multinomial regression model predicting match outcomes. Models incorporating both attacking and defensive strengths perform best, outperforming alternatives in both Brier score and logloss, as illustrated here:

The key insight is that team strength variables enhance predictive accuracy for future outcomes, but they embed team context into the xG values. This becomes problematic in other applications, particularly player evaluation.
5.2 Player evaluation
The authors then examine player evaluation, focusing on Goals Above Expectation (GAX), a widely used metric defined as the difference between actual goals and expected goals. While intuitive, GAX has been criticized for statistical limitations.
To address this, they use residualized GAX (rGAX), which adjusts for confounding factors and allows for statistical inference, including confidence intervals and hypothesis testing.
The critical point is that the choice of xG model directly affects the interpretation of player performance. Using an xG model that includes only defensive team strength, GAX and rGAX are highly correlated, meaning both metrics capture similar underlying shooting skill. As shown in Figure 12A and 12B, players can be evaluated consistently, with rGAX providing additional statistical robustness.

However, when both attacking and defensive team strengths are included, the relationship changes. The correlation between GAX and rGAX weakens, and individual player evaluations can shift dramatically. A striking example is Lionel Messi, whose rGAX becomes negative despite a positive GAX.
This occurs because attacking strength is partly determined by the very players being evaluated. Including it creates what the authors describe as a “bad control variable,” leading to biased estimates of individual performance. In essence, the model conditions on a variable that is itself influenced by the player, distorting the interpretation of their contribution.
The implication is clear. For player evaluation, xG models should avoid variables that embed the player’s own influence, such as attacking team strength. A similar argument applies to goalkeeper evaluation, where including defensive strength would confound individual performance with team effects.
5.3 League-specific models
The final use case considers situations with limited data, such as modelling a single league. In these cases, large feature sets can lead to overfitting, especially when combined with flexible machine learning models.
The authors highlight that while their full model includes 27 features (plus team strengths), this may be excessive for datasets with fewer than 10,000 shots. In such settings, the bias-variance trade-off becomes critical, and simpler models may generalize better.
To address this, they propose a forward stagewise feature selection procedure based on the GCM test. Starting with core variables such as distance, angle, and body part, features are added iteratively only if they provide statistically significant predictive value. This results in a reduced model with 19 selected variables.
Empirical results demonstrate that this smaller model outperforms the full model in most leagues, particularly those with fewer observations. The English Championship, which has the largest dataset, is the main exception, reinforcing the idea that larger datasets can support more complex models.

Despite these improvements, the globally trained Hudl-StatsBomb model still performs best overall, likely due to its access to a much larger dataset. To bridge this gap, the authors introduce a stacking approach that combines predictions from the global model and the league-specific model.
Using a logistic regression meta-learner on the logit-transformed probabilities, they learn optimal weights for combining predictions. The training is performed across leagues, ensuring that each league’s stacked model is informed by data from others.

The results show that the stacked model consistently outperforms the Hudl-StatsBomb model across all leagues. This demonstrates that combining global knowledge with local adaptation can yield superior performance.

6. Summary and Conclusion
The paper concludes by synthesizing the empirical and conceptual findings. Hudl-StatsBomb’s model performs well overall but exhibits limitations, including underprediction in certain scenarios and biases related to omitted variables such as game state.
The authors’ own model addresses these issues by incorporating additional contextual features, improving calibration, predictive performance, and theoretical consistency.
More importantly, the study challenges the notion of a single optimal xG model. Instead, it shows that model design should be driven by the specific analytical objective. Adding team strengths improves match prediction but distorts player evaluation. Reducing feature complexity improves performance in small datasets. Combining models through stacking can leverage both global and local information.
The central conclusion is explicitly stated: “there is not one xG model to rule them all,” and analysts should adapt their models to the task at hand.
Presented at the Hudl Conference
This research was also presented at the Hudl Conference, where the authors break down the models, visuals, and implications in more depth.
If you want to see the framework explained directly by the people who built it, the full talk is worth your time: https://www.hudl.com/blog/hpi-25-robert-bajons-tobias-harringer
Learn More
Here you have a direct link to get the free xG Mini-Guide, suited for those who want to fully understand the model in 5 minutes.
References
Bajons, R., & Harringer, T. One xG model to rule them all?. https://static.hudl.com/craft/performance-insights-research-stage/2025/One-xG-model-to-rule-them-all_-Robert-Bajons-Tobias-Harringer.pdf























