Skip to content
TrailMath
Build my plan Dashboard Build my plan Dashboard

TM1.0

How TrailMath rates a course

Every TrailMath number on this site - the effort-km on a race page, the reference time beside it, the index a calculator estimates - comes from one frozen, versioned model. This page is that model. Current version: TM1.0, fitted 2026-09-25.

In 30 seconds

  1. Effort-km is the size of a course: distance + gain ÷ 100 + loss ÷ 200. UTMB Mont-Blanc is 324 effort-km, CCC (Courmayeur-Champex-Chamonix) is 202.
  2. The TrailMath Index is the runner, 0 to 1000. The reference time on a race page is the model at index 500, a mid-pack finisher of a UTMB World Series ultra: about 43 h on UTMB Mont-Blanc, 24 h on CCC (Courmayeur-Champex-Chamonix).
  3. Every range is built on the model's out-of-sample error (66.7 index points), not on how well the fit matches its own data. What the model cannot do is listed at the bottom.

How it works

Effort-km: the size of a course

effort-km = distance_km + gain_m / 100 + loss_m / 200

The uphill term is ITRA's public km-effort exactly, so an ITRA figure and a TrailMath figure differ only by the descent term. When an organiser publishes no descent, loss is taken equal to gain and the number is marked as assumed.

The descent divisor of 200 is a published convention, not a fitted value. Nothing in the data TrailMath may fit on - twenty-four public results with gain-only course figures, and no split times - identifies a descent cost, and the two values previously in use here (150 on the site, 250 in the app) were both unfitted guesses. Minetti's energy-cost curve deliberately does not enter: it is an energy cost, and as a time cost it has the wrong sign on descents.

Worked examples, from the official figures: UTMB Mont-Blanc is 324 effort-km (174 km, +10,000 m, -10,000 m); CCC (Courmayeur-Champex-Chamonix) is 202 effort-km.

The TrailMath Index: how fast a runner is

index = a + b · ln(v · κ) + c · ln(effort-km)        v = effort-km / hours
ln t = (1 + c/b) · ln(effort-km) + (a - index) / b + ln κ

v is effort-km per hour and κ is the course's terrain-class factor. Solved for time, finish time scales as effort-km to the power 1.225 - one continuous exponent, published, instead of the classic road value of 1.06.

The coefficients are an ordinary least-squares fit to 20 public results whose runners carry a public UTMB category index, with 4 further results held out and never fitted. Fitted values: a = -1385.575779, b = 561.716376, c = 126.161787. One hundred index points are a factor of 1.19 in time.

The error that matters is out of sample. Leave-one-out over the training results: 65.9 points. Leaving out every result of one runner: 66.7. Leaving out every result on one course: 66.7. The largest of these, 66.7, is the number every range on this site is built from. In-sample error is 51.3; it is reported, not used.

Below 50 effort-km the fit is extrapolating (two results, one of them the worst-fitting row), so no reference time is quoted there. Every time in the model is in hours.

Terrain classes

κ is one number per terrain class, fixed before the fit and normalised so that mountain = 1: road to_trail 0.88, forest 0.90, trail 0.93, mountain 1.00, ultra mountain 1.05. It carries everything a course brings that effort-km does not - typical altitude, weather and night exposure, ground - as one average per class. A per-race factor needs results the model does not yet have and is not published.

The classes are the ones the TrailMath app uses for its catalogue, assigned from gain per kilometre: trail 10-45 m/km, mountain 30-80, and ultra mountain from 45 m/km on courses of at least 100 km.

The reference time

The reference time on a race page is the model at index 500 with the class factor and no day-specific conditions. Index 500 is defined as the median finisher of a UTMB World Series ultra: over the timed editions of UTMB, CCC, OCC, TDS and Val d'Aran in the table further down, the median finisher implies an index of 536.

These are descriptions of a runner of that ability, not a pacing plan, and never a guarantee against a cutoff.

What an index is worth, in hours

The same course, at three levels of runner.

Race Index 400Index 500Index 600
UTMB Mont-Blanc 52 h43 h36 h
CCC 29 h24 h20 h

One hundred index points are a factor of 1.19 in time.

Try it on a course

Type a course, or pick one from the library, and read the same two numbers a race page shows. Model TM1.0.

Effort-km
324 effort-km
Reference time
About 43 h for a mid-pack finisher (index 500)

