Articles /
What is CdA, and why does it decide most of your bike leg time?
Let me start with one of my own numbers. In May 2026 I raced a full distance (226 km) in Vietnam. Before the race, the bike leg time predicted with a CdA looked up from a position table was off by 8.1% from what actually happened. After the race I fed that day's power file back into the engine, solved for my own CdA from the file, and ran it again. The gap shrank to 1.6%. Same course, same power, only one number changed in between.
That number is CdA.
What exactly is CdA?
CdA (drag area) is two things multiplied together: Cd is the drag coefficient, A is the frontal area. The unit is square metres. Think of it as the patch of air that you and the bike together push through, seen from straight ahead. The smaller the number, the faster you go on the same power.
Why does it matter so much? Look at where the power goes. A 68 kg athlete on a 9 kg bike, pushing 200 W on flat road with no wind: the engine puts cruising speed at 37.4 km/h, with 168 W going into pushing air aside and only 27 W into tire rolling resistance. 86% of the effort is spent fighting air, and aero drag scales with the cube of speed: every 10% more speed costs 33% more power against the air.
Typical CdA for a Tri/TT bike with an aero helmet is around 0.25. A road bike with clip-on aero bars is about 0.285, a road bike in the drops about 0.32, and hands on the hoods jumps straight to 0.40. These are reference values for a 175 cm, 72 kg rider. The bigger you are and the less low you can get, the higher the number.
How much time is 0.01 worth?
Run it through the engine and you will see. Same athlete, constant 200 W, 90 km of flat road with no wind:
Improve from 0.25 in a Tri/TT position to 0.22 and you save about 6 minutes over 90 km. That can come from a different helmet, lowering the aero bars, or moving a bottle from the frame to behind the saddle, without changing your FTP by a single watt.
Why is a lookup table not enough?
A table tells you roughly where people in a position like yours tend to fall, and that range is about plus or minus 15%. In a finish time prediction, plus or minus 15% on CdA is roughly plus or minus 5% on time, half an hour in a full-distance race. That is where my 8.1% in Vietnam came from: my real CdA was well below the table value, so the engine predicted me slower than I was.
There are only two places to get the real number. One is a wind tunnel: an athlete with an 8 h 17 min full-distance finish measured 0.212 in the wind tunnel at the Hong Kong University of Science and Technology in January 2026. The other is solving it from your own race file: AeroPacer took the same athlete's power file from IRONMAN Hamburg six months later and got 0.214, 0.8% off the tunnel. A wind tunnel needs scheduling and money. The power file you already have.
How is it calculated from a power file?
The principle is a power balance. Your head unit records power, speed and gradient every second. Air density comes from that day's temperature and pressure, rolling resistance from the tire model. Subtract climbing, rolling and acceleration from the power, and what is left is the power spent pushing air. Work backwards from that and you can solve for CdA.
In practice a few things throw the estimate off, and they are also how we judge whether an estimate can be trusted:
- Drafting. Sitting behind someone cuts aero drag by about 30%, so the CdA comes out falsely low. Group ride files cannot be used.
- Wind. Ride one stretch into a headwind and another with a tailwind, and the CdA from each will differ a lot. AeroPacer corrects with that day's hourly wind direction and pairs the outbound and return legs so the wind cancels out.
- Position changes. Late in a long race you lift your head, hunch your shoulders, come off the aero bars, and your CdA changes. We split a race into segments and compare early against late. If the second half runs a few percent higher than the first, it is usually the position falling apart.
- Bad elevation data. When water gets into the barometer, the gradient is unreliable for the whole file and the gravity term contaminates the estimate. A file like that can be kept on record but cannot be used for convergence.
A CdA estimated from a single file carries that day's weather error, so you need to accumulate. Multiple files are converged with precision weighting, the confidence band narrows as the count grows, and the converged value is steadier than any single estimate.
How do you get a usable file?
If you have no race file, that is fine. Ride one training session like this and you have one:
- Flat road, a day with little wind, steady cruising for 20 minutes or more.
- Ride the same stretch out and back twice each way, so the system can pair the opposite directions and cancel the wind.
- Same equipment as race day: helmet, wheels, clothing and bottle placement are all part of aero drag.
- Hold your race position the whole way, and no drafting.
Put the estimated number back into your plan, race again, and upload that day's file afterwards to compare. Your CdA will converge tighter each time, and the way the engine models you will look more and more like you.
My 8.1% in Vietnam worked out to 22 minutes. The engine did not get the physics wrong on those 22 minutes. It just did not know me.