Observation: Second-Half Pressing & Transitional Shifts — Arsenal 1-1 Man City (21 Sep 2025)
Match: Arsenal 1-1 Manchester City | Premier League — Matchweek 5 (return fixture, SL naming: 2025/26)
Venue: Emirates Stadium | Final Score: 1-1 (Haaland 8', Martinelli 90+2')
Why This Repo
This observation complements the get_pass_clusters(), pressing zone analysis, and Beyond Expected Goals notebooks in this repository. Arsenal-to-Man-City is arguably the single best case study for pressing vs. low-block counter-attacking patterns in modern Premier League football.
Post-Match Summary
Key Stat: Man City registered 32.8% possession — the lowest ever in a PL match under Guardiola (his 601st game). Only 8 touches in the opposition box (also a record low).
Turning Point: Arteta's hollandework halftime — substituting Eze and Saka for Madueke and Merino fundamentally restructured Arsenal's pressing geometry.
Pressing Pattern Observations
1. First-Half High Press (0–30'): A Flawed Structure
- City pressed aggressively on Raya's distribution, scoring from the 1st attack.
- However, City's 4-4-2 press was structurally disconnected — the high press line was not linked to the midfield block, creating vertical channels between the lines.
- Arsenal found these channels via direct balls to Saka and Martinelli, but failed to convert possession (1 shot on target in 45 minutes).
- Key insight: Possession without positional structure = no threat. Arsenal's players were in the same positions but with different passing options after the 46' change.
2. The CSG Transformation (46'): Personnel Drives Geometry
- Eze's arrival in the half-space immediately provided a new pressing trigger that City couldn't handle.
- Eze's diagonal runs drew Dias out of position, which Rice and Zubimendi could exploit from deeper.
- Saka wide-right stretched the pitch, making City's 4-4-2 pressing triggers too narrow.
- The result: City's PPDA increased sharply, their build-up became more lateral and cautious.
3. Counter-Pressing Effectiveness
- Second-half: Arsenal pressed as a system, not as individuals. Eze's second-phase press within 3 seconds of losing possession was a qualitative improvement over Madueke's first-half pressing.
- City's turnovers after 46' were more frequently high-up-the-pitch, which should translate to higher xG even if shot conversion didn't immediately reflect it.
Transitional Play Observations
1. Opening Goal (8'): City's Press-Recovery Playbook
- Haaland and Reijnders sprinted in tandem, exploiting the gap between Arsenal's high pressing line and defensive block.
- Reijnders' carry drew multiple Arsenal players, and the release to Haaland was a textbook press-to-transition sequence.
- Static pressing data missed this: The gap was created not by Arsenal being out of position, but by the pressing geometry leaving vertical channels uncovered.
2. Martinelli's Winner (90+2'): Transition Breakdown
- Two hypotheses: (A) City's failed high press left them over-committed, allowing Arsenal to counter; (B) City's high press in the final minutes created congestion and a shape recovery error.
- Either way, the transition was a product of the 46' halftime transformation: without Eze's pressing presence and Saka's width, this goal would not have been possible.
3. Possession Paradox
- Arsenal's 67.5% possession masked zero xG threat in the first half. The halftime substitute change restored verticality and transitional intent to Arsenal's play.
Suggested Analysis with This Repo's Tools
| Repo Code |
Application |
02. Loading Statsbomb data + 03. Analyzing Event Data |
Filter press events and transition phases for this match |
06. Beyond Expected Goals |
Compare xG tallies by half (should show 2nd half xG increase dramatically) |
07. Passing Networks |
Apply get_pass_clusters() to identify how passing networks changed at halftime |
Metrics/Pressing |
PPDA, defensive line height, counter-press recovery time |
Open Questions
- PPDA By Half: What was City's PPDA? A post-46' spike confirms intentional de-pressuring.
- Passing Network Centroid Shift: Does
get_pass_clusters() show a detectable shift in Arsenal's passing center of gravity after halftime?
- Transition xG: Can the notebooks be extended to calculate xG generated from transitions specifically (within 5 seconds of possession gain)?
- Eze's % of Transition Sequences: What percentage of Arsenal's second-half transition attacks involved Eze as the first receiver or direct passer?
- Tracking Data: Does any public tracking dataset capture the exact Martinelli goal sequence?
This observation is intended to support the football analytics community's work on pressing metrics and transitional play modeling. Happy to contribute a prototype notebook if useful!
Observation: Second-Half Pressing & Transitional Shifts — Arsenal 1-1 Man City (21 Sep 2025)
Match: Arsenal 1-1 Manchester City | Premier League — Matchweek 5 (return fixture, SL naming: 2025/26)
Venue: Emirates Stadium | Final Score: 1-1 (Haaland 8', Martinelli 90+2')
Why This Repo
This observation complements the
get_pass_clusters(), pressing zone analysis, andBeyond Expected Goalsnotebooks in this repository. Arsenal-to-Man-City is arguably the single best case study for pressing vs. low-block counter-attacking patterns in modern Premier League football.Post-Match Summary
Key Stat: Man City registered 32.8% possession — the lowest ever in a PL match under Guardiola (his 601st game). Only 8 touches in the opposition box (also a record low).
Turning Point: Arteta's hollandework halftime — substituting Eze and Saka for Madueke and Merino fundamentally restructured Arsenal's pressing geometry.
Pressing Pattern Observations
1. First-Half High Press (0–30'): A Flawed Structure
2. The CSG Transformation (46'): Personnel Drives Geometry
3. Counter-Pressing Effectiveness
Transitional Play Observations
1. Opening Goal (8'): City's Press-Recovery Playbook
2. Martinelli's Winner (90+2'): Transition Breakdown
3. Possession Paradox
Suggested Analysis with This Repo's Tools
02. Loading Statsbomb data+03. Analyzing Event Data06. Beyond Expected Goals07. Passing Networksget_pass_clusters()to identify how passing networks changed at halftimeMetrics/PressingOpen Questions
get_pass_clusters()show a detectable shift in Arsenal's passing center of gravity after halftime?This observation is intended to support the football analytics community's work on pressing metrics and transitional play modeling. Happy to contribute a prototype notebook if useful!