Métricas y explicaciones

¿Qué futbolista de La Liga ha agregado más valor mediante sus conducciones durante la temporada 2021/2022? A través de un complejo proceso podemos ver qué jugadores de La Liga han agregado más valor a sus equipos con sus jugadas.

Hace tres semanas presentamos On-Ball Value (en adelante, OBV), nuestro nuevo modelo que mide el valor de cada acción en una posesión. Esta semana, vamos a dar algunos ejemplos del modelo en acción, utilizando principalmente los datos de la pasada temporada de La Liga. Para tener todos los detalles del modelo hay que leer el artículo de presentación, pero de manera sencilla, OBV mide el cambio en la probabilidad de un equipo de marcar/conceder como resultado de una acción dada. Esto permite identificar las acciones más relevantes en una posesión y poder otorgar más mérito a las acciones con mayor impacto en la posesión. Para visualizar un poco el concepto, aquí está la jugada del gol de Borja Iglesias del Real Betis contra el Osasuna en diciembre del año pasado con el valor de OBV marcado para cada acción de la jugada. Como es lógico, los valores aumentan a medida que la jugada se acerca al área de penalti del rival. El siguiente gráfico también ayuda a explicar la utilidad del modelo. Se trata de los pases directamente previos a una asistencia o un pase clave, a veces llamados pre asistencias, en este caso pases rasos y con los pies. Muestra los 30 pases más valiosos de este tipo según OBV y también los 30 pases menos valiosos, pases que, de hecho, tuvieron un efecto negativo en la probabilidad de que marcara el equipo. Aquí, el valor del modelo queda claro. En vez de simplemente decir que un jugador ha acumulado tres pre asistencias, por ejemplo, podemos otorgar un valor a cada una de ellas y tener una idea mucho más precisa de la contribución del jugador. Vamos a echar un ojo a los números acumulados de la pasada temporada de La Liga a nivel de jugadores. ¿Qué jugadores de campo agregaron más valor con sus acciones con balón? [table id=107 /] No es ninguna sorpresa que Messi agregara más valor que cualquier otro jugador de La Liga, pero hay otros nombres interesantes o quizás inesperados en la lista como Toni Suárez del Real Valladolid. Aparte de Messi, Suárez fue el jugador que agregó más valor mediante conducciones. Aquí son sus 30 conducciones más valiosas de la temporada. Tenemos la posibilidad de filtrar los resultados del modelo así para encontrar los jugadores que acumulan más OBV en distintos escenarios. Por ejemplo, si eliminamos del cálculo las acciones que tienen una relación directa con los tiros (los tiros en sí, las asistencias y los pases claves), otro nombres salen a relucir, sobre todo el de Kieran Tripper del Atlético Madrid. [table id=106 /] Podemos filtrar por varias cosas: tipo de acción, localización en el campo, posición del jugador, etc… Aquí, echamos un ojo a los centrales que agregaron más valor con sus pases y conducciones en campo propio. Sergio Ramos agregó más valor que cualquier otro central mediante pases, mientras que Gerard Piqué encabezó la lista en cuanto a conducciones. Pau Torres del Villarreal sobresalió en ambas acciones, sumando más OBV por 90 que cualquier otro central. Hemos marcado también a los dos centrales cuyas acciones tuvieron un efecto negativo: las conducciones en el caso de Marc Barta del Real Betis y los pases en el de Esteban Burgos del Eibar. OBV también proporciona un marco para poder empezar a evaluar el riesgo/recompensa en la toma de decisiones de los jugadores. Por ejemplo, podemos analizar a los jugadores que intentan más pases que mueven el balón más cerca de la portería en el último tercio del campo y ver la relación entre su porcentaje de acierto en estos pases y el valor de OBV por pase. José Gayá del Valencia sobresale. Tiene un porcentaje de acierto bajo, de un 51.39%, pero el valor medio de sus pases, aun con los pases fallidos y sus correspondientes valores de OBV incluidos en el cálculo, es muy alto, lo que sugiere que agrega valor a pesar de su bajo porcentaje de acierto. Otros jugadores con porcentajes de acierto parecidos no aportan el mismo valor. Vincíus Júnior es el único jugador entre los 40 que más pases de este tipo intentaron que tuvo un valor de OBV por pase negativo. Es decir que en suma sus pases de este tipo redujeron la posibilidad de que marcara el Real Madrid/aumentaron la posibilidad de que marcaran sus rivales. El modelo también tiene utilidad en el análisis de equipos. Por ejemplo, podemos visualizar las zonas del campo desde las que generan más peligro respecto a la media de la liga. Así podemos ver que la temporada pasada, el Barcelona fue mucho más activo en zonas centrales del último tercio que otros equipos de La Liga. O que el Sevilla principalmente generó peligro por la banda derecha o que el Eibar jugó mucho por las bandas y casi nunca hizo daño a sus rivales desde zonas centrales o que el Cádiz y el Elche jugaron muy directo. En el gráfico se esconden muchas historias. Asimismo, podemos emplear filtros para encontrar los equipos que acumularon más OBV, como un porcentaje de su total, por distintos tipos de acción:

  • Pases altos: el Eibar, el Getafe y el Osasuna
  • Conducciones: el Huesca, el Villarreal y el Athletic Club
  • Pases al primer toque: el Eibar, el Levante y el Barcelona
  • Intercepciones: el Granada, el Cádiz y el Osasuna
  • Pases filtrados: el Villarreal, el Barcelona y el Celta Vigo

La mejor noticia es que OBV no es sólo para las grandes ligas de Europa. Este modelo de vanguardia está disponible en todas las más de 80 competiciones que cubrimos a lo largo del mundo. Podemos analizar las mismas cosas en La Liga que en la Liga MX de México… o la Primera División de Perú… o incluso la J1 League de Japón. Tenemos muchas ganas de ver cómo nuestros clientes sacan provecho del modelo porque OBV abre muchas posibilidades de análisis, incluyendo muchas que aún están por descubrir. Y OBV es sólo la primera de muchas novedades que pronto llegarán a StatsBomb Data.


¿Quiere saber más? Un miembro de nuestro equipo de expertos le puede demostrar todas las ventajas de los datos de StatsBomb, los mejores y más detallados de la industria https://statsbomb.com/es/contact/

El fútbol siempre ha ido de números. La pura naturaleza del juego consiste en contar cosas, como qué equipo consigue más goles. Después de contar goles, se pasó a contar los remates, y con eso se pasó a medir la calidad de esos tiros.   El siguiente paso obvio era tratar de medir la calidad de las ocasiones que precedían a esos tiros, y yendo más allá tratar de medir cómo el resto de acciones previas a la asistencia influyen en la calidad de las ocasiones posteriores. Existen diferentes tipos de modelos, a los cuales nos referimos en general como Possession Value, que tratan de medir el valor de cada acción en una posesión.

De manera sencilla, los modelos de Possession Value (en adelante PV) miden el cambio en la probabilidad de un equipo de marcar/conceder como resultado de una acción dada. Inicialmente, esto permite identificar las acciones más relevantes en una posesión (o cambios de estado más formalmente) y poder otorgar más mérito a las acciones con mayor impacto en la posesión. Esto también proporciona un marco para poder evaluar de manera apropiada el coste de oportunidad el riesgo/recompensa en la toma de decisiones de los jugadores (con balón). Por ejemplo, jugadores que asumen mucho riesgo en sus acciones tenderán a perder el balón más veces, pero el efecto neto de sus acciones puede ser positivo. El primer modelo público con datos de evento de PV es el de Sarah Rudd en 2012 — cabe mencionar que Charles Reep en 1997 desarrolló un modelo seminal que podría ser considerado de PV.

En 2021, presentamos el nuestro: On-Ball Value (en adelante, OBV). Nuestros clientes ya tenían acceso a este modelo, ahora lo presentamos al público general. Existen numerosas razones por la que nuestra metodología y por ende los resultados que arroja el modelo representan una mejora respecto a modelos previos: Nuestro modelo está entrenado con nuestro modelo de goles esperados, StatsBomb xG Otros modelos utilizan los goles como muestra de entrenamiento. Emplear los xG para estimar los goles nos permite entrenar los modelos de manera más precisa con la misma cantidad de datos pero reduciendo la varianza y la “class imbalance” inherente a utilizar sólo los goles como variable dependiente. Existen otros enfoques que también emplean los xG, sin embargo, ninguno de ellos emplea los xG de StatsBomb, el modelo más preciso que existe. Hemos optado por entrenar dos modelos diferentes para los componentes Goles Marcados y Goles Concedidos del modelo Esto representa un enfoque distinto a la mayoría de los demás.

Esto nos permite identificar el impacto de cada acción en la probabilidad de marcar y conceder de manera separada para así poder ver el efecto en la contribución ofensiva y defensiva de cada acción en lugar de utilizar simplemente el efecto neto (i.e. Diferencia de Goles). Hemos decidido no otorgar mérito a los receptores de los pases Mientras que es obvio que ser capaz de recibir y mantener la posesión en espacios reducidos, consideramos que depende en gran medida del movimiento sin balón. Esto es complicado de cuantificar con datos de evento.

Así, desde la perspectiva de la posición del balón y los datos de evento, no hay un valor intrínseco en la recepción que no esté mejor representado por la acción subsiguiente del receptor. Es decir, si no podemos cuantificar el movimiento previo, el valor de la recepción está representado por el valor de la acción que realiza el jugador. Características relativas al estado de la posesión Nuestra decisión ha sido incluir información relativa a la localización en el campo (coordinadas x/y, distancia y ángulo a portería, etc), contexto de la acción (balón parado, juego dinámico, etc) y si la acción se realizó bajo presión de un oponente (sí, esto también es una característica exclusiva de los datos de StatsBomb), entre otros. Sin embargo, hemos decidido a propósito no incluir información sobre la “historia de la posesión”.

Con esto nos referimos a información relativa a los eventos previos en la posesión. Es decir, no queremos que el modelo sepa qué ha ocurrido antes de la acción concreta que está evaluando. Mientras que esto puede parecer trivial tiene verdadera relevancia en la metodología – y como siempre que se trata de números y modelos el diablo está en los detalles – y por tanto en los resultados del modelo. Vamos a explicarlo: La información relativa a la historia de la posesión suele ser incluida con el argumento de que actúa como proxy de aspectos que no podemos tener de manera explícita en los datos de evento, por ejemplo la posición de los atacantes o de los oponentes. Sin embargo, en la práctica la gran mayoría de esta información se correlaciona de manera muy fuerte con el estilo de juego del equipo y con el “team strength” (el nivel global de los equipos).

Modelos previos empleando información de la historia de la posesión sobrevaloran los pases que se realizan en posesiones largas, dado que normalmente los mejores equipos tienen posesiones más largas que los equipos más débiles. Así, nuestro enfoque se asegura de que cada evento es evaluado de manera independiente al resto. Bueno, ya vale explicaciones, vamos con algunos ejemplos A continuación se pueden ver el Top 20 de las cinco grandes ligas desde la 2016-2017. Los números representan la diferencia de goles agregada de todas las acciones del jugador por cada 90 minutos en el campo.

¿Lionel Messi encabeza la lista? Tick. ¿Neymar y Kylian Mbappé justo detrás? Tick. ¿Aritz Aduriz mejor rematador del mundo? Bueno, ningún modelo es perfecto… Esto es sólo la puntuación global. Podemos ser mucho más específicos e ir al detalle dividiendo la contribución por tipo de acción. Aquí están los diez mejores jugadores en cuanto a OBV mediante conducciones en las cinco grandes ligas europeas la temporada pasada.  

Anteriormente, podíamos analizar la cantidad y la longitud de las conducciones, así como las zonas del campo en las se realizaban, pero OBV nos permite asignar un valor más sutil a cada una de las conducciones y así formarnos una idea más clara de los jugadores que están generando valor con sus conducciones. Hay muchas más cosas que podemos hacer con los resultados de este nuevo modelo. Podemos separarlo por tipo de acción (conducción, pase, tiro, etc) o filtrar por posición para comparar a los jugadores en cada posición entre sí.

Incluso podemos hacer un análisis a nivel de equipos para encontrar respuestas a preguntas del tipo: ¿Desde qué zonas del campo están creando más valor? ¿Cuáles de sus pases son más valiosos? ¿Crean más valor mediante las conducciones o los pases? La mejor noticia es que este modelo de vanguardia está disponible en más de 80 competiciones a lo largo del mundo con el mismo nivel de detalle y precisión.

