Indoor · Ride
FTP test (20 min)
Tuesday, 06 October 2026 · 19:59Z2Indoor TrainerSmart trainerNew power bests: 5 min, 8 min, 10 min, 15 min, 20 min
Route
Route
Key data
- Distance
- 35.2km
- Moving time
- 1:05 h
- total 1:05:00
- Elevation
- 0m
- Avg speed
- 32.5km/h
- max 38.3 km/h
- Avg power
- 200W
- 2.68 W/kg · max 310 W
- Normalized Power
- 230W
- 3.08 W/kg
- Avg heart rate
- –
- Avg cadence
- 90rpm
- Calories
- 819kcal
- 780 kJ of work
- Training Stress
- 80TSS
- FTP 268 W · IF 0.86
- Relative Effort
- –
Streams
Power, heart rate, cadence, speed & elevation · one hover for all – the map follows
Time in power zones
FTP on ride date 268 W · raw sampling (gaps >10 s excluded)
- Z1Active recovery · ≤ 147 W31%20 min
- Z2Endurance · 148–201 W31%20 min
- Z3Tempo · 202–241 W0%0 min
- Z4Threshold · 242–281 W16%11 min
- Z5VO2max · 282–322 W22%14 min
- Z6Anaerobic · 323–402 W0%0 min
- Z7Neuromuscular · ≥ 403 W0%0 min
Time in HR zones
Stored at sync · boundaries not stored
No heart rate second-by-second data
Power curve
This ride vs. bests 2026 and all-time
This ride – 1 min: 291 W · 3.90 W/kg, 5 min: 289 W · 3.87 W/kg, 20 min: 283 W · 3.79 W/kg
Performance analysis
- Intensity Factor
- 0.86
- NP ÷ FTP
- Variability Index
- 1.15
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- –
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- 4/ 10
Aerobic decoupling (Pa:HR)
Only for rides ≥ 40 min with power + HR.
Fueling for this ride
During: 30–45 g carbs/h – banana, bar, sports drink
Drink: 500–750 ml/h
After: Normal, balanced meal
Laps
5 laps
| 1 | Warm-up | 10.10 km | 19:59 | 30.3 | 161 | – | – | 90 | 0 |
| 2 | Opener | 3.15 km | 4:59 | 37.9 | 289 | – | – | 90 | 0 |
| 3 | Recovery | 4.71 km | 9:59 | 28.3 | 134 | – | – | 90 | 0 |
| 4 | 20 min test | 12.54 km | 19:59 | 37.7 | 283 | – | – | 90 | 0 |
| 5 | Cool-down | 4.71 km | 9:59 | 28.3 | 134 | – | – | 90 | 0 |
Notes & raw data
Description
No description on Strava.
All data
Show raw data
{
"id": "demo-0223",
"name": "FTP test (20 min)",
"sport_type": "Ride",
"start_date": "2026-09-30T02:59:30Z",
"start_date_local": "2026-09-29T19:59:30",
"trainer": true,
"distance": 35249,
"moving_time": 3900,
"elapsed_time": 3900,
"total_elevation_gain": 0,
"average_watts": 200,
"average_heartrate": null,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
120,
1
],
[
125,
35
],
[
130,
338
],
[
135,
653
],
[
140,
160
],
[
145,
13
],
[
150,
24
],
[
155,
225
],
[
160,
567
],
[
165,
323
],
[
170,
58
],
[
175,
2
],
[
260,
4
],
[
265,
11
],
[
270,
75
],
[
275,
169
],
[
280,
381
],
[
285,
380
],
[
290,
280
],
[
295,
141
],
[
300,
49
],
[
305,
7
],
[
310,
3
]
]
},
"power_curve": {
"1": 310,
"5": 299,
"10": 297,
"15": 294,
"20": 295,
"30": 293,
"60": 291,
"120": 290,
"180": 290,
"300": 289,
"480": 283,
"600": 283,
"900": 283,
"1200": 283,
"1800": 234,
"2700": 223,
"3600": 205
},
"decoupling_pct": null,
"metric_sources": {
"np": "streams",
"variability_index": "np+summary"
},
"np": 230,
"variability_index": 1.15
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT-07:00) America/Vancouver",
"utc_offset": -25200,
"strava_url": "https://www.strava.com/activities/demo-0223",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo4",
"gear_name": "Indoor Trainer",
"device_name": "Smart trainer",
"elev_high": null,
"elev_low": null,
"average_speed": 9.038,
"max_speed": 10.65,
"device_watts": true,
"weighted_average_watts": 230,
"max_watts": 310,
"kilojoules": 780,
"has_heartrate": false,
"max_heartrate": null,
"average_cadence": 90.1,
"average_temp": null,
"suffer_score": null,
"calories": 819,
"perceived_exertion": 4,
"kudos_count": 4,
"comment_count": 0,
"athlete_count": 1,
"photo_count": 0,
"achievement_count": 0,
"pr_count": 0,
"start_latlng": null,
"end_latlng": null,
"location_city": null,
"location_country": null,
"geo": null,
"summary_polyline": null,
"laps": [
{
"name": "Warm-up",
"lap_index": 1,
"split": 1,
"start_date_local": "2026-09-29T19:59:30",
"elapsed_time": 1199,
"moving_time": 1199,
"distance": 10100,
"total_elevation_gain": 0,
"average_speed": 8.424,
"max_speed": 8.51,
"average_cadence": 90.1,
"average_watts": 160.7,
"device_watts": true,
"start_index": 0,
"end_index": 1199
},
{
"name": "Opener",
"lap_index": 2,
"split": 2,
"start_date_local": "2026-09-29T20:19:30",
"elapsed_time": 299,
"moving_time": 299,
"distance": 3145.9,
"total_elevation_gain": 0,
"average_speed": 10.521,
"max_speed": 10.65,
"average_cadence": 90.1,
"average_watts": 289.3,
"device_watts": true,
"start_index": 1200,
"end_index": 1499
},
{
"name": "Recovery",
"lap_index": 3,
"split": 3,
"start_date_local": "2026-09-29T20:24:30",
"elapsed_time": 599,
"moving_time": 599,
"distance": 4714,
"total_elevation_gain": 0,
"average_speed": 7.87,
"max_speed": 10.14,
"average_cadence": 90.1,
"average_watts": 134.1,
"device_watts": true,
"start_index": 1500,
"end_index": 2099
},
{
"name": "20 min test",
"lap_index": 4,
"split": 4,
"start_date_local": "2026-09-29T20:34:30",
"elapsed_time": 1199,
"moving_time": 1199,
"distance": 12541.4,
"total_elevation_gain": 0,
"average_speed": 10.46,
"max_speed": 10.56,
"average_cadence": 89.9,
"average_watts": 282.9,
"device_watts": true,
"start_index": 2100,
"end_index": 3299
},
{
"name": "Cool-down",
"lap_index": 5,
"split": 5,
"start_date_local": "2026-09-29T20:54:30",
"elapsed_time": 599,
"moving_time": 599,
"distance": 4710.3,
"total_elevation_gain": 0,
"average_speed": 7.864,
"max_speed": 10.08,
"average_cadence": 90.2,
"average_watts": 134,
"device_watts": true,
"start_index": 3300,
"end_index": 3899
}
],
"splits_metric": [],
"segment_efforts": [],
"best_efforts": [],
"streams": "/streams/demo-0223.json",
"external_id": null,
"synced": {
"summary": "2026-09-30T05:04:30.000Z",
"detail": "2026-09-30T05:04:30.000Z",
"streams": "2026-09-30T05:04:30.000Z"
}
}