L'algorithme de Footbar expliqué
L'ambition de Footbar est de pouvoir évaluer les performances de chaque joueur de football amateur, quelque soit son niveau, sans nécessité la présence d'un observateur physique ou d'une caméra sur le bord du terrain. Nous nous appuyons sur un algorithme de classement alimenté par les informations disponibles sur les performances des joueurs.
Un algorithme "comme les pros"
La grande médiatisation accordée au football professionnel a donné naissance à de nombreuses tentatives pour classer les équipes. La plus célèbre est le classement mondial de la FIFA qui s'applique aux équipes nationales de plus de 200 pays. A chaque match, l'équipe marque un nombre de points qui dépend du résultat du match, du classement de son adversaire et de l'enjeu de la compétition (Voir le détail sur le site de la FIFA). Or ce système n'est pas très adapté au football amateur :
il se base sur le classement relatif des deux équipes ce qui est applicable simplement pour 200 équipes mais plus compliqué lorsqu'elles sont plusieurs dizaines de milliers,
les équipes gagnent des points à chaque match (jamais de perte), les scores peuvent très vite s'envoler lorsqu'on parle de plus de 30 matchs par saison
ce classement est très souvent remis en cause et pas toujours représentatif de la réalité
Nous avons donc choisi d'utiliser un autre type d'algorithme qui s'adapte mieux au grand nombre de matchs joués en foot amateur. Il s'agit du Elo du nom de son inventeur, développé dans les années 1960 pour classer les joueurs d'échecs en fonction de leurs résultats. Il est aujourd'hui largement utilisé dans le monde du sport, par exemple dans le classement FIFA féminin (à l'inverse du masculin cité précédemment), ou encore au sein des universités américaines. De nombreux passionnés ont enfin appliqué ce classement aux équipes de football professionnel (en voici un exemple), comme vous pouvez le constater il est plutôt efficace.
Comment fonctionne t-il ? Lors d'un match, on calcule la probabilité de victoire des deux équipes en fonction de l'écart entre leurs scores. Si l'équipe fait une performance supérieure à son résultat attendu, elle gagne des points. Sinon, elle en perd. Et en langage football cela se traduit par :
Gagner contre une petite équipe rapporte peu de points
Perdre contre une grosse équipe fait perdre peu de points
Gagner contre une grosse équipe rapporte beaucoup de points
Perdre contre une petite équipe fait perdre beaucoup de points
A l'issue du match, on met à jour le score des deux équipes et on recommence au match suivant... Jusque là c'est très simple !!
Pour les puristes, voici la traduction en langage mathématiques :
En+1 = En + K * (W - p(D))
Si les maths ne sont pas vraiment votre truc, vous pouvez passer au paragraphe suivant, sinon, détaillons ensemble la formule :
En+1 correspond au nouveau score Elo de l'équipe, après le match,
En correspond au score Elo de l'équipe au début du match,
W représente le résultat du match (1 pour une victoire, 0.5 pour un match nul et 0 pour une défaite).
D représente la différence initiale de score entre les deux équipes.
p(D) est la prédiction du résultat (entre 0 et 1) qui dépend de D,
K est le coefficient qui va déterminer les points gagnés ou perdus. C'est sa valeur qui va faire la pertinence de la mesure et lorsqu'on s'intéresse au football il dépend en général du score du match, et de l'importance de la compétition.
Cette méthode d'évaluation très simple à quelques propriétés intéressantes.
K étant positif, si le résultat est meilleur que celui attendu (W - p(D)) > 0, alors l'équipe gagne des points, ou inversement en perd,
Le nombre de points gagnés par une équipe, est égal au nombre de points perdu par l'autre. Le score Elo moyen est donc constant.
Enfin si le résultat est égal à la prédiction, alors le score Elo des deux équipes est inchangé.
L'application au foot amateur
Nous sommes parti de ce principe de base pour la mise au point de notre algorithme. Sur la saison 2013/2014 en France, nous avons référencé plus de 43 000 équipes, et indexé près de 350 000 résultats et nous avons utilisé ces données pour ajuster le ELO à la situation du football amateur en France.
L'équipe qui joue a domicile a plus de chance de l'emporter que l'équipe qui joue à l'extérieur. Cela se vérifie plutôt bien au niveau professionnel et la probabilité de victoire des équipes est ajustée en accordant un "handicap" de points à l'équipe à l'extérieur. En général cela se traduit par un centaine de points de différence dans le foot professionnel. L'une de nos premières découvertes a été de constater que l'impact du match à domicile est légèrement plus faible dans le foot amateur ; une équipe à domicile a une espérance de victoire d'environ 55%. Ainsi le biais à domicile dans le classement Footbar est de 38 points Elo.
Il nous a également fallu donner un score initial à chaque équipe, et nous avons choisi de le faire en fonction du niveau du championnat dans lequel l'équipe évolue. Notons que l'algorithme Elo est parfois baptisé algorithme des 400, parce que lorsque deux équipes ont 400 points d'écarts, la probabilité de victoire de l'équipe forte est de 90%. Donc si l'écart entre les deux équipe est important imaginons par exemple une équipe de championnat National contre une équipe de DH l'écart devra s'approcher des 400. Nous avons ainsi échelonnés les championnats de la manière suivante :
Au niveau ligue, les équipes recevront initialement entre 2000 et 2600 points avec un peu plus d'une centaine de points entre chaque division.
Au niveau district, les équipes recevront entre 1000 et 2000 points avec un peu moins d'une centaine de points entre chaque division.
Les championnats mineurs (loisirs, réserves etc) recevront uniquement 800 points.
Les catégories jeunes (U19, U17, U15) recevront 100 points de pénalité par catégorie d'écart avec la division sénior équivalente.
Par exemple : Une équipe de district qui dépasse la barre des 2000 points sera considérée comme compétitive à un niveau ligue, etc.
Il en résulte donc un classement national de tous les clubs de foot amateur, disponible sur footbar.fr
Evaluer les capacités offensives et défensives de chaque équipes
L'algorithme précédent nous permet d'attribuer un score représentatif du niveau de l'équipe. Or dans le football, on peut schématiquement atteindre un bon niveau avec une stratégie portée sur l'attaque ou sur la défense ce qui change radicalement le profil de l'équipe. Nous avons donc attribuer des scores offensifs et défensifs à chaque équipe pour qu'on puisse se faire une idée sur le schéma de jeu dominant de cette équipe. La donnée naturelle pour cette mesure c'est le nombre de buts marqués/encaissés.
Nous avons appliqué la logique Elo à ce calcul d'attaque et défense :
une attaque qui va marquer beaucoup de but à une bonne défense va marquer beaucoup de points offensifs
une défense qui ne va pas encaisser de buts face à une bonne attaque va gagner des points défensifs
Si vous avez bien suivi, vous devez vous demander comment nous allons calculer W pour un duel attaque défense. En d'autres termes, quel est la valeur du but marqué/encaissé ?
Pour y répondre nous avons modélisé mathématiquement le nombre de buts marqués par une équipe, à domicile et à l'extérieur, au cours d'un match. De nombreux acteurs, notamment dans le domaines des paris sportifs, modélisent ce résultat par un fonction mathématique appelé loi de Poisson. Or en comparant les résultats données par une loi de Poisson à notre base de données de 350 000 résultats, nous avons constaté une légère décorrélation notamment sur les petits nombre de buts. Après plusieurs recherches, nous avons finalement décidé d'adopter un autre modèle mathématique appelé loi binomiale négative, dont les paramètres dépendent du championnat dans lequel le match est joué puisque l'on marque statistiquement beaucoup plus de buts en U15 féminines niveau district qu'en séniors homme niveau ligue.
Corrélation entre la probabilité de marquer n buts à domicile, et la loi binomiale négative correspondante.
Comment en déduire une mesure de la performance individuelle ?
Les joueurs sont bien entendu les principaux acteurs des bons ou des mauvais résultats de leur équipe, nous répartissons donc les points gagnés/perdus par une équipe lors d'un match sur les joueurs présents dans la composition.
Nous leur avons pour cela calculé deux paramètres sur chaque match ; un score "brut" qui découle directement des score généraux/offensifs/défensifs de l'équipe, et un coefficient qui estime l'impact du joueur sur le match.
Le score brut dépend principalement de la position du joueur sur le terrain, et du résultat du match. Par exemple, le score brut d'un défenseur sera composé à 50% du score général, 35% du score défensif et 15% du score offensive, alors que pour un milieu offensif, on aura 50% du score général, 30% du score offensif et 20% du score défensif. Notons que deux joueurs ayant évolué au même poste, auront donc le même score brut sur le match.
Le coefficient d'impact, dépend de l'impact du joueur sur le résultat du match. Il dépend de la note moyenne obtenue par le joueur, de son temps de jeu, des éventuels buts marqués et/ou passes décisives. Il varie entre 0.6 et 1.3, sachant que la moyenne de l'équipe doit être de 1.
La note totale du joueur est ensuite le produit de son score brut et de sa note d'impact et lorsque vous regardez l'historique d'un joueur sur notre site vous pouvez voir son score match après match. Pour ceux qui veulent refaire les calculs le score du match est divisé par 10 pour des raisons d'esthétique ;) En additionnant les scores, nous mettons en valeur les joueurs régulièrement présent dans les matchs de l'équipe, ce score est visible sur la page de l'effectif de l'équipe. En faisant leur moyenne, multipliée par 10 pour respecter la logique dimensionnelle, nous déduisons un ELO équivalent visible sur la page du joueur.
Ainsi en reprenant l'exemple précédent, un joueur de district qui dépasse les 2000 points sera considéré comme compétitif pour jouer en ligue etc.
Le résultat final prend la forme d'un classement général des joueurs amateurs, disponible sur footbar.fr. À l'heure où ces lignes sont écrites, il comporte un peu plus de 12 000 joueurs ; venez vous mesurer aux meilleurs !