Articles /
Backtest sur 60 fichiers de course: à quel point le moteur est-il précis
La prédiction de temps d'arrivée d'AeroPacer tourne sur un moteur physique, pas sur une régression statistique. L'avantage d'un moteur physique, c'est qu'il peut calculer un nouveau parcours dès le premier jour. L'inconvénient, c'est qu'il faut prouver qu'il calcule juste. Cet article détaille comment je l'ai validé.
Comment j'ai testé
La méthode s'appelle le rejeu: on prend l'enregistrement de puissance que l'athlète a réellement produit le jour de course, on le donne au moteur segment par segment, on ajoute la direction et la vitesse du vent heure par heure du jour même ainsi que les ralentissements en virage du parcours, et on calcule combien de temps cette sortie "aurait dû" prendre selon le moteur. On compare ensuite avec le temps réel enregistré par le compteur.
Le détail le plus important est le CdA (surface de traînée). Si tu déduis le CdA du fichier d'une course et que tu t'en sers ensuite pour prédire cette même course, c'est de la triche. Donc pour chaque course, le CdA vient uniquement des autres courses de cet athlète: les estimations sont pondérées par leur ancienneté et on en prend la médiane. Les données de la course elle-même ne participent pas.
Échantillon
- Neuf athlètes, de 2019 à 2026, 74 fichiers de course, sur des parcours répartis dans plus de 16 pays.
- Tous les poids sont des valeurs mesurées. Les vélos sont regroupés par type (vélos de tri et vélos de route ont des lignes de base CdA séparées).
- Les fichiers avec un problème documenté ont été écartés: deux sans puissance, quatre avec un baromètre défectueux, un envoi en double, trois avec un GPS faussé dans des tunnels. Leurs estimations de CdA restent dans le pool de référence; seuls leurs temps globaux sont exclus des statistiques.
Il restait 64 courses évaluables. Quatre valeurs aberrantes extrêmes ont ensuite été retirées, ce qui donne un échantillon final de 60 courses.
Résultats
| Indicateur | Valeur |
|---|---|
| Médiane de l'erreur absolue | 2.2% |
| Dans les ±5% | 92% |
| Dans les ±3% | 73% |
| Médiane sur 70.3 (113 km) | 1.7% |
| Médiane sur distance complète (226 km) | 2.3% |
| Médiane signée | +0.7% (légèrement prudente) |
Le site dit "erreur médiane d'environ 2%, neuf courses sur dix dans les ±5%". Les deux chiffres sont arrondis dans le sens prudent.
Comment l'erreur se répartit
Prédiction contre réalité
D'où vient l'erreur
- Le poids. Avec des poids supposés, la médiane était en fait plus basse, parce que quand le poids est faux, l'estimation du CdA compense dans l'autre sens et masque l'erreur. Une fois les poids mesurés entrés, les incohérences de matériel et d'époque sont apparues au grand jour. C'est aussi pour cela que la Console te demande ton vrai poids.
- Les changements de matériel. Le CdA implicite d'un athlète est passé de 0.22 à une valeur entre 0.16 et 0.18 à partir de 2024. Une grosse amélioration de matériel, mais la médiane sur tout l'historique n'arrive pas à suivre. C'est le coût inévitable d'un CdA estimé à partir des autres courses.
- La distance à la station météo. Il n'y a pas de station météo près de Port Macquarie et le vent était fort; deux athlètes sur la même course sont ressortis à −7.4% et −4.1%.
- Les baromètres qui surestiment le dénivelé sur les longs parcours plats. Celui-là touche la construction des parcours, pas le moteur; la bibliothèque de parcours le traite avec les tracés officiels et des recoupements entre plusieurs sources.
Les courses utilisées pour la validation
Les 60 courses retenues viennent de 45 éditions, réparties comme suit. Quand une course compte plusieurs fichiers, il s'agit d'athlètes différents. L'erreur est l'écart entre la prédiction de chaque fichier et la réalité (positif = prédit plus lent). Les trois "sorties d'entraînement" sont mes propres sorties, roulées sur la distance d'une course, ajoutées pour compléter l'échantillon 2026.
| Année | Course | Partie vélo | Fichiers | Erreur par fichier |
|---|---|---|---|---|
| 2026 | Tielifang · Guangde 113 | 113 · 88 km | 1 | +3.3% |
| 2026 | Sortie d'entraînement (hors compétition) | 116 km | 3 | -1.5% -0.5% +1.1% |
| 2026 | IRONMAN Vietnam · Da Nang | 226 · 180 km | 1 | +4.1% |
| 2026 | IRONMAN Taiwan · Penghu | 226 · 178 km | 1 | +2.2% |
| 2026 | IRONMAN Hamburg | 226 · 177 km | 2 | -0.7% +3.7% |
| 2026 | IRONMAN 70.3 Shanghai Chongming | 113 · 90 km | 3 | +1.0% +3.5% +4.5% |
| 2026 | Challenge Taiwan 226 | 226 · 180 km | 1 | +6.3% |
| 2025 | Tielifang · Guangde 113 | 113 · 89 km | 1 | +0.1% |
| 2025 | Beauty of Taitung 113 | 113 · 89 km | 1 | +3.8% |
| 2025 | Championnat du monde IRONMAN · Nice | 226 · 178 km | 1 | -1.5% |
| 2025 | Championnat du monde IRONMAN · Kona | 226 · 181 km | 1 | +2.7% |
| 2025 | IRONMAN Taiwan · Penghu | 226 · 184 km | 1 | +5.2% |
| 2025 | IRONMAN Malaysia · Langkawi | 226 · 179 km | 1 | -0.9% |
| 2025 | IRONMAN Gurye | 226 · 176 km | 3 | -1.5% +0.9% +1.1% |
| 2025 | IRONMAN Frankfurt | 226 · 175 km | 2 | +0.9% +2.4% |
| 2025 | IRONMAN California · Sacramento | 226 · 180 km | 1 | +2.3% |
| 2025 | IRONMAN 70.3 Kenting | 113 · 90 km | 1 | -0.9% |
| 2025 | IRONMAN 70.3 Shanghai Chongming | 113 · 90 km | 4 | -0.1% +1.3% +2.7% +2.7% |
| 2025 | IRONMAN 70.3 Puerto Princesa | 113 · 90 km | 2 | -1.7% -1.7% |
| 2024 | Tielifang · Guangde 113 | 113 · 89 km | 1 | -2.7% |
| 2024 | Championnat du monde IRONMAN · Kona (fichier partiel) | 73 km (partiel) | 1 | +3.5% |
| 2024 | Championnat du monde IRONMAN · Kona | 226 · 180 km | 1 | +2.2% |
| 2024 | IRONMAN Texas | 226 · 178 km | 1 | +4.1% |
| 2024 | IRONMAN Cairns | 226 · 179 km | 1 | -0.9% |
| 2024 | Championnat du monde IRONMAN 70.3 · Taupō | 113 · 90 km | 2 | -2.4% -0.7% |
| 2024 | IRONMAN 70.3 Subic Bay | 113 · 91 km | 1 | +2.3% |
| 2024 | IRONMAN 70.3 Desaru Coast | 113 · 89 km | 1 | -2.7% |
| 2024 | IRONMAN 70.3 Bangsaen | 113 · 90 km | 1 | +2.7% |
| 2024 | IRONMAN 70.3 Bahrain | 113 · 90 km | 2 | +0.5% +0.9% |
| 2024 | Challenge Xiamen 113 | 113 · 89 km | 1 | +3.9% |
| 2024 | Challenge Taiwan 226 | 226 · 179 km | 1 | +4.2% |
| 2024 | Challenge Roth | 226 · 178 km | 1 | +2.3% |
| 2023 | Tielifang · Guangde 113 | 113 · 86 km | 2 | -7.0% +0.6% |
| 2023 | Puyuma Triathlon 226 | 226 · 178 km | 1 | -2.0% |
| 2023 | IRONMAN France · Nice | 226 · 179 km | 1 | -5.9% |
| 2023 | IRONMAN Austria · Klagenfurt | 226 · 179 km | 1 | -2.4% |
| 2023 | IRONMAN Australia · Port Macquarie | 226 · 180 km | 1 | -4.1% |
| 2023 | IRONMAN 70.3 Kenting | 113 · 90 km | 1 | -2.3% |
| 2023 | IRONMAN 70.3 Puerto Princesa | 113 · 90 km | 1 | -0.8% |
| 2022 | IRONMAN Taiwan · Penghu | 226 · 179 km | 1 | -1.9% |
| 2022 | IRONMAN 70.3 Taitung | 113 · 88 km | 1 | -0.3% |
| 2019 | Championnat du monde IRONMAN · Kona | 226 · 180 km | 1 | +5.5% |
| 2019 | IRONMAN 70.3 Xi'an | 113 · 90 km | 1 | -0.8% |
| 2019 | IRONMAN 70.3 Liuzhou | 113 · 90 km | 1 | -2.1% |
| 2019 | IRONMAN 70.3 Xiamen | 113 · 90 km | 1 | -0.3% |
Ce que cela veut dire
Pour un athlète de groupe d'âge, ce chiffre veut dire ceci: roule selon le plan et ton temps d'arrivée tombera à environ ±5% de la prédiction. Renvoie ton fichier de sortie après le jour de course pour la comparaison, et ton propre CdA converge un peu plus serré à chaque course, donc l'erreur sur la suivante se resserre encore.
Note sur la fiabilité
- Chaque chiffre de cet article est calculé directement depuis le tableau de résultats du backtest, et les graphiques sont tracés à partir des mêmes données. Aucune course n'a été mise de côté.
- Les fichiers écartés et les raisons sont tous listés plus haut. Les exclusions ont été décidées sur la qualité des données avant de voir les résultats, pas sur la taille de l'erreur.
- L'échantillon vient de neuf athlètes et de moi-même, et couvre des parcours en Asie, en Europe, en Amérique du Nord et en Océanie. Aucune course n'a utilisé son propre fichier pour estimer son propre CdA.
- Le script de backtest et le tableau de résultats sont conservés dans le projet et relancés à chaque mise à jour du moteur. Si les chiffres bougent, ils seront mis à jour ici, avec la raison du changement.
Le backtest se poursuivra sur de nouveaux fichiers de sortie.