How the forecast works
Performance forecasts your finish time from the training you actually log. This page explains what the model is, what it needs from you, how honest it is about what it does not yet know, and where it falls short.
What the engine is
Your forecast comes from a deterministic impulse-response training-load model, in the Banister family of sports-science models, with documented heuristics for the race-specific finish-time conversion. Given the same training data, it produces the same forecast every time. There is no learning, no black box, and no generative AI involved in computing it: plans, paces, and forecasts are deterministic code, not a model output you cannot inspect.
The one place this product does use a large language model is the Ask Coach chat. Ask Coach is fed your already-computed forecast and plan state and explains it in plain language. It never computes, alters, or invents a number: your forecast, paces, and plan stay entirely deterministic code, and the chat interface only reads and communicates what that code already produced.
Inputs
The forecast is built from what you log: session duration; training intensity, from heart rate or perceived effort (sRPE) when heart rate is not available; pace and distance where you have them; and your race goal, with all dates handled in your own local timezone.
From training state to finish time
Turning your training state into a projected finish time is race-specific, and that conversion lives behind a dedicated adapter for each format: marathon, half marathon, 10K, 5K, and HYROX. All five run on the same underlying engine, and HYROX is one of five supported formats, not a special case built on top of the others. Calibration personalizes your pace anchor from training-derived evidence as you log more sessions and race simulations.
A HYROX forecast decomposes into a run budget plus station and transition-time assumptions. New HYROX athletes start from published first-timer defaults, seeded from population data, and can edit their own station and transition assumptions once they have logged times for them.
Early on, the forecast is anchor-driven
With little logged training, the forecast stays close to the baseline number you entered, because the model does not yet have enough evidence to say more than that. As you log sessions, it becomes fitness-driven instead, moving with the training you actually did. The model does not fabricate a verdict when there is not yet enough data to support one: it says so instead of guessing.
Why every forecast is a range
Every forecast on Performance is a range, never a single number. A single number pretending to be precise would be dishonest, given how much a forecast depends on how much you have logged. The range narrows as you log more weeks of regular training and complete race simulations, and widens again if you have logged little or nothing recently.
How we validate this, honestly
We test this model at three separate layers, and they mean different things:
- Formula and state-machine correctness. The fitness-fatigue math and the code that implements it are unit-tested against known worked examples.
- Behavioral validation. The model is tested against known training-response dynamics, such as fitness decay when training stops, the effect of a taper before a race, and correct behavior when sessions are logged out of order.
- Race-outcome validation. Comparing predicted finish times against actual race results. We have instrumented this capture, but we do not yet have enough race outcomes behind it to report a result.
We do not publish accuracy percentages yet. When we do, they will come with sample size, method, and date.
Limitations
A few things worth saying plainly. The constants in this model are heuristics, not universal physiological laws, and we label them as such rather than dressing them up as more certain than they are. Every athlete is different, and no model captures all of that variability. Forecasts are estimates, not guarantees, and training for a race carries real physical risk. Performance is not a substitute for medical advice; see our training disclaimer. There is no claim here that this model has been globally mathematically optimized; it is a documented, testable set of heuristics that we keep improving.
More
Read the Terms of Service and Privacy Policy, or see pricing. Ready to see your own forecast? Start free.