Terrain factor 1.05 (Ultra mountain)

Distance + gain ÷ 100 + loss ÷ 200. Not a pacing guarantee. What is this?

The evidence

Every parameter

model_version TM1.0 a refit bumps the minor, a formula change the major
gain_divisor 100 ITRA's public km-effort, held fixed for compatibility
loss_divisor 200 published convention, not a fit: between the two unfitted in-house values (150 web, 250 app); no time-bearing data we may fit on identifies a descent cost
a (intercept) -1385.575779 least squares on the training results
b (speed coefficient) 561.716376 same fit; 100 index points = ×1.19 in time
c (effort coefficient) 126.161787 same fit
exponent 1 + c/b 1.2246 the Riegel-style exponent on effort-km
rmse (in sample) 51.3 reported, not used
rmse (leave one out) 65.9 training results, one row at a time
rmse (leave one runner out) 66.7 runners repeat in the table
rmse (leave one course out) 66.7 courses repeat in the table
rmse (out of sample) 66.7 the largest of the three; what every range is built from
min_effort_km 50 below this the index is extrapolated and no reference time is shown
reference_index 500 the median finisher of a UTMB World Series ultra
κ by class road_to_trail 0.88 · forest 0.9 · trail 0.93 · mountain 1 · ultra_mountain 1.05 mountain = 1
anchors 20 fitted + 4 held out hash 05e114a59751; fitted 2026-09-25

The results the index is fitted to

Each row is one public result and the public UTMB category index its runner carries. Loss is assumed equal to gain on every row - no runner page publishes descent - and is marked. The residual is the runner's index minus the model's, with that row left out of the fit (for held-out rows, against the full fit). Positive means the runner scored above the curve.

RaceYearCourseClassEffort-kmTime (h)IndexResidual
OCC - HOKA UTMB Mont-Blanc 2025 57 km · +3,500 · −3,500 (assumed) mountain 109.5 5.01 918 -25
Sierre-Zinal 2024 31.3 km · +2,190 · −2,190 (assumed) mountain 64.2 2.43 945 -50
UTMB Mont-Blanc 2025 174.2 km · +9,920 · −9,920 (assumed) ultra mountain 323.0 19.32 957 +5
Western States 100 2026 162.2 km · +5,790 · −7,238 (assumed) trail 256.3 13.77 943 +31
WMTRC Long Trail 82km 2025 81.2 km · +5,413 · −5,413 (assumed) mountain 162.4 8.59 959 +57
WMTRC Long Trail 82km 2025 81.2 km · +5,413 · −5,413 (assumed) mountain 162.4 9.97 859 +37
Chianti Ultra Trail 2026 118.9 km · +5,121 · −5,121 (assumed) mountain 195.7 11.53 859 -13
Hardrock 100 2025 157.7 km · +9,720 · −9,720 (assumed) ultra mountain 303.5 24.07 887 +115
UTMB Mont-Blancheld out 2025 174.2 km · +9,920 · −9,920 (assumed) ultra mountain 323.0 22.94 812 -44
OCC - HOKA UTMB Mont-Blanc 2024 57 km · +3,500 · −3,500 (assumed) mountain 109.5 6.41 741 -64
OCC - HOKA UTMB Mont-Blanc 2024 57 km · +3,500 · −3,500 (assumed) mountain 109.5 6.22 811 -7
Lavaredo 80Kheld out 2026 80 km · +4,600 · −4,600 (assumed) mountain 149.0 10.41 725 -16
Tatra Fest Bieg 2025 68 km · +5,000 · −5,000 (assumed) mountain 143.0 8.24 846 +2
Istria 100 by UTMB - 168K 2026 168.2 km · +7,140 · −7,140 (assumed) mountain 275.3 22.12 712 -31
UTMB Mont-Blanc 2025 174.2 km · +9,920 · −9,920 (assumed) ultra mountain 323.0 28.51 742 +9
Speed'Goat Trail des Geantsheld out 2026 132 km · +8,024 · −8,024 (assumed) ultra mountain 252.4 39.93 356 -19
Ultra Trail du Vercors - Solo 2025 82 km · +4,400 · −4,400 (assumed) mountain 148.0 18.94 366 -49
Trail de la Cochette 2025 42 km · +2,200 · −2,200 (assumed) mountain 75.0 6.22 470 -100
Alpi Trail de Pichauris 2025 21 km · +1,100 · −1,100 (assumed) mountain 37.5 2.55 549 -44
Trans Aubrac TA 105 2026 108 km · +3,500 · −3,500 (assumed) trail 160.5 14.65 550 -10
SKY - Baqueira Beret 2026 18 km · +900 · −900 (assumed) mountain 31.5 2.68 565 +198
Ultra Trail du Puy Mary Aurillac - Solo 2026 114 km · +5,500 · −5,500 (assumed) ultra mountain 196.5 18.27 581 -69
Javelina Jundredheld out 2024 159.2 km · +1,810 · −1,810 (assumed) trail 186.4 19.76 594 +100
EcoTrail Stockholm 45km 2025 45.2 km · +1,250 · −1,250 (assumed) trail 64.0 4.47 621 +33

