Chapter 10: Key Takeaways

Quick Reference Summary

Passing networks transform qualitative team play into quantitative, analyzable structures using graph theory.


Core Concepts

Network Fundamentals

Graph G = (V, E)
- V = Players (nodes)
- E = Passes (edges)
- Weighted: Edge weight = number of passes
- Directed: A→B distinct from B→A

Adjacency Matrix

$$A_{ij} = \text{number of passes from player } i \text{ to player } j$$

For 11 players: 11×11 matrix with up to 110 directed edges.


Essential Metrics

Player-Level (Centrality)

Metric Formula Meaning
Degree $k_v = \sum_u A_{vu} + A_{uv}$ Total involvement
In-Degree $k_v^{in} = \sum_u A_{uv}$ Passes received
Out-Degree $k_v^{out} = \sum_u A_{vu}$ Passes made
Betweenness $\frac{\sigma_{st}(v)}{\sigma_{st}}$ Bridge between groups
Closeness $\frac{n-1}{\sum_u d(v,u)}$ Reach to all teammates
PageRank Recursive importance Connected to key players

Network-Level

Metric Formula Interpretation
Density $\frac{|E|}{n(n-1)}$ Connectivity ratio
Centralization $\frac{\sum(C_{max}-C_i)}{max}$ Inequality of importance
Clustering $\frac{2T_v}{k_v(k_v-1)}$ Triangle frequency
Entropy $-\sum p_{ij}\log p_{ij}$ Passing unpredictability

Quick Interpretation Guide

Centrality Patterns

Profile Player Type Example Position
High degree, high betweenness Hub player Central midfielder
High out-degree, low in-degree Distributor Deep-lying playmaker
High in-degree, low out-degree Target Striker
High betweenness, low degree Connector Holding midfielder
Low all metrics Peripheral Wide defender

Network Properties

Property High Value Indicates Low Value Indicates
Density Many passing routes active Limited passing options
Centralization Star player dependency Distributed importance
Clustering Triangle combinations Linear passing chains
Entropy Varied, unpredictable Repetitive patterns

Typical Benchmarks

Network Density by Style

  • Possession teams: 0.40 - 0.50
  • Balanced teams: 0.30 - 0.40
  • Direct teams: 0.20 - 0.30

Centralization Thresholds

  • Balanced team: < 0.25
  • Moderate dependency: 0.25 - 0.35
  • Star dependency: > 0.35

Clustering Coefficient

  • High combination play: > 0.40
  • Average: 0.30 - 0.40
  • Limited triangles: < 0.30

Python Quick Reference

Build Network

import networkx as nx

G = nx.DiGraph()
pass_counts = passes.groupby(['player', 'pass_recipient']).size()
for (passer, receiver), count in pass_counts.items():
    G.add_edge(passer, receiver, weight=count)

Calculate Centralities

# Degree
degree = dict(G.degree(weight='weight'))

# Betweenness
betweenness = nx.betweenness_centrality(G, weight='weight')

# PageRank
pagerank = nx.pagerank(G, weight='weight')

# Closeness
closeness = nx.closeness_centrality(G, distance='weight')

Network Metrics

# Density
density = nx.density(G)

# Clustering (undirected)
clustering = nx.average_clustering(G.to_undirected(), weight='weight')

Basic Visualization

from mplsoccer import Pitch

pitch = Pitch()
fig, ax = pitch.draw()

for u, v, d in G.edges(data=True):
    ax.annotate('', xy=pos[v], xytext=pos[u],
               arrowprops=dict(arrowstyle='->', lw=d['weight']/5))

for player, (x, y) in pos.items():
    ax.scatter(x, y, s=degree[player]*10)

Common Mistakes to Avoid

  1. Ignoring direction: Always use directed graphs for passing networks
  2. Neglecting weights: Unweighted analysis misses pass frequency information
  3. Single-match conclusions: Network properties vary match-to-match
  4. Context blindness: Score, opponent, and game state affect networks
  5. Over-interpretation: High centrality isn't always "good"
  6. Formation effects: Different formations naturally produce different structures

Practical Workflow

1. Data Preparation

Load events → Filter successful passes → Extract player pairs

2. Network Construction

Create DiGraph → Add weighted edges → Calculate positions

3. Analysis

Player centralities → Network metrics → Top combinations

4. Visualization

Network plot → Matrix heatmap → Comparative charts

5. Interpretation

Combine metrics → Consider context → Draw tactical insights

Key Formulas Reference Card

Density

$$D = \frac{|E|}{|V|(|V|-1)}$$

Degree Centrality

$$C_D(v) = \frac{k_v}{n-1}$$

Betweenness Centrality

$$C_B(v) = \sum_{s \neq v \neq t} \frac{\sigma_{st}(v)}{\sigma_{st}}$$

Closeness Centrality

$$C_C(v) = \frac{n-1}{\sum_{u \neq v} d(v, u)}$$

Clustering Coefficient

$$C_i = \frac{2T_i}{k_i(k_i-1)}$$

Network Entropy

$$H = -\sum_{i,j} p_{ij} \log(p_{ij})$$

Centralization

$$C = \frac{\sum_{i=1}^{n}(C_{max} - C_i)}{max\sum_{i=1}^{n}(C_{max} - C_i)}$$


Applications Summary

Application Key Metrics Primary Use
Player evaluation Degree, betweenness, PageRank Identify key contributors
Style classification Density, centralization, entropy Team profiling
Opponent scouting All metrics + visualization Pre-match preparation
Tactical adjustments Temporal network comparison In-match analysis
Role identification Centrality profiles Position analysis
Combination finding Edge weights, motifs Set piece design

Next Chapter Preview

Chapter 11: Possession and Territorial Control extends network concepts to understand spatial dominance, ball control zones, and territorial metrics that capture how teams control areas of the pitch beyond individual passing actions.