No todos los clubes del mundo tienen la capacidad de desarrollar in-house modelos de este tipo, por eso nos preocupamos de darles las herramientas necesarias para competir con los mejores. No podemos terminar sin reconocer el trabajo del equipo de Data Science de StatsBomb, no sólo por haber desarrollado este modelo sino porque este modelo es la primera de muchas novedades que pronto llegarán a StatsBomb Data.


¿Quiere saber más? Un miembro de nuestro equipo de expertos le puede demostrar todas las ventajas de los datos de StatsBomb, los mejores y más detallados de la industria https://statsbomb.com/es/contact/

Nuestra plataforma de análisis StatsBomb IQ está diseñada por y para analistas, con una serie de herramientas eficientes y potentes que permiten que los equipos acceden a la información que necesitan mientras ahorran una cantidad significativa de tiempo. Como ejemplo de su utilidad, detallaremos un proceso de scouting de jugadores dentro de la plataforma. Una de las ventajas de utilizar los datos en los primeros pasos de un proceso de scouting es que le da la posibilidad de reducir el mundo de futbolistas a un listado de jugadores interesantes en un rol determinado. Vamos a explorar dos maneras de crear un listado así con las herramientas que forman parte de StatsBomb IQ, pero primero, tenemos que crear una plantilla de radar personalizada que formará la base de nuestras búsquedas. Los radares son el símbolo de StatsBomb, una manera original y práctica de visualizar datos tanto de jugadores como equipos. Podéis leer más sobre ellos aquí, pero en pocas palabras, muestran varias estadísticas y métricas que abarcan tanto el rendimiento como el estilo de juego de un jugador. En StatsBomb IQ tenemos plantillas de radar estándares para cada posición en el campo: Porteros, centrales, laterales, centrocampistas / mediocampistas, extremos / mediapuntas y delanteros. Sin embargo, también existe la posibilidad de personalizar las estadísticas y métricas incluidas en los radares para crear una plantilla de radar personalizada que se ajuste mejor a lo que está buscando analizar y/o visualizar el usuario final. En este ejemplo, vamos a elegir a Kieran Trippier del Atlético Madrid campeón de La Liga como el perfil de lateral que estamos buscando. Aquí está el radar de Trippier en la plantilla estándar de laterales. No es nada mal. Podemos ver que Trippier hace muchas de las cosas típicas de un lateral. Sin embargo, las estadísticas incluidas en este radar no cubren algunas de sus capacidades más destacables. Trippier es un jugador que tiene mucho peso en el avance del balón tanto al último tercio como al área y uno capaz de realizar una cantidad elevada de pases al área sin realizar muchos centros. Solo un 17% de sus pases completados al área son centros, lo que se sitúa en el percentil 93 respecto a los laterales de las cinco grandes ligas europeas. Vamos a construir un radar que mejor abarca sus características. Descartamos PAdj Tackles, Pressures, xGBuildup, Successful Dribbles, Aerial Wins, Fouls y Tack/Dribbled Past%, mantenemos PAdj Interceptions (intercepciones ajustadas en función de la posesión del equipo), Deep Progressions (incursiones en el último tercio mediante pases, regates o conducciones), Passing % (porcentaje de acierto en el pase) y Turnovers (perdidas de posesión a través de fallos en el control del balón o regates fallidos), y añadimos:

  • Open Play Passes: La cantidad de pases intentados en juego dinámico
  • OP Passes Into Box: La cantidad de pases completados al área en juego dinámico
  • Successful Box Cross %: El porcentaje de los pases completados al área que son centros
  • Open Play Key Passes: La cantidad de pases claves en juego dinámico
  • Set Piece Key Passes: La cantidad de pases claves en las jugadas a balón parado

Ahora tenemos un radar que abarca mucho mejor las cualidades de Trippier. Se puede guardar la plantilla y compartirla con colegas. Con la plantilla construida, podemos utilizarla como la base de los dos tipos de búsqueda que vamos a realizar. 1) Similar Player Search Hemos explicado antes la utilidad de nuestra herramienta Similar Player Search, pero en resumen se trata de un algoritmo de similitud que produce una lista de jugadores con perfiles estadísticos similares al del jugador elegido como objetivo de búsqueda, clasificados en una escala de 0 a 100, siendo 100 una coincidencia exacta. Se pueden aplicar varios filtros. En este caso, aplicaremos los siguientes:

  • Posición: Lateral derecho o carrilero derecho
  • Edad: Sub-25
  • Minutos jugados: Al menos 1200 minutos
  • Temporadas: 2020, 2020-21 y 2021
  • Competiciones: Todas las más de 80 competiciones que cubrimos

Ponemos en marcha el algoritmo y así son los resultados. Parece un listado bueno. Trent Alexander-Arnold, otro lateral que tiene mucho peso en el avance del balón al ataque, aparece como el jugador más parecido a Trippier y hay otros nombres ahí que merecen más análisis. Sin embargo, el algoritmo toma en cuenta todas las estadísticas incluidas en el radar y puede que queramos hacer la búsqueda de otra manera, estableciendo cifras mínimas para las estadísticas que consideramos más importantes. Para ella, tenemos IQ Scout. 2) IQ Scout IQ Scout es nuestra herramienta de scouting que permite que los equipos exploren rápidamente todo el mundo de fútbol. Los datos de StatsBomb cubren más de 80 competiciones y cerca de 50,000 jugadores, así que existen muchas oportunidades de encontrar jugadores que se ajustan al perfil que busca el equipo. Usaremos la plantilla de radar que ya hemos creado como base de búsqueda y mantendremos los mismos filtros que utilizamos en la búsqueda de jugadores similares. De ahí, seleccionamos las cuatro estadísticas que mejor sintetizan la capacidad de Trippier de avanzar el balón tanto al último tercio como el área, y elegimos las cifras mínimas que queremos establecer para cada una de ellas:

  • Pases al área en juego dinámico: >=1.33 por 90
  • Porcentaje de los pases completados al área que son centros: <=25%
  • Incursiones en el último tercio: >=4.51 por 90
  • Porcentaje de acierto en el pase: >=75%

Así producimos una lista de cinco jugadores que merecen un análisis más profundo. Andoni Gorosabel de la Real Sociedad aparece otra vez, mientras que Noussair Mazraoui del Ajax parece un jugador muy interesante si comparamos su producción con la media de los laterales de la Eredivisie en nuestro radar personalizado. Esto ha sido un pequeño resumen de la utilidad de StatsBomb IQ en la identificación inicial de jugadores de interés. Nuestra plataforma también cuenta con las herramientas adecuadas para hacer el siguiente paso de un análisis más profundo de las características de los jugadores encontrados ya que tiene una gran variedad de estadísticas, métricas y visualizaciones altamente personalizables.


¿Quiere saber más sobre las posibilidades de StatsBomb IQ? Un miembro de nuestro equipo de expertos le puede demostrar todas las ventajas de StatsBomb IQ y de los datos de StatsBomb. Contacte con nosotros >>

La semana pasada analizamos las conducciones en La Liga a nivel de jugadores, resaltando los jugadores más involucrados en el avance del balón mediante esta acción. Esta semana vamos a echar un ojo a este aspecto del juego a nivel de equipos. ¿Hay equipos que confían mucho en las conducciones para llevar el balón hacia adelante, al último tercio o al área? Este gráfico nos aporta una idea bastante clara de los equipos que utilizan mucho las conducciones para mover el balón hacia adelante. El campo está dividido en tercios verticales y cuartos horizontales. La tonalidad indica el porcentaje de las progresiones del balón del tercio inicial a los siguientes (o el siguiente en el caso del tercio medio) realizadas mediante conducciones, en lugar de pases, respeto a la media de la liga en cada zona. Cabe mencionar que en todas las zonas, los pases representan la manera más habitual de avanzar el balón hacia adelante tanto de media como en el caso de equipos específicos. Existen muchos casos interesantes. Hay equipos que no suelen utilizar las conducciones para avanzar el balón como el Alavés, el Eibar o sobre todo el Osasuna, otros que las utilizan mucho en casi todo el campo como el Barcelona o el Huesca y otros que las utilizan en algunas zonas, sean verticales o horizontales, y no en otras como el Betis, el Cádiz, el Getafe o el Sevilla. En suma, el Huesca es el equipo que más a menudo avanza el balón de un tercio hacia adelante con las conducciones pero aún así se destaca su banda izquierda, donde juegan Javi Ontiveros y Javier Galán. Solo dos jugadores de La Liga ha ganado más metros en las conducciones por cada 90 minutos en el campo que Ontiveros (308.98m), mientras que Galán (233.39m por 90) también figura entre los 20 jugadores que más metros han ganado y está cuarto entre los laterales y carrileros. Es fácil ver los equipos que habitualmente salen en corto, como el Barcelona, la Real Sociedad o el Villarreal. Estos equipos buscan generar ventajas para avanzar del tercio defensivo al tercio medio con el balón en los pies, algo que podemos ver claramente en las conducciones de los centrales del Villarreal, Pau Torres y Raúl Albiol. El plot del Getafe tiene una forma particular, con un porcentaje por debajo de la media de conducciones en todas las zonas del campo salvo las dos zonas en el centro del mediocampo, pero una que tiene sentido dado el estilo de juego del equipo. El conjunto de José Bordalás busca avanzar el balón de forma directa y rápida, pero cuando un avance inicial no funciona, jugadores como Mauro Arambarri toman la iniciativa para progresar el balón de otra manera: las conducciones. Es revelador comparar el gráfico de esta temporada con el de la 2019-20. Hay equipos que muestra patrones recurrentes, como el Barcelona o la Real Sociedad, pero también muchos con formas muy diferentes, como el Villarreal, el Real Valladolid o el Osasuna. En la 2020-21, el Osasuna es el equipo que menos utiliza las conducciones para avanzar el balón, pero en la 2019-20, estuvo mucho más cerca de la media de la liga en la mayoría de las zonas e incluso superó la media por la banda izquierda, propiedad de Pervis Estupiñán, ahora del Villarreal. El Sevilla es un caso similar. Jesús Navas sigue siendo un jugador que conduce mucho por la banda derecha, pero la manera de avanzar balón por la banda izquierda ha cambiado con la salida de Sergio Reguilón. En la 2019-20, Navas y Reguilón fueron los primeros dos en el ranking de metros ganados mediante conducciones entre los laterales y carrileros. Marcos Acuña, el reemplazo de Reguilón, es más combinativo y menos de carreras largas. Para terminar, volveremos a la temporada actual y enfocarnos en las zonas de ataque, donde otra vez sobresalen el Huesca y el Osasuna. Respectivamente, son los equipos que más y menos veces en base porcentual progresa el balón al área de penalti mediante conducciones. El Granada estuvo muy cerca de la media en todas las zonas del gráfico sobre el avance del balón del tercio defensivo al tercio medio y de allí al último tercio, pero es un equipo que utiliza mucho las conducciones para progresar el balón al área. Antonio Puertas, Darwin Machís y Luis Suárez son los jugadores más activos en estas acciones. El caso del Alavés es muy parecido, mientras que el Valencia parece ser el ejemplo opuesto, un equipo que utiliza mucho las conducciones en el avance del balón hacia adelante pero no para incursionar en el área.

