Visuals / xG model
Visualization
Our xG model
Expected goals, built in-house. A gradient-boosted model reads each shot's angle to the goal, its distance, the situation and whether it's a header, and returns the probability it goes in. Trained on 535,000 shots and cross-validated, so the number is honest, and it's ours, so we can price shots on any feed we hold, not a single vendor's number.
Shot value by location
An open-play foot shot from each spot. Brighter = higher chance. The value collapses fast as the angle to the goal tightens, which is exactly why the model leans on angle first.
Calibration
Each dot is a decile of shots: our predicted xG against how often those shots actually scored. They sit on the diagonal, the model is well-calibrated, its numbers mean what they say.
What drives the number
LightGBM, 5-fold cross-validated on 535,522 non-penalty shots (penalties get their 0.779 empirical rate). Vendor log loss is Understat's own xG on the same shots, for reference. Information only.