Bundesliga Match Fact Skill : quantifier les qualités des joueurs de football à l'aide de l'apprentissage automatique sur AWS

Nœud source: 1195672

Dans le football, comme dans de nombreux sports, les discussions sur les joueurs individuels ont toujours fait partie du plaisir. « Qui est le meilleur buteur ? » ou "Qui est le roi des défenseurs?" sont des questions constamment débattues par les fans, et les médias sociaux amplifient ce débat. Il suffit de considérer qu’Erling Haaland, Robert Lewandowski et Thomas Müller comptent à eux seuls 50 millions de followers sur Instagram. De nombreux fans sont conscients des statistiques incroyables créées par des joueurs vedettes comme Lewandowski et Haaland, mais des histoires comme celle-ci ne sont que la pointe de l’iceberg.

Considérez que près de 600 joueurs sont sous contrat en Bundesliga et que chaque équipe a ses propres champions, des joueurs qui sont présentés pour apporter une compétence spécifique à un match. Regardez par exemple Michael Gregoritsch du FC Augsburg. Au moment d'écrire ces lignes (21e journée), il a marqué cinq buts au cours de la saison 21/22, ce qui n'inciterait personne à le mentionner dans une conversation sur les grands buteurs. Mais regardons de plus près : si vous cumulez les valeurs de but attendues (xGoals) de toutes les chances de marquer que Gregoritsch a eues cette saison, le chiffre que vous obtenez est de 1.7. Cela signifie qu'il a surperformé ses tirs au but de +194%, marquant 3.2 buts de plus que prévu. En comparaison, Lewandowski n'a surperformé que de 1.6 but (+7%). Quel exploit ! Il est clair que Gregoritsch apporte une compétence particulière à Augsbourg.

Alors, comment pouvons-nous faire la lumière sur toutes les histoires cachées concernant les joueurs individuels de Bundesliga, leurs compétences et leur impact sur les résultats des matchs ? Entrez dans le nouveau Bundesliga Match Fact optimisé par AWS appelé Skill. Les compétences ont été développées grâce à une analyse approfondie menée par le DFL et l'AWS pour identifier les joueurs possédant des compétences dans quatre catégories spécifiques : initiateur, finisseur, vainqueur du ballon et sprinteur. Cet article présente en profondeur ces quatre compétences et explique comment elles sont mises en œuvre sur l'infrastructure AWS.

Un autre point intéressant est que jusqu’à présent, les faits de match de la Bundesliga étaient développés indépendamment les uns des autres. Skill est le premier Bundesliga Match Fact qui combine la sortie de plusieurs Bundesliga Match Facts en temps réel à l'aide d'une architecture de streaming basée sur Kafka de streaming géré par Amazon (AmazonMSK).

Initiateur

Un initiateur est un joueur qui réalise un grand nombre de premières et deuxièmes passes décisives. Pour identifier et quantifier la valeur de ces aides, nous avons introduit la nouvelle métrique xAssist. Il est calculé en suivant la dernière et l'avant-dernière passe avant un tir au but et en attribuant la valeur xGoals respective à ces actions. Un bon initiateur crée des opportunités dans des circonstances difficiles en réussissant des passes avec un taux de difficulté élevé. Pour évaluer la difficulté de terminer une passe donnée, nous utilisons notre xPass modèle. Dans cette métrique, nous excluons volontairement les centres et les coups francs pour nous concentrer sur les joueurs qui génèrent des occasions de marquer grâce à leurs passes décisives précises en jeu ouvert.

Le score de compétence est calculé avec la formule suivante :

Prenons l'exemple de l'actuel initiateur de rang 1, Thomas Müller. Il a collecté une valeur xAssist de 9.23 au moment d'écrire ces lignes (journée 21), ce qui signifie que ses passes pour les prochains joueurs qui ont tiré au but ont généré une valeur xGoal totale de 9.23. Le ratio xAssist par 90 minutes est de 0.46. Cela peut être calculé à partir de son temps de jeu total de la saison en cours, ce qui est remarquable : plus de 1,804 3.80 minutes de jeu. En deuxième passe, il a généré une valeur totale de 0.19, ce qui se traduit par 90 seconde passe toutes les 38 minutes. Au total, 58 de ses 11 premières passes décisives ont été des passes difficiles. Et en guise de deuxième passe décisive, 28 de ses XNUMX passes étaient également des passes difficiles. Grâce à ces statistiques, Thomas Müller s'est propulsé à la première place du classement des initiateurs. À titre de comparaison, le tableau suivant présente les valeurs des trois premiers actuels.

