2026-05-24 · 4 min read
FTP without a power meter — 5 validated ways to estimate your cycling threshold
FTP (Functional Threshold Power) is the power you can hold for an hour. It's the mother metric of modern cycling — every zone (Z1 to Z7 of the Coggan model) is built on top of it. A power meter measures it directly, but they start at USD 300 and the head-unit ones run USD 800+. If you don't have one yet, these are the 5 best methods to estimate your FTP without spending a dime.
Method 1 · 20-minute test (the classic)
Andrew Coggan's protocol. The most-used and most-validated.
Protocol:
1. Warmup 15-20 min, including 3 × 1-min openers all out.
2. 5 min flat out (drains the anaerobic system).
3. 10 min easy recovery.
4. 20 min at the highest sustainable effort — pin the hardest pace you can hold for the full 20'.
5. Cooldown.
Formula: FTP = average power over the 20' × 0.95.
Accuracy: ±5 W for experienced cyclists. For beginners (who don't know how to pace), it tends to overestimate.
Downsides: You need a bike computer with speed and a flat 20-min stretch without lights. You don't have real power, so you're actually measuring sustainable speed and mapping it.
Method 2 · 8-minute test (Hunter Allen variant)
Shorter, mentally less brutal. Good for beginners.
Protocol: two all-out 8' efforts with 10' recovery between them.
Formula: FTP = average of the best 8' × 0.90.
Accuracy: ±8 W. Less precise than the 20-min test.
Downsides: Shorter tests tend to overestimate FTP because they lean more on the anaerobic system.
Method 3 · Ramp test (smart trainer / simulator)
If you have a smart trainer (Wahoo Kickr, Tacx, Elite) and Zwift / TrainerRoad, the ramp test is the most convenient and reproducible method.
Protocol: power goes up 20 W every minute until you can't hold the wheel. The software computes:
Formula: FTP = 75% of peak power from the last completed minute.
Accuracy: ±10 W. Underestimates a bit for cyclists with a strong anaerobic system (sprinter type, "explosive legs"), because the final sprint biases the reading.
Method 4 · LTHR + Karvonen (no watts, just HR)
If you have a heart rate strap but no power, you can run a similar test and measure HR.
Protocol: same 20' test as method 1, but you log HR instead of watts.
Formula: LTHR (threshold) = average HR over the 20' × 0.95. Your zones come out as % of LTHR (not % of max HR).
Mapping to FTP: depending on your efficiency, ~80-85% of sustainable LTHR corresponds to your FTP. Not exact, but a decent anchor.
Downsides: HR depends on hydration, heat, sleep, caffeine. Variability of ±5 bpm day to day.
Method 5 · CP (Critical Power) from races / segments
If you've uploaded a lot to Strava, you can estimate FTP by looking at your best sustained efforts at:
Simplified formula: Critical Power ≈ FTP. [Vetta computes this automatically](/herramientas/zonas) if you connect Strava.
Accuracy: improves with every new hard upload. ±10 W with 3 months of history.
Downsides: needs history loaded. If you're just starting, it won't help.
Which one to use — quick guide
| Situation | Recommended method |
|---|---|
| Flat 20-min stretch + a speed sensor | 20-min test (#1) |
| Beginner who wants something less brutal | 8-min test (#2) |
| You have a smart trainer | Ramp (#3) |
| Just a heart rate strap | LTHR + Karvonen (#4) |
| 3+ months of activities on Strava | CP from history (#5) |
When to retest
FTP changes over time. Repeat the test:
Vetta uses all of these
The [Vetta Trainer](/) engine can start without knowing your exact FTP. If you have Strava, it computes CP from history. If not, it starts with an estimated value from your self-assessment (RPE) and calibrates with each activity. Once you have the real number locked in, the engine adjusts the prescriptions automatically.