Las conducciones son una parte importante y quizás infra-analizada del fútbol, entonces vamos a echar un ojo a este aspecto del juego a través de una serie de dos artículos sobre las conducciones en La Liga española. La semana que viene las abarcaremos a nivel de equipos, pero esta vez nuestro enfoque será las conducciones a nivel de jugadores. Como promedio, hay un poco más de 300 conducciones hacia adelante en un partido de La Liga española, con una media longitud de 9.40 metros. Es decir, en un partido promedio, las conducciones llevan el balón unos 2,800 metros hacia adelante. ¿Como se distribuyen estos metros entre las distintas posiciones? Este Violin Plot muestra la distribución de los metros avanzados mediante conducciones por posición, utilizando los datos de esta temporada y de la 2019-20. Cada plot visualiza la distribución y el rango de valores para la posición en cuestión. Los puntos negros marcan la media de cada una. Como es de esperar, los porteros son los jugadores que menos avanzan el balón mediante conducciones, seguidos por los delanteros. Las medias de los centrales, los laterales/carrileros y los centrocampistas son casi iguales, aunque el rango de valores es más amplio en el caso de los centrales y los centrocampistas. Los extremos/mediapuntas son los futbolistas que ganan más metros mediante conducciones. A nivel individual, hemos encontrado otro dato en el que Lionel Messi es el líder de La Liga, porque esta temporada ha sido el futbolista que ha avanzado el balón más metros mediante conducciones por cada 90 minutos en el campo: 364.19m por 90. Aquí, una lista de los que han llevado el balón más metros hacia adelante en las otras posiciones:

  • Portero: David Soria, Getafe: 97.60m por 90
  • Central: Pau Torres: 289.36m por 90
  • Lateral/Carrilero: Yannick Carrasco, Atlético Madrid: 257.52m por 90
  • Centrocampista: Frenkie de Jong, Barcelona: 331.13m por 90
  • Delantero: Iago Aspas, Celta Vigo: 172.66m por 90

La longitud media de una conducción es 9.40 metros, pero existen varios ejemplos de conducciones muchas más largas. La más larga de todas esta temporada ha sido la de Jon Moncayola del Osasuna en un partido contra con el Elche en diciembre, una conducción desde su propio campo casi a la línea de fondo de unos 94 metros, diez veces la media. Aquí están algunas de las otras conducciones más largas de la temporada. ¿Qué jugadores son capaces de utilizar conducciones más largas que la media de la liga para avanzar el balón tanto el último tercio como el área? Messi sobresale como el jugador que más veces hace llegar el balón el último tercio mediante estas conducciones, mientras que su compañero de equipo Ousmane Dembéle es el que más veces llega al área. Existen varias agrupaciones: los que principalmente atacan él area como Iago Aspas o Iñaki Williams; los que, más que nada, avanzan el balón del tercio medio como Iker Muniain, Pablo Hervías o Sergio Canales; y los que hacen ambas tareas como Messi, Dembéle, Vinícius Júnior, Yannick Carrasco o Samuel Chukwueze. Entre todos los jugadores de La Liga, Vinícius Junior, del Real Madrid, es el que más a menudo en base porcentual utiliza conducciones (en lugar de pases) para avanzar el balón hacia adelante en campo contrario. Un 67.84% de los metros que ha ganado en campo contrario esta temporada han sido ganados mediante conducciones. Otro gráfico: conducciones de 10 metros o más que acaban en tiros o asistencias y/o pases claves. Dos casos interesantes. Primero, el de Javi Ontiveros. Ha hecho casi dos veces más tiros tras estas conducciones que cualquier otro jugador de La Liga. Como hemos comentado antes, él extremo del Huesca es un jugador intensamente positivo. Es implacable en el avance del balón y también realiza muchos tiros, aunque muchos de ellos se realizan desde localizaciones que tienen menor probabilidad de gol. Segundo, el de Jorge de Frutos. El extremo de Levante consigue avanzar el balón a los metros finales del campo antes de dar asistencias y/o pases claves más a menudo que cualquier otro jugador de la división.

En 2017, empezamos a recoger nuestros propios datos. Estábamos seguros de que con más y mejor información podríamos mejorar los modelos existentes y abrir nuevas posibilidades de análisis. Uno de los grandes avances fue la introducción del ‘Freeze Frame’ de StatsBomb, un imagen capturado en el momento en el que se realiza el tiro que nos proporciona información vital como la posición del portero y de los defensores y atacantes. Esa fue la primera vez que revolucionamos la industria. Lo haremos otra vez el 17 de marzo en nuestro evento online StatsBomb Evolve con la presentación de un nuevo salto adelante en los datos avanzados de fútbol: StatsBomb 360. En el periodo previo al evento, estamos publicando una serie de artículos en los que explicamos la utilidad de algunos de los datos y métricas actualmente disponibles de StatsBomb, los más precisos y detallados que existen. Ya hemos tratado nuestros datos exclusivos de presión y su utilidad en el análisis tanto de equipos como de jugadores, y dos variables relacionadas a los pases que también son exclusivas de StatsBomb: el pie con el que se realiza el pase y la altura del pase. Esta semana, nuestro tema es el ‘Freeze Frame’. Para cada tiro, capturamos un imagen que nos proporciona la siguiente información:

  • La posición del portero.
  • La colocación del portero: tumbado, movimiento, fijo.
  • La posición de los defensores y de los atacantes.

Esta información adicional relativa a la situación del tiro ha mejorado mucho los resultados de nuestros modelos de goles esperados (xG). Los modelos de otros proveedores de datos no incluyen la posición del portero, un factor primordial. La posición de los defensores, algo que tampoco tienen en cuenta los modelos de otros proveedores, también tiene mucho que ver con la dificultad de la ocasión. Esta información adicional se encuentra únicamente en los datos de StatsBomb y es por eso que, aunque somos conscientes de que no existe el modelo perfecto, tenemos la certeza de que nuestros modelos son los más precisos y útiles que existen. Asimismo, podemos utilizar esta información adicional para analizar otras cosas. Por ejemplo, para cada tiro trazamos un cono así que extiende del jugador que realiza el tiro a la portería: El cono es algo que usamos principalmente en la evaluación de los porteros y su posicionamiento pero también tiene utilidad para identificar la cantidad de defensores en la línea del balón, los que tienen más posibilidades de bloquear un tiro. Podemos ver si existe algún tipo de correlación entre los equipos que tienen más defensores dentro de este cono y los que tienen los mejores porcentajes de tiros bloqueados. Como promedio, los equipos de las cinco grandes ligas tienen menos de un defensor en el cono cuando conceden tiros desde dentro del área, pero el patrón es lo que se esperaba. La correlación no es perfecta pero en general los equipos que más a menudo tienen un defensor en la línea del balón consiguen los mejores porcentajes de tiros bloqueados. No es ninguna sorpresa ver al Atlético Madrid en la parte superior derecha del gráfico. El equipo de Diego Simeone también sobresale en el gráfico siguiente que traza la calidad media de los tiros concedidos, el xG por tiro concedido, contra la cantidad de defensores no solo en el cono pero simplemente entre balón y portería (goal side en el lenguaje del fútbol británico). Existe un patrón muy visible: los equipos que tienen más defensores entre balón y portería conceden tiros de una calidad más baja que los que tienen menos defensores posicionados así. El Atlético se encuentra en un extremo del gráfico y el Spezia de la Serie A en el otro. Si echamos un vistazo a sus respectivas mapas de tiros concedidos (en juego dinámico y sin incluir los remates de cabeza, como en el gráfico), queda muy clara la diferencia. Para colmo, no es solo que el Spezia conceden tiros de una calidad más alta sino que también conceden un tiro más por partido que el Atlético: 10.88 a 9.58. Como siempre con estos tipos de gráficos, también es interesante identificar los equipos que no siguen el patrón general. Equipos como la Roma o el Alavés, por ejemplo. En el lado ofensivo, podemos trazar la velocidad media de los ataques que terminan en tiro contra la cantidad de defensores rivales entre balón y portería. Aquí no existe un patrón claro. Hay equipos que atacan de manera rápida y consiguen llegar a zonas de remate con una cantidad relativamente baja de defensores rivales entre balón y portería, pero también hay otros que no lo consiguen como el Burnley o el Getafe. Conjuntos como el Atlético Madrid, el Barcelona o el Paris Saint-Germain atacan de manera más metódica pero aún así consiguen perforar las defensas contrarias. Equipos como el Atalanta, el Lyon o el Borussia Mönchengladbach combina bien el juego de posesión con ataques rápidos en fases de transición para llegar al último tercio con menos defensores entre balón y portería. Un gráfico más. La cantidad media de atacantes dentro del área cuando los equipos realizan tiros desde dentro del mismo. Equipos dominantes realizan mucho tiros desde dentro del área y también suman muchos atacantes dentro del área cuando los realizan. El Atalanta remata más desde dentro del área que cualquier otro equipo de las cinco grandes ligas pero lo hace sin tener una cantidad muy elevada de atacantes allí, algo que merece un análisis más detallado. El Brighton y la Fiorentina en la parte superior del gráfico y el Metz y el Lorient en la parte inferior sobresalen como casos apartes. Existen muchos otros análisis que se pueden realizar con estos datos, análisis que se pueden hacer únicamente con los datos de StatsBomb, los mejores y más detallados de la industria. Únete a nosotros el 17 de marzo para conocer el próximo avance de los datos en fútbol: StatsBomb Evolve.

En los últimos años, la presión alta se ha convertido en un recurso utilizado tanto por clubes grandes como pequeños. Por ello, los entrenadores han tenido que buscar soluciones para contrarrestarla. En este artículo, vamos a analizar la reacción de los equipos de La Liga ante la presión alta y agresiva del Getafe.   El 17 de marzo en nuestro evento online StatsBomb Evolve presentaremos el nuevo salto adelante en los datos avanzados de fútbol con StatsBomb 360. En el periodo previo al evento, vamos a publicar una serie de artículos en los que explicamos la utilidad de algunos de los datos y métricas actualmente disponibles de StatsBomb, los más precisos y detallados de la industria. En esta ocasión, vamos a hablar de nuestros datos exclusivos de presión. StatsBomb es el único proveedor de datos que recoge acciones de presión a nivel de tanto jugadores como equipos, permitiendo un análisis más profundo de este aspecto del juego que va más allá de los duelos individuales. Con estos datos podemos ver las zonas del campo en las que los equipos realizan presión, tanto en un partido concreto…   …como en el transcurso de una temporada.   A nivel colectivo esto nos permite tener una visión más realista y completa de los mecanismos tácticos que los equipos usan en fase defensiva, en qué zonas comienzan a ejercer presión, hacia qué lado dirigen a los rivales, dónde son más fuertes, con qué frecuencia presionan en determinadas zonas del campo y muchos más aspectos clave defensivos. Asimismo, podemos ver cómo los equipos se desenvuelven ante presión rival. Para cada acción relevante (pases, conducciones, tiros…) tenemos una variable llamada under_pressure que registra si la acción fue realizada bajo presión. Así, podemos filtrar nuestras búsquedas para que sólo aparezcan las acciones realizadas bajo presión del rival. Vamos a analizar la reacción de los equipos en la pasada temporada de La Liga ante la presión en campo contrario del Getafe. Los azulones han sido menos activos y por ello menos efectivos esta temporada, pero en la 2019-20 el equipo de José Bordalás fue el equipo que realizó la presión más agresiva y adelantada de todas las grandes ligas de Europa. Algunos equipos simplemente no tuvieron respuesta, el Alavés, por ejemplo. En el partido de julio de 2020, el equipo vasco no fue capaz de encontrar una manera fiable de mover el balón a campo rival. Sufrió un bajón notable respecto a su media de la temporada tanto en porcentaje de pases completados como en el porcentaje de pases completados bajo presión. No completó ninguno de los tres regates que intentó. (Rojo = acción completada; amarillo = acción fallida). El Alavés sólo realizó tres tiros en el transcurso de los 90 minutos con una suma de 0.19 goles esperados (xG). Dos de ellos provinieron de acciones a balón parado. El Barcelona tuvo más éxito en romper la presión alta del Getafe, particularmente en el partido en el Coliseum Alfonso Pérez, en el que apostó por un juego más directo, con más balones largos de los que habitualmente realizan. Doce veces consiguió llegar a territorio rival desde acciones realizadas bajo presión en campo propio*. * Para este propósito, hemos definido estas entradas en territorio rival como las acciones que tienen su punto de origen en campo propio con el poseedor de balón bajo presión y su punto final al menos 10 metros dentro del campo contrario. El Barça generó tres de sus tiros en las tres acciones posteriores a un pase bajo presión en campo propio, incluyendo su primer gol de encuentro, marcado por Luis Suárez después de un pase largo del portero Marc-André ter Stegen. El Sevilla también pareció tener un plan adecuado para contrarrestar la presión alta de los azulones. El equipo de Julen Lopetegui ganó ambos encuentros, por 3-0 y 2-0 respectivamente, y registró en esos partidos los porcentajes más altos de acciones bajo presión que llegaron directamente a territorio rival. En el partido de casa, sacó mucho provecho de los regates para ganar metros en el campo y crear líneas de pase, un recurso que el Real Madrid y la Real Sociedad también utilizaron con éxito en sus respectivos encuentros contra el Getafe. El Madrid combinó los regates con muchos pases de primer toque. Realizó así un 20% de sus pases bajo presión. Otros datos interesantes:

  • El Real Betis, el Celta Vigo y el Valencia fueron los tres equipos que registraron los porcentajes más altos de pases al primer toque, principalmente con éxito en el caso del Betis y el Valencia, pero no en el caso del Celta Vigo, que completó menos de un 45% de sus pases bajo presión en el partido de julio 2020, la segunda peor cifra entre todos los equipos.
  • El Granada fue el único equipo que registró una media de más de dos segundos entre el control del balón y el pase posterior.
  • El Athletic Club fue el equipo con la media longitud de pase más larga y también uno de dos equipos, junto al Alavés, que bajo presión realizaron más pases altos que medios y rasos.