.. xAssist xAssistper90 xSecondAssist xSecondAssistper90 DifficilePassesAssistées Passes DifficilesAssistées2 Score final
Thomas Müller – Rang 1 9.23 0.46 3.80 0.18 38 11 0.948
Serge Gnabry – Rang 2 3.94 0.25 2.54 0.16 15 11 0.516
Florian Wirtz – Rang 3 6.41 0.37 2.45 0.14 21 1 0.510

Finisseur

Un finisseur est un joueur exceptionnellement doué pour marquer des buts. Il a une grande efficacité de tir et atteint de nombreux buts en fonction de son temps de jeu. La compétence est basée sur les buts réels marqués et sa différence par rapport aux buts attendus (xGoals). Cela nous permet d’évaluer si les opportunités sont bien exploitées. Supposons que deux attaquants aient le même nombre de buts. Sont-ils aussi forts ? Ou est-ce que l’un d’eux marque dans des circonstances faciles tandis que l’autre termine dans des situations difficiles ? Avec l'efficacité des tirs, on peut répondre à cette question : si les buts marqués dépassent le nombre de xGoals, un joueur est surperformant et est un tireur plus efficace que la moyenne. Grâce à l'ampleur de cette différence, nous pouvons quantifier dans quelle mesure l'efficacité d'un tireur dépasse la moyenne.

Le score de compétence est calculé avec la formule suivante :

Pour le finisher, on se concentre davantage sur les objectifs. Le tableau suivant donne un aperçu plus détaillé des trois premiers actuels.

.. Objectifs Objectifs par 90 Efficacité de tir Score final
Robert Lewandowski – Rang 1 24 1.14 1.55 0.813
Erling Haaland – Rang 2 16 1.18 5.32 0.811
Patrik Schick – Rang 3 18 1.10 4.27 0.802

Robert Lewandowski a marqué 24 buts cette saison, ce qui le place à la première place. Bien que Haaland ait une efficacité de tir plus élevée, cela ne suffit toujours pas pour que Haaland soit classé premier, car nous accordons une pondération plus élevée aux buts marqués. Cela indique que Lewandowski profite grandement de la qualité et de la quantité des passes décisives reçues, même s'il marque exceptionnellement bien. Patrick Schick a marqué deux buts de plus que Haaland, mais a un taux de buts par 90 minutes inférieur et une efficacité de tir inférieure.

Sprinter

Le sprinter a la capacité physique d’atteindre des vitesses de pointe élevées, et ce plus souvent que les autres. À cette fin, nous évaluons les vitesses de pointe moyennes sur tous les matchs de la saison en cours d'un joueur et incluons la fréquence des sprints toutes les 90 minutes, entre autres mesures. Un sprint est compté si un joueur court à une vitesse minimale de 4.0 m/s pendant plus de deux secondes et atteint une vitesse maximale d'au moins 6.3 m/s pendant cette période. La durée du sprint est caractérisée par le temps écoulé entre le premier et le dernier moment où le seuil de 6.3 m/s est atteint et doit être d'au moins 1 seconde pour être acquittée. Un nouveau sprint ne peut être considéré comme ayant eu lieu qu'après que l'allure soit redevenue inférieure au seuil de 4.0 m/s.

Le score de compétence est calculé avec la formule suivante :

La formule nous permet d'évaluer les nombreuses façons dont nous pouvons examiner les sprints des joueurs et d'aller plus loin que la simple observation des vitesses de pointe produites par ces joueurs. Par exemple, Jeremiah St. Juste détient le record de la saison actuelle de 36.65 km/h. Pourtant, si l’on regarde la fréquence de ses sprints, on constate qu’il ne sprinte que neuf fois en moyenne par match ! Alphonso Davies, quant à lui, n'est peut-être pas aussi rapide que St. Juste (vitesse de pointe de 36.08 km/h), mais réalise un nombre stupéfiant de 31 sprints par match ! Il sprinte beaucoup plus fréquemment avec une vitesse moyenne beaucoup plus élevée, ouvrant ainsi de l'espace à son équipe sur le terrain.

Gagnant du ballon

Un joueur possédant cette capacité provoque des pertes de balle à l'équipe adverse, tant au total qu'en fonction de son temps de jeu. Il remporte un grand nombre de duels au sol et aériens, et il vole ou intercepte souvent le ballon, créant lui-même un contrôle de balle sûr et une possibilité pour son équipe de contre-attaquer.

Le score de compétence est calculé avec la formule suivante :

