Cette page détaille, sans rien cacher, la mécanique complète qui produit les probabilités affichées sur footpredictif. Nous partons de la brique élémentaire, la loi de Poisson, pour arriver au classement projeté et aux mesures de fiabilité, avec à chaque étape une formule, un exemple chiffré et, quand c'est utile, une comparaison. L'objectif est que vous puissiez, en principe, refaire les calculs vous-même.

Une idée simple derrière tout : compter des buts

Le football se prête étonnamment bien à la statistique parce qu'un match se résume, pour l'essentiel, à un petit nombre d'événements rares répartis sur quatre-vingt-dix minutes : les buts. Or il existe une loi de probabilité taillée pour compter des événements rares et indépendants dans un intervalle de temps, la loi de Poisson. L'hypothèse de travail, vérifiée empiriquement depuis les années 1980, est que le nombre de buts marqués par une équipe dans un match suit approximativement une loi de Poisson dont le paramètre dépend de la force des deux adversaires.

Toute la modélisation consiste alors à répondre à une seule question par équipe : combien de buts attendons-nous qu'elle marque dans ce match précis ? Ce nombre attendu, noté λ (lambda), une fois estimé pour les deux camps, suffit à reconstruire la probabilité de n'importe quel score, et de là toutes les autres probabilités.

La loi de Poisson, brique de base

Si une équipe a une espérance de λ buts, la probabilité qu'elle en marque exactement k est donnée par la formule de Poisson :

P(X = k) = e−λ · λk / k!  // k! = factorielle de k

Prenons une équipe dont on attend 1,4 but en moyenne (λ = 1,4). En appliquant la formule pour chaque valeur de k, on obtient sa distribution de buts. Le calcul du premier terme donne e−1,4 = 0,247, puis chaque terme se déduit du précédent en multipliant par λ et en divisant par k.

Distribution de Poisson pour λ = 1,4 (une équipe qui « vaut » 1,4 but sur ce match)
Buts k0123456+
Probabilité24,7 %34,5 %24,2 %11,3 %3,9 %1,1 %0,3 %
Probabilité de marquer k buts quand λ = 1,4 24,7%34,5%24,2% 11,3%3,9%1,1% 012 3456+
Le pic est à 1 but, mais la « queue » vers 3, 4, 5 buts n'est pas nulle. C'est cette forme qui rend les gros scores rares sans être impossibles.

D'où vient λ : forces d'attaque et de défense

Le paramètre λ n'est pas choisi au hasard : il se construit à partir de deux nombres estimés pour chaque club, une force d'attaque et une force de défense, plus un effet de terrain commun. Le modèle Dixon-Coles écrit les buts attendus de l'équipe qui reçoit (domicile) et de celle qui se déplace (extérieur) sous forme log-linéaire :

λdom = exp( μ + attdom + defext + γ )
λext = exp( μ + attext + defdom )  // γ = avantage du terrain

Ici μ est le niveau moyen de buts du championnat, att la capacité offensive d'une équipe, def sa solidité défensive (une valeur négative signifie une défense qui encaisse peu), et γ le bonus accordé à celui qui reçoit. Ces paramètres sont estimés par maximum de vraisemblance sur des centaines de matchs : l'ordinateur cherche le jeu de valeurs qui rend les résultats réellement observés les plus probables possibles.

Un exemple parlant. Supposons une affiche entre une bonne attaque à domicile et une défense extérieure fragile, qui aboutit à λdom = 1,7, contre une équipe visiteuse plus modeste, λext = 1,0. Ce sont ces deux nombres, et eux seuls, qui vont générer toutes les probabilités du match.

Lecture des forces relatives (valeurs illustratives, échelle log)
Profil d'équipeattdefInterprétation
Cador offensif+0,45−0,30marque beaucoup, encaisse peu
Équipe médiane0,000,00référence du championnat
Promu en difficulté−0,35+0,30marque peu, encaisse beaucoup

L'avantage du terrain, chiffré

