
Project 06 · Football analytics
Machine Learning Model · Expected Goals (xG)
Logistic regression model that estimates the probability of each shot becoming a goal using public StatsBomb data, match-level validation and application to selected teams at the Qatar 2022 World Cup.
CONTEXT AND OBJECTIVE
Build an interpretable xG model that assigns a goal probability to each shot while preventing leakage between matches and reserving an external application set.
DATA AND DIAGNOSIS
- A total of 63,740 shots from 2,526 matches are assembled, excluding penalty shootouts.
- Distance and angle to goal are derived, while body part, shot type and technique, pressure and player position are encoded.
- Training and test sets are split by match with GroupShuffleSplit; the final model uses 12 variables and is externally applied to Argentina, France, Morocco and Croatia at Qatar 2022.
DELIVERY AND LEARNING
On the test set, the model reaches ROC AUC 0.795 and Brier score 0.079; it estimates 1,674 expected goals against 1,688 observed goals. In the external application set, it estimates 58.2 xG against 57 actual goals.