¿Hay una clave universal para contrarrestar la presión alta del Getafe? La realidad es que en este caso no existe mucha correlación entre las variables que se puede analizar, como la dirección, la altura (otro dato exclusivo de StatsBomb) o la longitud de los pases, la longitud o la frecuencia de las conducciones, la cantidad de regates o el tiempo medio entre el control del balón y el pase posterior, y medidas de éxito como el porcentaje de acciones completadas bajo presión, la cantidad de llegadas a territorio rival o de acciones que preceden tiros. El Getafe perdió todos los partidos contra los cinco mejores equipos de la clasificación: el Real Madrid, el Barcelona, el Atlético Madrid, el Sevilla y el Villarreal. Marco sólo dos goles y encajó 20. Sin embargo, no existieron muchas similitudes entre las soluciones que propusieron estos equipos. Esto parece confirmar que la mayoría de los entrenadores preparan su plan de juego mayormente en función de las capacidades de sus jugadores que en función del éxito que otros equipos han tenido o no con los planteamientos. Este ha sido un ejemplo del tipo de análisis que se puede hacer únicamente con los datos de StatsBomb. Únete a nosotros el 17 de marzo para conocer el próximo avance de los datos en fútbol: StatsBomb Evolve.

Hace un par de meses, añadimos los datos del Barcelona de la temporada 2019-20 a nuestro repositorio de la carrera completa de Lionel Messi y la gente ya ha empezado a hacer cosas interesantes con ellos. Por ejemplo, Eoin O’Brien ha creado una página interactiva en la que puedes ver los redes de pases del Barça en cada partido de la temporada. Ahora, vamos a enseñar algunas cosas que podéis hacer con estos datos en R, un programa y lenguaje de programación que solemos utilizar en nuestro trabajo de análisis. Ya hemos escrito una introducción al uso de StatsBomb Data en R y recomendamos que la leéis antes de intentar hacer las cosas incluidas en este artículo, que tiene como base un artículo en inglés por nuestro analista Euan Dewar. Podéis hacer estas cosas con tanto los datos de Messi como los de las otras competiciones que ofrecemos de manera gratuita, incluyendo los últimos mundiales tanto masculino como femenino, la temporada de liga del mítico Arsenal de la 2003-04 y las ligas femeninas de Inglaterra y los Estados Unidos. Podéis encontrar una lista completa de las competiciones aquí: https://github.com/statsbomb/open-data/blob/master/data/competitions.json Importar los datos Primero, tenemos que importar los datos del Barcelona de la 2019-20: library(tidyverse) library(StatsBombR) Comp <- FreeCompetitions() %>% filter(competition_id==11 & season_name==»2019/2020″) Matches <- FreeMatches(Comp) StatsBombData <- StatsBombFreeEvents(MatchesDF = Matches, Parallel = T) StatsBombData = allclean(StatsBombData) events = StatsBombData Para crear visualizaciones es útil tener los nombres cortos de los jugadores en vez de sus nombres completos con segundo apellido, etc… Este código crea otra columna con este detalle (‘player.nickname’): lineups <- StatsBombFreeLineups(MatchesDF = Matches, Parallel = T) lineups <- cleanlineups(lineups) lineups <- lineups %>% mutate(player_nickname = ifelse(is.na(player_nickname), player_name, player_nickname)) lineups <- lineups %>% select(player.id = player_id, player.nickname = player_nickname) %>% group_by(player.id) %>% slice(1) %>% ungroup() events <- events %>% left_join(lineups) Mapas de tiros Bueno, ahora podemos crear un mapa de tiros de un jugador. shots = events %>% filter(type.name==»Shot» & (shot.type.name!=»Penalty» | is.na(shot.type.name)) & player.nickname==»Luis Suárez») %>% #1 mutate(shot.body_part_ESP.name = recode (shot.body_part.name, «Right Foot» = «Pie derecho», «Left Foot» = «Pie izquierdo», «Head» = «Cabeza»)) #2 shotmapxgcolors <- c(«#192780», «#2a5d9f», «#40a7d0», «#87cdcf», «#e7f8e6», «#f4ef95», «#FDE960», «#FCDC5F», «#F5B94D», «#F0983E», «#ED8A37», «#E66424», «#D54F1B», «#DC2608», «#BF0000», «#7F0000», «#5F0000») #3 ggplot() + annotate(«rect»,xmin = 0, xmax = 120, ymin = 0, ymax = 80, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 0, xmax = 60, ymin = 0, ymax = 80, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 18, xmax = 0, ymin = 18, ymax = 62, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 102, xmax = 120, ymin = 18, ymax = 62, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 0, xmax = 6, ymin = 30, ymax = 50, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 120, xmax = 114, ymin = 30, ymax = 50, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 120, xmax = 120.5, ymin =36, ymax = 44, fill = NA, colour = «black», size = 0.6) + annotate(«rect»,xmin = 0, xmax = -0.5, ymin =36, ymax = 44, fill = NA, colour = «black», size = 0.6) + annotate(«segment», x = 60, xend = 60, y = -0.5, yend = 80.5, colour = «black», size = 0.6)+ annotate(«segment», x = 0, xend = 0, y = 0, yend = 80, colour = «black», size = 0.6)+ annotate(«segment», x = 120, xend = 120, y = 0, yend = 80, colour = «black», size = 0.6)+ theme(rect = element_blank(), line = element_blank()) + # add penalty spot right annotate(«point», x = 108 , y = 40, colour = «black», size = 1.05) + annotate(«path», colour = «black», size = 0.6, x=60+10*cos(seq(0,2*pi,length.out=2000)), y=40+10*sin(seq(0,2*pi,length.out=2000)))+ # add centre spot annotate(«point», x = 60 , y = 40, colour = «black», size = 1.05) + annotate(«path», x=12+10*cos(seq(-0.3*pi,0.3*pi,length.out=30)), size = 0.6, y=40+10*sin(seq(-0.3*pi,0.3*pi,length.out=30)), col=»black») + annotate(«path», x=107.84-10*cos(seq(-0.3*pi,0.3*pi,length.out=30)), size = 0.6, y=40-10*sin(seq(-0.3*pi,0.3*pi,length.out=30)), col=»black») + geom_point(data = shots, aes(x = location.x, y = location.y, fill = shot.statsbomb_xg, shape = shot.body_part_ESP.name), size = 6, alpha = 0.8) + #4 theme(axis.text.x=element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank(), plot.caption=element_text(size=13,family=»Source Sans Pro», hjust=0.5, vjust=0.5), plot.subtitle = element_text(size = 18, family=»Source Sans Pro», hjust = 0.5), axis.text.y=element_blank(), legend.position = «top», legend.title=element_text(size=18,family=»Source Sans Pro»), legend.text=element_text(size=16,family=»Source Sans Pro»), legend.margin = margin(c(15, 30, -60, 10)), legend.key.size = unit(1.5, «cm»), legend.key.width = unit(0.95, «cm»), plot.title = element_text(margin = margin(r = 10, b = 10), face=»bold»,size = 26, family=»Source Sans Pro», colour = «black», hjust = 0.5), legend.direction = «horizontal», axis.ticks=element_blank(), aspect.ratio = c(65/100), plot.background = element_rect(fill = «white»), strip.text.x = element_text(size=13,family=»Source Sans Pro»)) + labs(title = «Luis Suárez, Mapa de tiros», subtitle = «La Liga, 2019-20») + #5 scale_fill_gradientn(colours = shotmapxgcolors, limit = c(0,0.8), oob=scales::squish, name = «Valor de xG») + #6 scale_shape_manual(values = c(«Cabeza» = 21, «Pie derecho» = 23, «Pie izquierdo» = 24), name =»») + #7 guides(fill = guide_colourbar(title.position = «top»), shape = guide_legend(override.aes = list(size = 5, fill = «black»))) + #8 coord_flip(xlim = c(85, 125)) #9 1. Un filtro básico para eliminar los penaltis y elegir el jugador que quieras. 2. Para asignar los nombres castellanos a las partes del cuerpo. 3. Los colores para los valores de xG. 4. Empezamos a trazar los tiros con geom_point. Elegimos el valor de xG como la fill y la parte del cuerpo como la shape (forma) de los puntos. Se pueden cambiarlos por otros valores, como el tipo de asistencia, el resultado del tiro (gol, a puerta, bloqueado…), etc… 5. Para poner el título y subtítulo a la visualización. 6. Los parámetros para la fill de los tiros. En el parámetro colours, hacemos referencia a los colores que elegimos antes. 7. Para elegir las formas para cada parte del cuerpo. Los números son los números asignados a las formas estándares de ggplot. Una lista aquí. Las formas de 21 en adelante son los que tienen colores interiores (controlados por fill). 8. Con guides() podemos ajustar la forma, el color y otras cosas de la leyenda. En este ejemplo, estamos cambiando la posición del título de la fill para situarlo por encima de la leyenda. Asimismo, estamos cambiando el tamaño y color de las formas. 9. coord_flip() cambia los ejes para mostrar el campo de juego de forma vertical. Con xlim podemos poner un límite al eje x para mostrar sólo una parte del campo. El resultado será esta visualización: xG + xG Asistido No existe una columna para los valores de xG asistido en nuestros datos pero es algo que podemos generar si conectamos el valor de xG de un tiro a la pase que creó la ocasión usando la función join. Aquí está el código: xGA = events %>% filter(type.name==»Shot») %>% #1 select(shot.key_pass_id, xGA = shot.statsbomb_xg) #2 shot_assists = left_join(events, xGA, by = c(«id» = «shot.key_pass_id»)) %>% #3 select(team.name, player.nickname, player.id, type.name, pass.shot_assist, pass.goal_assist, xGA ) %>% filter(pass.shot_assist==TRUE | pass.goal_assist==TRUE) #4 1. Filtrando a los tiros, los únicos eventos que tienen valores de xG. 2. Con Select() podemos elegir las columnas que queremos incluir en el Data Frame. Elegimos la columna ‘shot.key_pass_id’, una variable de los tiros que da la ID de la pase que creó el tiro. Asimismo, renombramos la columna ‘shot.statsbomb_xg’ a ‘xGA’ para que ya tenga el nombre correcto cuando la juntamos con las pases. 3. left_join() es una función para combinar las columnas de dos Data Frames diferentes. En este ejemplo, estamos juntado nuestro Data Frame inicial (‘events’) y el que hemos creado (‘xGA’). La clave es la parte by = c(“id” = “shot.key+pass_id) que junta los dos Data Frames cuando la columna de ID en ‘events’ coincide con la columna ‘shot.key_pass_id’ en ‘xGA’. Ahora, la columna ‘xGA’ muestra el valor de xG de cada pase clave y asistencia. 4. Filtrando los datos a las pases claves y asistencias. El resultado debería ser algo así: Todo bien hasta ahora. ¿Pero qué tenemos que hacer para crear un gráfico de estos datos? Por ejemplo, un ranking de jugadores que incluye tanto el xG como el xGA. player_xGA = shot_assists %>% group_by(player.nickname, player.id, team.name) %>% summarise(xGA = sum(xGA, na.rm = TRUE)) #1 player_xG = events %>% filter(type.name==»Shot») %>% filter(shot.type.name!=»Penalty» | is.na(shot.type.name)) %>% group_by(player.nickname, player.id, team.name) %>% summarise(xG = sum(shot.statsbomb_xg, na.rm = TRUE)) %>% left_join(player_xGA) %>% mutate(xG_xGA = sum(xG+xGA, na.rm =TRUE) ) #2 player_minutes = get.minutesplayed(events) player_minutes = player_minutes %>% group_by(player.id) %>% summarise(minutes = sum(MinutesPlayed)) #3 player_xG_xGA = left_join(player_xG, player_minutes) %>% mutate(nineties = minutes/90, xG_90 = round(xG/nineties, 2), xGA_90 = round(xGA/nineties,2), xG_xGA90 = round(xG_xGA/nineties,2) ) #4 chart = player_xG_xGA %>% filter(minutes>=900) chart<-chart %>% select(1, 9:10)%>% pivot_longer(-player.nickname, names_to = «variable», values_to = «value») %>% filter(variable==»xG_90″ | variable==»xGA_90″) #6 1. Agrupando los datos por jugador y calculando sus totales de xGA para la temporada. 2. Eliminando los penaltis, calculando los totales de xG para cada jugador y sumando el xG y xGA para crear una nueva columna con la suma de los dos. 3. Una función para importar los minutos disputados de cada jugador. 4. Juntando el xG y xGA a los minutos y calculando las cifras por cada 90 minutos en el campo. 5. Aquí creamos un Data Frame para el gráfico, con un filtro para incluir sólo a jugadores con 900 o más minutos disputados. 6. La función pivot_longer() aplana los datos para crear filas individuales para cada variable y valor relacionada a un jugador. Es más fácil visualizarlo: Tenemos los datos preparados para crear el gráfico. ggplot(chart, aes(x =reorder(player.nickname, value), y = value, fill=fct_rev(variable))) + #1 geom_bar(stat=»identity», colour=»white»)+ labs(title = «xG + xG Asistido», subtitle = «Barcelona, La Liga, 2019-20», x=»», y=»Por cada 90 minutos», caption =»Mínimo de 900 minutos jugados»)+ theme(axis.text.y = element_text(size=14, color=»#333333″, family=»Source Sans Pro»), axis.title = element_text(size=14, color=»#333333″, family=»Source Sans Pro»), axis.text.x = element_text(size=14, color=»#333333″, family=»Source Sans Pro»), axis.ticks = element_blank(), panel.background = element_rect(fill = «white», colour = «white»), plot.background = element_rect(fill = «white», colour =»white»), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), plot.title=element_text(size=24, color=»#333333″, family=»Source Sans Pro» , face=»bold»), plot.subtitle=element_text(size=18, color=»#333333″, family=»Source Sans Pro», face=»bold»), plot.caption=element_text(color=»#333333″, family=»Source Sans Pro», size =10), text=element_text(family=»Source Sans Pro»), legend.title=element_blank(), legend.text = element_text(size=14, color=»#333333″, family=»Source Sans Pro»), legend.position = «bottom») + #2 scale_fill_manual(values=c(«#3371AC», «#DC2228»), labels = c( «xGA»,»xG»)) + #3 scale_y_continuous(expand = c(0, 0), limits= c(0,max(chart$value) + 0.5)) + #4 coord_flip()+ #5 guides(fill = guide_legend(reverse = TRUE)) #6 1. Usamos reorder() para poner los jugadores en orden de su suma de xG y xGA. Hemos puesto el ‘variable’ como la fill de la barra. Así podemos poner los dos datos juntos en la misma barra con un color distinto para cada uno de los dos. 2. La función labs() controla el título, el subtítulo y las etiquetas de los ejes. La función theme() controla la tipografía, el color del fondo y cosas así. 3. Aquí estamos eligiendo los colores para cada dato (xG = rojo; xGA = azul) y creando la etiqueta. 4. Poniendo un límite al eje y. En este caso hemos usado el valor máximo + 0.3. 5. Cambiando los ejes para tener un diagrama de barras horizontal en vez de vertical. 6. Tenemos que invertir la leyenda para que muestre los datos en el mismo orden que el diagrama. El resultado final será esta visualización: Existen muchas variaciones que podéis hacer con un diagrama de barras así: presiones, dividido entre campo propio y campo contrario; incursiones al área, dividido entre pases y conducciones; pases, dividido entre los dos pies. Nuestra especificación de datos incluye los nombres de todos los variables que podéis utilizar.