Where the model and the results disagree

75 of 179 timed editions flagged (implied index outside 420-600).

For every timed edition in the results library: the reference time at index 500, the observed median, and the index a runner finishing at that median would carry. This is not a fit target - a slow median can be a hard course or a weak field, and nothing here can tell the two apart. Each flagged row is a case for a future per-race factor, once enough results exist to fit one.

RaceYearClassEffort-kmReference (h)Median (h)RatioImplied indexFinishers
23km du Mont-Blancflagged 2026 mountain 43.2 below floor 4.5 - 357 1,771
42km du Mont-Blanc 2026 mountain 80.1 7.5 7.8 1.04 479 1,999
90km du Mont-Blanc 2026 ultra mountain 180.1* 21.2 18.6 0.88 572 650
Black Canyon Ultras - 100Kflagged 2026 trail 127.2 12.2 14.9 1.22 391 765
Black Canyon Ultras - 100Kflagged 2025 trail 127.2 12.2 15.0 1.22 386 776
Black Canyon Ultras - 50Kflagged 2026 trail 64.0 5.3 6.7 1.27 366 850
Black Canyon Ultras - 50Kflagged 2025 trail 64.0 5.3 7.0 1.32 345 527
Bucovina Ultra Rocks by UTMB - Four Summits 72K 2026 mountain 141.0 14.9 14.8 0.99 507 237
Bucovina Ultra Rocks by UTMB - Lady's Rocks 48K 2026 mountain 96.0 9.3 9.4 1.01 493 350
Bucovina Ultra Rocks by UTMB - Rocky 33K 2026 mountain 63.0* 5.6 6.3 1.13 434 430
Bucovina Ultra Rocks by UTMB - Ultra Rocks 114K 2026 ultra mountain 219.0 26.9 25.6 0.95 527 100
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
Chianti Ultra Trail by UTMB - CUT 73Kflagged 2026 mountain 121.5* 12.4 10.4 0.84 601 1,036
Chianti Ultra Trail by UTMB - UTCC 123Kflagged 2026 mountain 198.0* 22.6 18.7 0.83 608 535
Diagonale des Fous (Grand Raid Réunion) 2026 ultra mountain 333.4 45.0 49.9 1.11 442 2,126
Diagonale des Fous (Grand Raid Réunion) 2025 ultra mountain 335.5* 45.3 51.0 1.12 434 2,064
EcoTrail Oslo - Trail 10 kmflagged 2026 forest 11.5 below floor 1.0 - 224 486
EcoTrail Oslo - Trail 21 kmflagged 2026 forest 25.3 below floor 2.2 - 348 1,081
EcoTrail Oslo - Trail 31 kmflagged 2026 forest 41.4 below floor 3.6 - 403 779
EcoTrail Oslo - Trail 50 km 2026 forest 67.9 5.5 6.2 1.13 430 498
EcoTrail Oslo - Trail 80 km 2026 forest 110.1 9.9 10.4 1.05 475 297
EcoTrail Paris - Trail 10 kmflagged 2026 forest 12.5* below floor 1.0 - 271 1,559
EcoTrail Paris - Trail 120 kmflagged 2026 forest 146.0* 14.0 16.8 1.19 400 1,212
EcoTrail Paris - Trail 20 kmflagged 2026 forest 30.6* below floor 2.4 - 406 2,742
EcoTrail Paris - Trail 30 kmflagged 2026 forest 36.2* below floor 3.0 - 405 3,038
EcoTrail Paris - Trail 35 km 2026 forest 47.4 below floor 3.8 - 465 1,604
EcoTrail Paris - Trail 45 km 2026 forest 58.7* 4.6 5.3 1.15 422 1,769
EcoTrail Paris - Trail 80 km 2026 forest 102.8* 9.1 10.3 1.13 429 2,451
Eiger Ultra-Trail by UTMB - E101 2026 ultra mountain 201.5 24.3 20.5 0.84 595 425
Eiger Ultra-Trail by UTMB - E35 2026 mountain 71.8 6.5 6.7 1.03 485 635
Eiger Ultra-Trail by UTMB - E51 2026 mountain 97.5 9.5 9.7 1.02 489 869
Endurance Trail des Templiers 2026 trail 161.5 16.4 17.4 1.06 468 1,240
Făgăraș Rocks! - #BerivoiRaceflagged 2025 mountain 40.8 below floor 4.3 - 339 84
Făgăraș Rocks! - #BerivoiRaceflagged 2024 mountain 40.8 below floor 4.3 - 349 55
Făgăraș Rocks! - #DaraUltraSkyrace 2024 mountain 143.4 15.2 14.4 0.94 532 7
Făgăraș Rocks! - #FăgărașSkyrace 2025 mountain 70.6 6.4 7.2 1.12 434 54
Făgăraș Rocks! - #FăgărașSkyrace 2024 mountain 70.6 6.4 6.7 1.04 478 44
Făgăraș Rocks! - #TheWildTruth ultra skyrace 2025 ultra mountain 290.5 38.0 37.0 0.97 516 4
Făgăraș Rocks! - #TheWildTruth ultra skyrace 2024 ultra mountain 290.5 38.0 40.4 1.06 465 4
Gran Trail Courmayeur - GTC100 2026 ultra mountain 214.0 26.1 25.0 0.96 525 425
Gran Trail Courmayeur - GTC30flagged 2026 mountain 56.1 4.8 6.1 1.26 372 425
Gran Trail Courmayeur - GTC55 2026 ultra mountain 105.8 11.0 10.7 0.97 515 456
Grand Raid des Pyrénées Tour de la Gela 2026 ultra mountain 93.4* 9.5 9.4 0.99 503 505
Grand Raid des Pyrénées Tour de la Gela 2025 ultra mountain 94.4* 9.6 8.5 0.88 570 603
Grand Raid des Pyrénées Tour des Cirques 2026 ultra mountain 232.5* 28.9 29.3 1.01 493 523
Grand Raid des Pyrénées Tour des Cirques 2025 ultra mountain 241.1* 30.2 30.4 1.01 497 520
Grand Raid des Pyrénées Tour des Lacs 2026 mountain 157.1* 17.0 17.6 1.03 481 1,046
Grand Raid des Pyrénées Tour du Bastan 2026 mountain 99.1* 9.7 11.0 1.14 427 793
Grand Raid des Pyrénées Tour du Bastan 2025 mountain 99.6* 9.8 10.9 1.11 440 827
Grand Raid des Pyrénées Tour du Moudang 2026 mountain 113.7* 11.5 12.2 1.07 464 606
Grand Raid des Pyrénées Tour du Néouvielle 2026 mountain 79.6* 7.4 8.0 1.07 460 1,264
Grand Raid des Pyrénées Tour du Néouvielle 2025 mountain 83.3* 7.8 7.9 1.00 499 1,266
Grand Raid des Pyrénées Ultra Tour 160 2026 ultra mountain 330.0* 44.4 41.0 0.92 545 357
Grand Trail des Templiers 2026 trail 132.2 12.8 12.5 0.98 514 2,297
Grossglockner Ultra-Trail - GGUT 110 2026 ultra mountain 207.5 25.2 23.7 0.94 534 219
Grossglockner Ultra-Trail - Grossglockner Trail 2026 mountain 112.0 11.3 11.7 1.04 480 508
Grossglockner Ultra-Trail - Osttirol Trail 2026 ultra mountain 162.5 18.7 16.6 0.89 567 115
Grossglockner Ultra-Trail - Weissee Glacier World Trailflagged 2026 mountain 60.0 5.2 6.7 1.28 359 489
Integrale des Causses 2026 trail 99.5* 9.1 9.7 1.07 462 753
Istria 100 by UTMB - 110K 2026 mountain 172.5* 19.1 18.5 0.97 518 411
Istria 100 by UTMB - 168K 2026 mountain 274.5* 33.8 32.9 0.98 514 256
Istria 100 by UTMB - 42Kflagged 2026 trail 58.5* 4.7 5.7 1.21 392 644
Istria 100 by UTMB - 69K 2026 mountain 104.5* 10.3 10.2 0.99 507 575
Javelina Jundred - 100 Mileflagged 2026 trail 189.8 20.0 23.7 1.19 404 375
Javelina Jundred - 100 Mileflagged 2025 trail 189.8 20.0 25.3 1.26 368 492
Javelina Jundred - 100 Mileflagged 2024 trail 189.8 20.0 25.4 1.27 364 421
Javelina Jundred - 100 Mileflagged 2023 trail 189.8 20.0 25.4 1.27 366 513
Javelina Jundred - 100Kflagged 2026 trail 116.4 11.0 15.5 1.41 306 301
Javelina Jundred - 100Kflagged 2025 trail 116.4 11.0 17.0 1.54 256 325
Javelina Jundred - 100Kflagged 2024 trail 116.4 11.0 17.7 1.61 233 296
Javelina Jundred - 100Kflagged 2023 trail 116.4 11.0 16.7 1.52 264 303
Javelina Jundred - Jackass 31Kflagged 2026 trail 36.5 below floor 4.8 - 167 244
Javelina Jundred - Jackass 31Kflagged 2025 trail 36.5 below floor 4.8 - 163 211
Javelina Jundred - Jackass 31Kflagged 2024 trail 36.5 below floor 4.9 - 155 195
Javelina Jundred - Jackass 31Kflagged 2023 trail 36.5 below floor 4.5 - 208 180
Kodiak by UTMB - 100 Mileflagged 2026 trail 233.0* 25.7 31.6 1.23 383 279
Kullamannen by UTMB - Ultra 100 Milesflagged 2026 trail 197.5* 21.0 26.8 1.28 363 390
Madeira Island Ultra Trail - MIUT Advanced 2026 ultra mountain 147.5 16.6 16.1 0.97 518 394
Madeira Island Ultra Trail - MIUT Discover 2026 mountain 99.6 9.8 10.4 1.06 465 441
Madeira Island Ultra Trail - MIUT Legend 2026 ultra mountain 216.4 26.5 24.8 0.94 538 581
Madeira Island Ultra Trail - MIUT Marathon 2026 mountain 64.2 5.7 6.3 1.11 440 668
Mallorca by UTMB - CPS 104K 2026 mountain 160.1 17.4 17.5 1.00 499 460
Mallorca by UTMB - CPS 104K 2025 mountain 160.1 17.4 17.2 0.99 507 527
Mallorca by UTMB - ETM 56K 2026 mountain 93.5 9.0 9.3 1.03 482 612
Mallorca by UTMB - ETM 56K 2025 mountain 93.5 9.0 9.1 1.01 495 591
Mallorca by UTMB - SDT 138K 2026 mountain 218.3 25.5 24.7 0.97 518 344
Mallorca by UTMB - SDT 138K 2025 mountain 218.3 25.5 24.5 0.96 522 243
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 Soloflagged 2026 ultra mountain 186.5* 22.1 18.2 0.83 607 1,418
NUTS Karhunkierros - 166 kmflagged 2026 trail 223.9 24.5 31.9 1.30 351 172
NUTS Karhunkierros - 166 kmflagged 2025 trail 223.9 24.5 31.7 1.30 355 99
NUTS Karhunkierros - 34 kmflagged 2026 trail 52.4 4.1 6.1 1.49 277 1,283
NUTS Karhunkierros - 34 kmflagged 2025 trail 52.4 4.1 6.1 1.47 283 1,237
NUTS Karhunkierros - 55 kmflagged 2026 trail 77.7 6.7 9.6 1.44 297 879
NUTS Karhunkierros - 55 kmflagged 2025 trail 77.7 6.7 9.9 1.48 278 794
NUTS Karhunkierros - 83 kmflagged 2026 trail 110.1 10.3 14.9 1.46 289 662
NUTS Karhunkierros - 83 kmflagged 2025 trail 110.1 10.3 15.1 1.47 283 544
NUTS Ylläs Pallas - 100 kmflagged 2026 trail 144.9 14.4 20.5 1.43 300 463
NUTS Ylläs Pallas - 100 kmflagged 2025 trail 144.2* 14.3 20.2 1.42 305 280
NUTS Ylläs Pallas - 100 kmflagged 2024 trail 144.9 14.4 18.9 1.31 347 218
NUTS Ylläs Pallas - 15 kmflagged 2026 trail 19.7 below floor 2.0 - 237 422
NUTS Ylläs Pallas - 15 kmflagged 2025 trail 19.8* below floor 2.2 - 177 343
NUTS Ylläs Pallas - 15 kmflagged 2024 trail 19.7 below floor 2.0 - 235 301
NUTS Ylläs Pallas - 160 kmflagged 2026 trail 219.9 23.9 29.8 1.25 376 221
NUTS Ylläs Pallas - 160 kmflagged 2025 trail 220.4* 24.0 32.3 1.35 333 127
NUTS Ylläs Pallas - 160 kmflagged 2024 trail 219.9 23.9 29.8 1.24 377 133
NUTS Ylläs Pallas - 37 kmflagged 2026 trail 50.4 3.9 5.3 1.36 328 785
NUTS Ylläs Pallas - 37 kmflagged 2025 trail 50.5* 3.9 5.7 1.45 293 586
NUTS Ylläs Pallas - 37 kmflagged 2024 trail 50.4 3.9 5.4 1.37 324 580
NUTS Ylläs Pallas - 66 kmflagged 2026 trail 89.6 8.0 10.9 1.37 322 811
NUTS Ylläs Pallas - 66 kmflagged 2025 trail 91.5* 8.2 11.6 1.42 302 623
NUTS Ylläs Pallas - 66 kmflagged 2024 trail 89.6 8.0 10.8 1.35 330 540
OCC (Orsières-Champex-Chamonix) 2026 mountain 111.9 11.3 11.4 1.01 494 1,556
Patagonia Bariloche by UTMB - Bella Vista 55K 2025 mountain 102.0* 10.0 10.1 1.00 497 644
Patagonia Bariloche by UTMB - Frey 85K 2025 ultra mountain 156.9* 17.9 17.1 0.96 524 326
Patagonia Bariloche by UTMB - Nahuel Huapi 33K 2025 mountain 57.3* 5.0 5.6 1.13 431 768
Patagonia Bariloche by UTMB - Tronador 130K 2025 ultra mountain 229.7* 28.5 27.0 0.95 531 169
Penyagolosa Trails CSP 2026 ultra mountain 184.0 21.7 19.4 0.90 562 325
Penyagolosa Trails CSP 2025 ultra mountain 184.0 21.7 18.7 0.86 585 414
Penyagolosa Trails MiM 2026 mountain 103.5 10.2 10.4 1.02 490 1,158
Penyagolosa Trails MiM 2025 mountain 103.5 10.2 9.8 0.96 525 1,350
SaintéLyon 2025 trail 109.1* 10.1 11.0 1.08 455 6,152
SallandTrail - 100 km 2026 forest 114.7 10.4 9.8 0.94 533 29
SallandTrail - 42 kmflagged 2026 forest 48.7 below floor 4.5 - 377 114
SallandTrail - 42 kmflagged 2025 forest 47.2* below floor 4.7 - 334 77
SallandTrail - 50 kmflagged 2026 forest 59.2 4.6 5.7 1.23 383 191
SallandTrail - 50 kmflagged 2025 forest 60.6* 4.8 5.8 1.21 394 177
SallandTrail - 60 kmflagged 2026 forest 68.8 5.6 6.5 1.16 416 95
SallandTrail - 60 km 2025 forest 72.5* 5.9 6.7 1.13 431 65
SallandTrail - 80 kmflagged 2026 forest 93.1 8.1 9.5 1.18 409 64
SallandTrail - 80 kmflagged 2025 forest 93.3* 8.1 9.7 1.20 399 96
Sierre-Zinal 2026 mountain 58.5 5.1 4.4 0.86 585 1,637
SkyRun 100flagged 2024 mountain 160.7 17.5 25.6 1.46 288 125
SkyRun 65flagged 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
The Canyons Endurance Runs by UTMB - 100K 2026 trail 156.3* 15.7 15.9 1.01 494 538
The Canyons Endurance Runs by UTMB - 100M 2026 trail 244.3* 27.2 31.1 1.14 425 150
The Canyons Endurance Runs by UTMB - 25Kflagged 2026 trail 37.8* below floor 3.5 - 365 311
The Canyons Endurance Runs by UTMB - 50K 2026 trail 75.5* 6.5 7.0 1.08 459 609
Tor des Géants (TOR330) 2026 ultra mountain 727.0 116.8 130.5 1.12 438 690
Tor des Géants (TOR330) 2025 ultra mountain 727.0 116.8 128.3 1.10 447 743
Tor des Glaciers (TOR450) 2026 ultra mountain 962.8 164.8 173.7 1.05 470 116
Tor des Glaciers (TOR450) 2025 ultra mountain 962.8 164.8 169.8 1.03 483 89
Trail del Cinghiale 100K 2026 ultra mountain 176.1 20.6 19.8 0.96 522 93
Trail del Cinghiale 100K 2025 ultra mountain 179.0* 21.0 19.3 0.92 547 80
Trail del Cinghiale 20K 2026 mountain 35.6 below floor 2.9 - 470 382
Trail del Cinghiale 20K 2025 mountain 35.7* below floor 3.1 - 437 344
Trail del Cinghiale 50K 2026 mountain 93.1 9.0 8.7 0.97 516 168
Trail du Ventoux - Évasion Baronnies-Ventoux 64K 2026 mountain 116.0* 11.8 10.9 0.92 544 329
Trail du Ventoux - L'Origine 48K 2026 mountain 87.5* 8.3 7.7 0.93 540 833
Trail Verbier St-Bernard by UTMB - Verbier Marathon X-Treme 2026 mountain 89.1 8.5 8.8 1.04 480 1,384
Transgrancanaria Advanced 2026 ultra mountain 145.9* 16.3 14.7 0.90 560 598
Transgrancanaria Classicflagged 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
Transvulcania Marathon 2026 mountain 78.7 7.3 7.2 0.98 509 756
Transvulcania Ultramarathon 2026 ultra mountain 136.8 15.1 12.8 0.84 595 928
Transylvania 100 - 100K 2026 ultra mountain 199.7 24.0 26.1 1.09 454 175
Transylvania 100 - 30Kflagged 2026 mountain 65.5* 5.8 7.5 1.29 358 456
Transylvania 100 - 50K 2026 mountain 99.8* 9.8 10.9 1.12 438 489
Transylvania 100 - 80K 2026 mountain 155.7* 16.9 17.5 1.04 480 108
Ultra-Trail Australia by UTMB - UTA100 2026 mountain 167.0 18.4 18.2 0.99 505 1,389
Ultra-Trail Australia by UTMB - UTA50 2026 mountain 87.0 8.3 8.6 1.05 475 2,262
Ultra-Trail Australia by UTMB - UTAMiler 2026 mountain 269.0* 32.9 33.3 1.01 494 327
Ultra-Trail Harricana - UTHC 125flagged 2026 trail 186.3 19.5 24.5 1.25 373 279
Ultra-Trail Harricana - UTHC 42 Classicflagged 2026 trail 59.8 4.9 6.3 1.30 351 366
Ultra-Trail Harricana - UTHC 42 Saint-Simeonflagged 2026 trail 62.2 5.1 7.1 1.40 312 370
Ultra-Trail Harricana - UTHC 60 MS Canadaflagged 2026 trail 97.8 8.9 11.5 1.30 353 41
Ultra-Trail Harricana - UTHC 65flagged 2026 trail 88.4 7.8 10.2 1.30 351 410
Ultra-Trail Harricana - UTHC 80flagged 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

* assumed

Limits and changelog

What TM1.0 does not model

  • A shaped descent cost. Steep or technical descents cost more than the linear term says; fitting that needs split times, which the model does not have.
  • A per-race factor. Only the class factor exists; the table above says where a race-level one would go.
  • Fade within a race. The exponent is fitted across races and cannot produce the second-half slowdown real splits show; Race Plan splits keep their own ramp, unvalidated.
  • Night, heat and altitude in the headline. Whatever the fitted results experienced is averaged into the coefficients; the Conditions Simulator applies day-specific deltas and says so.
  • Technicality. A GPX cannot see rock, roots or scree.

On this site the headline numbers are TM1.0. In the app, the finish estimate still runs on the earlier chain; moving it onto this model is a separate decision (ADR-017).

Changelog

  • TM1.0 (2026-09-25): first frozen model. Loss divisor 200 replaces the 150 used on this site and the 250 used in the app; the index is refitted on effort-km conditional on the terrain classes; ranges come from out-of-sample error instead of a fixed 25 points.