Le terme γ capture un fait têtu : sur longue durée, les équipes qui reçoivent gagnent nettement plus souvent qu'elles ne perdent. Dans les grands championnats européens, l'avantage du terrain représente typiquement un surplus de l'ordre de 0,25 à 0,40 but attendu pour le club à domicile, une fois traduit sur l'échelle des λ. Concrètement, à forces égales sur le papier, l'équipe qui reçoit passe d'un match à pile ou face à un léger favori. C'est pourquoi vous verrez rarement, sur nos cartes, une équipe qui reçoit sous les 25 % de victoire, sauf face à un adversaire très supérieur.

Comment le modèle « apprend » : le maximum de vraisemblance

Les forces d'attaque et de défense ne sont pas fixées à la main : elles sont estimées. Le principe est celui du maximum de vraisemblance. On part d'un jeu de paramètres quelconque, on calcule la probabilité que le modèle attribuait à chacun des résultats réellement observés dans l'historique, on multiplie toutes ces probabilités entre elles, et l'on cherche le jeu de paramètres qui rend ce produit le plus grand possible. Autrement dit, on retient les forces qui rendent le passé le plus vraisemblable.

En pratique, on maximise plutôt la somme des logarithmes, la log-vraisemblance, plus stable numériquement, en y intégrant la pondération temporelle vue plus haut :

max Σmatchs poids(t) · ln P( score observé | λdom, λext )

Un algorithme d'optimisation ajuste les dizaines de paramètres (deux par équipe, plus μ, γ et ρ) jusqu'à ce que plus aucune modification n'améliore le score. Le résultat est un modèle qui n'a mémorisé aucun match en particulier, mais qui a extrait de l'ensemble une mesure de force cohérente pour chaque club. C'est cette même logique, appliquée à des millions de paramètres, qui sous-tend des modèles bien plus gros ; ici, la petite taille du modèle est un atout, car elle le rend lisible et vérifiable.

La correction Dixon-Coles

Un modèle de Poisson pur suppose que les buts des deux équipes sont indépendants. Dans la réalité, les petits scores s'écartent de cette hypothèse : les 0-0 et les 1-1 sont un peu plus fréquents, et les 1-0 et 0-1 un peu moins, que ce que prédit le produit de deux lois de Poisson. Dixon et Coles ont proposé en 1997 un facteur de correction, noté τ, appliqué aux quatre scores où chaque équipe marque zéro ou un but, piloté par un paramètre de dépendance ρ (rho, généralement légèrement négatif) :

P(i, j) = τρ(i, j) · PPoisson(i) · PPoisson(j)  // correction sur i,j ∈ {0,1}

L'effet est modeste mais utile : il remonte la probabilité du nul de un à deux points, ce qui compte quand on cherche à distinguer un match serré d'un match ouvert. Le tableau ci-dessous illustre l'ajustement sur les quatre scores concernés d'un match équilibré.

Poisson simple contre Dixon-Coles corrigé (match équilibré, ρ = −0,05)
ScorePoissonDixon-ColesEffet
0 - 08,9 %9,6 %▲ nul renforcé
1 - 112,1 %12,7 %▲ nul renforcé
1 - 010,5 %10,0 %▼ légèrement réduit
0 - 110,5 %10,0 %▼ légèrement réduit

La pondération dans le temps

Une équipe de septembre n'est pas celle de mars : effectif, forme, entraîneur, tout bouge. Pour que le modèle reflète la forme récente plutôt qu'un lointain passé, chaque match d'entraînement reçoit un poids qui décroît avec son ancienneté, selon une décroissance exponentielle :

poids(t) = exp( −ξ · Δt )  // Δt = jours écoulés, ξ règle la mémoire

Le paramètre ξ (xi) fixe la demi-vie de l'information : la durée au bout de laquelle un match ne compte plus que pour moitié. Avec une demi-vie d'environ six mois, un match d'il y a un an pèse à peu près quatre fois moins qu'un match du mois dernier. On garde ainsi une longue mémoire pour la stabilité, tout en laissant la forme récente prendre le dessus.