Au moment d’écrire ces lignes, le gagnant du premier ballon est Danilo Soares. Il compte au total 235 duels défensifs. Sur les 235 duels défensifs, il en a remporté 75, battant ses adversaires lors d'une mise au jeu. Il a intercepté 51 ballons cette saison en tant que demi défensif, ce qui lui confère un taux de victoire d'environ 32 %. En moyenne, il a intercepté 2.4 ballons toutes les 90 minutes.

Exemple de compétence

Le Skill Bundesliga Match Fact nous permet de dévoiler les capacités et les points forts des joueurs de Bundesliga. Le classement des compétences met en avant des joueurs qui auraient pu passer inaperçus auparavant dans les classements de statistiques conventionnelles comme les buts. Par exemple, prenons un joueur comme Michael Gregoritsch. Gregoritsch est un attaquant du FC Augsburg qui s'est classé sixième au classement des finalistes lors de la 21e journée. Il a marqué cinq buts jusqu'à présent, ce qui ne le placerait pas en tête d'un classement des buts. Il y est pourtant parvenu en seulement 663 minutes jouées ! L'un de ces buts a été l'égalisation tardive à la 97e minute qui a permis à Augsbourg d'éviter la défaite à l'extérieur à Berlin.

Grâce au Skill Bundesliga Match Fact, nous pouvons également reconnaître diverses qualités de chaque joueur. Un exemple en est la star de Dortmund Erling Haaland, qui a également obtenu le badge de sprinteur et de finisseur et est actuellement classé sixième parmi les sprinteurs de Bundesliga.

Toutes ces mesures sont basées sur les données de mouvement des joueurs, les données liées aux buts, les données liées à l'action du ballon et les données liées aux passes. Nous traitons ces informations dans des pipelines de données et extrayons les statistiques pertinentes nécessaires par compétence, ce qui nous permet de calculer l'évolution de toutes les métriques en temps réel. La plupart des statistiques mentionnées ci-dessus sont normalisées en fonction du temps passé sur le terrain, ce qui permet de prendre en compte les joueurs qui ont peu de temps de jeu mais qui sont incroyablement performants lorsqu'ils jouent. Les combinaisons et pondérations des métriques sont combinées en un seul score. Le résultat est un classement de tous les joueurs selon les compétences des quatre joueurs. Les joueurs classés dans le top 10 reçoivent un badge de compétence pour aider les fans à identifier rapidement les qualités exceptionnelles qu'ils apportent à leur équipe.

Implémentation et architecture

Les faits de match de Bundesliga développés jusqu'à présent sont indépendants les uns des autres et reposent uniquement sur l'ingestion de données de position et d'événement, ainsi que sur leurs propres calculs. Cependant, cela change pour la nouvelle Bundesliga Match Fact Skill, qui calcule les classements de compétences sur la base des données produites par Match Facts existants, comme par exemple xGoals ou xPass. Le résultat d'un événement, éventuellement un but incroyable avec de faibles chances de participer, peut avoir un impact significatif sur le classement des compétences du finisseur. Par conséquent, nous avons construit une architecture qui fournit toujours les classements de compétences les plus à jour chaque fois qu'il y a une mise à jour des données sous-jacentes. Pour mettre à jour les compétences en temps réel, nous utilisons Amazon MSK, un service AWS géré pour Apache Kafka, comme solution de streaming de données et de messagerie. De cette façon, différents faits de match de la Bundesliga peuvent communiquer les derniers événements et mises à jour en temps réel.

L'architecture sous-jacente de Skill se compose de quatre parties principales :

  • An Cluster sans serveur Amazon Aurora stocke toutes les sorties des faits de correspondance existants. Cela inclut, par exemple, les données pour chaque passe (telle que xPass, joueur, receveur prévu) ou tir (xGoal, joueur, but) effectué depuis l'introduction de Bundesliga Match Facts.
  • Une centrale AWS Lambda La fonction écrit les sorties Bundesliga Match Fact dans la base de données Aurora et informe les autres composants qu'une mise à jour a eu lieu.
  • Une fonction Lambda pour chaque compétence individuelle calcule le classement des compétences. Ces fonctions s'exécutent chaque fois que de nouvelles données sont disponibles pour le calcul de la compétence spécifique.
  • Un cluster Amazon MSK Kafka sert de point central de communication entre tous ces composants.

