Redes de pases en el fútbol
En este artículo te cuento qué son y cómo se crean las redes de pases en el fútbol, además de compartir unos códigos en lenguaje R que he preparado para que hagas tus propias creaciones y algunos ejemplos de uso.
Si aún no lees los artículos previos sobre el estado del arte de la Analítica de fútbol, te invito a revisar la serie “Una mirada al Soccer Analytics usando R” (Parte I, Parte II, Parte III) para que conozcas los tipos de datos y terminologías mencionadas acá.
¿Qué son las redes de pases?
Las redes de pases (passing networks) son un ejemplo más de la nueva ola de metodologías, métricas y visualizaciones que han surgido en el último tiempo para analizar lo que ocurre en la cancha durante un partido de fútbol.
Las redes de pases están basadas en un acercamiento básico a la teoría o al análisis de grafos, donde se considera la existencia de: 1) entes individuales (nodos o vértices) que forman parte de una población o grupo específico y 2) de las conexiones entre ellos (enlaces o aristas) de acuerdo a alguna interacción que se quiera medir. Todo esto dentro de un específico marco espacial y temporal.
Si llevamos esto al fútbol, los nodos son los jugadores de un mismo equipo y los enlaces son los pases entre ellos, considerando que el terreno de juego es el marco espacial y la duración de un partido (generalmente) es el marco temporal.
Aquí un ejemplo con la red de pases de Francia en su partido contra Bélgica en la semifinal del mundial de Rusia 2018:
¿Cómo se crean las redes de pases?
A continuación menciono algunas consideraciones claves a tener en cuenta al momento de crear redes de pases y luego presento detalles de los códigos que preparé para compartir.
Por supuesto lo principal es tener los datos necesarios para crear la red. Para ello basta con tener datos de eventos con al menos:
- Todos los pases precisos (completados, no fallados) realizados por un equipo durante el partido, con el siguiente detalle asociado: jugador que da el pase y jugador que lo recibe (nombre, número de camiseta o algún identificador), coordenada X,Y de las posiciones inicial y final del pase, y el momento en que ocurre el pase (segundos transcurridos del partido).
En general los proveedores de datos de eventos como Statsbomb, Opta, Wyscout, etc. entregan esta información.
Consideraciones en el proceso de datos
- Verificar que las coordenadas estén correctas y efectuar las transformaciones necesarias en relación a:
-La orientación espacial de la cancha y la codificación de valores que contempla el proveedor de datos. ¿Qué sector de la cancha está representado por las coordenadas (0,0)? spoiler: no es algo trivial
-Las dimensiones “reales” de la cancha para el cálculo de métricas de distancia. Generalmente se utiliza el estándar 105 x 68 metros.
-Para el mismo equipo durante todo el partido debe existir una sola dirección de ataque, aun cuando en el fútbol hay cambio de lado entre un tiempo y otro.
- Acotar el universo de datos desde el inicio del partido hasta el menor tiempo entre el momento de la primera sustitución o de una tarjeta roja del equipo que se quiere analizar, si es que las hay. Esto pretende que se considere únicamente el tiempo en que los mismos 11 jugadores iniciales de un equipo estuvieron dentro de la cancha, dado que una de las limitaciones de esta herramienta es justamente tener complicaciones en el cálculo de métricas al cambiar jugadores.
- Cálculos adicionales en caso de contar con los datos (ver sección tipos de variaciones)
Consideraciones visuales
Al momento de definir el mapeo de datos, estas son las consideraciones más utilizadas:
- Posición de nodos: Ubicación promedio de los jugadores al momento de realizar y/o recibir un pase
- Tamaño de nodos: Tamaño fijo o según la cantidad de pases realizados, escalada en comparación a los compañeros
- Grosor de enlaces: Cantidad de pases realizados entre ambos nodos en cuestión, escalada en comparación a los demás opciones de pares de nodos
- Dirección de enlaces: Si bien a veces se omite en algunos casos se indica con flechas la dirección del pase.
- Identificador de jugador: Etiqueta o texto ubicado sobre los nodos o en ubicación cercana a ellos.
Tipos de variaciones
Las variaciones dependen del objetivo que se busque y de los datos disponibles.
- Por un lado, teniendo datos de tracking es posible obtener variaciones interesantes en la relación a la posición de los nodos para distintas situaciones del partido, como por ejemplo:
- Ubicación promedio de cada jugador cuando el equipo analizado tiene la posesión del balón (atacando) o cuando no la tiene (defendiendo).
- Ubicación promedio de cada jugador cuando el balón está en terreno propio o cuando está en campo rival.
2. Por otro lado, en casos de analítica avanzada, en lugar de utilizar la cantidad de pases se consideran métricas que permiten cuantificar el valor de los pases en relación a su contribución (positiva o negativa) en las probabilidades de marcar o conceder un gol, o de mantener la posesión de balón, como sucede por ejemplo con alguno de estos modelos: VAEP (Valuing Actions by Estimating Probabilities), xT (Expected Threat), EPV (Expected Possession Value), PV+ (Possession Value) o g+ (Goals Added). Es justamente en este tipo de casos donde la utilización del color (escalas de colores y/o nitidez) cobra relevancia para mapear los nodos y/o los enlaces.
La implementación del modelo VAEP y las variaciones de contexto con datos de tracking está disponible en el repositorio Github de redes de pases de Friends of Tracking. Ejemplo:
3. Además de cuantificar y resaltar el valor de los pases también algunas aplicaciones se enfocan en resaltar un tipo de pase específico, como por ejemplo “pases largos”, “pases hacia atrás”, “pases hacia los costados”, etc. Revisa este trabajo para más detalles: Interactive Passing Networks. Uncovering the hidden potential of passing networks through interactive visualizations.
4. Incluir información extra como la cantidad, precisión y longitud media de pases, además de datos acerca de la posesión de balón con métricas como el tiempo efectivo de posesión y su porcentaje, cantidad de pases por cada posesión o por cada minuto de esta.
5. Incluir la visualización y métricas de ámbito espacial (geometría 2D) como por ejemplo el Convex Hull, que representa la mínima área que ocupan los jugadores (sin el arquero) al unir todos los nodos. Con esto es posible calcular la distancia del centroide hacia cada una de las porterías, además de la amplitud y la profundidad del equipo.
6. Incorporación de métricas ligadas al análisis de grafos, como por ejemplo la densidad, centralidad, heterogeneidad, conectividad, triangulación, entre otros. Acá un proyecto con esa perspectiva: Football Passing Networks y algunas publicaciones interesantes para abordar en profundidad el tema: (1), (2) y (3).
Crea tus propias redes de pases
Ahora te toca a ti. Preparé algo de código en R para que puedas crear tus propias redes de pases usando datos públicos, ya sea con datos de eventos de Statsbomb o bien con datos de eventos y tracking de Metrica Sport.
Acá el link al repositorio Github donde encontrarás los códigos e intrucciones necesarias para meter las manos en la masa.
Este trabajo representa una mezcla de distintas cosas. Entre ellas están:
- La implementación de complementos a la función soccerPassmap del paquete {Soccermatics}
- Una adaptación a R del código Python que está en el repositorio Github de redes de pases de Friends of Tracking
- Incorporación de nuevas ideas tanto propias como otras inspiradas por artículos de la comunidad de analistas de fútbol
Las funciones soccerPassNetEventing y soccerPassNetTracking te permiten crear y personalizar cada uno de los tipos de gráficos, aplicando las variaciones que prefieras. Los parámetros para personalizar tus gráficos son los siguientes.
Para ambas funciones (eventos y tracking):
- Enlaces con o sin dirección (flechas), es decir, puede ser una red dirigida o una no dirigida [pass_dir]
- Posición del nodo según la ubicación original y final de los pases o bien considerando únicamente la ubicación original de estos [node_pos]
- Cantidad mínima de pases entre nodos para mostrar su enlace asociado [minPass]
- Incluir o no la visualización y estadísticas asociadas al Convex Hull, como la amplitud, la profundidad y la distancia al arco rival y al propio [convex]
- Incluir o no estadísticas de posesión de balón del equipo y el rival [poss]
- Invertir la dirección de ataque [Flipx]
- Si mostrar o no las etiquetas con los identificadores de los jugadores [label] y su tamaño [labelSize]
- Si acortar o no los identificadores de los jugadores a una sola palabra [shortNames]
- Aspectos visuales del nodo: Color de relleno [nodeFill] y tamaño máximo [maxNodeSize]
- Aspectos visuales de enlaces: Color [edgeFill], nitidez del color [edgeAlpha] y grosor máximo [maxEdgeSize]
- Imagen de fondo para la cancha, con posibles valores: 1 (celeste), 2 (verde pasto) y 3 (blanco)[field]
Exclusivas para los gráficos con datos de tracking:
- Datos de referencia a utilizar para la posición de los nodos: ‘event’ o ‘track’ [pos_source]
- En caso de elegir posición de nodos según datos de tracking, se puede determinar dicha posición a partir de: 1) algún contexto de la posesión como ‘attacking’ (con el balón), ‘defending’ (sin el balón) o ‘all’ (todos los casos) [context]; y/o 2) según la ubicación del balón como ‘own’ (propio campo), ‘opp’ (campo rival) o ‘all’ toda la cancha [half]
Ejemplos de uso
- Datos de eventos del mundial de Rusia 2018 (StatsBomb):
El partido Japón (2) vs Bélgica (3) por octavos de final.
Japón hizo su primer cambio recién en el minuto 80, 6 minutos después de que le empataran 2–2 luego de ir en ventaja (sorpresivamente) por 2–0.
La red refleja un equipo corto (profundidad de 25 metros) y amplio (amplitud de 61 metros), con una ubicación general de jugadores en el campo en promedio centralizada. La participación de la mayoría de sus jugadores fue homogénea, destacando Hasebe y Shibasaki por el centro, Kagawa como enganche y también Nagatomo y Yoshida en sus respectivas posiciones. Si bien Osako se retrasó, no participó mucho en cuanto a pases en comparación a sus compañeros. En las 2 combinaciones más comunes participó el volante interior izquierdo Inui, como receptor de pases de Kagawa y de Nagatomo.
La posesión hasta el minuto 80 fue del 40% respecto al tiempo efectivo de juego y con una precisión del 79%. En ambos casos esos valores son menores a los de Bélgica (60% y 84% respectivamente). Su longitud media de pases bordeó los 15 metros (2 metros menos que su rival), representando una interacción más cercana.
Por su parte, Bélgica hizo su primer cambio a los 64 minutos, cuando aún estaba 2–0 abajo. Hasta ese momento, la red de pases muestra un equipo largo (52 metros) y amplio (60 metros). A diferencia de Japón, además de la gran diferencia en cuanto a profundidad, la participación de sus jugadores no es homogénea sino que está marcada principalmente en su línea de 3 defensores, cuyas conexiones entre sí también corresponden a las más frecuentes. Si bien tuvo mayor posesión (60%) que su rival, una para importante de sus pases ocurrieron en su propio campo.
Sería interesante mirar cómo cambió la red de pases con los ingresos de Fellaini y Chadli en el minuto 64.
Finalmente, pienso que no se puede obtener mucha más información desde estos gráficos. Sería interesante incluir alguna métrica de valoración de pases como las mencionadas anteriormente o contar con datos de tracking para agregar más contexto al análisis. Además, siempre se debe ser cuidadoso en la interpretación teniendo presente que esto es “una foto del promedio” de lo que pasó durante toda la ventana de tiempo considerada.
2. Datos de tracking (Metrica Sport)
A continuación un par de ejemplos utilizando las variaciones de contexto:
Con esta herramienta podemos ver la diferencia entre las redes de pases de un equipo cuando tiene el balón en su propio campo y cuando lo tiene en campo rival (Game 1, Home Team):
O bien, incluso sin considerar los pases, con esta herramienta también es posible observar el posicionamiento promedio al defender, cuando el balón estuvo en terreno propio y cuando estuvo en campo rival (Game 1, Away Team, de derecha a izquierda):
3. Ya sea con datos de eventos o de tracking, otra de las aplicaciones es aumentar la ventana temporal para incluir varios partidos, como por ejemplo de una temporada de liga completa.
De este modo en las redes se pueden encontrar patrones generales de comportamiento a largo plazo, tanto en el posicionamiento e interacción individual de jugadores como en las combinaciones entre ellos, permitiendo comparar entre distintos equipos.
Acá un ejemplo reciente para la Premier League
Aquí un estudio para caracterizar al mítico Barcelona de Guardiola
Para cualquier pregunta o feedback escríbeme en Twitter: @DatoFutbol_cl o al mail ismaelgomezs@gmail.com