Poids d'un match selon son ancienneté (demi-vie ≈ 6 mois) 1,0 0,5 0 demi-vie aujourd'hui6 mois1 an et +
Un match récent pèse pour 1. À la demi-vie, son influence tombe à 0,5, puis continue de décroître. La mémoire est longue mais escomptée.

De la matrice des scores aux probabilités

Une fois λdom et λext connus, on calcule la probabilité de chaque score exact en croisant les deux distributions de Poisson (puis en appliquant la correction Dixon-Coles sur les petits scores). On obtient une matrice des scores : chaque case (i, j) est la probabilité que le match finisse i buts pour l'équipe qui reçoit, j pour celle qui se déplace.

Reprenons notre exemple λdom = 1,7 et λext = 1,0. Voici la matrice (en pourcentage), les scores les plus probables ressortant en foncé.

Matrice des scores, λdom = 1,7 (lignes) contre λext = 1,0 (colonnes)
dom \ ext0123
06,76,73,41,1
111,411,45,71,9
29,79,74,91,6
35,55,52,80,9
Somme des cases sous la diagonale : victoire à domicile. Sur la diagonale : nul. Au-dessus : victoire extérieure. Toutes les probabilités du match sortent de cette grille.

On additionne alors les cases par zones pour obtenir les probabilités usuelles :

P(victoire dom) = Σi > j P(i, j)
P(nul) = Σi = j P(i, j)
P(victoire ext) = Σi < j P(i, j)

En sommant les cases de notre matrice, ce match donne environ 54 % de victoire à domicile, 24 % de nul et 22 % de victoire extérieure. C'est exactement ce type de barre 1N2 que vous voyez sur chaque page match, et vous pouvez vérifier que les trois nombres somment bien à 100 %.

Un match complet, de bout en bout

Rassemblons les pièces sur le même exemple, comme le ferait le modèle pour une vraie affiche.

Synthèse d'un match λdom = 1,7 contre λext = 1,0
IndicateurCalculRésultat
Victoire domicilesomme cases i > j53,8 %
Match nulsomme diagonale24,0 %
Victoire extérieursomme cases i < j22,2 %
Plus de 2,5 buts1 − P(total ≤ 2)50,6 %
Les deux marquentP(dom ≥ 1) × P(ext ≥ 1)51,7 %
Score le plus probablecase maximale1 - 0

Chaque nombre du tableau découle de la même matrice, sans réglage manuel. C'est ce qui rend nos pronostics reproductibles : à données égales, le calcul redonne toujours les mêmes valeurs, et n'importe qui peut les recontrôler.

Le seuil des 2,5 buts et le « BTTS »

La probabilité de dépasser 2,5 buts se lit comme le complément des trois plus petits totaux. On additionne les probabilités d'un total de 0, 1 et 2 buts, puis on soustrait à 1 :

P(plus de 2,5) = 1 − [ P(total=0) + P(total=1) + P(total=2) ]

Sur notre exemple, la probabilité d'un total inférieur ou égal à deux buts vaut 49,4 %, donc la probabilité de voir au moins trois buts ressort à 50,6 %, un match à la bascule. La probabilité que les deux équipes marquent se calcule, elle, comme le produit des probabilités que chacune marque au moins une fois, soit (1 − e−1,7)(1 − e−1,0) ≈ 0,82 × 0,63 ≈ 52 %. Ces deux indicateurs éclairent le scénario d'un match, au-delà de son seul vainqueur.

Ce que « 60 % » veut dire, exactement

Une probabilité prête souvent à confusion, alors précisons son sens. Quand nous annonçons 60 % de victoire, nous ne disons pas que l'équipe va gagner. Nous disons que, sur un très grand nombre de matchs présentant les mêmes caractéristiques, l'issue annoncée se produirait environ six fois sur dix. C'est une lecture fréquentiste : la probabilité décrit une fréquence de long terme, pas une certitude sur ce match-ci.

