Méthode et résultats détaillés
Description complète du projet : question, données, protocole d'évaluation, modèles, résultats chiffrés avec leurs incertitudes, et limites.
- Question de recherche
- Données
- Protocole d'évaluation
- Mesures de qualité
- Modèles
- Résultats
- Information au-delà du marché
- Test final et paris fictifs
- Suivi en direct
- Limites
1. Question de recherche
Pour un match donné, on cherche la loi de probabilité de son issue parmi trois classes : victoire de l'équipe à domicile (H), match nul (D), victoire de l'équipe à l'extérieur (A). Il s'agit d'un problème de classification probabiliste : on ne juge pas seulement l'issue annoncée, mais la justesse des probabilités elles-mêmes.
Deux hypothèses sont testées :
- H1 : des informations sur les joueurs alignés améliorent un modèle fondé sur le seul niveau des équipes.
- H2 : le meilleur modèle obtenu contient une information que les cotes des bookmakers n'intègrent pas déjà, ce qui est la condition nécessaire pour parier avec profit.
2. Données
Cinq championnats (Premier League, La Liga, Bundesliga, Serie A, Ligue 1), saisons 2014-15 à 2025-26, soit environ 21 600 matchs. La saison 2014-15 sert uniquement à initialiser les variables ; les modèles sont entraînés et évalués sur 19 695 matchs à partir de 2015-16.
| Source | Contenu | Usage |
|---|---|---|
| football-data.co.uk | Résultats, tirs, tirs cadrés, cotes d'ouverture et de clôture | Modèle équipes ; cotes comme référence |
| Sportmonks | Compositions et statistiques individuelles par match (minutes, passes, duels, tirs, arrêts…) | Modèle joueurs ; calendrier du suivi en direct |
| Understat | Buts attendus (xG) par équipe et par joueur | Variantes testées (notes xG, modèle de Poisson) |
Règle anti-fuite. Toute variable d'un match est calculée uniquement à partir d'événements antérieurs à son coup d'envoi. Les statistiques d'un joueur sont décalées d'un match ; la seule information du jour utilisée est la composition officielle, connue environ une heure avant le match.
3. Protocole d'évaluation
Un découpage aléatoire entraînement / test serait trompeur : il laisserait le modèle apprendre sur des matchs postérieurs à ceux qu'il prédit. On utilise une validation temporelle à origine glissante, avec quatre plis :
pli 1 : entraînement 2015-16 → 2019-20 validation 2020-21
pli 2 : entraînement 2015-16 → 2020-21 validation 2021-22
pli 3 : entraînement 2015-16 → 2021-22 validation 2022-23
pli 4 : entraînement 2015-16 → 2022-23 validation 2023-24
- Les variables sont centrées et réduites avec la moyenne et l'écart-type du seul jeu d'entraînement de chaque pli.
- Toutes les décisions (variables, hyperparamètres, choix du modèle) sont prises sur ces quatre saisons de validation.
- Les saisons 2024-25 et 2025-26 ont été tenues à l'écart, puis utilisées une seule fois pour le test final. Elles ne servent plus à comparer des modèles.
- Deux modèles sont toujours comparés sur les mêmes matchs. On calcule la différence de perte match par match, sa moyenne d et son erreur standard s ; l'intervalle à 95 % est d ± 2s. Un écart dont l'intervalle contient zéro est déclaré « non démontré ».
4. Mesures de qualité
Soit p = (pH, pD, pA) les probabilités annoncées et y l'issue observée. Les trois mesures sont des scores propres : elles sont minimisées en moyenne par les vraies probabilités, ce qui récompense l'honnêteté plutôt que l'excès de confiance.
log loss = − ln p_y (0 = parfait ; 1,099 pour « un tiers chacun »)
Brier = Σ_k (p_k − 1[y = k])² (0 à 2)
RPS = ½ · [ (p_H − 1[y = H])² + (p_H + p_D − 1[y ∈ {H, D}])² ]
La log loss est la mesure principale : elle pénalise fortement une probabilité faible donnée à l'issue qui se produit. Le RPS tient compte de l'ordre des issues : annoncer une victoire à domicile quand l'extérieur gagne est plus faux qu'annoncer un nul. Le taux de bonnes prédictions est donné à titre indicatif ; il ignore la confiance et discrimine mal les modèles.
5. Modèles
5.1 Modèle 1 : équipes (28 variables)
Classement Elo. Chaque équipe porte une note R, mise à jour après chaque match :
E_dom = 1 / (1 + 10^((R_ext − (R_dom + 60)) / 400))
R_dom ← R_dom + K · g · (S − E_dom) R_ext ← R_ext − K · g · (S − E_dom)
avec S = 1, ½ ou 0 selon le résultat, K = 10, un avantage du terrain de 60 points, et un facteur g qui croît avec l'écart de buts (1 jusqu'à un but d'écart, 1,5 pour deux, (11 + écart) / 8 au-delà). Une équipe promue démarre à 1 400 points, les autres à 1 500.
Forme récente. Moyenne sur les cinq derniers matchs de sept statistiques : buts marqués et encaissés, tirs pour et contre, tirs cadrés pour et contre, points. En début de saison, la moyenne de la saison en cours est mélangée à celle des matchs précédents, avec un poids qui passe de 0 à 1 sur les cinq premières journées.
Autres variables. Jours de repos de chaque équipe (plafonnés à 30) et indicateur de match à huis clos (période Covid). Chaque quantité entre sous trois formes : domicile, extérieur, différence.
Classifieur. Régression logistique multinomiale (softmax), régularisation L2 (λ = 4,2·10−5), optimiseur Adam, arrêt anticipé décidé sur les 15 % de matchs d'entraînement les plus récents :
p_k = exp(w_k · x + b_k) / Σ_j exp(w_j · x + b_j), k ∈ {H, D, A}
5.2 Modèle 2 : joueurs (26 variables)
Pour chaque joueur, une note d'avant-match est calculée à partir de ses statistiques passées, ramenées à 90 minutes et lissées vers la moyenne de son poste lorsqu'il a peu joué. Les notes des onze titulaires sont agrégées par équipe et par ligne (défense, milieu, attaque) : 17 variables.
Sept variables décrivent les absences et la rotation : le « onze habituel » est formé des onze joueurs les plus utilisés sur les six derniers matchs ; on mesure le nombre de titulaires habituels absents, la note perdue avec eux, l'écart de niveau entre le onze aligné et le onze habituel (global et par ligne), et le nombre de changements par rapport au match précédent. Le modèle utilise les différences domicile − extérieur, avec le même classifieur que le modèle 1.
5.3 Modèle combiné : empilement
Un méta-modèle (régression logistique) reçoit les log-probabilités des modèles 1 et 2 et produit les probabilités finales. Il est appris uniquement sur des prédictions hors échantillon : pour prédire la saison S, il s'entraîne sur les prédictions que les modèles de base ont faites pour les saisons antérieures à S, alors qu'ils ne les avaient pas vues. Sans cette précaution, le méta-modèle apprendrait à faire confiance à des modèles qui récitent leurs données d'entraînement.
5.4 Variantes testées et non retenues
- Arbres de décision boostés (XGBoost, 30 configurations) : pas mieux que la régression logistique (+0,0011 ± 0,0036). Les meilleures configurations sont presque linéaires.
- Calibration (température, régression isotonique) : sans effet, les probabilités du modèle combiné étant déjà bien calibrées (température apprise ≈ 1).
- Notes de joueurs fondées sur les xG : redondantes avec les variables existantes (−0,0001 ± 0,0011).
- Modèle de Poisson bivarié avec correction de Dixon-Coles, ajusté sur les xG avec une pondération temporelle (demi-vie de 180 jours) et un avantage du terrain par championnat : les buts de chaque équipe suivent une loi de Poisson de moyenne λ = exp(niveau du championnat + avantage du terrain + attaque − défense adverse). Log loss 0,9877 : au niveau du modèle 1, moins bon que le modèle combiné.
6. Résultats
Validation 2020-21 → 2023-24, 7 207 matchs disposant de cotes. Le « marché » désigne les probabilités déduites des cotes, marge du bookmaker retirée par normalisation.
| Source des probabilités | Log loss | Brier | RPS |
|---|---|---|---|
| Marché, clôture (Pinnacle) | 0,9707 | 0,5769 | 0,1950 |
| Marché, ouverture (Bet365) | 0,9741 | 0,5789 | 0,1959 |
| Modèle combiné | 0,9837 | 0,5857 | 0,1990 |
| Dixon-Coles sur xG | 0,9877 | 0,5886 | 0,2003 |
| Modèle 1 (équipes) | 0,9887 | 0,5881 | 0,2000 |
| Modèle 2 (joueurs seuls) | 0,9958 | 0,5939 | 0,2026 |
Plus bas = mieux pour les trois mesures.
Écarts de log loss, avec leur intervalle à 95 % :
| Comparaison | Différence | Lecture |
|---|---|---|
| Combiné − modèle 1 | −0,0050 ± 0,0031 | Gain démontré |
| Combiné − marché à l'ouverture | +0,0096 ± 0,0034 | Le marché est meilleur, démontré |
| Modèle 1 − marché à l'ouverture | +0,0146 ± 0,0043 | Le marché est meilleur, démontré |
Sur H1. L'information sur les joueurs apporte un gain réel mais faible : l'essentiel de la qualité d'un effectif est déjà contenu dans le classement Elo et la forme. Ajoutées directement au modèle 1, les variables joueurs ne donnaient rien de démontré ; c'est l'empilement de deux modèles distincts qui fait apparaître le gain.
7. Information au-delà du marché
Pour tester H2, on construit un méta-modèle dont les entrées sont les log-probabilités du marché et celles de notre modèle, appris hors échantillon dans l'ordre chronologique :
logit_k = a_k + w_marché · ln p_marché,k + w_modèle · ln p_modèle,k
Si le marché contient déjà toute l'information, on attend wmarché ≈ 1 et wmodèle ≈ 0.
- Poids estimés (intervalles à 95 % par bootstrap) : marché 0,98 [0,79 ; 1,15] ; modèle combiné 0,14 [−0,03 ; +0,32]. Le poids du modèle n'est pas distinguable de zéro.
- Hors échantillon, « marché + modèle combiné » obtient 0,9736, contre 0,9737 pour le marché simplement recalibré : −0,0001 ± 0,0002.
- Même conclusion pour le modèle de Dixon-Coles sur xG : poids −0,03 [−0,21 ; +0,15].
Sur H2. Aucune information démontrée au-delà des cotes. Ce que nos modèles savent, le marché le sait déjà.
8. Test final et paris fictifs
Le modèle combiné, figé, a été appliqué une seule fois aux saisons 2024-25 et 2025-26 (3 497 matchs) : log loss 0,9842, contre 0,9722 pour le marché (écart +0,0120 ± 0,0050). Les performances de validation se retrouvent donc sur des données entièrement neuves, sans dégradation notable : le protocole n'a pas produit de sur-apprentissage.
La stratégie de paris, fixée avant de regarder ces saisons, consistait à miser lorsque pmodèle × cote − 1 dépassait un seuil de 10, 15 ou 20 %, en mise fixe ou en fraction de Kelly. Tous les rendements sont négatifs (de −14 % à −18 % en mise fixe), contre −3,8 % en pariant simplement sur le favori. Mesurés contre les cotes de clôture, nos paris n'obtiennent jamais un meilleur prix que le marché final. Parier quand le modèle contredit le marché revient surtout à parier là où le modèle se trompe.
9. Suivi en direct (saison 2026-27)
Les saisons passées ayant toutes servi, le seul test encore propre est prospectif : prédire des matchs qui n'ont pas eu lieu.
- Prédiction provisoire, sans la composition : modèle 1, réentraîné sur tous les matchs déjà joués, pour les matchs des sept prochains jours. Un match n'est prédit que lorsque les résultats précédents des deux équipes sont connus.
- Prédiction avec la composition officielle : modèle combiné, une fois le onze de départ publié. Les notes des joueurs sont recalculées à partir de leurs dix derniers matchs, puis le modèle, entraîné une fois sur les saisons 2015-16 à 2025-26, est appliqué tel quel. Cette prédiction est enregistrée dans l'heure qui précède le coup d'envoi.
- Chaque prédiction est ajoutée à un journal avec la date et l'heure de son enregistrement. Le journal ne fonctionne qu'en ajout : aucune ligne n'est jamais modifiée ni supprimée, et les deux versions d'une même prédiction sont conservées et évaluées séparément.
- Les résultats sont comparés à deux références simples : « toujours domicile » et les fréquences historiques des trois issues (44,1 %, 25,1 %, 30,8 % sur 2015-16 → 2025-26).
10. Limites
- Correction de procédure. Une première version de l'entraînement choisissait le nombre d'époques en observant la saison évaluée. L'erreur a été corrigée et son effet mesuré : elle flattait le modèle 1 de 0,0024 et le modèle combiné de 0,0012 en log loss. Les tableaux de la section 6 utilisent la méthode corrigée. Les chiffres des variantes (5.4), de la section 7 et du test final (section 8) datent d'avant la correction et n'ont pas été recalculés : ils sont trop favorables à nos modèles d'un ou deux millièmes, ce qui ne change aucune conclusion.
- Taille des effets. Les écarts entre modèles sont de l'ordre de quelques millièmes de log loss ; il faut plusieurs milliers de matchs pour les établir. Sur une saison de suivi en direct (environ 1 750 matchs), seuls les écarts importants seront visibles.
- Indépendance. Les intervalles supposent des matchs indépendants, ce qui n'est qu'approximativement vrai (même équipe, même journée).
- Comparaisons multiples. De nombreuses variantes ont été essayées sur les mêmes saisons de validation ; les gains « démontrés de peu » doivent être lus avec prudence.
- Données manquantes. La couverture des statistiques de joueurs est inégale avant 2015-16, et certaines statistiques de gardiens sont incohérentes d'une source à l'autre.
- Information absente. Blessures annoncées, enjeu du match, météo, calendrier européen : le marché les intègre, nos modèles non.
- Marge des cotes. Elle est retirée par simple normalisation, ce qui ignore le biais connu entre favoris et outsiders.
Projet de formation en IA. Ces prédictions ne sont pas des conseils de paris. Les cotes des bookmakers servent uniquement de référence statistique et ne sont pas affichées sur ce site.