Stop Guessing, Start Racing: How Data-Driven Planning Can Transform Your Triathlon Performance
Every triathlete knows the feeling. You're standing on the beach at 5:47 AM, wetsuit half-zipped, staring at the swim buoys in the distance. Somewhere in the back of your mind, a question nags: Am I ready for this? Did I train enough? What pace should I actually hold?
For too long, the answers to these questions have lived in the realm of gut feeling and rough estimates. But here's the thing about triathlon: while race day will always throw curveballs—a washing machine swim start, unexpected wind on the bike, a stomach that rebels at mile 8—the underlying physics of swimming, cycling, and running are well understood. The research exists. The formulas have been validated. And when you get the predictable things right, you free up mental and physical reserves for everything that isn't.
The Science of Pacing
Sports science has given us remarkably accurate models for predicting performance. In swimming, the concept of Critical Swim Speed (CSS)—your theoretical pace that can be sustained indefinitely without accumulating lactate—provides a reliable anchor for race pacing. Research has validated CSS as a strong predictor of performance across distances from sprint to full-distance.
On the bike, physics takes over. Your speed is determined by the eternal battle between power output and resistance forces: aerodynamic drag, rolling resistance, and gravity. The relationship is well-documented and surprisingly precise. Input your weight, your bike setup, the course profile, and your sustainable power output, and you can predict your split within seconds.
Wind is the one force most plans ignore, and it is not symmetric. Aerodynamic drag grows with the square of the air speed you meet, so a headwind stretch loses more time than the same tailwind stretch gives back; a loop course in wind is always slower than in still air, and a crosswind still raises the air speed on your body. Forecasts also state the wind at 10 m above ground, while a rider sits at about one metre, where hedges and buildings leave roughly half to two thirds of it. The cycling calculator fetches the wind forecast for your race day, applies it to every stretch of an uploaded GPX course by riding direction, reads the land cover along the road to tell sheltered from exposed stretches, and colours the route where the headwind hits.
Running also comes with several layers: terrain, temperature, and altitude all play measurable roles. Heat index calculations tell us how performance degrades as temperature and humidity climb. Even altitude adjustments, based on VO2max research, can be factored in.
The point isn't that racing becomes robotic. The point is that you enter race day with a plan grounded in reality rather than hope.
From Theory to Practice
This is where tools become transformative. A well-designed calculator doesn't just crunch numbers—it translates complex physiology into actionable guidance.
Consider the swim. Input your recent pool times, and a CSS calculator can determine your aerobic threshold pace. Factor in wetsuit effects (research suggests roughly 3–10% faster in open water depending on swimmer level, with less experienced swimmers gaining the most from the added buoyancy) and race distance, and suddenly you have a target pace that's based on your actual fitness.
The cycling calculator goes deeper. Plug in your Functional Threshold Power or Critical Power, and the model accounts for aerodynamic position, equipment choices, and course elevation. The difference between an aggressive aero tuck and an upright position can mean 30-50 watts at 40km/h—effort that adds up relentlessly over 90 or 180 kilometers.
For the run, elevation-adjusted pace predictions help you understand why that "flat" course with 200 meters of climbing will feel harder than the numbers suggest. Weather modeling prepares you for the reality that a 30°C race requires a fundamentally different strategy than a cool morning start.
The Game Changer: Race Scenario Comparison
But here's where it gets really interesting. Individual discipline calculators are useful. Comparing complete race scenarios side by side is revelatory.
Imagine being able to model four different approaches to your goal race. Scenario one: conservative swim, steady bike, strong run. Scenario two: push the swim, hold the bike, survive the run. Scenario three: easy swim, aggressive bike, see what's left. Scenario four: even effort across all three.
Data as Confidence
The deeper truth here is psychological. Uncertainty breeds anxiety. Anxiety costs energy—mental energy that should be reserved for the race itself.
When you've modeled the scenarios, validated your pacing against your training data, and built a plan rooted in science, something shifts. You stop wondering if you belong on that start line. You stop second-guessing every surge and every lull. You race with intention.
That doesn't mean everything goes according to plan. Racing never does. Flats happen. Nutrition fails. Weather changes mid-race. The athlete next to you elbows you in the face on the first buoy turn. Triathlon has a way of humbling even the best-laid plans.
But when the unexpected happens—and it will—you have a framework for adapting. You know your boundaries because you've mapped them in advance. You can make real-time decisions from a position of knowledge rather than panic. That's the difference between spiraling after a setback and calmly recalculating.
Triathlon will always be unpredictable. That's part of why we love it—and part of why it terrifies us. But within that chaos, there are elements you can control. Your pacing strategy. Your power targets. Your nutrition timing. Your mental preparation.
The tools exist to nail those controllable factors. The science is accessible. When you do the work of understanding your own capabilities, you don't eliminate uncertainty—you build resilience against it.
Your next finish line is waiting. This time, you'll know exactly what you can control—and be ready for everything you can't.
Methodology and sources
The calculators on this site follow published methods rather than rules of thumb. Every calculation runs in your browser, and nothing you enter is sent to a server. Three things happen only when you ask for them: the map of an uploaded course loads its tiles from Mapbox, the wind exposure of a bike course and the terrain classes of a trail course query Mapbox for a few points of the route, and the weather forecast sends the course midpoint, race date and start time to Open-Meteo. The GPX file itself never leaves your device.
- Swimming uses Critical Swim Speed (Wakayoshi et al., 1992; the 200 m and 400 m two-distance test after Wakayoshi et al., 1993) as the anchor pace, with distance-dependent adjustments, an open-water allowance and a wetsuit gain that depends on swimmer level.
- Cycling solves the equation of motion of a cyclist (di Prampero et al., 1979) with the frontal area after Bassett et al. (1999), scaled with body mass after Heil (2001), for each gradient segment. Sustainable power over the hours follows the rider's durability, a trait distinct from threshold power (Maunder et al., 2021; Gallo et al., 2022), climbs are held only a little above flat-road power because hard prior work costs more later than easy work (Spragg et al., 2024), and efforts above critical power are tracked with Skiba's W′ balance model (2012). Triathlon bike legs are paced with the intensity-factor guidance of Allen and Coggan, Friel and the Kona power files published by TrainingPeaks. Wind enters the drag term as the apparent wind (Martin et al., 1998), stretch by stretch from the riding direction of a GPX course; the race-day forecast comes from Open-Meteo and is scaled from 10 m to rider height with the logarithmic wind profile (Stull, 1988; roughness classes after Wieringa, 1992). The same forecast gives temperature, humidity and pressure: the drag term uses the air density of the day instead of a constant (Buck, 1981, for the vapour pressure), and heat lowers sustainable power only above 18 °C WBGT (the same Liljegren WBGT as on the run, here with the forecast's wind and pressure, shown with the same ±2 °C band), by 3% per 5 °C for an unacclimatised rider of the Established level, less by level and acclimatisation and more over long legs, because the airflow at riding speed plateaus the heat strain (Saunders et al., 2005) and time trials with race-realistic fans or outdoors lost 6% at 32 °C and nothing below 27 °C (Peiffer & Abbiss, 2011; Tatterson et al., 2000; Racinais et al., 2015; Junge et al., 2016). Cold costs nothing beyond the denser air.
- Running predicts a target-distance time from one personal best with the Riegel formula (1981), the Cameron formula or the Daniels-Gilbert VO₂max equations, then adjusts for hills (typed or read from a GPX file), heat, cold and altitude with acclimatisation. The heat enters as the wet-bulb globe temperature computed the way weather stations do, from temperature, humidity, the sun's irradiance, the wind and the race's altitude or the forecast's pressure, the race-day forecast for the course midpoint coming from Open-Meteo as on the bike (Liljegren et al., 2008; the sun through the globe temperature, Vihma, 2010; Otani et al., 2016), with penalties per 5 °C WBGT in the range of the marathon data (Ely et al., 2007), the elite row flat to 13 °C WBGT and shallower (Mantzios et al., 2022), growing once the race runs past three and a half hours because skin temperature and dehydration compound over the hours (Cheuvront et al., 2010; Kenefick et al., 2010), and halved or cut by three quarters with acclimatisation (Racinais et al., 2015; Keiser et al., 2015; Daanen et al., 2018). The WBGT is shown with a fixed ±2 °C band and the penalty it spans, since its inputs are estimates and WBGT methods differ by 2–3 °C among themselves (Bernard & Pourmoghani, 1999); the prediction stays one number, from the midpoint. Body mass is no input: heavier runners produce more heat per unit of skin and lose more in the heat (Dennis & Noakes, 1999; Marino et al., 2000), which places a heavy runner at the upper edge of their level rather than in a term of its own; a runner well over 75 kg picks the next lower level for the heat. The cold starts at the level's optimum, 4 to 10 °C air temperature (El Helou et al., 2012), and costs little down to −10 °C (Sandsund et al., 2012; Parkin et al., 1999). As the run leg of a triathlon it is slower than the same distance fresh: running economy worsens after cycling by 1.6–11.6% depending on ability (Millet & Vleck, 2000), a 3 km run after 20 minutes of hard cycling took 7–9% longer than fresh, depending on the cadence (Bernard et al., 2003), and paired bests against race splits put the loss at 2–9% in a sprint, 5–10% over the Olympic distance and 6–12% in a 70.3, by level.
Paired bests and race splits (result lists, World Athletics, organisers; as of September 2026). Athlete Open best → Triathlon run split Ratio Alex Yee 10,000 m 27:52 (2018) → Olympics Paris 2024 29:47; WTCS 2026 28:46 1.07 / 1.03 Hayden Wilde 10 km 27:39 (2025) → Olympics Paris 2024 29:49 1.08 Alistair Brownlee 10,000 m 28:32 (2013) → Olympics London 2012 29:07 1.02 Jonathan Brownlee Half marathon 1:10:32 (2025) → Challenge Gran Canaria 2025 1:10:09 1.00 Kristian Blummenfelt Half marathon 1:06:28 (2021) → 70.3 Bahrain 2019 1:06:55; 70.3 Worlds 2026 1:05:12 1.01 / 0.98 Patrick Lange Half marathon 1:09:37 (2019) → 70.3 Worlds 2019 1:11:22 1.03 Emma Pallant-Browne Half marathon 1:11:35 (2023) → 70.3 Pays d'Aix 2023 1:16:50, two weeks later 1.07 Morgan Pearson Half marathon 1:01:47 (2021) → 70.3 Worlds 2026 1:08:56 1.12 Jan Frodeno Marathon 2:23:33 (Berlin 2026, at 45) → Roth 2016 2:39:18 1.11 Anne Haug Marathon 2:36:13 (2016) → Roth 2024 2:38:52; Kona 2019 2:51:07 1.02 / 1.10 Nicola Spirig Marathon 2:37:12 (2014) → Sub8 2022 2:45:07, with pacers 1.05 Lucy Charles-Barclay Marathon 2:47:53 (London 2021) → Kona 2023 2:57:38 1.06 Cameron Wurf Marathon 2:36:22 (New York 2024, eight days after Kona) → Kona 2024 2:50:11 1.09 The ratios are approximations, not measurements under equal conditions: triathlon run courses are not always measured exactly and often miss the nominal distance by a few hundred metres, their elevation, heat, surface and turnarounds differ from road races, and the open bests come from other years, some from training blocks or from after a career. A ratio near 1.00 therefore does not mean the run off the bike was as fast as fresh, only that course and reference distort the comparison.
Over the full distance the paired elite data are thin but consistent: 1.02–1.11 in temperate or optimised races, 1.06–1.16 in Kona with its heat, and a reference years old or run after a career understates the fresh ability, so the true ratios sit above these. Recreational finishers' marathon splits averaged 1.33 times their marathon best (our quotient of the group means in Rüst et al., 2011), and a common coaching assumption is +20% (the worked example in Friel's Training Bible). The calculator therefore plans 10–30% by level in temperate conditions, with the heat adjustment on top.
Bike effort moves this. At 96–100% of time-trial power the 5 km run was 4–5% slower than after 81–90%, while the easiest bike made it no faster (Suriano & Bishop, 2010, seven athletes), so the calculator takes the athlete's own bike intensity against the plan the cycling calculator makes for the distance and level: on the short distances about 3 points per 0.05 of FTP over it, nothing back under it. On the long distances the cost is derived from the carbohydrate budget: the share of energy from carbohydrate rises with intensity (Romijn et al., 1993; van Loon et al., 2001), so riding over the plan burns more glycogen than the extra work alone, about 14% of the day's carbohydrate budget for 0.05 of FTP over five and a half hours; a deficit of that order slows the Ironman-distance run (Downey & Hopkins, 2001; Kimber et al., 2002), read as about 5 to 11 points depending on the reading, so the model plans about 8, more than in proportion for larger deviations, and gives half of the saving back under the plan.
On the trail the same flat pace is run over the course stretch by stretch, at the energy cost of each gradient, with a terrain class and the athlete's vertical speed; the section Trail running below has the model.
- Triathlon splits distribute a target finish time with percentage tables per distance and athlete profile, derived from age-group and professional results.
- Nutrition sets carbohydrate per hour by race duration and gut training within the ranges of Jeukendrup (2014) and the ACSM/AND/DC position statement (Thomas et al., 2016), fluid from the ACSM fluid replacement stand (Sawka et al., 2007), scaled by body weight (Montain et al., 2006), or a measured sweat rate, and sodium from the normative sweat data of Baker (2017) and Barnes et al. (2019), capped at 1.5 g per litre drunk, the planner's own ceiling, because salt does not prevent hyponatraemia (Hew-Butler et al., 2017) and a full replacement showed no benefit (McCubbin and Costa, 2024). The pre-race meal and caffeine follow the ISSN position stands (Kerksick et al., 2017; Guest et al., 2021). The planner then doses the athlete's own products, from manufacturer labels, into their bottles and gel places and places each take by the running deficit against the target line.
Full citations, the calibration values and their limits are listed in the References sections of the swim, cycling and running calculators and the nutrition planner. Where no laboratory data exists, for instance for solo rides beyond three hours, the calculators are calibrated to practitioner data and say so.
Trail running: gradient, terrain and vertical speed
Model. A trail or mountain race is not a road race with a hill rule on top: the time is made on the climbs and lost on the descents, and both depend on how steep and how rough the ground is. The trail model therefore runs the course stretch by stretch, about every 100 m of the GPX, or over a synthetic profile built from the typed ascent and descent. Each stretch costs the flat pace times a gradient factor times a terrain factor. The gradient factor uphill is the measured energy cost of running on slopes normalised to the flat (Minetti et al., 2002: 1.30 at 5%, 1.66 at 10%, about 3 at 25%); beyond 25% the cost rises linearly, which is a constant vertical speed, as race records show above about 31% (Kay, 2012) and as the energetics of vertical-kilometre races imply, where walking is cheaper per metre of ascent from about 28% (Giovanelli et al., 2016). Downhill the energy curve is not the pace curve: free-paced runners are about 14% faster at −10% than on the flat (Townshend et al., 2010), grade-adjusted pace from millions of runs puts the fastest grade near −10% rather than at Minetti's energy minimum of −20% (Strava, 2017), and race records gain nothing below about −26% (Kay, 2012), so the model's downhill factor is 0.87 at −10%, 1.0 again at −25% and rising beyond, close to the hybrid that fitted 109,000 race times within 10–20% (Crowell, 2021). The terrain classes A to D add what the literature reports for trail against road, 5–20% with most of it on the descents, where eccentric braking and footing limit the pace rather than oxygen (Vernillo et al., 2017): nothing for a road or track, 5 / 3 / 10% on the flat, the climbs and the descents for a groomed trail, 12 / 6 / 25% for technical single track and 20 / 10 / 45% for alpine terrain. With the athlete's vertical speed (VAM, entered directly or from a known climb, lowered for a longer race with Riegel's exponent on the speed) a stretch over 15% blends from the gradient curve to ascent divided by VAM and is all vertical from 25%. The flat pace is the running page's own prediction (Riegel, Cameron or Daniels-Gilbert) for the equivalent flat distance, the sum of the stretches' time at the flat pace; since that distance depends on the pace, the model iterates to a fixed point, and beyond the marathon every model continues with Riegel's exponent of 1.06. Altitude costs every stretch at its own elevation, and the weather and the run after a bike enter as percentages of the moving time, as on the road.
Data. The GPX file gives the stretches, the sections (climbs, flats and descents of at least 500 m) and the elevation of each; the terrain class of every section comes from the map data around a few points of it, read once after the upload and again on request (Mapbox: a surfaced road is A, a track or a path through woods and meadows B, a path through scrub or over bare ground, steps or no mapped way C, bare ground or snow without any way D), and stays editable. The outputs are the time per section with its pace and vertical speed, the time by kind, the walking share, the equivalent flat distance, the km-effort after the ITRA (kilometres plus metres of ascent divided by 100) and the steepest sustained climb with the vertical speed it needs against the athlete's.
Assumptions and limits. The reference must be a road or flat race; a trail result would count the terrain twice. One terrain class off moves a technical course by 10–20%, and the map's classes are suggestions. Segment models of this kind validate at mean errors around 10% for mountain races of 10 to 50 km; beyond that the specific fatigue, the night, the aid-station stops and the walking of an ultra are not modelled, so a prediction for 100 km or 100 miles reads as the moving time of a well-paced day and tends to be optimistic.
Wind and course exposure
Model. Aerodynamic drag grows with the square of the air speed on your body, and the air speed is your ground speed plus the wind component along your direction of travel, with the crosswind added as a vector. Each stretch of a GPX course therefore meets the wind at its own angle: the parser sorts the route into sixteen compass sectors per gradient class, and the solver computes every sector with its own apparent wind. That is why a loop in wind is always slower than in still air (the headwind half costs more than the tailwind half returns), and why a crosswind still costs time. Without a course, all directions are weighted equally.
Data. The wind for your race comes from Open-Meteo, on request only: an hourly forecast up to fifteen days ahead, the recorded weather for dates in the past (recent days from the forecast archive, older dates from the ERA5 reanalysis), and, beyond the forecast horizon, the typical wind of the same week over the last five years, given as a range. A badge next to the wind slider names which of these the value is, or that it was set by hand. Forecasts state the wind at 10 m above ground; the calculator scales it to rider height with the logarithmic wind profile and a roughness class for the terrain (sheltered 0.5, open 0.6, exposed 0.7 of the 10 m wind). On request, the exposure is read from Mapbox land-cover data every 2 km along the route, so a sheltered forest road and an open causeway on the same course get different winds.
Assumptions and limits. The wind is averaged over the hours you are expected to be on the bike; gusts are shown but not modelled. Forecast skill falls off beyond about five days, and the climatology is a range of what has happened, not a prediction. Land-cover classes are coarse, and the model assumes a constant riding position and no drafting. Treat the wind time delta as an order of magnitude and re-fetch the forecast in race week.
Race nutrition
Targets. Carbohydrate per hour on the bike follows race duration and gut training: 30–60 g/h for races of one to two and a half hours, 60–90 g/h beyond, and 90–100 g/h only for a trained gut, reduced by a tenth above 25 °C; the run gets three quarters of the bike rate. The rate is absolute, not per kilogram: the oxidation of ingested carbohydrate is capped by intestinal absorption, which hardly varies with body mass (Jeukendrup, 2011, 2014; Wallis et al., 2006 measured the same rates in men and women at the same dose), while carbohydrate use and glycogen stores do scale with body size; one small study with plain glucose found larger riders oxidising more (Ijaz et al., 2025), not yet a basis for a rule per kilogram, and body height plays no part beyond the bike's frontal area. Fluid is 400–800 ml/h by temperature and sun, scaled by body weight between 0.8 at 60 kg and 1.2 at 90 kg because sweat follows the heat produced, which rises with the mass and the power (Gagnon et al., 2013; Cramer & Jay, 2015) and because a fixed rate over-hydrates the light and under-hydrates the heavy (Montain et al., 2006; Almond et al., 2005), or 80 % of a measured sweat rate, capped at one and a half litres. Sodium is 300, 500 or 1000 mg/h by temperature and sweat type, and salt capsules are added only up to 1.5 g of sodium per litre drunk. The caffeine target is 3 mg per kilogram, the breakfast 0.5 g of carbohydrate per kilogram for every hour before the start.
Dosing. The planner works with your own products at their label values and your own places. The drink fills the bottles up to a chosen strongest mix over the volume you will actually drink, so a hot day gets a thinner mix and more gels, a cold day the opposite; what is left goes into gels, chews and bars up to the places you have, each special-needs stop re-supplies, and the course offers fill what is still missing, capped per aid station. The timeline then places every take by the running deficit against the target line: a gel is due the moment intake falls half a unit behind, and never so that any hour ends more than half a unit ahead.
Priorities. When targets conflict the order is fixed. Fluid sets the frame: what the conditions need, at most one litre per hour and never more than is lost, because over-drinking is the one acute danger (Hew-Butler et al., 2015) and weight should never be gained (Kenefick, 2018); it is never raised to carry more of anything else. Carbohydrate is the target the plan works towards, into the drink up to the strongest mix, then gels, the bag and the course, and what is missing is shown as a gap. Heat thins the mix and lowers the rate by a tenth, because gastric emptying follows energy density (Vist and Maughan, 1995), the oxidation of ingested carbohydrate falls in the heat (Jentjens et al., 2002) and the gut suffers (Costa et al., 2017); a hypotonic bottle delivers fluid better than an isotonic one (Rowlands et al., 2022), so a thin mix is a plus, and the planner keeps it at half strength or more only so the chosen drink stays a carbohydrate source, a matter of handling, not physiology, since gel and drink are oxidised alike and a bar nearly so (Pfeiffer et al., 2010a, 2010b). Sodium is dosed to the sweat loss but capped at 1.5 g per litre drunk, a rule of thumb at the top of the measured whole-body sweat range (Baker et al., 2016), and never gates a plan: there is minimal evidence that replacing it improves performance, only that it must fit the fluid (McCubbin and Costa, 2018; McCubbin, 2025). Caffeine is a budget of 3 mg/kg (Guest et al., 2021), the caffeinated variant only up to it; a small dose late in the race, a cup of flat cola, is its best-documented use (Cox et al., 2002; Talanian and Spriet, 2016). Fat gels take only the places the carbohydrate gels leave free and only on a bike leg of three hours or more, one 90 minutes in and then every 90 minutes, none in the last 90 minutes before T2 and never on the run: fat brings no performance in a race and the gut tolerates about 25–30 g of it (Jeukendrup et al., 1998; Goedecke et al., 2005), long-distance athletes eat it almost only on the bike (Barrero et al., 2014) and gut symptoms cluster in the run (Rehrer et al., 1992). Protein on long bike legs, about 20–30 g every three hours from four hours on, serves satiety, a break from sweet and muscle protection, not speed (Tiller et al., 2019).
Before the start. Carbohydrate loading (10–12 g/kg/day for 36–48 h; Burke et al., 2011) and caffeine (Guest et al., 2021) are the two pre-race measures with strong evidence. Two more are planned when the athlete lists a product for them: a beetroot shot with at least 300 mg nitrate (about 5 mmol) 150 minutes before the start, a small gain for recreational athletes and little for elite ones with a VO₂max above 65 (Jones et al., 2018; Senefeld et al., 2020), and, above 25 °C, a sodium preload of about 1 g in 500–750 ml of water 90 minutes before the start, which expands the plasma volume and lowers the strain in the heat (Sims et al., 2007, with a larger load of 2–3 g; the planner's dose is its own; glycerol retains fluid too, Goulet et al., 2007).
Assumptions and limits. The ranges are population averages from the position statements; tolerance is individual and every plan must be rehearsed in training. Label values change with product batches, aid-station offers with the race, and the plan is only shown once it covers a minimum of the carbohydrate need for the race length. None of this is medical advice.
Model status: last changed on 4 October 2026. Changes to the calibration values are noted in the References sections of the calculators.