La bonne comparaison est la météo. Lorsqu'un prévisionniste annonce 60 % de pluie, il n'a pas tort s'il fait beau ce jour-là ; il aurait tort si, sur tous les jours où il annonce 60 %, il pleuvait systématiquement, ou jamais. De la même façon, un pronostic à 65 % qui se trompe une fois sur trois n'est pas un mauvais pronostic : c'est précisément ce que « 65 % » promet. Un modèle qui ne se tromperait jamais sur ses favoris serait, paradoxalement, un modèle mal réglé, car il sous-estimerait l'incertitude réelle du football. L'erreur attendue fait partie du calcul, elle n'est pas un accident.

Le recalage par le marché, en début de saison

Un modèle purement statistique a un défaut connu : après deux ou trois journées, il surréagit. Trois victoires initiales suffiraient à propulser une équipe modeste au sommet de ses probabilités, ce que l'expérience dément presque toujours. Pour l'éviter, nous mélangeons la prévision du modèle avec un a priori de force issu des budgets et des cotes vainqueur des bookmakers, selon un poids qui décroît à mesure que les matchs s'accumulent :

pfinale = (1 − w) · pmodèle + w · pmarché  // w fort en août, faible au printemps

Le poids w part d'environ deux tiers en tout début de saison, quand les données manquent, et glisse vers un cinquième une fois qu'une dizaine de journées ont été jouées. Le curseur passe ainsi, en douceur, de « ce que l'on attendait » à « ce que les équipes montrent réellement ».

Part du marché (w) dans la prévision, au fil des journées 68% 20% J1J10J20J34 la forme réelle prend le dessus
Au coup d'envoi de la saison, le marché domine pour éviter les emballements. Sa part fond ensuite au profit des résultats observés.

Du pronostic au classement projeté

Pour projeter un classement de fin de saison, on ne devine pas chaque résultat : on cumule des points espérés. Un match futur rapporte, à chaque équipe, trois points multipliés par sa probabilité de victoire plus un point multiplié par sa probabilité de nul :

points espérés = 3 · P(victoire) + 1 · P(nul)

Un calcul brut de ce type a toutefois un travers : il comprime le tableau. En distribuant un peu de « nul espéré » à tout le monde, il gonfle les totaux du bas et placerait le dernier autour de trente-quatre points, un score qu'une lanterne rouge n'atteint quasiment jamais. Nous accentuons donc légèrement chaque issue vers son résultat le plus probable, ce qui rétablit des écarts réalistes. La comparaison ci-dessous illustre les trois approches sur une même équipe faible.

Trois façons de projeter les points d'une équipe de bas de tableau (34 journées)
MéthodePrincipeTotal projetéRéalisme
Résultat le plus probableon attribue 3, 1 ou 0 selon l'issue favorite~18 ptstrop tranché
Points espérés bruts3·P(V) + 1·P(N)~34 ptstrop compressé
Points espérés accentuéson renforce l'issue probable~28 ptsproche du réel

Le classement affiché sous chaque journée applique cette dernière méthode pour les rencontres à venir, et les points réels pour les matchs déjà joués. Une journée en cours reste en réel pur : on ne projette pas ses matchs non encore disputés.

Mesurer la fiabilité : log-loss et Brier

Un pronostic n'a de valeur que confronté à la réalité, et pas seulement sur un match. Nous évaluons le modèle sur des saisons qu'il n'a pas servi à entraîner, avec deux mesures reconnues qui pénalisent l'excès de confiance. La première, le log-loss, additionne le logarithme négatif de la probabilité attribuée à l'issue qui s'est réellement produite :

log-loss = − (1/N) · Σ ln( pissue réelle )  // plus c'est bas, mieux c'est

Un exemple concret. Si nous annonçons 54 % pour une victoire à domicile et qu'elle se produit, la pénalité de ce match est −ln(0,54) = 0,62. Si au contraire le match nul tombe alors que nous ne lui donnions que 24 %, la pénalité grimpe à −ln(0,24) = 1,43. Se tromper avec assurance coûte cher, ce qui est exactement le comportement recherché. La seconde mesure, le score de Brier, prend la distance au carré entre les probabilités annoncées et le résultat réel codé en 0 ou 1 :

