Heat Maps
Definition
A density visualization showing where a player or team is most active on the pitch, representing the spatial distribution of events (touches, passes, defensive actions) or continuous tracking positions as a color-gradient surface.
History & Origins
Heat maps are one of the oldest and most widely recognized football analytics visualizations. They entered football broadcasting in the mid-2000s, initially powered by Opta touch data displayed during Premier League coverage on Sky Sports. The concept itself is borrowed from science and cartography — heat maps (or density plots) have been used in geography, biology, and meteorology for decades.
In football, ProZone (founded 1995 by three mathematicians in Leeds) was one of the earliest companies to generate spatial visualizations of player activity from camera-based tracking systems. Their work laid the groundwork for heat maps becoming standard in match analysis software used by clubs.
By the 2010s, heat maps had become ubiquitous on platforms like WhoScored, SofaScore, and FotMob, making them perhaps the most mainstream analytics visual in football. They are often the first piece of analytics a casual fan encounters.
How It Works
The standard method is Kernel Density Estimation (KDE):
- Each event or position is recorded as an x,y coordinate on the pitch
- A Gaussian kernel (a bell-shaped curve) is placed at each point
- All kernels are summed across the pitch surface, producing a smooth continuous density
- The resulting values are mapped to a color scale (typically blue-to-red or transparent-to-opaque)
The bandwidth parameter controls how smooth or granular the result is — too narrow and you get noise, too wide and you lose detail.
An alternative simpler method is binning: dividing the pitch into a grid and counting events per cell, then coloring cells by count. This is computationally cheaper but produces a blocky output.
Variants
- Touch heat maps — based on all on-ball actions (most common)
- Defensive action heat maps — filtered to tackles, interceptions, blocks (see also Pressing Maps)
- Tracking-based heat maps — using continuous position data (25fps), much smoother and more representative of actual spatial coverage
- Relative heat maps — comparing a player's spatial distribution to the league/team average, highlighting where they are unusually active
- Carry heat maps — filtered to ball carry events (see also Carry Maps)
Key Properties
- Intuitive and accessible to non-technical audiences
- Useful for quick spatial profiling of players (e.g., does a winger stay wide or drift inside?)
- Can compare different players, matches, or time periods visually
Limitations & Debates
- Misleading without context: a central midfielder will naturally have a spread heat map across the middle — it doesn't mean they're "everywhere," it's just their role
- Action-agnostic: a defensive clearance and a creative through ball look the same on a standard touch heat map
- Sample size sensitivity: a single match heat map can be noisy; heat maps become more meaningful over multiple matches
- No directional information: heat maps show where, not which direction the player was facing or moving
- Tracking vs. event data: event-based heat maps (most publicly available) only show where a player touched the ball, not where they actually were — a player making an off-ball run into space won't appear unless they receive the ball
Related Visualizations
- Pressing Maps — heat maps filtered to defensive pressure events
- Carry Maps — heat maps filtered to ball carry events
- Voronoi Diagrams — instantaneous spatial snapshot vs. heat map's aggregate view
- Convex Hulls - Team Shape — team-level shape vs. heat map's individual density
Notable Implementations
- ProZone — early pioneer in club-facing heat map tools
- Opta / Stats Perform — powers heat maps on most media platforms
- mplsoccer (Python) — open-source library with KDE-based heat map functions for pitch visualizations
Tags: #football #analytics #visualization #heatmap
