Data et Football : comment l'UEFA utilise la Data ?
Sélectionnez un chapitre
La présence de la Data dans le football est aujourd'hui primordiale. Elle permet de faire progresser les joueurs, de mettre en lumière des comportements ou encore de définir les matchs. Rendez-vous avec Frédéric Girod, Data Scientist à l'UEFA ! Il nous partage dans cet article les enjeux de la Data appliqués au Football, son parcours, ses projets réalisés à l'UEFA, et nous délivre ses conseils pour se former à la Data dans le milieu du sport.
Hello Frédéric, peux-tu te présenter ?
Je m'appelle Frédéric Girod et je suis Data Scientist à l'UEFA.
J’appartiens à la division football, la grande division opérationnelle de toutes les personnes à l'UEFA qui organise les matchs. Je travaille en particulier dans l'unité Club Competition, sur la Ligue des champions.
Nous essayons d'améliorer cette compétition régulièrement, et la Data science nous y aide grandement. Elle s'applique très bien au secteur footballistique, parce que l'on parvient à collecter des bases de données assez spectaculaires, pour chaque match, chaque joueur. Il existe également de nombreux de fournisseurs de données qui collectent les informations pendant les matchs et qui, à postériori, les revendent aux clubs ou fédérations comme l'UEFA, à des investisseurs ou autres.
Quel est ton parcours ?
J'ai fais des études en mathématiques, également en économie. L'économie utilise beaucoup les mathématiques, notamment via l'économétrie, tout ce qui à trait aux modèles prédictifs dans le but de prévoir les cycles économiques. Par la suite, j'ai travaillé sur des marchés financiers, une des premières industries à tirer partie des algorithmes et du Big Data.
Mon rôle était de créer des modèles prédictifs à partir d'importants jeux de données des des banques d'investissement pour pouvoir placer l'argent de la façon la plus optimale et la plus efficace qui soit. Il s‘agissait de programmes d'optimisation sous contrainte (i.e l'optimisation d'un rendement sous différentes contraintes financières). Par la suite, j’ai bifurqué de la finance au sport, et je réutilise aujourd'hui quelques uns des mêmes outils.
Il y a également une grande partie de coaching informatique que j’exerce depuis très longtemps, qui est indispensable à notre compréhension du secteur, et qui me tient à cœur.
Parlons de l’UEFA !
L’UEFA est une Fédération européenne du foot qui a été fondée en 1954, à ne pas confondre avec la FIFA. Nous nous occupons des compétitions de clubs européens et des compétitions nationales européennes, tout comme la Ligue des champions, la Ligue Europa, la conférence Ligue, la Supercoupe, l'Euro et la Nation Ligue. Nous regroupons 55 associations, soumettons des propositions de compétitions, et ce sont les pays, les clubs et les fédérations qui les décident.
Quels outils utilises-tu au quotidien ?
- Python quotidiennement, ce langage est regorge de librairies facilitant le travail du Data Scientist.
- SQL pour la gestion des bases de données,
- Snowflake, qui est comme du SQL, mais cloud based. C’est beaucoup plus rapide que SQL pour des requêtes très importantes et volumineuses.
- AWS est un des outils que j'utilise le plus pour tout ce qui à trait au déploiement d'outils de type front end, des applications Web.
- Excel et Visual Basic en code.
Python, le langage le plus adapté, comparativement à R.
J'utilisais auparavant Matlab, puis je suis rapidement passée sur Python car ce langage regorge de ressources. Il y a également une communauté plus importante en Python qu'en R.
Quels sont les projets sur lesquels tu as travaillé à l'UEFA ?
Le tirage au sort des poules d'équipes
Avant la tenue du tournoi, il y a bien évidemment un tirage au sort des poules d'équipe ! Ce dernier est fait façon aléatoire mais est tout de même assisté par ordinateur. Afin de respecter toutes les contraintes, notamment sportives, on est obligé d'utiliser des algorithmes. En amont du tirage au sort illustré dans l'image ci-dessous, les différents noms d'équipe sont placés dans des pots. C'est ce placement qui est fait de manière aléatoire.
Le pot de gauche regroupe les cinq équipes les plus fortes. Le pot de droite comprend cinq autres équipes plus faibles. La personne à l'écran va déjà tirer une équipe dans le pot de gauche, tirer une équipe dans le pot de droite, va mettre les deux dans le pot du milieu et cela va déterminer une paire, par exemple un match du Real Madrid contre Liverpool. Faire des tirages au sort 100% aléatoire est impossible pour plusieurs raisons :
- Des contraintes de sécurité : la Russie ne joue par exemple pas contre l'Ukraine
- Des conflits de géopolitique existent. Par exemple, pour les équipes des Balkans, le Kosovo ne veut pas jouer contre la Serbie ou contre la Bosnie. On évite que ces équipes soient tirées l'une contre l'autre.
- Des contraintes imposées par les chaînes de télévision : le Real de Madrid ne peux pas jouer le même soir que Barcelone.
- Des contraintes de clubs situés dans le même pays : on ne souhaite pas que l'Atlético joue contre le Real Madrid, ou Lyon contre le PSG.
Derrière tout cela, se cache un backtrack algorithm qui nous permet d'envisager toutes les combinaisons possibles d'équipes, sans arrive à une impasse. Prenons un exemple. Lorsqu'il nous reste les deux dernières boules du tirage au sort, si jamais ces deux dernières boules sont une équipe russe et une équipe ukrainienne, il faudra tout recommencer, d'où l'idée d'utiliser un algorithme qui lui, va justement faire en sorte que ces conflits n'aient pas lieu.
Les calendriers de matchs
Une fois que l'on a tiré les équipes et fait le tirage au sort, nous devons savoir quand les équipes jouent. Pour cela nous allons déterminer un calendrier de matchs. Ici, qui dit calendrier, dit algorithme.
On peut imaginer que les calendriers de match sont faits à la main, mais pas du tout ! Il existe toute une littérature sur la manière dont sont fait ces calendriers, des thèses ont été rédigées à ce propos, sur des algorithmes complexes.
En ce moment même (article rédigé en Juillet 2021) nous procédons à de nombreux tirages au sort pour les tours de qualification, car en Ligue des Champions, vingt-six équipes sont qualifiées directement en phase de groupes. Six d'entre elles sont qualifiées via les tours de qualifications. Ce sont des grandes ou petites équipes de nombreux pays de taille diverses, représentant des équipes plus ou moins fortes. Pour cette raison, il nous est obligatoire d'utiliser un algorithme.
En Ligue des champions, les matchs se jouent le mardi ou mercredi et en Europa League, par exemple, les matchs ne se jouent que le jeudi. Il est impossible de faire jouer les équipes locales le même soir, notamment pour les équipes qui partagent le même stade ou qui sont dans la même ville, pour des raisons de sécurité. Il y a de nombreux conflits identifiés avec des couleurs. Par exemple en rose sur l'image ci-dessus, vous avez les 2 clubs hongrois Ferencvàrosi et Budapest Honved qui jouent en même temps, tous 2 à domicile. Il faudra alors modifier cette organisation et utiliser l'algorithme pour trouver les bonnes permutations d'équipes.
Il faudra également prendre en compte le fait que si on inverse un match, l'ensemble du calendrier est impacté.
Une autre contrainte : les tirages au sort sont faits alors que les match ne sont pas joués. Pour le second tour de qualification, nous tirons au sort les matchs alors que le 1e tour n'est pas encore joué ! L'algorithme doit parcourir un grand nombre de permutations sans garantie de solution.
Pour quelles raisons faire ces tirages au sort pour les tours de qualification de deuxième manche, alors qu'ils ne sont pas encore joués pour la première?
Pour des raisons de calendrier, afin de laisser suffisamment de temps entre les matchs. On ne peut pas faire un tirage au sort avec des matchs qui se jouent deux jours après. On tente également de concentrer les tirages aux sorts car nous devons y réunir les clubs, les chaînes, il s'agit de réels événements, et nous ne voulons pas faire venir tout ce monde toutes les semaines. L'été, nous avons un calendrier de tirages au sort très serré.
Du point de vue algorithmique, nous nous retrouvons avec tellement de conflits qu'il faut savoir les gérer, c'est pour cela que nous utilisons la théorie des graphes. Sur l'image ci-dessous, les nombres sur les nœuds représentent un match et la couleur rouge indique qu'il y a un conflit, qui sera ensuite géré par l'algorithme.
Comment est organisé le calendrier dans les phases de groupes ?
Là encore, nous utilisons des algorithmes différents, arrivant à des milliers de paramètres, de contraintes pour arriver à des calendriers de matchs.
- Des contraintes de disponibilités de stades
- Des contraintes de décalage horaire
- Des clashs politiques à éviter
- Des Contraintes des télévisions
Notre objectif est ici de minimiser ces contraintes non-respectées : il reste impossible d'avoir 100% de satisfaction à ces moments. Il convient in fine de trouver les bonnes équipes à faire jouer sur le bon lieu, à la bonne heure, le bon jour.
L'analyse de groupes d'équipes
Dans la période des tirages au sort, il se peut que plus d'une centaine d'équipe soient impliquées. A la main, il reste impossible de faire un tirage au sort sur 100 équipes, cela prendrait beaucoup trop de temps, avec une quasi garantie d'impasse. Ici, le but est de minimiser les distances de voyage des équipes, comme indiqué sur l'image ci-dessus. Nous parlons alors de Contraint Programming avec pour objet de former des groupes. Nous utilisons également un algorithme de minimisation d'une fonction objective, comme les distances de voyage.
Le projet Player Tracking
Le Player Tracking est un concept très à la mode, car on se rend compte qu'il existe des données accessibles gratuitement pour améliorer la performance des joueurs.
Des packages existent déjà en Python et sont adaptés au Player Tracking, mais aussi à la Data dans le sport en général. Sur l'image au-dessus, j'ai pris le match France-Allemagne joué en Juin 2021 lors de l'Euro. Nous appelons cela la formation moyenne. Nous utilisons dans ce cas des données de type tracking. Ce sont les données qui vont prédire si cet événement est une passe, un shoot, une tête, un carton jaune ou un dribble par exemple !
As-tu vu l'évolution des positions des joueurs sous format vidéo ?
Bien sûr. Le but d'un Data Scientist, n’est pas vraiment d'utiliser le flux vidéo, mais surtout d'utiliser la Data générée par celle-ci. Pour mener à bien cette mission, nous avons un Data Scientist, un Data Analyst et une personne chargée des vidéos. Cette personne fera des clips vidéo pour préparer les matchs, savoir comment jouer telle séquence de match, telle possession, telle défense. Il est aussi possible d'utiliser des logiciels pour réaliser ces clips vidéos sur le time frame ou les joueurs qui vous intéresse.
Les modèles prédictifs
Anticiper la carrière d'un jeune joueur
Concernant les modèles prédictifs à l'UEFA, nous avons comme projet d'anticiper la carrière d'un jeune joueur. Les fédérations, via leur académie de jeunes ou les clubs de l'Académie nous posent souvent la question suivante : comment connaître la valeur future d'un joueur ou une valeur sportive ?
Partant de trois paramètres, la position du joueur sur le terrain (un défenseur, un milieu, un attaquant), de son âge, et du nombre de minutes qu'il a jouées en compétitions, quelle est sa probabilité de jouer plus tard dans un grand de première division ?
La prévention de blessures
Notamment à l'UEFA, nous avons des bases de données qui recensent toutes les blessures des joueurs. Ces données sont aussi disponibles gratuitement sur certains sites Internet et ce genre de modèles prédictifs est complètement réalisables. Cela intéresse les clubs, notamment sur le fait d'avoir les joueurs les plus en forme et les moins blessés possibles.
Nous arrivons de façon assez fiable à prédire les blessures.
Comment stockez-vous ces données et les mettez à jour ? Avez-vous besoin d'un prestataire ou faites-vous tout en interne?
Nous faisons tout en interne, car nous avons des bases de données énormes.
Chaque match génère une masse de données assez importante : nous sommes 1 millier de personnes à l'UEFA pour les gérer.
Quels conseils pour une personne voulant se former à la Data dans le milieu sportif ?
- Mon premier conseil est de travailler dans un domaine qui vous passionne. En termes de projets, de motivation, cela est un boost gigantesque. Typiquement à l'UEFA, vous ne trouverez pas une seule personne qui y travaille sans passion pour le sport.
- Aller sur les réseaux sociaux : focalisez-vous sur LinkedIn et Twitter. Si vous suivez des personnes sur ces deux canaux, vous aurez énormément d'informations tous les jours et aurez des idées. Si vous vous intéressez au sport et à la Data, vous trouverez des forums et des discussions très intéressantes.
- Le troisième point est la règle du 80/20. En Data Science, 80% du temps est consacré à structurer les données, à les nettoyer, à les manipuler. Finalement, il vous reste 20% et souvent moins pour faire du Machine Learning, pour tester différents modèles, pour faire des modèles prédictifs, pour les optimiser.
- Je vous recommande très fortement d'utiliser Python pour créer des projets from scratch.
- Apprenez SQL ! On parle de Big Data et finalement de Machine Learning : vous aurez toujours besoin de manipuler des gros sets de données. Il vous faudra savoir faire des inquiries en SQL.
Dernier conseil ! Soyez multidisciplinaire. Ne vous focalisez pas dans un seul sport, mais intéressez vous à d'autres sports.
Intéressez vous aussi à l'économie, à l'anthropologie, à la psychologie et à la sociologie. Cela vous apportera des informations sur les comportements humains, car la Data toute seule n'est pas exhaustive !
Comment peut-on qualifier le marché des Data Scientists dans le football ?
La Data a-t-elle transformé le foot dans le jeu ?
Le marché explose. Si vous suivez les clubs régulièrement, des offres d'emploi de Data Analysts, de Data Scientists, Analysts vidéos ou encore Sport Scientists, vous constaterez que c'est un marché en pleine ébullition.
La Data vous fait gagner un plus grand nombre de matchs sur une saison. Il faut avoir une vision long terme. Il est encore tôt pour révolutionner le foot, car il n'y a pas encore un taux de pénétration suffisant. Effectivement les clubs français sont en retard, mais la Data s'immisce petit à petit dans le sport européen.
Enfin il ne faut surtout pas oublier que le foot est un sport, joué par des humains, et que la Data ne doit pas prendre le pas sur quelque performance ou instinct, quelle qu'ils soient.
Si vous souhaitez acquérir les compétences en Data, les appliquer au milieu du sport, et réaliser le type de projet que Frédéric nous a présenté, n'hésitez pas à regarder notre formation Data Science ou à télécharger notre syllabus pour en savoir plus sur nos modules.