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

CourseGrade, corners and altitude per segment
YouFTP, weight, CdA, tyres, gearing
WeatherTemperature, humidity, pressure, wind
TargetRace type, intensity, strategy
PACESCIENCE
ENGINE

WHAT COMES OUT

PlanOne level and a watt range per segment
PredictionFinish time, NP, IF, average speed
FileBike-computer course file, workout file, Zwift, race card

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.

P=v × ( ½ ρ · CdA · v2airAero drag + Crr · mg · cos θRolling resistance + mg · sin θGravity on the grade ) / η
ρAir density: from race-day temperature, humidity and altitude pressure, section by section
CdADrag area: worked back from your FIT file, or looked up from your position
vairRelative wind speed: the wind direction converted onto each section's heading
θGrade: measured segment by segment along the course
CrrRolling resistance: tire model × road surface
ηDrivetrain efficiency: what the chain and chainrings cost you, 0.977 by default

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.

At 35 km/h you need0W
Air drag Rolling resistance Gravity on the grade

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.

Soft0.75×
Ease↓
Steady≈1.00×
Push↑
Dig↑↑
Stomp1.20×
Push harder on climbs, hold steady on the flat

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.

A climb you cannot sustain drops back to one you can

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.

Wind is a hill too

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.

Ease off before T2

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.

81%
CdA from a position lookup
▲ Upload your past race FIT files with power
86%
Your CdA solved from physics

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:

Wind tunnel measurement (race setup, 0° yaw)
0.2123 m²
HKUST AAF wind tunnel · 45 km/h · force balance measurement · two repeat runs agreed
AeroPacer estimate from the race file
0.214 m²
180 km race FIT · 283 out-and-back pairs · middle half within 0.200–0.233
Difference
+0.8 %
About 2 W at 45 km/h. A wind tunnel takes scheduling and money; AeroPacer only needs the power file you already have

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.

2.1%

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%.

2.1%median bike split error (about 8 min over a full distance)
86%of races within ±5%
67%of races within ±3%
−8.0%〜+8.7%range across all 64 rides, none excluded

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?

This is the model's accuracy, not yoursYour actual finish time also depends on weather changes on the day, how you feel, nutrition and technical sections. The real value of the plan is the distribution: where to push and where to back off, which is far more reliable than the absolute time.
A flat, windless course saves only secondsThe gain from segment pacing comes from hills and wind; on a course that is flat and calm anyway, segment-by-segment pacing barely differs from constant power. That is not the engine being wrong.
Too far from a weather station, the wind is unreliableWhen the nearest weather station is more than 30 km away, the results page flags it as far off: the plan still uses that wind, but it may not be the wind on the course, and solving for CdA assumes no wind at all. Keep this in mind on island and mountain courses.
Drafting, punctures or a slipped position make a file unusableSolving CdA needs steady riding; a file with drafting throughout or jumping altitude is marked low quality, kept but left out of the merge.

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.

172Official route 14ride-file calibrated 25public community routes

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