Case Study 01: Analyzing Liverpool's High Press Through Spatial Control Models

Overview

Liverpool FC under Jurgen Klopp became synonymous with the Gegenpressing philosophy --- an aggressive, coordinated press designed to win the ball back within seconds of losing it, ideally in the opponent's half. Traditional metrics such as PPDA (passes per defensive action) quantify pressing intensity but fail to capture the spatial mechanics of the press: which zones are targeted, how pitch control shifts during the pressing sequence, and why certain presses succeed while others are bypassed.

In this case study we apply the pitch control and Voronoi frameworks developed in Chapter 17 to dissect Liverpool's pressing structure. We use synthetic tracking data modelled on a 2018--19 Premier League match to illustrate the analytical workflow.

Objectives

  1. Visualise the pitch control surface at the moment Liverpool lose possession and initiate a press.
  2. Measure the pitch control delta ($\Delta \mathrm{PC}$) in the pressing zone during the first 5 seconds after the trigger.
  3. Identify the spatial conditions that distinguish successful from failed presses.
  4. Quantify each pressing player's contribution using dominant-region analysis.

Data and Setup

We simulate a pressing scenario with the following setup:

  • Frame rate: 25 Hz.
  • Duration: 10 seconds (250 frames) starting from the moment of possession loss.
  • Players: 11 Liverpool (pressing) and 11 opponent (building out).
  • Pitch coordinates: Standard 105 x 68 m pitch, with Liverpool attacking left to right.
import numpy as np
import matplotlib.pyplot as plt
from scipy.spatial import Voronoi

# --- Simulated data for the pressing trigger moment (t = 0) ---
# Liverpool players (pressing team)
liverpool_positions = np.array([
    [92, 34],   # GK
    [72, 10],   # LB
    [70, 28],   # LCB
    [70, 40],   # RCB
    [72, 58],   # RB
    [58, 20],   # LCM
    [55, 34],   # CDM
    [58, 48],   # RCM
    [42, 12],   # LW  -- high and wide
    [38, 34],   # CF  -- pressing the CB
    [42, 56],   # RW  -- high and wide
], dtype=float)

# Opponent players (building out from the back)
opponent_positions = np.array([
    [10, 34],   # GK
    [25, 8],    # LB
    [22, 26],   # LCB -- on the ball
    [22, 42],   # RCB
    [25, 60],   # RB
    [35, 18],   # LCM
    [38, 34],   # CDM
    [35, 50],   # RCM
    [50, 10],   # LW
    [55, 34],   # CF
    [50, 58],   # RW
], dtype=float)

Step 1: Voronoi Diagram at the Pressing Trigger

At the moment Liverpool lose the ball (or the opponent receives a goal kick), we construct a Voronoi diagram for all 22 outfield players. The diagram reveals the spatial structure of the press:

  • Liverpool's front three have small, dense Voronoi cells in the opponent's defensive third, indicating spatial congestion around the ball.
  • The opponent's centre-backs have compressed cells, meaning they have little room to play out.
  • Liverpool's midfield line is compact, with cells forming a band across the pitch at approximately x = 55--58 m.

Key metric: The pressing compactness ratio is the ratio of the average Voronoi area of Liverpool's front three to the average area of their back four. A ratio below 0.4 indicates an aggressive, high press.

# Compute Voronoi for all 22 players
all_positions = np.vstack([liverpool_positions, opponent_positions])
vor = Voronoi(all_positions)

# The front three are indices 8, 9, 10 (LW, CF, RW)
# The back four are indices 1, 2, 3, 4 (LB, LCB, RCB, RB)
# Voronoi areas would be computed after clipping to pitch boundaries

Step 2: Pitch Control During the Press

We compute the Fernandez--Bornn pitch control surface at four key moments:

Time Event Key Observation
$t = 0$ s Press triggered Liverpool PC > 0.6 in opponent's defensive third
$t = 1$ s CF closes down LCB PC in the central channel rises to 0.75
$t = 3$ s Ball played wide to LB Liverpool's LW arrives, PC remains > 0.6
$t = 5$ s Turnover won (or press broken) Outcome determines success

The pitch control delta in the pressing zone (opponent's defensive third, $x \in [0, 35]$) is:

$$ \Delta \mathrm{PC}_{\text{press}}(t) = \overline{\mathrm{PC}}_{\text{Liverpool}}(t) - \overline{\mathrm{PC}}_{\text{Liverpool}}(t=0) $$

For a successful press, $\Delta \mathrm{PC}_{\text{press}}$ increases steadily as Liverpool players converge. For a failed press, it decreases as the opponent plays through the lines.

Step 3: Successful vs. Failed Presses

Across the simulated match, we classify 35 pressing sequences:

Outcome Count Avg $\Delta$PC at $t=3$s Avg Pressing Compactness
Turnover won 14 +0.12 0.32
Foul won 4 +0.08 0.35
Press broken (short) 10 -0.05 0.41
Press broken (long) 7 -0.02 0.38

Key findings:

  1. Successful presses are characterised by a steady increase in pitch control in the pressing zone, driven by coordinated convergence of the front three and midfield.
  2. Failed presses show an initial pitch control gain that reverses after $t = 2$ s, typically because one pressing player is bypassed, creating a gap that the opponent exploits.
  3. Pressing compactness below 0.35 is associated with a 65 % success rate, compared to 30 % when compactness exceeds 0.40.

Step 4: Individual Pressing Contributions

Using Voronoi dominant-region analysis, we measure each player's contribution to the press:

  • Centre-forward: Reduces the opponent centre-back's Voronoi area by an average of 85 m$^2$ during the pressing sequence. This is the primary trigger --- the CF's angled run dictates the pressing direction.
  • Wingers: Each winger reduces the nearest full-back's area by approximately 60 m$^2$, cutting off the wide passing lanes.
  • Central midfielders: Their role is to compress the space between the lines. Collectively they reduce the opponent's midfield Voronoi areas by 110 m$^2$.

Tactical Insights

  1. Pressing angle matters: When the CF presses at an angle that shows the centre-back toward the touchline (rather than straight on), the success rate rises from 35 % to 58 %. The angled press reduces the CB's passing options by cutting off the switch.

  2. Full-back positioning is the vulnerability: In failed presses, Liverpool's full-backs are often caught too high, leaving space behind them. The pitch control surface reveals large opponent-controlled zones in the channels ($x \in [45, 65]$, $y \in [5, 15]$ and $y \in [53, 63]$).

  3. Goalkeeper as an outlet: When the opponent's goalkeeper is included in the build-up, the pressing team's pitch control in the central zone drops, because the GK provides an additional passing option that stretches the press.

Visualisation Summary

The ideal output for a coaching presentation would include:

  • A 4-panel pitch control animation showing the press evolving over 0, 1, 3, and 5 seconds.
  • A bar chart comparing $\Delta$PC for successful vs. failed presses.
  • An individual player contribution table showing dominant-region reduction caused by each pressing player.
  • A zone map highlighting areas where the press is most vulnerable to being broken.

Code Reference

The full implementation of this case study is provided in code/case-study-code.py, which includes functions for simulating pressing sequences, computing frame-by-frame pitch control, and generating the visualisations described above.

Discussion Questions

  1. How would you modify the pitch control model to account for the ball's position during the press? Should the ball carrier receive additional influence?
  2. If an opponent consistently breaks the press with long balls, what spatial adjustments would you recommend?
  3. Compare PPDA as a pressing metric with the pitch-control-based pressing intensity measure developed here. What does each capture that the other misses?