Brier = (1/N) · Σ Σi ( pi − yi  // y = 1 pour l'issue réalisée, 0 sinon

Sur le même match gagné à domicile, avec des probabilités (0,54 ; 0,24 ; 0,22), le score de Brier vaut (0,54−1)² + (0,24−0)² + (0,22−0)² = 0,32. Ces deux nombres, moyennés sur des milliers de matchs, résument la qualité d'un modèle mieux qu'un pourcentage de « bons pronostics », qui, lui, ignore la confiance affichée.

La courbe de calibration

La propriété que nous visons s'appelle la calibration : parmi tous les matchs où nous annonçons 60 %, l'issue doit se produire environ six fois sur dix. Ni plus, ni moins. On la vérifie en regroupant les prévisions par tranches et en comparant, dans chaque tranche, la probabilité annoncée à la fréquence réellement observée. Un modèle parfaitement calibré suit la diagonale.

Calibration : annoncé contre observé idéal Probabilité annoncée Fréquence observée
Nos points collent à la diagonale : quand nous disons 60 %, il arrive à peu près 60 % du temps. Un modèle sur-confiant décrocherait sous la diagonale dans le haut.
Vérification de calibration par tranches (lecture illustrative)
Tranche annoncéeNombre de casFréquence observéeÉcart
20 - 30 %34026 %+1
30 - 40 %41034 %−1
40 - 50 %29046 %+1
50 - 60 %23055 %±0
60 - 75 %18067 %±0

Comparaison avec les cotes des bookmakers

Les cotes d'un opérateur cachent une probabilité : son inverse. Une cote de 1,85 correspond à une probabilité implicite de 1 / 1,85 = 54 %. Mais la somme des probabilités implicites des trois issues dépasse toujours 100 %, car l'opérateur y intègre sa marge, appelée overround. Il faut donc normaliser pour retrouver une probabilité « propre ».

pimplicite = 1 / cote  •  marge = Σ (1 / cote) − 1
D'une cote 1N2 à une probabilité, exemple d'un favori à domicile
IssueCote1 / coteAprès normalisationNotre modèle
Victoire domicile1,850,54151,2 %53,8 %
Match nul3,600,27826,3 %24,0 %
Victoire extérieur4,200,23822,5 %22,2 %
Total1,057100 %100 %

Ici la marge de l'opérateur ressort à 5,7 % (la somme des inverses vaut 1,057). Une fois cette marge retirée, les probabilités du marché et celles de notre modèle sont très proches, avec des écarts de un à deux points. Ce n'est pas un hasard : le marché agrège une énorme quantité d'informations, et un bon modèle statistique doit s'en approcher sans chercher à le battre systématiquement. Là où nous différons parfois, c'est sur les matchs où la forme récente pèse plus que la réputation, ou l'inverse.

Le point clé : nos probabilités visent la justesse, pas la performance de paris. Une bonne calibration ne garantit aucun gain, car la marge de l'opérateur et la variance du jeu jouent contre le parieur sur la durée. Ce site relève de l'analyse et n'organise aucun pari.

Données, transparence et limites

Les forces du modèle sont estimées sur l'historique des résultats de la Ligue 1 et des grands championnats, enrichi progressivement de statistiques avancées comme les buts attendus mesurés, qui jugent la qualité des occasions plutôt que le seul score. Les scores récents encore absents de nos sources ouvertes sont complétés dès qu'ils deviennent disponibles, afin que le classement réel reste à jour.

Nous publions chaque prévision avant le coup d'envoi et la confrontons ensuite au résultat dans le debrief de journée, sans jamais réécrire l'estimation initiale. Cette trace permet de juger le modèle sur la durée plutôt que sur un coup d'éclat ou une déconvenue isolée. Le modèle a aussi ses angles morts : un carton rouge précoce, une décision arbitrale, une pelouse détrempée, un enjeu extra-sportif ou une compétition européenne la semaine précédente échappent au calcul. Nos probabilités décrivent le scénario le plus plausible d'avant-match, pas les accidents qui feront l'histoire de la rencontre. C'est là que votre lecture du contexte complète, utilement, la rigueur du chiffre.