Le diagramme suivant illustre ce flux de travail. Chaque fait de match de Bundesliga envoie immédiatement un message d'événement à Kafka chaque fois qu'il y a une mise à jour d'un événement (comme une valeur xGoals mise à jour pour un événement de tir). La fonction Lambda du répartiteur central est automatiquement déclenchée chaque fois qu'un Bundesliga Match Fact envoie un tel message et écrit ces données dans la base de données. Ensuite, il renvoie un autre message via Kafka contenant les nouvelles données à Kafka, qui sert de déclencheur pour les fonctions de calcul des compétences individuelles. Ces fonctions utilisent les données de cet événement déclencheur, ainsi que le cluster Aurora sous-jacent, pour calculer et publier les classements de compétences les plus récents. Pour un examen plus approfondi de l'utilisation d'Amazon MSK dans ce projet, reportez-vous au blog Set Piece Threat.

Résumé

Dans cet article, nous avons démontré comment la nouvelle Bundesliga Match Fact Skill permet de comparer objectivement les joueurs de Bundesliga sur quatre dimensions principales, en s'appuyant sur et en combinant d'anciens Match Facts indépendants de Bundesliga en temps réel. Cela permet aux commentateurs et aux fans de découvrir des capacités de joueurs jusque-là inaperçues et de faire la lumière sur les rôles que jouent divers joueurs de Bundesliga.

Le nouveau Bundesliga Match Fact est le résultat d'une analyse approfondie menée par les experts du football de la Bundesliga et les data scientists d'AWS pour distiller et catégoriser les qualités des joueurs de football sur la base de données de performance objectives. Les badges de compétences des joueurs sont affichés dans la composition et sur les pages de détails des joueurs dans l'application Bundesliga. Dans l'émission, les compétences des joueurs sont fournies aux commentateurs à travers le chercheur d'histoires de données et montré visuellement aux fans lors du remplacement d'un joueur et lorsqu'un joueur monte dans le top 10 respectif.

Nous espérons que vous apprécierez ce tout nouveau Bundesliga Match Fact et qu'il vous fournira de nouvelles informations sur le jeu. Pour en savoir plus sur le partenariat entre AWS et la Bundesliga, visitez Bundesliga sur AWS!


À propos des auteurs

Simon Rolfès a joué 288 matchs de Bundesliga en tant que milieu de terrain central, a marqué 41 buts et remporté 26 sélections pour l'Allemagne. Actuellement, Rolfes est directeur sportif du Bayer 04 Leverkusen, où il supervise et développe la liste des joueurs professionnels, le département de dépistage et le développement des jeunes du club. Simon écrit également des chroniques hebdomadaires sur Bundesliga.com sur les derniers faits de match de Bundesliga alimentés par AWS

Luuk Figdor est un spécialiste senior des technologies sportives au sein de l'équipe des services professionnels AWS. Il travaille avec des joueurs, des clubs, des ligues et des sociétés de médias telles que la Bundesliga et la Formule 1 pour les aider à raconter des histoires à partir de données grâce à l'apprentissage automatique. Dans ses temps libres, il aime tout apprendre sur l’esprit et l’intersection entre la psychologie, l’économie et l’IA.

Pascal Kuhner est développeur d'applications cloud au sein de l'équipe des services professionnels AWS. Il travaille avec des clients de tous les secteurs pour les aider à atteindre leurs résultats commerciaux via le développement d'applications, DevOps et l'infrastructure. Il est très passionné de sport et aime jouer au basket-ball et au football pendant son temps libre.

Tarek Haschemi est consultant au sein d'AWS Professional Services. Ses compétences et domaines d'expertise comprennent le développement d'applications, la science des données, l'apprentissage automatique et le big data. Basé à Hambourg, il aide les clients à développer des applications basées sur les données dans le cloud. Avant de rejoindre AWS, il était également consultant dans divers secteurs tels que l'aviation et les télécommunications. Il est passionné par l’accompagnement des clients dans leur parcours de données/IA vers le cloud.

Jakub Michalczyk est Data Scientist chez Sportec Solutions AG. Il y a plusieurs années, il a choisi d'étudier les mathématiques plutôt que de jouer au football, car il est arrivé à la conclusion qu'il n'était pas assez bon dans ce dernier domaine. Il combine désormais ces deux passions dans sa carrière professionnelle en appliquant des méthodes d'apprentissage automatique pour mieux comprendre ce beau jeu. Dans ses temps libres, il aime toujours jouer au football à sept, regarder des films policiers et écouter de la musique de film.

Javier Poveda-Panter est Data Scientist pour les clients sportifs EMEA au sein de l'équipe AWS Professional Services. Il permet aux clients du domaine des sports-spectacles d'innover et de capitaliser sur leurs données, en offrant des expériences utilisateur et fan de haute qualité grâce à l'apprentissage automatique et à la science des données. Il suit sa passion pour un large éventail de sports, de musique et d'IA pendant son temps libre.

Horodatage:

Plus de Apprentissage automatique AWS