Trail Race Time Predictor
Pick your race, enter one result you have already run, and get an elevation-adjusted finish window.
1. Your race
2. How should we estimate you?
Pick a race above and we can estimate it from your Strava training. A hand-typed course has no terrain we can resolve.
3. Your predicted finish
Fill in all fields to see prediction.
A trail race time predictor estimates your finish time from distance, elevation gain, and a reference performance. TrailMath's free predictor adjusts for vertical gain - a common rule of thumb is that every 100 m of climb costs roughly the time of one extra flat kilometre.
How to use the Race Time Predictor
- 1
Pick your race
Choose from the races pre-loaded with the organiser's official distance, gain and loss, or enter your own course figures if your race is not listed.
- 2
Tell us one thing you have already run
Enter a past race - its distance, its elevation gain and your finish time. If you already know your ITRA score or UTMB Index you can enter that instead, and skip the past result entirely.
- 3
Read your finish window
You get a range, not a single number, plus the performance index behind it and the km-effort of the course you are aiming at.
- 4
Check which engine answered
Above 50 km-effort the calibrated index model answers. Below it - a road marathon, say - the tool scales with a power law instead, labels it, and widens the range. A longer or hillier reference result moves you onto the calibrated path.
- 5
Turn the number into a plan
Carry the prediction into the Aid Station Planner for checkpoint splits, the Nutrition Calculator for fuelling targets, or into a training block built around the course.
Why one fixed exponent fails for trail
The classic Riegel formula (T2 = T1 × (D2/D1)^1.06) was derived from road race data. It assumes distance is the only factor in fatigue - ignoring elevation, terrain friction, and ultra-specific physiological degradation. The exponent is the whole model, and 1.06 is a road number.
This tool used to patch that with a stepped ladder - 1.06 up to marathon, rising to 1.15 beyond 100 km - stacked on top of ITRA km-effort and a terrain multiplier. Three heuristics on a road model. Nobody had fitted any of them.
What it does now. Your result becomes a performance index on a 0-1000 scale, and that index is mapped onto the target course - the same calibrated model as the ITRA / UTMB Index Estimator, so the two tools cannot contradict each other. The model is fitted by ordinary least squares to public UTMB Index profiles, each anchor recorded with its source and the date it was read. It is a transparent approximation of a proprietary system, not an official ITRA or UTMB number.
It is still a power law - that is worth being honest about. Solving the fit for time gives T ∝ km-effort^1.24. So the change is not that we abandoned Riegel; it is that the exponent is now fitted to public trail results instead of assumed from road ones. That single change is worth over three hours on a UTMB projection, in the direction of what the field actually runs.
Where it stops. Below 50 km-effort - roughly a road marathon - the calibrated model has too few verified results to score honestly, so the tool scales with that same fitted exponent instead and labels the answer as the rougher estimate it is. There is no terrain setting, because the model has no terrain variable: a global average of technicality is inside the curve, but nothing in it can distinguish one course's ground from another's. There is no altitude, heat or night term either. Those are named limitations, not hidden ones - run your number through the Race Conditions Simulator before you commit to it.
km-effort, twice. The index is scored on ITRA's public definition, distance + gain/100, which ignores descent. The km-effort figure shown beside your prediction is TrailMath's own, distance + gain/100 + loss/200 (the TrailMath TM1 convention; see trailmath.run/trailmath), which does not - steep descent causes eccentric muscle damage (Minetti, 2002) that is not free. For UTMB those are 274 and 324. Both are labelled on screen so neither is mistaken for the other.
ITRA. km-effort formula. International Trail Running Association. Riegel PS. (1977). Athletic records and human endurance. American Scientist. Minetti AE et al. (2002). J Appl Physiol. 93(3):1039-46. Hoffman MD. (2014). Pacing by winners of a 161-km mountain ultramarathon. Int J Sports Physiol Perform. Millet GY et al. (2011). Neuromuscular consequences of an extreme mountain ultra-marathon. PLoS ONE - a pre/post study of neuromuscular alteration, which is what it is cited for here.
Frequently asked questions
How accurate is a trail race time predictor?
Treat any prediction as a window, not a time. This one reports a range taken from its own calibration: your result becomes an estimated performance index, and the spread of that index is what the finish window is built from - roughly plus or minus 4% in time. Conditions the model cannot see move the real answer further than the model does. Heat, altitude, a night section, mud, a course change and how you fuel all sit outside it.
How do I predict my finish time for a race I have never run?
You need one thing you have already run, and the target course's distance and elevation gain. The tool converts your past result into a performance level, then asks what that level is worth on the new course. Pick your race from the list and the organiser's official figures load automatically, or enter a custom course if your race is not listed.
Which past race should I use as my reference result?
The most recent one that reflects your current fitness, and the one closest in character to the target. A mountain 50 km predicts a mountain 100 km far better than a flat road marathon does, because our verified results are thinner at some distance and vertical combinations than others - the tool flags it when your result and your target sit in different race categories. A result from six months ago is fine if your training has not changed. A result you were ill or injured for is not.
How much does elevation gain slow you down?
The working rule across trail running is that 100 m of climbing costs roughly the time of one extra flat kilometre - that is ITRA's km-effort definition, and it is what the performance index is scored on. A 50 km race with 3,000 m of gain is therefore worth about 80 km-effort, so expect a finish nearer an 80 km flat race than a 50 km one. Steep descent costs real time too, through eccentric muscle damage rather than metabolic cost, which is why the km-effort figure shown beside your prediction adds a descent term the official ITRA formula leaves out - and why the two numbers differ.
Why is my trail race time slower than the Riegel formula predicts?
The classic Riegel exponent of 1.06 was fitted to road results, where distance is the only thing that changes. It has no term for 10,000 m of climbing, for technical footing, or for the fact that pace decays faster in an ultra than a road-derived power law expects. Applied raw to a mountain ultra it will underpredict you, often by hours. This tool uses a power law too - but with an exponent fitted to public trail results rather than road ones, which is why its answer is slower and closer to what the field actually runs.
Can I predict my 100 km ultra time from a marathon?
Yes, and it is the most common thing people do here - but it is the least reliable input the tool accepts. A road marathon is below the 50 km-effort mark where our calibrated model starts, so the tool scales from it with a power law instead and says so, showing a wider range. Expect the real answer to land toward the slow end of that range, and expect the gap to widen the more vertical the target course carries. A longer or hillier reference result gives a better answer.
Can I use Strava to predict my race time?
Yes, and it uses more of your history than one typed-in result can. Connecting Strava lets TrailMath read the last 90 days you have actually run - your real volume, your real climbing rate, your long runs - and estimate your finish from all of it instead of from a single race. It is read-only, nothing is ever posted to Strava, and you can disconnect from Strava's own settings at any time.
Does the predictor account for technical terrain?
No, and that is worth being explicit about. The model is fitted on distance, climb and finish times, so an average level of technicality is baked into the curve, but nothing in it can tell a rocky, rooted singletrack from a fire road at the same gradient. Technical ground can add 10-20% at the same gradient. Treat the prediction as a lower bound on a genuinely technical course, and add your own buffer.
How much time should I add for heat, altitude or a night section?
None of the three are in the model, and all three are real. As rough starting points: 10-15% on a hot canyon race if you are not heat-acclimatised, 20-25% at Hardrock altitudes off a sea-level reference, and time lost to footing rather than to the profile on a night race. The Race Conditions Simulator breaks these down factor by factor - run your predicted time through it before committing to a goal.
Want a full training plan built on this science?
TrailMath uses these models to build periodized plans adjusted to your goals and terrain.
Start free