Ahora es el turno de vosotros. Podéis compartir sus resultados con nosotros: @statsbombes en Twitter. Cabe mencionar que además del nuestro paquete de R, tenemos uno de Python, StatsBombPy. Podéis encontrar todos los detalles en nuestro Github: https://github.com/statsbomb/statsbombpy

Los radares son el símbolo de StatsBomb, una manera original y práctica de visualizar datos tanto de jugadores como equipos. A pesar de que hoy en día parecen omnipresentes en los círculos de análisis de datos en el fútbol, siguen siendo una de las marcas distintivas de StatsBomb, puesto que estos fueron creados y popularizados aquí. Sin embargo, hasta ahora no habíamos escrito algo en Castellano para ayudaros a interpretar los radares que utilizamos tanto en nuestros análisis como en las redes sociales. ¿De qué estamos hablando? Aquí está un ejemplo de uno de nuestros radares. Vamos a hablar de las métricas en sí más tarde, pero existen algunas cosas que tenemos que explicar antes. Primero, los límites interiores y exteriores de los radares representan respectivamente los percentiles 5 y 95 de la distribución posicional para cada métrica en las cinco grandes ligas de Europa durante varias temporadas. Segundo, la gráfica de distribución que se encuentra a la derecha del radar muestra donde cae el jugador dentro de la distribución de su posición en cada métrica. La flecha indica la posición del jugador mientras la paleta de colores da una idea del percentil en el que se encuentra. El percentil y el valor de la métrica están mostrados a la derecha de la gráfica. Las gráficas de distribución son una manera sencilla de visualizar que excepcional es un jugador como Lionel Messi.   Existen más opciones. Dentro del radar, podemos visualizar los percentiles en vez de los valores de cada métrica. A veces, en lugar de la gráfica de distribución, publicamos los radares con una tabla que contiene los detalles de la producción estadística del jugador. Puedes leer más sobre las opciones aquí. Asimismo, nuestros clientes tienen la oportunidad de personalizar las métricas incluidas para crear sus propios radares. Apuntes Generales – Cuando hacemos referencia al xG, estamos hablando de los Goles Esperados, el marco general empleado en la mayoría de los análisis actuales. La explicación simplificada de esta métrica es que mide la probabilidad de que un tiro dado termine en gol. Sin embargo, va mucho más allá de eso, como explicamos en este artículo. – Todos los datos son por cada 90 minutos. Hemos explicado antes las razones por las cuales ajustamos los datos así, pero en breve, es la forma más sencilla y práctica de hacer comparaciones entre jugadores que han disputado diferentes cantidades de minutos a lo largo de una temporada. – Asimismo, ajustamos algunas de las métricas defensivas en función de la posesión. Este ajuste es una solución práctica para estandarizar los valores de modo que se pueden comparar entre diferentes jugadores corrigiendo aspectos relacionados con el estilo de juego de sus respectivos equipos. Damos una explicación más profunda aquí. – Cabe mencionar que no todas las métricas miden la calidad del jugador y/o su rendimiento. Muchas de ellas son marcas estilísticas, particularmente en el caso de los defensores. Bueno, aquí va las explicaciones de las métricas de cada plantilla en sentido horario. Vamos a tratar el tema de los porteros y sus datos en un artículo futuro. Centrales Passing%: % Acierto en el pase. – Pressures: Acciones de presión. – Fouls: Faltas. – Tack/Dribbled Past%: La proporción de entradas exitosas a ocasiones en que el oponente le/la regateó. – PAdj Tackles: Entradas exitosas ajustadas en función de la posesión. – PAdj Interceptions: Interceptaciones ajustadas en función de la posesión. – Aerial Wins: Duelos aéreos ganados. – Aerial Win%: Porcentaje de duelos aéreos ganados. – Pressured Long Balls: Balones largos bajo presión. – Unpressured Long Balls: Balones largos sin presión. – xGBuildup: La suma de los goles esperados de todos los ataques del equipo que terminaron en tiro en los que el jugador tocó el balón pero no realizó el tiro o la asistencia del tiro. Laterales PAdj Tackles: Entradas exitosas ajustadas en función de la posesión. – PAdj Interceptions: Interceptaciones ajustadas en función de la posesión. – Pressures: Acciones de presión. – Deep Progressions: Incursiones en el último tercio a través de pases, regates o conducciones. – Passing%: % Acierto en el pase. – xGBuildup: La suma de los goles esperados de todos los ataques del equipo que terminaron en tiro en los que el jugador tocó el balón pero no realizó el tiro o la asistencia del tiro. – Successful Dribbles: Regates exitosos. – Turnovers: Perdidas de posesión a través de fallos en el control del balón o regates fallidos. – Aerial Wins: Duelos aéreos ganados. – Fouls: Faltas recibidas. – Tack/Dribbled Past%: La proporción de entradas exitosas a ocasiones en que el oponente le/la regateó. Centrocampistas / Mediocampistas Passing%: % Acierto en el pase. – Deep Progressions: Incursiones en el último tercio a través de pases, regates o conducciones. – xG Assisted: Goles esperados asistidos. – xG Buildup: La suma de los goles esperados de todos los ataques del equipo que terminaron en tiro en los que el jugador tocó el balón pero no realizó el tiro o la asistencia del tiro. – Successful Dribbles: Regates exitosos. – Foul Wons: Faltas recibidas. – Turnovers: Perdidas de posesión a través de fallos en el control del balón o regates fallidos. – Pressure Regains: Recuperaciones del equipo del jugador dentro de cinco segundos de una presión realizada por parte del jugador. – Pressures: Acciones de presión. – PAdj Tackles: Entradas exitosas ajustadas en función de la posesión. – PAdj Interceptions: Interceptaciones ajustadas en función de la posesión. Extremos / Mediapuntas xG: Goles esperados. – Shots: Tiros. – Touches in Box: Toques del balón dentro del área de penalti. – Passing%: % Acierto en el pase. – Successful Box Cross%: El porcentaje de los pases completados al área que fueron centros. – Open Play xG Assisted: Goles esperados asistidos en juego normal (es decir, sin contar los que provienen de las acciones a balón parado). – Fouls Won: Faltas recibidas. – Successful Dribbles: Regates exitosos. – Turnovers: Perdidas de posesión a través de fallos en el control del balón o regates fallidos. – Pressure Regains: Recuperaciones del equipo del jugador dentro de cinco segundos de una presión realizada por parte del jugador. – xG/Shot: Goles esperados por tiro. Es decir, la calidad media de sus tiros. Delanteros Centros xG: Goles esperados. – Shots: Tiros. – Touches in Box: Toques del balón dentro del área de penalti. – Shot Touch%: El porcentaje de sus toques del balón que fueron tiros. – xG Assisted: Goles esperados asistidos. – Pressure Regains: Recuperaciones del equipo del jugador dentro de cinco segundos de una presión realizada por parte del jugador. – Pressures: Acciones de presión. – Aerial Wins: Duelos aéreos ganados. – Turnovers: Perdidas de posesión a través de fallos en el control del balón o regates fallidos. – Successful Dribbles: Regates exitosos. – xG/Shot: Goles esperados por tiro. Es decir, la calidad media de sus tiros. ———————————— ¿Quieres saber más sobre las métricas que se están generalizando en el fútbol? Nuestro curso online Introducción al Análisis de Datos en Fútbol Profesional ya está disponible. Los goles esperados (xG), táctica ofensiva y defensiva, acciones a balón parado, análisis de equipos y más… Apúntate: https://cursos.statsbombc1dev.wpengine.com/courses/introduccion

¿Te sobra tiempo ahora mismo? ¿Quieres aprender cómo organizar y utilizar datos de fútbol? Aquí está una introducción de cómo trabajar con los datos gratuitos de StatsBomb en R. En StatsBomb tenemos el compromiso de liberar parte de nuestros datos para fomentar activamente la investigación y análisis original a todos los niveles. Para tal fin, hemos puesto a disposición del público los datos de StatsBomb de varias competiciones. Esperamos que esta introducción os sirva para iniciaros en el uso de datos para analizar el fútbol. Esta introducción ha sido posible gracias a nuestro analista Euan Dewar que realizó el trabajo original, así como al editor de StatsBomb en castellano Nick Dorrington y al responsable de innovación y análisis táctico Pablo Peña Rodríguez. Los datos accesibles de manera gratuita cuentan con las mismas especificaciones que hacen a nuestros datos ser los líderes de la industria e incluyen un nivel de detalle y precisión mayor que en cualquier otro proveedor de datos. Nuestro feed de datos incluye, entre otros, los siguientes aspectos:

  • La posición de los jugadores atacantes y defensores en todas las situaciones de remate incluyendo la posición y las acciones del portero durante el desarrollo de la misma.
  • Información detallada sobre todos los jugadores que ejercen presión sobre el jugador con balón durante la fase defensiva – incluyendo la duración de la presión, la dirección y las acciones subsiguientes.
  • Pie con el que realiza los pases cada jugador, altura del pase, y muchas otras variables que otorgan mayor detalle a nuestros datos.

