P = [ m·g·sin θ + Crr·m·g·cos θ + ½·ρ·CdA·(v + v~wind~)² ] · v ÷ η
Cycling power, climbing and zones
Power for a speed and speed for a power — with position (CdA), surface (Crr), gradient, wind, air density from altitude and temperature, and drivetrain loss; the time for a climb, VAM and W/kg; energy; and Coggan power and heart-rate training zones from FTP and LTHR.
Added
How to use it
Fill in the rider and bike, a riding position (which sets CdA, the drag area) and a surface (which sets Crr, the rolling-resistance coefficient), any headwind (negative for a tailwind), altitude and temperature (which set the air density), and the drivetrain efficiency.
-
Speed & power — either the speed a power gives you, or the power a speed costs, on a given gradient, with where the watts go (air, rolling, climbing, drivetrain) and a chart of speed against gradient at that power (and at ±20%).
-
Climb — a climb’s distance and either its average gradient or its elevation gain, and the power you will hold: time, speed, VAM (vertical metres per hour), W/kg and the work done. Michele Ferrari’s rule of thumb, W/kg ≈ VAM ÷ (200 + 10 × gradient %), is shown as a cross-check.
-
Training zones — FTP from a 20-minute test × 0.95 (Allen and Coggan), an 8-minute test × 0.90 (Chris Carmichael), the best minute of a ramp test × 0.75, or typed in; Coggan’s seven power zones in watts and W/kg; and heart-rate zones from your lactate-threshold heart rate (LTHR), Coggan’s five or Joe Friel’s seven. Friel’s LTHR field test: the average heart rate over the last 20 minutes of a 30-minute solo time trial.
The model is the standard one validated by Martin, Milliken, Cobb, McFadden and Coggan ("Validation of a Mathematical Model for Road Cycling Power", Journal of Applied Biomechanics 14, 1998), without the small wheel-bearing and inertia terms:
with θ = atan(gradient), ρ the air density from the ISA barometric formula and the ideal gas law (1.225 kg/m³ at sea level and 15 °C), and η the drivetrain efficiency (about 97–98% for a clean chain). Speed for a power is solved numerically. Energy: kilojoules of work ≈ kilocalories of food, because the body’s gross efficiency (about 20–25%) nearly cancels the 4.184 kJ per kcal.
The positions and surfaces give typical CdA (0.23 on aero bars to 0.55 upright) and Crr (0.0025 on a track to 0.02 off-road) values — orders of magnitude from published wind-tunnel, field and roller tests; your own can differ by 10–20%, so pick Custom if you have measured them. Your units are remembered and shared with the other bike tools.
Limits
-
Steady state: no acceleration, drafting (which saves 25–40% of the air drag), cornering or braking. Wind is taken as dead ahead or behind.
-
Climb times assume a steady power and an even gradient; real climbs with steep ramps cost a little more at the same average power.
-
FTP and zone formulas are conventions for training, not physiology; different coaches use slightly different boundaries. Heart rate lags effort and drifts with heat and fatigue.
Related: gearing calculator (what cadence that speed needs), tyre pressure, maintenance log, spoke length.
Linking to an example
Distances, speeds, weights, heights and temperatures are read in the link’s units: units=metric
(kg, km/h, km, m, °C) or units=imperial (lb, mph, mi, ft, °F).
| Parameter | Meaning | Example |
|---|---|---|
|
|
|
|
Speed & power tab: watts, speed, gradient (%) |
|
|
Rider; bike and kit |
|
|
Position: |
|
|
Surface: |
|
|
Headwind (negative: tail), altitude, temperature, drivetrain efficiency (%) |
|
|
Climb: distance, |
|
|
Zones: |
|
|
Lactate-threshold heart rate, |
|
|
|
|
Presets (?example=<name>, metric):
example= |
Shows |
|---|---|
|
what 40 km/h on the flat costs in the drops |
|
200 W into a 20 km/h headwind |
|
250 W at 2,000 m and 30 °C: thinner air, faster |
|
Alpe d’Huez, 13.8 km and 1,071 m, at 250 W |
|
Mont Ventoux from Bédoin (21.5 km, 1,610 m) at 6 W/kg for a 62 kg rider |
|
zones from a 295 W 20-minute test (FTP 280 W) and LTHR 168 |
For example ?example=alpe-dhuez or
?mode=speed&speed=35&pos=drops&grade=0.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.