For Everyone Training & analysis

Race recap: CdA estimate from your bike FIT

How the post-race recap auto-computes CdA from your bike file, with per-sample density from FIT temp + altitude.

What this is

When a race has an actual bike-leg FIT file linked, the post-race recap shows an automatic CdA estimate in the bike leg card. Same physics as the standalone CdA calculator, just running on the FIT we already have — no calculator visit needed.

How it works

For each second of the ride that looks like real bike riding (speed > 5.5 m/s ≈ 20 km/h, power > 60 W, |grade| < 4%), the estimator solves the standard cycling power equation for CdA:

P × drivetrain_eff = ½·ρ·CdA·v³ + Crr·m·g·v + m·g·v·grade

then averages across all valid samples (with a trimmed mean to suppress gust / draft outliers).

Air density (ρ) — from your FIT when possible

Air density matters a lot for aero calcs (a 4% drop in density shifts CdA by 4% the other way). The recap uses per-sample density computed from FIT temperature + altitude:

The bike-leg card shows what density was used + where it came from. Example readouts:

Multisport-file handling

If your bike file is actually a single multisport FIT (Garmin records swim → T1 → bike → T2 → run as one file), the recap's CdA estimator handles it the same way: the minimum-speed filter (5.5 m/s) cleanly drops swim and run portions from the solution, since neither can sustain bike-speed velocities. You get a clean CdA for the bike portion only.

Assumptions surfaced for transparency

Underneath the CdA value, the card lists exactly what the estimator used:

If the numbers look surprising, the assumptions block tells you what to question. If you want a more rigorous estimate, open the CdA calculator with the activity picker — same physics, but the calculator's FIT-mode gives you the tuning knobs (smoothing, filter bounds, etc.).

When the estimate is hidden

The bike-leg card omits the CdA estimate when:

See also

Last updated May 17, 2026

Still stuck? Ask us a question and we'll write up an answer.

Ask a question