Shot Maps
Definition
Scatter-plot visualizations of shot locations on the pitch, typically displayed on the attacking half, where each shot is represented by a marker whose size, color, or shape encodes information about the shot's expected quality (xG - Expected Goals|xG), outcome (goal, saved, missed, blocked), or post-shot trajectory.
History & Origins
Shot maps are closely tied to the rise of xG - Expected Goals|Expected Goals (xG). As xG models became public in the early-to-mid 2010s, analysts needed a way to show not just the total xG but the spatial distribution of shot quality.
Michael Caley was one of the first analysts to publish detailed shot maps on social media (particularly Twitter, ~2014–2016), combining shot location with xG values in visually clear plots that gained significant traction in the analytics community.
Understat (launched ~2017) made shot maps freely accessible for the top 6 European leagues, with each shot plotted by location, sized by xG, and colored by outcome. This was a major step in making xG visual and accessible to a wider audience.
FBref (powered by StatsBomb data) followed, providing shot maps alongside comprehensive statistical tables. These platforms made shot maps a standard part of match and player analysis.
StatsBomb introduced a significant innovation with shot freeze frames — visualizations that show the positions of all visible defenders and the goalkeeper at the exact moment of each shot. This added a layer of defensive context that simple location-based shot maps lack, and helped explain why the same shot location can have very different xG values.
Variants
Standard Shot Maps
Shots plotted by location, sized by xG - Expected Goals|xG, colored by outcome (goal, saved, missed, blocked). The most common format.
Post-Shot xG (PSxG) Maps
Extend standard shot maps by incorporating PSxG - Post-Shot Expected Goals|PSxG — where the shot was actually placed (trajectory, height, speed). Separates shot creation quality from finishing quality.
Shot Freeze Frame Visualizations
StatsBomb's format showing defender and GK positions at the moment of the shot. Reveals whether the shooter was under pressure, had a clear sight of goal, or was shooting through a crowd.
Cumulative xG Timelines
Not a map per se, but a related visualization: a time-series chart showing cumulative xG for both teams over the course of a match. Popularized by Caley and now standard on platforms like FBref and Infogol. Shows the "story" of a match in terms of chance creation.
Goal Mouth Maps / Shot Placement Maps
Visualize where shots hit the goal frame (or miss). A 2D representation of the goal mouth, with shots plotted by their end position. Useful for analyzing finishing tendencies (does a player always shoot near post? low? high?). Closely related to PSxG - Post-Shot Expected Goals|PSxG analysis.
Key Properties
- Combine spatial information with probabilistic quality assessment
- Immediately communicate whether a team/player had high-quality chances vs. speculative efforts
- The gap between xG and actual goals is visually intuitive on a shot map
Limitations & Debates
- xG model dependency: shot map informativeness depends entirely on the quality of the underlying xG - Expected Goals|xG model, and different providers produce different values for the same shot
- Small sample sizes: individual match shot maps often contain only 10–20 shots, making pattern recognition unreliable for single games
- Selection bias: shot maps only show shots that were taken, not high-quality chances where the final pass was missed or the player chose not to shoot
- Doesn't capture buildup: a shot map shows the endpoint of an attack but not the 15 passes that created the opening
- xG vs. the eye test: there's ongoing debate about whether xG (and therefore shot maps) adequately captures the "feel" of a chance — fast breaks, one-on-ones, and scrambles can look different on a shot map than they feel in real time
Related Metrics
- xG - Expected Goals — the core metric that drives shot map sizing
- PSxG - Post-Shot Expected Goals — extends xG with shot placement
- npxG - Non-Penalty Expected Goals — xG excluding penalties
- xA - Expected Assists — values the pass that created the shot
Key People
- Michael Caley — pioneered public shot map visualizations
- Sam Green — early xG modeler whose work underpins shot quality visualization
- Ted Knutson / StatsBomb — introduced freeze-frame shot context
- Understat — made shot maps freely accessible at scale
Notable Implementations & Resources
- Understat (understat.com) — free shot maps for top European leagues
- FBref (fbref.com) — StatsBomb-powered shot maps and xG data
- Infogol — xG-focused match analysis with cumulative timelines
- mplsoccer (Python) — shot map plotting functions
Tags: #football #analytics #visualization #shots #xG