Estas son las ligas, competiciones y proyectos disponibles de forma gratuita.

  • Messi Data Biography: todos los partidos de Liga de Leo Messi, desde la 2004-05 hasta 2020-21
  • UEFA Eurocopa (masculina): 2020 (incluyendo los datos de StatsBomb 360)
  • FIFA World Cup (masculina): 2018
  • FIFA World Cup (femenina): 2019
  • Los Invencibles del Arsenal: 2003-04
  • Algunas finales de la Champions League entre 2000 y 2019
  • FA Women’s Super League (Inglaterra): 2018-19 hasta 2020-21
  • NWSL (Estados Unidos): 2018

¿Qué es R y por qué usarlo? R es un lenguaje de programación especialmente útil para el manejo de datasets estadistícas. En el ámbito que nos ocupa (estadística avanzada en fútbol) nos permite procesar datasets para diferentes fines tales como la creación de métricas así como visualizaciones de los mismos. R se puede descargar de manera gratuita en este enlace: https://cran.r-project.org/mirrors.html En StatsBomb trabajamos regularmente con R (entre otros lenguajes de programación) en nuestro día a día, particularmente en el departamento de análisis. Empezar a trabajar con hojas de cálculo puede ser una posibilidad válida al comienzo, pero a medida que las dataset son más grandes se vuelven más difíciles de manejar haciendo casi imposible realizar un análisis detallado de los mismos sin manejar un lenguaje de programación. Una vez superada la curva de aprendizaje, R es ideal para trabajar y analizar los datos de manera eficiente y sencilla. Antes de empezar, es recomendable tener instalado la versión más actualizada de R, al menos la versión 3.6.2. RStudio La versión básica de R no es lo más visual del mundo. Esto ha llevado a la creación de varios entornos de desarrollo integrados (IDEs). Estos wrappers son softwares desarrollados a partir de la versión inicial y tratan de hacer la mayoría de tareas dentro de R más sencillas y manejables para el usuario. El más popular de estos es RStudio: https://www.rstudio.com/products/rstudio/ Es recomendable instalar RStudio u otro IDE similar para que el proceso de trabajo con los datos de StatsBomb más simple y limpio. Abrir un Proyecto Nuevo en R Esto es lo que verá el usuario al cargar por primera vez RStudio (sin las anotaciones). En caso de no tener clara la función de cada opción o sección de RStudio es recomendable echar un vistazo a alguna de las hojas de consejos y tutoriales relativos en: https://www.rstudio.com/resources/cheatsheets/ Es muy fácil encontrar una gran cantidad de recursos con explicaciones y respuestas detalladas a cualquier pregunta que pueda surgir respecto a R. ¿Qué es un Paquete de R? Los paquetes son conjuntos de funciones que simplifican tareas. Se pueden descargar fácilmente. Para instalar un paquete en R simplemente hay que ejecutar install.packages(‘NombreDelPaquete’). Los paquetes que utilizaremos y que será necesario tener instalados son los siguientes: – ‘tidyverse’: tidyverse contiene dentro de sí un conjunto paquetes útiles para manipular datos (por ejemplo dplyr y magrittr). install.packages(“tidyverse”)‘devtools’: La mayoría de paquetes se encuentran en CRAN. Sin embargo, también se pueden encontrar muchos paquete útiles en Github. Devtools permite descargar los paquetes directamente desde Github. install.packages(“devtools”) ‘ggplot2’: El paquete más popular para llevar a cabo la visualización de datos en R. – ‘StatsBombR’: El paquete propio de StatsBomb para analizar nuestros datos. Una vez que un paquete está instalado se puede cargar ejecutando library(NombreDelPaquete). Deben importarse antes del comienzo de una sesión. ¿Qué es ‘StatsBombR’? Derrick Yam (ex-Data Scientist de StatsBomb) desarrolló StatsBombR, un paquete dedicado a hacer uso de los datos originales de StatsBomb de manera más sencilla e intuitiva. Se puede descargar en este enlace de Github donde se incluye además información sobre su uso: https://github.com/statsbomb/StatsBombR Para instalar el paquete en R es necesario instalar primero un par de paquetes diferentes ejecutando las siguientes líneas: install.packages(«devtools») install.packages(«remotes») remotes::install_version(«SDMTools», «1.1-221») Para instalar StatsBombR ejecutar a continuación: devtools::install_github(«statsbomb/StatsBombR») Información Adicional Sobre los Paquetes Para encontrar más información sobre las diferentes funciones dentro de un paquete sólo hay que hacer click en el nombre del paquete como se ve en la imagen. Esto nos mostrará la información del paquete incluyendo los detalles de sus funciones. Importar StatsBomb Data Para manejar los datos de StatsBomb en R es necesario familiarizarse antes con varias funciones importantes dentro de StatsBombR. – FreeCompetitions() – Muestra todas las competiciones disponibles en los datos gratuitos. Almacenar el output de esta o cualquier otra función en lugar de tenerlo en la consola de R es posible hacerlo ejecutando lo siguiente: – Comp <- FreeCompetitions(). Así, al ejecutar Comp (o cualquier palabra utilizada para tal caso) dará el output de FreeCompetitions()Matches <- FreeMatches(Comp) – Muestra todos los partidos disponibles dentro de las competiciones seleccionadas. – StatsBombData <- StatsBombFreeEvents(MatchesDF = Matches, Parallel = T) – Importar todos los datos de evento para los partidos seleccionados. A continuación vamos a ver un ejemplo de cómo importar datos en R. Primero, abrimos un nuevo script para tener el código accesible de la siguiente manera File -> New File -> R Script. Se puede guardar en cualquier momento. library(tidyverse) library(StatsBombR)#1 Comp <- FreeCompetitions() %>% filter(competition_id==11 & season_name==»2005/2006″)#2 Matches <- FreeMatches(Comp)#3 StatsBombData <- StatsBombFreeEvents(MatchesDF = Matches, Parallel = T)#4 StatsBombData = allclean(StatsBombData)#5 1: tidyverse importa varios paquetes diferentes. Los más importantes para esta tarea son dplyr y magrittr. StatsBombR importa StatsBombR. 2: Importa las competiciones disponibles para el usuario y se filtran utilizando la función ‘filter’ de dplyr para obtener la temporada 05/06 de La Liga en este caso. 3: Importa todos los partidos de la competición seleccionada. 4: En este punto se ha creado una ‘dataframe’ (esencialmente una tabla u hoja de datos) llamada StatsBombData (o el nombre elegido para tal caso) con todos los datos de evento gratuitos para la temporada 05/06 de la Liga. 5: Extrae toda la información relevante previamente descrita. Trabajar con los datos En nuestro Github (el mismo lugar donde se pueden encontrar los datos) se pueden encontrar documentos adicionales con las especificaciones de StatsBomb Data. Estos están disponibles para ver o descargar y contienen explicaciones a las dudas que puedan surgir sobre los distintos tipos de eventos o cuestiones similares. Los documentos incluyen: – Open Data Competitions v2.0.0.pdf– Cubre los contenidos en la información de las competiciones ( FreeCompetitions() ). – Open Data Matches v3.0.0.pdf – Describe la información de partido para descargar ( FreeMatches() ). – Open Data Lineups v2.0.0.pdf – Describe la estructura de la información de alineación ( getlineupsFree() ). – Open Data Events v4.0.0.pdf – Incluye los significados de los nombres en las columnas dentro de los datos de evento. – StatsBomb Event Data Specification v1.1.pdf – Descripción detallada de todos los eventos en los datos. Ejemplos de Uso de los Datos Una vez que tenemos disponible el archivo StatsBombData vamos a ver varios modos en los que se puede utilizar al mismo tiempo que nos familiarizamos con R. Los ejemplos irán incrementando en grado de dificultad. Ejemplo 1: Tiros y Goles Un punto de partida simple pero fundamental. Veremos cómo extraer los números de tiros y goles de cada equipo, primero los totales y luego los de cada partido. Primero, vamos a importar los datos para la temporada 2018-19 de la FA Women’s Super League. Utilizamos de nuevo el código citado arriba, pero esta vez la competition_id será 42 y la season_id será «2018/2019». Después, escribimos: shots_goals = StatsBombData %>% group_by(team.name) %>% #1 summarise(shots = sum(type.name==»Shot», na.rm = TRUE), goals = sum(shot.outcome.name==»Goal», na.rm = TRUE)) #2 Vamos a desgranarlo paso a paso: 1: Este código agrupa los datos por equipo, de tal forma que cualquier operación que realicemos en ellos será ejecutada por cada equipo. I.e. extraerá los tiros y goles para cada equipo de manera individual. 2: Summarise toma cualquier operación ejecutada y genera una tabla nueva y separada con ello. La mayoría de usos de summarise suelen ser después de group_by. shots = sum(type.name==»Shot», na.rm = TRUE) crea una nueva columna llamada ‘shots’ que suma todas las filas bajo la columna ‘type.name’ que contienen la palabra ‘Shot’. na.rm = TRUE pide ignorar cualquier NA dentro de esa columna. shot.outcome.name==»Goal», na.rm = TRUE) hace lo mismo con los goles. En este punto deberíamos tener una tabla como esta. Para realizar el mismo cálculo por partido en lugar de los totales solo tenemos que cambiarlo de la siguiente manera: shots_goals = StatsBombData %>% group_by(team.name) %>% summarise(shots = sum(type.name==»Shot», na.rm = TRUE)/n_distinct(match_id), goals = sum(shot.outcome.name==»Goal», na.rm = TRUE)/n_distinct(match_id)) Añadir ‘/n_distinct(match_id)’ implica que estamos dividiendo el número de tiros/goles entre el número de partidos para cada equipo. Ejemplo 2: Crear Gráficos de los Tiros Una vez que tenemos los datos de tiros y goles ¿cómo podemos crear un gráfico a partir de ellos? library(ggplot2) ggplot(data = shots_goals, aes(x = reorder(team.name, shots), y = shots)) #1 + geom_bar(stat = «identity», width = 0.5) #2 + labs(y=»Shots») #3 + theme(axis.title.y = element_blank()) #4 + scale_y_continuous( expand = c(0,0)) #5 + coord_flip() #6 1: Aquí estamos diciendo a ggplot qué datos estamos utilizando y qué queremos en los ejes x/y del gráfico. ‘Reorder’ ordena los nombres de los equipos en función de los tiros. 2: Pide a ggplot formatearlo como un gráfico de barras. 3 : Cambia el nombre del eje de tiros. 4 : Elimina el título del eje. 5 : Aquí podemos reducir el espacio entre las barras y el límite del gráfico. 6 : Rota el gráfico completo colocando las barras en sentido horizontal. Lo anterior debería generar un gráfico como este. El diseño obtenido es básico y diáfano. Puede ser modificado de diferentes maneras para conseguir un visual más atractivo. Cualquier elemento de un gráfico ggplot desde el texto a los datos en sí puede ser modificado de numerosas maneras abriendo la puerta a la creatividad del usuario. Más información sobre el tipo de diseños que se pueden conseguir: https://ggplot2.tidyverse.org/reference/ Ejemplo 3: Tiros cada 90 minutos Extraer los tiros para jugadores es relativamente sencillo una vez que sabemos hacerlo para equipos. ¿Pero cómo podemos ajustar los números por cada 90 minutos? player_shots = StatsBombData %>% group_by(player.name, player.id) %>% summarise(shots = sum(type.name==»Shot», na.rm = TRUE)) #1 player_minutes = get.minutesplayed(StatsBombData) #2 player_minutes = player_minutes %>% group_by(player.id) %>% summarise(minutes = sum(MinutesPlayed)) #3 player_shots = left_join(player_shots, player_minutes) #4 player_shots = player_shots %>% mutate(nineties = minutes/90) #5 player_shots = player_shots %>% mutate(shots_per90 = shots/nineties) #6 1: Similar al cálculo para los equipos. Incluimos aquí ‘player.id’ ya que será importante después. 2: Esta función obtiene los minutos de cada jugador en cada partido en la muestra. 3: Agrupamos lo anterior sumando los minutos en cada partido para obtener el total de minutos disputados por cada jugador. 4 : left_join combina las tablas de tiros y de minutos con el player.id actuando como punto de referencia. 5: mutate es una función dplyt que crea una nueva columna. En este caso estamos creando una columna que divide los minutos totales entre 90 dando como resultado el número de 90s del jugador en la temporada. 6 : Finalmente dividimos los tiros totales entre el número de 90s para obtener la columna de tiros cada 90 minutos (shots per 90). En este punto tendremos los tiros cada 90 minutos para todas las jugadoras de la WSL. A continuación, se puede filtrar la tabla eliminando a las jugadores con insuficiente muestra mediante la función ‘filter’ (dplyr). El mismo proceso puede ser aplicado a todo tipo de eventos dentro de StatsBomb Data. Diferentes tipos de pases, acciones defensivas, etc. Ejemplo 4: Representar Pases Gráficamente Filtar los datos extrayendo un subconjunto de datos y visualizarlos sobre un campo empleando para ello ggplot2. Finalmente, vamos a trazar los pases de un jugador en el campo. Para esto necesitaremos en primer lugar una visualización de un campo de fútbol. Es posible crear uno propio una vez estemos familiarizados con ggplot que pueda ser utilizado además para diferentes propósitos. Más adelante veremos opciones para ello. De momento, hay opciones ya formateadas que podemos utilizar. La que utilizaremos aquí es cortesía de FC rStats. Este usuario de Twitter ha creado varios paquetes públicos de R para analizar datos de fútbol. El paquete que nos ocupa se llama ‘SBPitch’ y sirve exactamente para eso. En ‘Paquetes Adicionales’ veremos otras alternativas para crear campos de juego. Para instalar SBPitch ejecutamos: devtools::install_github(«FCrSTATS/SBpitch») Vamos a representar los pases completados por Messi dentro del área en la Liga 05/06. Trazar todos los pases sería farragoso y poco útil por tanto elegimos un subconjunto. Es importante asegurarse de utilizar las funciones explicadas anteriormente para importar los datos. library(SBpitch) passes = messidata %>% filter(type.name==»Pass» & is.na(pass.outcome.name) & player.id==5503) #1 %>% filter(pass.end_location.x>=102 & pass.end_location.y<=62 & pass.end_location.y>=18) #2 create_Pitch() + geom_segment(data = passes, aes(x = location.x, y = location.y, xend = pass.end_location.x, yend = pass.end_location.y), lineend = «round», size = 0.6, arrow = arrow(length = unit(0.08, «inches»))) #3 + labs(title = «Lionel Messi, Completed Box Passes», subtitle = «La Liga, 2005/2006») #4 + scale_y_reverse() + coord_fixed(ratio = 105/100) #5 1: Filtrar los pases de Messi. is.na(pass.outcome.name) filtrar solo los pases completados. 2: Filtrar los pases dentro del área. Las coordenadas de las zonas del campo en SBD se pueden encontrar en nuestro event spec. 3: Obtenemos una flecha desde un punto de origen (location.x/y inicio del pase) a un punto final (pass.end_location.x/y, final del pase). Lineend, size y length son las opciones de customización disponibles aquí. 4: Crea un título y subtítulo para el gráfico. Entre otras opciones se puede añadir una leyenda usando caption =. 5: Ajusta el gráfico a la relación de aspecto elegida para que no quede estirado o poco estético. El resultado será un gráfico tal que así. De nuevo, esta es una versión básica a partir de la cual se pueden implementar todo tipo de mejoras visuales. La opción theme() permite cambiar el tamaño, posición, fuente y otros aspectos de los títulos así como otros apartados estéticos del gráfico. Es posible añadir colour= a geom_segment() para colorear los las flechas de cada pase del modo escogido. En el siguiente enlace se pueden encontrar diferentes posibilidades disponibles para customizar los gráficos: https://www.rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf Funciones útiles en StatsBombR Existen docenas de funciones dentro de StatsBombR para realizar diferentes tareas. Se puede consultar la lista completa aquí. No todas las funciones están disponibles en los datos gratuitos. Algunas solo son accesibles para nuestros clientes (vía API). Una pequeña muestra de las más útiles: – get.playerfootedness() – Devuelve la pierna hábil (preferida) de un jugador a partir de nuestros datos de pases (incluyen la pierna con la que se realiza el pase). – get.opposingteam() – Devuelve una columna opuesta para cada equipo en cada partido. – get.gamestate() – Devuelve la información de cuánto tiempo acumula cada equipo en cada uno de los posibles Game States (ganando/empatando/perdiendo). – annotate_pitchSB() – Nuestra solución para trazar un campo de juego en ggplot. Paquetes adicionales La comunidad ha desarrollado múltiples paquetes para R. Es probable que cualquier cuestión o tarea que se quiera llevar a cabo en R tenga desarrollado un paquete específico para ella. Nombrar todos sería imposible pero aquí va una pequeña selección de algunos que son relevantes para trabajar con StatsBombData: – Ben Torvaney, ggsoccer – Alternativa para trazar campos de juego con StatsBombData. – Joe Gallagher, soccermatics – Otra alternativa para dibujar campos de juego incluyendo además atajos sencillos para crear mapas de calor entre otras funciones. – ggrepel – Solución para problemas de texto superpuesto en las gráficas. – gganimate – Opción sencilla para crear gráficos animados con ggplot en R.

