Per-segment pace prediction
The model predicts your pace for every climb, descent, and flat section based on the actual grade and your fatigue at that point in the race.
Confidence range, not a single number
You get a lower and upper bound alongside the headline finish time. Useful for planning aid station cutoffs and pacer hand-offs.
Trained on real ultra data
Not a Riegel formula extrapolation. The model learned from real ultra splits, including how pace slows after 50K, 80K and 100K.
The predictor looks at every stretch of your course, how steep it is and how far into the race you will be when you get there, and uses your recent race to know how fit you are. It learned how pace changes over a long day from real ultra results and from runners' own recorded runs.
How the model works
The predictor uses an XGBoost regression model trained on about 260,000 course segments from ultra race splits and runners' own recorded runs. For each segment of your GPX, the model takes terrain features (elevation gain per km, average and max grade, grade variability), distance completed, cumulative elevation gained so far, and a baseline fitness reference derived from your recent race result.
Your recent race time is converted to a flat-marathon-equivalent pace using the Riegel formula (1.06 exponent), then the model handles the projection forward, including how pace degrades with distance and terrain. The Riegel scaling is only used to normalise the reference; the actual prediction uses the trained model.
No model gets everything right. Nutrition, weather, sleep and a bad day are not in the GPX. The confidence range you get back reflects model uncertainty on similar courses in the training data, not how your day goes.