Your Complete Race-Day Plan
Predicted splits, discipline-by-discipline pacing bands, and a fueling plan scaled to your race — from the numbers you already train with. Everything runs in your browser, nothing is uploaded, and the URL is your plan: copy it and send it to your coach.
Your numbers
Don't know your CSS or FTP? Use the CSS calculator or FTP calculator first — or flip on heart-rate mode and plan entirely from LTHR, the way Norwegian-method athletes do.
How this works — the assumptions, in the open
Bike intensity by distance
The longer the race, the smaller the fraction of FTP you can sustain and still run well: roughly 0.88–0.95 for a sprint, 0.82–0.88 Olympic, 0.83–0.87 for a 70.3, 0.80–0.85 for T100, and 0.68–0.73 for a full — the Coggan/TrainingPeaks race-pacing consensus. The single most common age-group mistake is riding a 70.3 at Olympic intensity and walking the back half of the run.
Carbs 60–90g per hour, scaled to duration
Under 75 minutes you barely need to fuel; from ~2.5 hours the ceiling with a single carb source is ~60g/hr; beyond that, glucose+fructose mixes let trained guts absorb 80–90g/hr (Jeukendrup 2014). Fluid starts at ~600ml/hr and rises ~40ml per °C above 15°C; sodium concentration rises with temperature (500–1000mg per litre).
Two LTHRs, not one
Your cycling lactate-threshold HR is typically 5–10 bpm lower than your running LTHR, so the planner takes each separately and builds race bands as Friel-style percentages: e.g. a 70.3 is ridden at ~84–91% of bike LTHR and run at ~88–94% of run LTHR. In heart-rate mode this is the whole plan — no power meter needed.
Physics, not lookup tables, on the bike
Bike splits are solved from a power balance — rolling resistance, aerodynamic drag and gravity — using a typical age-grouper setup (CdA 0.30, Crr 0.004, bike + kit 10kg). Course climbing is modelled at a 3% average gradient with descents capped at 60kph, which is why 1,000m of gain costs you real time even though "what goes up must come down".
How this calculator works
Splits are computed per discipline: swim = CSS plus an open-water offset that grows with distance; bike = a physics model (rolling resistance, aero drag, gravity) solved for speed at your target normalized power, with course elevation modelled as 3% average-gradient climbing; run = threshold pace scaled by a distance multiplier, heat (~0.5%/°C above 18°C) and elevation. Fueling scales Jeukendrup's carbohydrate guidance to your predicted duration and temperature. Heart-rate bands are Friel-style percentages of your discipline-specific LTHR.
Assumptions
- • Bike: CdA 0.30, Crr 0.004, +10kg bike/kit, drivetrain 97.5% — a typical age-grouper setup.
- • Average power ≈ 97% of normalized power (a slightly variable ride).
- • Pool CSS ≈ wetsuit open-water pace: the wetsuit gain and sighting/chop loss roughly cancel.
- • Run and bike LTHR are different numbers — bike LTHR is typically 5–10 bpm lower.
- • Carbs count from the start of the bike; you cannot eat on the swim.
Limitations
- • No wind modelling — a windy course rides like extra elevation.
- • Heat model is a population average; test your own heat response.
- • Fueling maxima assume a trained gut — rehearse race intake in training.
Who this is for
- • Age-group triathletes with a CSS, FTP or threshold pace from training.
- • Norwegian-method athletes who train and race by LTHR without a power meter.
- • Coaches who want a shareable, editable pacing plan per athlete.
Who this is not for
- • Pros needing wind- and course-file-level bike modelling (use Best Bike Split).
- • First races with no training data at all — do a field test first, then come back.
References
Race-day planner FAQs
Race smarter every week
Weekly pacing, fueling and race-execution tips for age-group triathletes.
Unsubscribe anytime. We respect your privacy.
Go deeper
The planner gives you the numbers — these guides explain how to execute them.