Continuamos con la serie de artículos en los que tratamos de explicar las nociones básicas del análisis de datos en el fútbol. Históricamente la mayoría de la investigación en este área ha sido en inglés, pero queremos contribuir a cambiar eso. Esto pretende ser un manual básico para entender las métricas que se están generalizando en el fútbol y previsiblemente serán parte del vocabulario estándar en pocos años. Sabemos que hay partes del juego y posiciones que son más difíciles de analizar desde un enfoque cuantitativo que otras.

Históricamente, los aspectos defensivos han sido uno de los más complicados. Este no es un problema exclusivo del fútbol, sino que ha sido recurrente en deportes con mayor nivel de desarrollo analítico como el baseball o el baloncesto. Incluso en la famosa gesta de los Oakland A’s contada en Moneyball, Billy Bean y Paul De Podesta se centraron específicamente en la parte ofensiva. El desarrollo y análisis de la parte defensiva es algo que no se ha ido corrigiendo en general hasta mucho más recientemente.

¿Por qué la defensa es difícil?

Hay varias razones que explican por qué es tan difícil entender la defensa en fútbol. Conceptualmente, hay una diferencia fundamental entre el ataque y la defensa: Mientras que en ataque, de un modo u otro, el rendimiento exitoso acaba traduciéndose en realizar una acción (rematar, completar un regate, meter gol etc.) y hacerlo más veces suele ser mejor, en defensa no siempre sucede lo mismo. No en vano, el objetivo es evitar que el equipo rival haga algo, y por tanto muchas veces lo que no se hace es tan importante o más que lo que sí se hace. Paradójicamente, en defensa menos puede ser mejor. Por ejemplo, un posicionamiento adecuado o un pressing coordinado de manera eficaz limitan las opciones del rival y por tanto es menos probable que los jugadores más retrasados tengan que defender de manera activa frecuentemente. Como ejemplo opuesto, si un portero tiene que intervenir muchas veces durante un partido para evitar que su equipo reciba gol, parece evidente que hay algún problema en la manera de defender de ese equipo más allá de las estadísticas individuales del meta.

Un defensa que realice más entradas o interceptaciones no es necesariamente mejor que uno que realice menos, estos datos miden en mayor medida la oportunidad que la habilidad. En las acciones que se realizan en defensa hay mucho más ruido que señal. ¿Cómo podemos empezar a disipar ese ruido?

La segunda razón, relacionada con lo anterior, tiene que ver con los datos que había disponibles hasta hace poco. Durante mucho tiempo los proveedores se limitaron a contar eventos (por ejemplo, interceptaciones) sin tener en cuenta si estos eran representativos de las tareas fundamentales en defensa. Por el camino, se dejaron algunas acciones que ahora sabemos no sólo dan una imagen más realista del espectro de tareas en defensa sino que además permiten analizar en detalle algunas posiciones concretas. Explicaremos más sobre esto al hablar de los eventos de presión. Razones adicionales que van más allá del propósito de esta introducción son, entre otras, las interacciones entre jugadores, el contexto de las acciones defensivas, el tipo de datos empleados, o efectos de equipo difíciles de controlar. En definitiva, ni todo lo que es relevante se puede contar, ni (hasta recientemente) se ha contado todo lo que es relevante.

Métricas Defensivas: Revisión de diferentes enfoques

Para comenzar a arrojar un poco de luz, vamos a hacer una pequeña revisión de los enfoques que se han empleado en los últimos años y a mostrar algunas de las soluciones que hemos desarrollado en StatsBomb para analizar la defensa con mayor rigor. Algunas de las preguntas relevantes son las siguientes:

  • ¿Cómo de efectivos son los equipos tratando de evitar recibir goles?
  • ¿Qué rasgos estilísticos diferencian equipos que tratan de presionar alto respecto a los que defienden en bloques medios o bajos?
  • ¿Cómo podemos tener una visión más representativa de la influencia de determinados jugadores en defensa más allá de recuperar la posesión directamente?

Una de las premisas de las que partimos es que en defensa hay dos objetivos: Evitar recibir goles y recuperar la posesión. Ambos están latentes en las decisiones estratégicas que toman los equipos haciendo que haya rasgos estilísticos reconocibles que permiten situar los diferentes enfoques tácticos en categorías específicas.

Métricas de equipo: Defender nuestra portería

La primera tarea colectiva es evitar conceder goles restringiendo para ello la cantidad y calidad de ocasiones de las que dispone el rival. Si los Goles Esperados (xG) son una métrica útil para medir el rendimiento ofensivo, parece lógico pensar los Goles Esperados Concedidos (xGA) es una métrica que nos muestra la eficacia del equipo evitando que les generen ocasiones de valor elevado.

 

Un equipo al que regularmente le generan un número elevado de Goles Esperados es probable que – pese a variabilidad transitoria – acabe concediendo goles y por tanto teniendo complicado sumar puntos. Además, podemos tratar de discernir la capacidad que tenga el equipo para conceder menos goles de los que el modelo espera (y la habilidad de los porteros evitando goles, pero este es un tema para otra ocasión). Hay equipos como el Atlético de Madrid que lo han logrado regularmente.

 

Sin embargo, no tenemos por qué detenernos en los números agregados de xG. Podemos analizar detalles sobre el volumen y aspectos concretos de los remates tales como distancia, situaciones de juego o defensores cercanos al rematador. En este sentido, los datos de StatsBomb y por consiguiente los modelos construidos a partir de ellos proporcionan una visión más precisa del valor de las ocasiones que el equipo recibe. Podéis leer más en la parte relativa a Datos de StatsBomb en este artículo.

 

En el gráfico superior podemos ver los tiros claros concedidos (por partido) por los equipos de La Liga esta temporada. Los tiros claros (Clear Shots) son aquellos en los que no hay ningún defensor interponiéndose entre el rematador y el portero. En el Freeze Frame inferior se puede ver un ejemplo de un Clear Shot.

 

También podemos analizar aspectos como los tiros bloqueados, la distancia media desde la que se remata, o la altura del remate, así como tiros precedidos por una pérdida en campo propio o tiros en situaciones de contraataque. Además, dado que tenemos la posición de los defensas en cada remate podemos analizar al detalle cómo influye la presión de un defensor en los distintos remates. Revisaremos este tema en profundidad más adelante, pero si tenéis interés podéis leer la investigación original al respecto de Derrick Yam aquí, aquí y aquí (en inglés).

