Physics, not guesswork.
The course, race-day weather and your own numbers go into one power equation, which is solved segment by segment for how many watts to ride and how long it takes. This page explains how it works, how accurate it is and what it cannot do.
Demo: FTP 250 W · 68 kg · tri bike. Colours = the six power levels, line = target watts per segment, arrows below = wind on each segment; move over the chart and the readout follows you.
WHAT GOES IN
ENGINE
WHAT COMES OUT
One calculation needs just four groups of data.
Each group can be filled in with just a few fields; anything left blank uses a sensible default you can refine later.
Course
- 211 real courses: most IRONMAN races plus Challenge, both 226 and 113; your own GPX works too
- Segment grades are computed from the track; enter the official total ascent and the inflated elevation is scaled back proportionally
- Corners only count when you really have to slow down: the speed cap starts at a 60° change of direction and gets lower the sharper the turn; a turnaround counts once as 180°
You
- FTP, weight, height, bike weight: those four fields are the minimum
- CdA: looked up by bike type and position, or solved from your own ride file with power
- Tyres and road surface set rolling resistance; your lowest gear sets how slowly you can climb
Weather
- Pick the race date and start time and temperature, humidity, pressure, wind direction and speed are fetched for you
- Air density is computed per segment: the hotter, wetter and higher, the thinner the air
- Wind is projected onto each segment's heading, so headwind, tailwind and crosswind are each handled
Target
- Race type sets how hard to ride and how many kilometres before T2 to ease off
- Intensity is not read from a fixed table; it follows how long you will roughly ride on this course: the longer, the lower the sustainable intensity
- Strategy conservative / standard / aggressive only changes how much harder than the flat you push on climbs
One equation, and every number has a source.
This is the textbook cycling power equation, not a black box. The engine's job is to get every term right on every segment, then turn the question around: how many watts on this segment for the shortest total time.
At 37 km/h on the flat, 84% of your effort goes into pushing air aside, so CdA is the term that matters most and is easiest to get wrong.
Drag the sliders: at the same 35 km/h, change the grade or wind and the three resistances trade places. Demo values 68 kg · 9 kg bike · CdA 0.245 · Crr 0.004 · air density 1.18.
Six levels, and each segment gets just one.
Each level is a fixed multiple of your target NP. While riding, just follow the level and watt range your bike computer shows; no numbers to memorise, and the race card uses the same colours.
A little more on the climbs and easing off on the descents saves the most time in physics terms. The bigger the difference, the more you save, at the cost of tired legs early in the run, so strategy adjusts only this one thing.
You can stand and power over a short steep ramp; if a long climb cannot be held at that effort, the engine drops it back to a level you can sustain rather than sending you over the top blown.
Headwind sections automatically step up a level and tailwind sections step down. The same climb can be a different level into the wind and with it.
The last kilometres deliberately drop a level to save your legs for the run; how far out depends on the race type.
Same FTP, different watts on every course.
Tap a course to see how its climbs are graded. On a flat course one power all the way is fastest; on a hilly course every climb wants a different number.
Demo: FTP 250 W · 68 kg · tri bike. Colours = the six power levels, line = target watts per segment, arrows below = wind on each segment; move over the chart and the readout follows you.
Two weather sources, depending on how far off the race is.
Within 9 days of the race
Hourly forecast
An hourly forecast from a national weather service, matched to the hours you will be riding. Recalculate before the race and the plan updates with that day's wind.
Further out
Multi-year same-period average
Measured records from several past years for the same period and time of day give the typical temperature, humidity and wind. The heat and wind penalties in the rankings use the same data.
Wind is a hill too
A headwind is a climb: push. A tailwind is a descent: back off. The engine folds each segment's wind direction and strength into its level, so the headwind stretch of the Queen K in Kona moves up a level on its own. Veterans already ride this way. Now it is written into your plan.
Wind direction follows the meteorological convention of where the wind comes from, and averages are speed-weighted vector averages, so 350° and 10° never average to 180°. When the nearest weather station is too far away (more than 30 km), the results page flags it as far off: plans still use that wind, but it may not be the wind on the course, while the backtest and CdA solving assume no wind at all. That is the common cause of the largest backtest errors.
CdA solved from your own races.
A lookup table only gives a range. Upload a race file with power and the engine runs the same equation backwards: with power, speed, grade and that day's wind known, it solves for your drag area.
Replay of 64 real ride files: share of rides with a bike split error within ±5%. The solved CdA comes only from the same athlete's other files, never from the ride being checked.
Illustration: every uploaded race narrows the error band of the converged value a little
Every estimate comes with an error band and a count of usable segments; several estimates merge into one converged value, weighted towards the more reliable ones, with each bike type and position kept separate.What is CdA →
Checked once against a wind tunnel: 0.8% apart.
In January 2026, an athlete we coach (8:17 full-distance finish) had their race equipment measured in the wind tunnel at the HKUST Aerodynamics and Acoustics Facility (AAF). Six months later they raced IRONMAN Hamburg. We ran the power file from that race through AeroPacer, and the engine, which never saw the wind tunnel result, solved their CdA straight from it. This is a check on one person and one race:
Note: this is an n = 1 check, not a guarantee of accuracy. The wind tunnel value is a single-point measurement at 0° yaw in a fixed position; the race estimate covers 4.3 hours of real riding, so the two were never going to match exactly. A 0.0005 difference in the assumed rolling resistance moves CdA by about 0.005, more than the gap here, so there is some luck in the 0.8%. What the data can support is this: the wind tunnel value falls inside the estimated range, close to the middle. The precision of a single estimate depends on file quality (flat, little drafting, steady cruising is best); the subscription's multi-record convergence keeps narrowing the range as data accumulates.
64 real ride files, replayed to see how accurate the physics model is.
Method: 64 power files ridden by nine people in 15 countries and regions, 2019–2026 (61 races and 3 long training rides). The power actually ridden on the day and that day's weather were fed back into the engine to see how far the calculated bike split was from the real one. To keep it fair, each athlete's CdA was solved only from their other files, never peeking at the ride being checked.
Each dot is one ride; the axis is bike split error. Dark = within ±2%, mid tone = within ±5%, the rest beyond ±5%.
The bias depends on the course: flat courses mostly come out slow (18 rides, 2.2% slow on average), while hilly courses are close to zero. The two cases with larger errors are windy days with no nearby weather station, and athletes who had just changed equipment or position before enough CdA data had built up. This tests working out time from known power; a pre-race prediction also has to account for whether you hold your target power and how good the forecast is.How the backtest was done →
What are its limits?
Where the course data comes from
Routes from official race pages, official GPX files and public community routes; ascent is computed from the track, and every course shows its verification tier.
Elevation on some courses comes from Copernicus DEM GLO-30: © DLR e.V. 2010–2014 and © Airbus Defence and Space GmbH 2014–2018, provided under COPERNICUS by the European Union and ESA; all rights reserved.
Terms
- FTP
- The wattage you could hold for a full hour of all-out riding. Every wattage in this plan is worked out from it.
- CdA
- How big you and the bike look head on to the wind. The lower and narrower you are, the smaller the number and the less power you need. On the flat, more than 80% of the resistance comes from it.
- Crr
- The effort the road takes back as your tires roll over it. The better the tire and the smoother the road, the smaller the number.
- NP
- Turns your up-and-down watts into the steady wattage that would feel just as hard.
- IF
- NP divided by FTP, in other words how hard this ride is for you.
- TSS
- How much the whole ride takes out of you, counting intensity and time together. 100 = one hour all out.
- VI
- NP divided by AP. The closer to 1.00, the more evenly you rode.
- Converged CdA
- All your estimates combined into one representative value; this is what planning uses.
- Error band
- The true value is somewhere in this range (plus or minus). The narrower it is, the more certain you can be.
- Usable stretches
- How many stretches in this file were ridden steadily enough to be used. The more there are, the more reliable it is.
- Speed score
- A 0-100 score for how easy it is to post a good time on this course. Lots of climbing, lots of corners, too much heat and strong wind all cost points.
- What segment pacing buys
- At the same intensity, how many seconds a section-by-section plan saves over holding one fixed wattage the whole way.
Now run it on your own course.
A free account estimates a CdA for every outdoor ride and builds the six-level plan; race-day weather, export files and planning with your measured CdA are bought per race.
Start tracking my CdA for free