TM1.0
Comment TrailMath évalue un parcours
Chaque nombre TrailMath sur ce site - le km-effort d'une page de course, le temps de référence à côté, la cote qu'un calculateur estime - vient d'un seul modèle figé et versionné. Cette page est ce modèle : les formules, chaque paramètre et sa provenance, et les tableaux qui montrent où il se trompe. Version courante : TM1.0, ajustée le 2026-09-25.
Le km-effort : la taille d'un parcours
km-effort = distance_km + D+_m / 100 + D-_m / 200. Le terme de montée est exactement le km-effort public d'ITRA, si bien qu'un chiffre ITRA et un chiffre TrailMath ne diffèrent que par le terme de descente. Quand un organisateur ne publie pas de D-, la descente est prise égale à la montée et le nombre est marqué comme supposé.
Le diviseur de descente de 200 est une convention publiée, pas une valeur ajustée. Rien dans les données sur lesquelles TrailMath peut s'ajuster - vingt-quatre résultats publics avec des chiffres de parcours en D+ seulement, et aucun temps intermédiaire - n'identifie un coût de descente, et les deux valeurs utilisées auparavant (150 sur le site, 250 dans l'application) étaient toutes deux des estimations non ajustées. La courbe de coût énergétique de Minetti n'entre volontairement pas ici : c'est un coût énergétique, et comme coût en temps elle a le mauvais signe en descente.
Exemples, à partir des chiffres officiels : UTMB Mont-Blanc fait 324,0 km-effort (174 km, +10 000 m, -10 000 m) ; CCC (Courmayeur-Champex-Chamonix) fait 201,7 km-effort.
La cote TrailMath : la vitesse d'un coureur
cote = a + b · ln(v · κ) + c · ln(km-effort), où v est le nombre de km-effort par heure et κ le facteur de classe de terrain du parcours. Résolu en temps : ln t = (1 + c/b) · ln(km-effort) + (a - cote)/b + ln κ, donc le temps d'arrivée croît comme le km-effort à la puissance 1.225 - un exposant continu unique, publié, au lieu de la valeur classique de 1,06 sur route.
Les coefficients sont un ajustement par moindres carrés sur 20 résultats publics dont les coureurs portent une cote UTMB de catégorie publique, avec 4 résultats supplémentaires mis de côté et jamais ajustés. Valeurs : a = -1385.575779, b = 561.716376, c = 126.161787. Cent points de cote valent un facteur 1.19 sur le temps.
L'erreur qui compte est hors échantillon. Validation croisée un résultat à la fois : 65,9 points. En retirant tous les résultats d'un même coureur : 66,7. En retirant tous les résultats d'un même parcours : 66,7. La plus grande des trois, 66,7, est le nombre dont chaque fourchette de ce site est construite. L'erreur dans l'échantillon est de 51,3 ; elle est publiée, pas utilisée.
Sous 50 km-effort, l'ajustement extrapole (deux résultats, dont la ligne la moins bien ajustée), donc aucun temps de référence n'y est donné. Tous les temps du modèle sont en heures.
Les classes de terrain
κ est un nombre par classe de terrain, fixé avant l'ajustement et normalisé pour que montagne = 1 : road to_trail 0.88, forest 0.90, trail 0.93, mountain 1.00, ultra mountain 1.05. Il porte tout ce qu'un parcours apporte que le km-effort ne porte pas - altitude typique, météo, exposition nocturne, terrain - sous forme d'une moyenne par classe. Un facteur par course demande des résultats que le modèle n'a pas encore et n'est pas publié.
Ce sont les classes que l'application TrailMath utilise pour son catalogue, attribuées d'après le D+ par kilomètre : trail 10-45 m/km, montagne 30-80, et ultra montagne à partir de 45 m/km sur des parcours d'au moins 100 km.
Le temps de référence
Le temps de référence d'une page de course est le modèle à la cote 500, avec le facteur de classe et sans conditions du jour. La cote 500 est définie comme le finisher médian d'un ultra de l'UTMB World Series : sur les éditions chronométrées de l'UTMB, la CCC, l'OCC, la TDS et Val d'Aran du tableau ci-dessous, le finisher médian implique une cote de 536.
UTMB Mont-Blanc : environ 43 h. CCC (Courmayeur-Champex-Chamonix) : environ 24 h. Ce sont des descriptions d'un coureur de ce niveau, pas un plan d'allure, et jamais une garantie face à une barrière horaire.
Tous les paramètres
| model_version | 1.0.0 | affiché TM1.0 ; un réajustement incrémente le mineur, un changement de formule le majeur |
|---|---|---|
| gain_divisor | 100 | le km-effort public d'ITRA, fixé pour la compatibilité |
| loss_divisor | 200 | convention publiée, pas un ajustement : entre les deux valeurs internes non ajustées (150 site, 250 application) |
| a (ordonnée) | -1385.575779 | moindres carrés sur les résultats d'entraînement |
| b (coefficient de vitesse) | 561.716376 | même ajustement ; 100 points de cote = ×1.195 sur le temps |
| c (coefficient d'effort) | 126.161787 | même ajustement |
| exposant 1 + c/b | 1.2246 | l'exposant de type Riegel sur le km-effort |
| rmse (dans l'échantillon) | 51,34 | publiée, pas utilisée |
| rmse (validation croisée) | 65,90 | résultats d'entraînement, un à la fois |
| rmse (sans un coureur) | 66,73 | les coureurs se répètent dans la table |
| rmse (sans un parcours) | 66,72 | les parcours se répètent dans la table |
| rmse (hors échantillon) | 66,73 | la plus grande des trois ; ce dont chaque fourchette est construite |
| min_effort_km | 50 | en dessous, la cote extrapole et aucun temps de référence n'est affiché |
| reference_index | 500 | le finisher médian d'un ultra de l'UTMB World Series |
| κ par classe | road_to_trail 0.88 · forest 0.9 · trail 0.93 · mountain 1 · ultra_mountain 1.05 | montagne = 1 |
| résultats | 20 ajustés + 4 mis de côté | empreinte 05e114a59751 ; ajusté le 2026-09-25 |
Les résultats sur lesquels la cote est ajustée
Chaque ligne est un résultat public et la cote UTMB de catégorie publique que porte son coureur. La descente est supposée égale à la montée sur chaque ligne - aucune page de coureur ne publie le D- - et marquée comme telle. Le résidu est la cote du coureur moins celle du modèle, cette ligne étant retirée de l'ajustement (pour les lignes mises de côté, contre l'ajustement complet). Positif : le coureur a fait mieux que la courbe.
| Course | Année | Parcours | Classe | Km-effort | Temps (h) | Cote | Résidu |
|---|---|---|---|---|---|---|---|
| OCC - HOKA UTMB Mont-Blanc | 2025 | 57 km · +3 500 · −3 500 (supposé) | mountain | 109,5 | 5,01 | 918 | -25 |
| Sierre-Zinal | 2024 | 31.3 km · +2 190 · −2 190 (supposé) | mountain | 64,2 | 2,43 | 945 | -50 |
| UTMB Mont-Blanc | 2025 | 174.2 km · +9 920 · −9 920 (supposé) | ultra mountain | 323,0 | 19,32 | 957 | +5 |
| Western States 100 | 2026 | 162.2 km · +5 790 · −7 238 (supposé) | trail | 256,3 | 13,77 | 943 | +31 |
| WMTRC Long Trail 82km | 2025 | 81.2 km · +5 413 · −5 413 (supposé) | mountain | 162,4 | 8,59 | 959 | +57 |
| WMTRC Long Trail 82km | 2025 | 81.2 km · +5 413 · −5 413 (supposé) | mountain | 162,4 | 9,97 | 859 | +37 |
| Chianti Ultra Trail | 2026 | 118.9 km · +5 121 · −5 121 (supposé) | mountain | 195,7 | 11,53 | 859 | -13 |
| Hardrock 100 | 2025 | 157.7 km · +9 720 · −9 720 (supposé) | ultra mountain | 303,5 | 24,07 | 887 | +115 |
| UTMB Mont-Blancmis de côté | 2025 | 174.2 km · +9 920 · −9 920 (supposé) | ultra mountain | 323,0 | 22,94 | 812 | -44 |
| OCC - HOKA UTMB Mont-Blanc | 2024 | 57 km · +3 500 · −3 500 (supposé) | mountain | 109,5 | 6,41 | 741 | -64 |
| OCC - HOKA UTMB Mont-Blanc | 2024 | 57 km · +3 500 · −3 500 (supposé) | mountain | 109,5 | 6,22 | 811 | -7 |
| Lavaredo 80Kmis de côté | 2026 | 80 km · +4 600 · −4 600 (supposé) | mountain | 149,0 | 10,41 | 725 | -16 |
| Tatra Fest Bieg | 2025 | 68 km · +5 000 · −5 000 (supposé) | mountain | 143,0 | 8,24 | 846 | +2 |
| Istria 100 by UTMB - 168K | 2026 | 168.2 km · +7 140 · −7 140 (supposé) | mountain | 275,3 | 22,12 | 712 | -31 |
| UTMB Mont-Blanc | 2025 | 174.2 km · +9 920 · −9 920 (supposé) | ultra mountain | 323,0 | 28,51 | 742 | +9 |
| Speed'Goat Trail des Geantsmis de côté | 2026 | 132 km · +8 024 · −8 024 (supposé) | ultra mountain | 252,4 | 39,93 | 356 | -19 |
| Ultra Trail du Vercors - Solo | 2025 | 82 km · +4 400 · −4 400 (supposé) | mountain | 148,0 | 18,94 | 366 | -49 |
| Trail de la Cochette | 2025 | 42 km · +2 200 · −2 200 (supposé) | mountain | 75,0 | 6,22 | 470 | -100 |
| Alpi Trail de Pichauris | 2025 | 21 km · +1 100 · −1 100 (supposé) | mountain | 37,5 | 2,55 | 549 | -44 |
| Trans Aubrac TA 105 | 2026 | 108 km · +3 500 · −3 500 (supposé) | trail | 160,5 | 14,65 | 550 | -10 |
| SKY - Baqueira Beret | 2026 | 18 km · +900 · −900 (supposé) | mountain | 31,5 | 2,68 | 565 | +198 |
| Ultra Trail du Puy Mary Aurillac - Solo | 2026 | 114 km · +5 500 · −5 500 (supposé) | ultra mountain | 196,5 | 18,27 | 581 | -69 |
| Javelina Jundredmis de côté | 2024 | 159.2 km · +1 810 · −1 810 (supposé) | trail | 186,4 | 19,76 | 594 | +100 |
| EcoTrail Stockholm 45km | 2025 | 45.2 km · +1 250 · −1 250 (supposé) | trail | 64,0 | 4,47 | 621 | +33 |
Là où le modèle et les résultats divergent
Pour chaque édition chronométrée de la bibliothèque de résultats : le temps de référence à la cote 500, la médiane observée, et la cote que porterait un coureur finissant à cette médiane. Ce n'est pas une cible d'ajustement : une médiane lente peut être un parcours dur ou un plateau faible, et rien ici ne distingue les deux. Les lignes hors de 420-600 sont signalées (10 sur 30) ; chacune est un cas pour un futur facteur par course, une fois assez de résultats réunis pour l'ajuster.
| Course | Année | Classe | Km-effort | Référence (h) | Médiane (h) | Ratio | Cote impliquée | Finishers |
|---|---|---|---|---|---|---|---|---|
| CCC (Courmayeur-Champex-Chamonix) | 2026 | ultra mountain | 201,7 | 24,3 | 22,2 | 0,91 | 551 | 1 512 |
| Chiang Mai Thailand by UTMB - Chiang Dao 160 | 2025 | ultra mountain | 313,7* | 41,7 | 42,0 | 1,01 | 497 | 367 |
| Chiang Mai Thailand by UTMB - Elephant 100 | 2025 | ultra mountain | 172,8* | 20,1 | 22,1 | 1,10 | 448 | 974 |
| Diagonale des Fous (Grand Raid Réunion) | 2025 | ultra mountain | 335,5* | 45,3 | 51,0 | 1,12 | 434 | 2 064 |
| MaXi-Race Demi tOur du Lac | 2026 | mountain | 108,8* | 10,9 | 9,5 | 0,87 | 575 | 1 244 |
| MaXi-Race Marathon-eXperience | 2026 | mountain | 68,0* | 6,1 | 5,6 | 0,92 | 549 | 1 259 |
| MaXi-Race tOur du Lac Solosignalé | 2026 | ultra mountain | 186,5* | 22,1 | 18,2 | 0,83 | 607 | 1 418 |
| OCC (Orsières-Champex-Chamonix) | 2026 | mountain | 111,9 | 11,3 | 11,4 | 1,01 | 494 | 1 556 |
| SaintéLyon | 2025 | trail | 109,1* | 10,1 | 11,0 | 1,08 | 455 | 6 152 |
| SkyRun 100signalé | 2024 | mountain | 160,7 | 17,5 | 25,6 | 1,46 | 288 | 125 |
| SkyRun 65signalé | 2024 | mountain | 112,2 | 11,3 | 16,4 | 1,45 | 291 | 96 |
| TDS (Sur les Traces des Ducs de Savoie) | 2026 | ultra mountain | 288,4 | 37,7 | 37,5 | 1,00 | 502 | 714 |
| Trail del Cinghiale 100K | 2025 | ultra mountain | 179,0* | 21,0 | 19,3 | 0,92 | 547 | 80 |
| Trail del Cinghiale 20K | 2025 | mountain | 35,7* | sous le plancher | 3,1 | - | 437 | 344 |
| Transgrancanaria Advanced | 2026 | ultra mountain | 145,9* | 16,3 | 14,7 | 0,90 | 560 | 598 |
| Transgrancanaria Classicsignalé | 2025 | ultra mountain | 228,8* | 28,4 | 23,6 | 0,83 | 602 | 568 |
| Transgrancanaria Marathon | 2026 | mountain | 72,6* | 6,6 | 7,1 | 1,07 | 464 | 1 478 |
| Ultra-Trail Harricana - UTHC 125signalé | 2026 | trail | 186,3 | 19,5 | 24,5 | 1,25 | 373 | 279 |
| Ultra-Trail Harricana - UTHC 42 Classicsignalé | 2026 | trail | 59,8 | 4,9 | 6,3 | 1,30 | 351 | 366 |
| Ultra-Trail Harricana - UTHC 42 Saint-Simeonsignalé | 2026 | trail | 62,2 | 5,1 | 7,1 | 1,40 | 312 | 370 |
| Ultra-Trail Harricana - UTHC 60 MS Canadasignalé | 2026 | trail | 97,8 | 8,9 | 11,5 | 1,30 | 353 | 41 |
| Ultra-Trail Harricana - UTHC 65signalé | 2026 | trail | 88,4 | 7,8 | 10,2 | 1,30 | 351 | 410 |
| Ultra-Trail Harricana - UTHC 80signalé | 2026 | trail | 107,6 | 10,0 | 12,0 | 1,21 | 394 | 249 |
| UTMB Mont-Blanc | 2026 | ultra mountain | 324,0 | 43,4 | 38,2 | 0,88 | 573 | 1 676 |
| UTMB Mont-Blanc | 2025 | ultra mountain | 324,0 | 43,4 | 40,8 | 0,94 | 535 | 1 665 |
| UTMB Mont-Blanc | 2024 | ultra mountain | 325,1* | 43,6 | 40,6 | 0,93 | 540 | 1 760 |
| Val d'Aran by UTMB - CDH 110K | 2026 | ultra mountain | 204,3 | 24,7 | 22,0 | 0,89 | 565 | 854 |
| Val d'Aran by UTMB - PDA 55K | 2026 | mountain | 105,9 | 10,5 | 10,6 | 1,00 | 498 | 1 478 |
| Val d'Aran by UTMB - TDL 75K | 2026 | mountain | 150,2 | 16,1 | 15,1 | 0,94 | 536 | 610 |
| Val d'Aran by UTMB - VDA 163K | 2026 | ultra mountain | 313,0 | 41,6 | 39,5 | 0,95 | 529 | 358 |
* supposé
Ce que TM1.0 ne modélise pas
- Un coût de descente non linéaire. Les descentes raides ou techniques coûtent plus que le terme linéaire ne le dit ; l'ajuster demande des temps intermédiaires, que le modèle n'a pas.
- Un facteur par course. Seul le facteur de classe existe ; le tableau ci-dessus dit où irait un facteur au niveau de la course.
- La baisse de rythme au sein d'une course. L'exposant est ajusté entre courses et ne peut pas produire le ralentissement de seconde moitié que montrent les vrais temps intermédiaires ; les splits du Plan de course gardent leur propre rampe, non validée.
- La nuit, la chaleur et l'altitude dans le chiffre principal. Ce que les résultats ajustés ont vécu est moyenné dans les coefficients ; le Simulateur de conditions applique des écarts propres au jour et le dit.
- La technicité. Une trace GPX ne voit ni la roche, ni les racines, ni les pierriers.
Historique
- TM1.0 (2026-09-25) : premier modèle figé. Le diviseur de descente 200 remplace le 150 utilisé sur ce site et le 250 utilisé dans l'application ; la cote est réajustée sur le km-effort conditionnellement aux classes de terrain ; les fourchettes viennent de l'erreur hors échantillon au lieu de 25 points fixes.