Es indudable que analizar lo que sucede en las áreas y las ocasiones de cada equipo aporta información relevante. Sin embargo, la pregunta que sigue sin quedar resuelta es qué hacen los equipos para evitar eso en primer lugar y cómo influye en la cantidad y calidad de las ocasiones. Por ejemplo, hay equipos que prefieren presionar con una línea defensiva alta para así mantener al rival lejos de su área y limitar el número de tiros de los que dispone, sin embargo, al mismo tiempo esto hace más probable que las ocasiones de las que dispone el rival tengan un xG medio más alto (porque habitualmente serán situaciones de juego al espacio y unos contra uno).

Otros equipos prefieren defender más cerca de su propio área acumulando más jugadores en las inmediaciones, lo que limitará la calidad de las ocasiones rivales, pero al mismo tiempo tenderá a cederle la iniciativa por lo que dispondrá de mayor número de remates.

Analizar sólo el tipo o cómo evitan las ocasiones es descuidar la interrelación entre los dos objetivos anteriormente mencionados. Puesto que la defensa trata tanto de evitar conceder goles como de recuperar la pelota (para posteriormente crear ocasiones) entender las diferentes opciones tácticas para asegurar un equilibrio entre ambos y los trade-offs de diferentes enfoques ha sido una preocupación para la comunidad de analistas.

Rasgos estilísticos, control del espacio e intensidad defensiva

Las cuestiones habituales al respecto han sido cómo, cuánto y dónde realizan las acciones defensivas los equipos. Ha habido varios enfoques al respecto, pero podemos señalar como inicial el trabajo de Colin Trainor en 2014 que llevó al desarrollo de la métrica PPDA (pases por cada acción defensiva). Esta métrica responde a una pregunta sencilla: ¿cuántos pases realiza el rival por cada acción defensiva de mi equipo?

 

Pases del rival / Acciones defensivas (entradas, interceptaciones, faltas, duelos)

 

Por tanto, a menor PPDA, mayor intensidad defensiva ejercida. Partiendo de que el número de acciones defensivas de un equipos (originalmente entradas e interceptaciones) tienen nula correlación con el rendimiento de los equipos Colin desarrolló gradualmente una medida que era más representativa de la intensidad defensiva.

Pese a que la idea inicial era discriminar los equipos que mostraban una presión más alta, la métrica se fue desarrollando y gradualmente adaptando a diferentes zonas hasta ser una de las métricas descriptivas más empleadas para mostrar los rasgos estilísticos que definen la defensa de los equipos. En StasBomb la utilizamos regularmente en los análisis.

la liga dapp 1920

Hay equipos que presionan más alto y otros que prefieren defender en bloque bajo. Poder diferenciar estos rasgos estilísticos es un primer paso para saber qué estrategia defensiva es más interesante, la influencia en las posteriores transiciones ofensivas, contextualizar los datos de un jugador individual o saber si el rendimiento del equipo con determinada estrategia tiene puntos débiles. Otras fórmulas para medir la intensidad defensiva incluyen la altura a la que los equipos realizan acciones defensivas, las recuperaciones post-presión, entre otras.

 

En el gráfico superior podemos ver la distancia defensiva media (respecto a su propia portería) a la que los equipos realizan las acciones defensivas en Liga. Como se puede comprobar a simple vista, y de manera poco sorprendente, el Getafe y el Eibar sobresalen en está métrica.

Sin embargo, todas estas fórmulas quedaban cojas por las razones expuestas anteriormente – principalmente porque sólo utilizan acciones defensivas realizadas sobre el balón. En StatsBomb creíamos que había mucho margen de mejora y una de las soluciones que creíamos más valiosas era recoger otros eventos relevantes.

Las presiones

Los eventos defensivos en los proveedores de datos tradiciones han sido las entradas o tackles, interceptaciones, duelos, despejes, etc. Mientras que estos datos son útiles hasta cierto punto, no llegan a dar una visión representativa del espectro completo de acciones que tienen impacto a nivel defensivo del equipo, limitando así la capacidad de extraer conclusiones relevantes. Es aquí donde las cosas se ponen interesantes, y los datos de StatsBomb proporcionan un nuevo evento que cambia la manera de afrontar el análisis defensivo: las presiones.

¿Qué son las presiones?

Una presión es la acción de atacar al poseedor de balón o al receptor de un pase – en un radio de 5-8 metros en función de la zona del campo – sin llegar a realizar una entrada, falta o interceptar el pase (cualquiera de estas acciones puede ocurrir posteriormente, pero es un evento diferente). Para cada evento de presión tenemos su localización, dirección, duración y resultado. En el vídeo de la presentación de los datos de StatsBomb se puede encontrar más detalle sobre la manera de recoger este evento.

La lógica subyacente es que muchas de las acciones defensivas que permiten que posteriormente un equipo recupere la posesión o lleve a cabo un pressing* eficaz no se limitan a las acciones que ocurren sobre balón, sino que hay toda una serie de acciones que llevan a ello tales como cerrar líneas de pase, acelerar la acción del jugador, dirigirle hacia determinadas zonas, forzar pases descontrolados, o hacer que el jugador en posesión se quite el balón de encima. A nivel colectivo esto nos permite tener una visión más realista y completa de los mecanismos tácticos que los equipos usan en fase defensiva: En qué zonas comienzan a ejercer presión, hacia qué lado dirigen a los rivales, dónde son más fuertes, con qué frecuencia presionan en determinadas zonas del campo y qué jugadores son los más involucrados en ello.

En el mapa defensivo inferior podemos ver la actividad defensiva (acciones defensivas incluyendo presiones) del Getafe respecto a la media de la Liga en cada zona. Los colores más rojos indican mayor actividad defensiva que la media, y los colores más oscuros menor. El perfil defensivo del Getafe es claro a simple vista.

Además, nos permite analizar al detalle aspectos como la presión tras pérdida, o los contraataques que se inician a partir de presiones en diferentes zonas.

En los gráficos superiores podemos ver el mapa de presiones del Real Madrid en el último Clásico. Las zonas en las que el Real Madrid realizó más presiones y las zonas en las que realizó más frecuentemente presiones tras pérdida (definido como presiones realizadas en los 5 segundos posteriores a la pérdida de balón). A nivel individual, los datos de presión nos proporcionan una dimensión adicional para analizar el rendimiento defensivo. Este evento es especialmente relevante para los atacantes y los centrocampistas, pero por su granularidad y por la cantidad de eventos de este tipo que se dan por partido podemos emplear para analizar de manera más exhaustiva incluso los defensas.

El problema evidente que supone tratar de evaluar el rendimiento de los jugadores atacantes con las acciones como entradas o interceptaciones es que estas son por definición acciones en las que se trata de recuperar directamente la posesión. Sin embargo, como cualquiera con experiencia en fútbol puede corroborar, desde un punto de vista táctico las funciones defensivas habituales de los atacantes no son recuperar el balón. Es decir, normalmente el delantero no presiona para recuperar la pelota por sí mismo, sino para tapar líneas de pase concretas, orientar la salida de balón del rival hacia zonas concretas (normalmente exteriores), forzar a los rivales a realizar acciones descontroladas, cometer errores, o a quitarse el balón de encima.

En definitiva, ayudar a que los compañeros tengan mayor probabilidad de recuperar la pelota posteriormente, como hemos visto en el vídeo de Firmino anterior. Con los eventos de presión podemos otorgar valor a estas acciones y comenzar a analizar de manera más detallada el rendimiento de los jugadores sin balón. https://streamable.com/ym9hf En el vídeo superior podemos ver como Pukki #22 (Norwich) presiona al defensor del West Ham impidiéndole controlar la pelota y eventualmente forzandole a quitarse el balón de encima, recuperado cómodamente por un jugador del Norwich.

Ya sabemos que esa acción de Pukki queda recogida en nuestros datos como una presión, sin embargo, ¿cómo podemos ir más allá y asignar mérito a la recuperación posterior que su equipo suma en parte gracias a su acción? Una de las maneras es utilizando la métrica Pressure Regains o Recuperación post-presión. Si el equipo recupera la pelota en los cinco segundos posteriores a una acción de presión de un jugador, se le asignará una recuperación post-presión al jugador. Este es un proxy muy práctico de la influencia de los jugadores atacantes en las recuperaciones de su equipo. Como todo, no está exento de limitaciones, y es que un delantero puede esforzarse muchísimo, ejercer presión con el timing apropiado pero si el resto del equipo no le acompaña o no lo hacen de manera coordinada, difícilmente será efectivo. Sin embargo, estas métricas dan una visión más representativa de la realidad que intentamos analizar.

En los gráficos inferiores podemos ver la comparativa del rendimiento defensivo de Roberto Firmino (2018-2019) excluyendo las acciones de presión (gráfico izquierdo) e incluyéndolas (gráfico derecho).

 

Ventajas y usos adicionales de los eventos de presión

No tenemos por qué deternos aquí, los eventos de presión abren un abánico nuevo de posibilidades y preguntas que podemos intentar responder (y que de hecho aún estamos haciendo). Entre otras cosas podemos evaluar las acciones de counterpressure (presiones en los cinco segundos posteriores a la pérdida), qué jugadores tienen mayor influencia en los momentos de transición defensiva o cómo la capacidad de presionar evoluciona a lo largo de los partidos, de las temporadas o cómo disminuye con la edad.

También podemos medir aspectos como la intensidad (o agresividad) defensiva, el número de recepciones en zonas de influencia presionadas, entre otras. Además, los usos de estos datos no se circunscriben sólo al apartado defensivo, sino que gracias a tener los eventos de presión, al mismo tiempo, podemos saber si los jugadores en posesión del balón están siendo presionados mientras realizan una acción determinada (AUP o Actions Under Pressure). Es decir, podemos ver cómo cambian las decisiones y el grado de precisión en las acciónes de los jugadores en posesión cuando están presionados respecto a cuando no lo están. Esto no es sólo fascinante sino que tiene innumerables utilidades prácticas.

En la imagen superior podemos comparar visualmente los pases desde zonas centrales a zonas adyacentes de Casemiro y Busquets cuando están presionados. El jugador catalán tiene un volumen mayor como es esperado, así como un porcentaje de pases completados mayor (en rojo los completados) y su tendencia a distribuir en corto hacia las bandas incluso bajo presión es evidente. Por su parte el mediocentro brasileño prefiere los envíos largos y los cambios de orientación al lado opuesto.

Ajustar las métricas defensivas en función de la posesión

Para terminar, hay una pregunta recurrente que tenemos que abordar, ¿Cómo afecta el estilo de juego del equipo al output defensivo de los jugadores? ¿Qué podemos hacer para controlar esto? Uno de los puntos más claros, es que los jugadores sólo pueden realizar acciones defensivas cuando su equipo no tiene la posesión, por tanto, en función del tiempo que el equipo esté en posesión tendrán más o menos oportunidades de sumar acciones defensivas.

Esto hace que los equipos con volúmenes elevados de posesión tengan menor número de acciones defensivas y por tanto los números absolutos de tackles, interceptaciones (o presiones) tienen más ruido de lo deseable. Por tanto, para una comparación más objetiva una de las soluciones prácticas y sencillas es ajustar en función de la posesión (esto es más difícil de lo que parece, si tenéis interés podéis leer el artículo de Ted Knutson con la metodología original aquí).

En el gráfico superior vemos los diez jugadores de La Liga esta temporada ordenados por la suma de interceptaciones y entradas (cada 90 minutos). Mientras que el gráfico izquierdo muestra los valores absolutos, el derecho muestra los valores una vez que aplicamos el ajuste en función de la posesión de sus equipos. Pese a que algunos nombres se repiten, como es esperable, en el ranking ajustado vemos algunos sospechosos habituales que pese a ser defensores intensos y agresivos no aparecen en el izquierdo (o en menor medida) simplemente porque sus equipos dominan la posesión más tiempo.Este ajuste es una solución práctica para estandarizar los valores de modo que se puedan comparar entre diferentes jugadores corrigiendo aspectos ajenos a su habilidad.

Sin embargo, es importante remarcar que una vez ajustada por posesión ya no existe una correspondencia verídica entre el valor de la métrica y las acciones reales que podamos ver en vídeo. Es por ello, que los números absolutos siguen teniendo utilidad a la hora de evaluar el rendimiento de los jugadores (por ejemplo, para definir los límites).

 

* Aclaración: Adaptando la terminología inglesa, al hablar de presión nos referimos a la acción individual. Por su parte, pressing se refiere a la tactica colectiva basada en acciones presión de manera coordinada por los miembros del equipo.