Outdoor · Ride
Morning Ride
Route
Coloured by power zone
Key data
- Distance
- 35.8km
- Moving time
- 1:11 h
- total 1:13:32
- Elevation
- 88m
- 29–59 m
- Avg speed
- 30.2km/h
- max 40.1 km/h
- Avg power
- 156W
- 2.03 W/kg · max 420 W
- Normalized Power
- 163W
- 2.12 W/kg
- Avg heart rate
- 148bpm
- max 161 bpm
- Avg cadence
- 88rpm
- Calories
- 700kcal
- 667 kJ of work
- Training Stress
- 52TSS
- FTP 247 W · IF 0.66
- Relative Effort
- 98
- Temperature
- 26°C
Streams
Power, heart rate, cadence, speed & elevation · one hover for all – the map follows
Time in power zones
FTP on ride date 247 W · raw sampling (gaps >10 s excluded)
- Z1Active recovery · ≤ 136 W18%13 min
- Z2Endurance · 137–185 W66%47 min
- Z3Tempo · 186–222 W15%11 min
- Z4Threshold · 223–259 W1%0 min
- Z5VO2max · 260–296 W0%0 min
- Z6Anaerobic · 297–371 W0%0 min
- Z7Neuromuscular · ≥ 372 W0%0 min
Time in HR zones
HR zones on ride date · raw sampling (gaps >10 s excluded)
- Z1Recovery · ≤ 128 bpm2%1 min
- Z2Endurance · 129–146 bpm28%20 min
- Z3Tempo · 147–160 bpm70%50 min
- Z4Threshold · 161–172 bpm0%0 min
- Z5Maximum · ≥ 173 bpm0%0 min
Power curve
This ride vs. bests 2025 and all-time
This ride – 1 min: 196 W · 2.55 W/kg, 5 min: 174 W · 2.26 W/kg, 20 min: 168 W · 2.18 W/kg
Performance analysis
- Intensity Factor
- 0.66
- NP ÷ FTP
- Variability Index
- 1.04
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- 1.10
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- –
Aerobic decoupling (Pa:HR)
+6.2 %Okay – keep building the base
Fueling for this ride
During: 30–45 g carbs/h – banana, bar, sports drink
Drink: 500–750 ml/h
After: Normal, balanced meal
Laps
4 laps
| 1 | Lap 1 | 10.00 km | 20:02 | 30.0 | 157 | 144 | 158 | 84 | 25 |
| 2 | Lap 2 | 10.01 km | 20:18 | 29.6 | 167 | 151 | 159 | 87 | 35 |
| 3 | Lap 3 | 9.99 km | 19:10 | 31.3 | 147 | 147 | 160 | 79 | 20 |
| 4 | Lap 4 | 5.79 km | 11:33 | 30.1 | 154 | 151 | 161 | 84 | 8 |
Notes & raw data
Description
No description on Strava.
All data
Show raw data
{
"id": "demo-0110",
"name": "Morning Ride",
"sport_type": "Ride",
"start_date": "2025-05-31T07:03:15Z",
"start_date_local": "2025-05-31T09:03:15",
"trainer": false,
"distance": 35794.4,
"moving_time": 4264,
"elapsed_time": 4412,
"total_elevation_gain": 88,
"average_watts": 156.4,
"average_heartrate": 148,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
0,
214
],
[
85,
1
],
[
90,
8
],
[
95,
15
],
[
100,
28
],
[
105,
23
],
[
110,
37
],
[
115,
43
],
[
120,
50
],
[
125,
76
],
[
130,
116
],
[
135,
149
],
[
140,
198
],
[
145,
223
],
[
150,
248
],
[
155,
276
],
[
160,
329
],
[
165,
314
],
[
170,
322
],
[
175,
350
],
[
180,
311
],
[
185,
259
],
[
190,
199
],
[
195,
138
],
[
200,
133
],
[
205,
78
],
[
210,
43
],
[
215,
31
],
[
220,
21
],
[
225,
12
],
[
230,
6
],
[
235,
4
],
[
270,
1
],
[
275,
1
],
[
340,
1
],
[
350,
1
],
[
355,
1
],
[
375,
1
],
[
410,
1
],
[
420,
1
]
]
},
"power_curve": {
"1": 420,
"5": 245,
"10": 228,
"15": 223,
"20": 216,
"30": 210,
"60": 196,
"120": 187,
"180": 185,
"300": 174,
"480": 172,
"600": 172,
"900": 170,
"1200": 168,
"1800": 166,
"2700": 161,
"3600": 158
},
"decoupling_pct": 6.2,
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
76,
1
],
[
78,
1
],
[
80,
1
],
[
82,
1
],
[
83,
1
],
[
85,
1
],
[
87,
1
],
[
89,
1
],
[
91,
1
],
[
92,
1
],
[
93,
1
],
[
94,
1
],
[
96,
1
],
[
98,
1
],
[
99,
1
],
[
101,
1
],
[
102,
1
],
[
103,
1
],
[
104,
1
],
[
105,
2
],
[
106,
1
],
[
107,
1
],
[
108,
2
],
[
109,
1
],
[
110,
1
],
[
111,
1
],
[
113,
1
],
[
114,
1
],
[
115,
2
],
[
116,
1
],
[
117,
2
],
[
119,
2
],
[
120,
3
],
[
121,
3
],
[
122,
1
],
[
123,
2
],
[
124,
1
],
[
125,
3
],
[
126,
7
],
[
127,
6
],
[
128,
9
],
[
129,
12
],
[
130,
20
],
[
131,
18
],
[
132,
23
],
[
133,
30
],
[
134,
31
],
[
135,
36
],
[
136,
33
],
[
137,
51
],
[
138,
47
],
[
139,
83
],
[
140,
117
],
[
141,
107
],
[
142,
78
],
[
143,
99
],
[
144,
118
],
[
145,
148
],
[
146,
145
],
[
147,
227
],
[
148,
312
],
[
149,
302
],
[
150,
293
],
[
151,
308
],
[
152,
339
],
[
153,
334
],
[
154,
291
],
[
155,
215
],
[
156,
174
],
[
157,
102
],
[
158,
64
],
[
159,
15
],
[
160,
9
],
[
161,
10
]
]
},
"hr_curve": {
"60": 158,
"300": 153,
"1200": 151,
"3600": 149
},
"metric_sources": {
"np": "streams",
"variability_index": "np+summary",
"efficiency_factor": "np+summary"
},
"np": 163,
"variability_index": 1.042,
"efficiency_factor": 1.101
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT+02:00) Europe/Paris",
"utc_offset": 7200,
"strava_url": "https://www.strava.com/activities/demo-0110",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo2",
"gear_name": "Carbon Endurance",
"device_name": "Bike computer",
"elev_high": 59,
"elev_low": 28.6,
"average_speed": 8.395,
"max_speed": 11.15,
"device_watts": true,
"weighted_average_watts": 163,
"max_watts": 420,
"kilojoules": 667.1,
"has_heartrate": true,
"max_heartrate": 161,
"average_cadence": 87.9,
"average_temp": 26,
"suffer_score": 98,
"calories": 700,
"perceived_exertion": null,
"kudos_count": 1,
"comment_count": 0,
"athlete_count": 1,
"photo_count": 0,
"achievement_count": 0,
"pr_count": 0,
"start_latlng": [
48.85,
2.28
],
"end_latlng": [
48.85,
2.28
],
"location_city": null,
"location_country": null,
"geo": {
"start": "Paris",
"region": "Île-de-France",
"country": "FR",
"countries": [
"FR"
],
"regions": [
"Île-de-France"
],
"places": [
{
"name": "Paris",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Saint-Mandé",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Vincennes",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Joinville-le-Pont",
"region": "Île-de-France",
"country": "FR"
}
]
},
"summary_polyline": "y`diHu{|LaBwCWh@eU_^mAs@}@}AgIaDwBqBkU__@wBeFeBgHu@uFs@uMmI^KuGm@_Jq@yrAt@kBvAqGm@q@r@cEt@YdSi{@hE_[|@oKVgHtA}Gz@oInJwh@jFcS@}BaCeAIh@Hi@`BjALe@^BzCqKZXb@u@tL{a@nBeA`HW|BwAbMySrDmDxD_F|D{G|@sCdCmCjKoPlOwQp@kAq@oBvBoBgAtAKSo@nAiHcPYoBlHus@OsEjKeMGiArM{v@{K_PzC}KSg@Lg@Mf@VVv@_ChAyBLHrAcFKy@|CkLjAcLDuL_@sGi@_EwDoQqF}R_B{DwG_MiCmIsJgj@b@wACoBPk@~^ak@dFcH`ByAta@dG|@lAS`IlC}jALAKIj@c@PqAbFgGlHoH`AQPm@Sw@m@D{BaFaEqMiHuP@s@_@Ai@q@_@b@{FHwHwAqFjEsFxHyDlD{CVqBhAi@xEPg@Qf@CW}BzBcGMs@g@oAgCi@QsAQo@|Bo@c@eGl`@cHh_@k@pAyFxGkAxBWnAm@jFyBbj@fGv@CZz@tA{@uAB[pPrBUdG^pEk@~CdGx\\cBxBwBrFeBdK}@dDwBxEcEvF_AlD_Cpi@]hDOdAMnDe@lOD`CcAxWu@pRq@pBHx@VNoBbh@}LuAOsBWXHp@Iq@VYM]cAy@qARw@fBC|ARdAfAhAmI|`Au@~Xg@jHwI`i@eAbD_B~CQrCm@~@?`Bv@|@y@xKaB|J_CtJlFrEpDjEaDdGtBpBaF`UuFpPeAhEs@xAmCnKoJvh@{@nIiAzEaBxViE~ZeSh{@u@XcAvFj@x@rG`Es@nFZbf@b@vDNrGVvd@IxGr@rLdBpKlDpJjU~^vBpBfI`D|@|AlAr@|Ytd@b@cASHm@m@",
"laps": [
{
"name": "Lap 1",
"lap_index": 1,
"split": 1,
"start_date_local": "2025-05-31T09:03:15",
"elapsed_time": 1202,
"moving_time": 1202,
"distance": 10002.6,
"total_elevation_gain": 24.8,
"average_speed": 8.322,
"max_speed": 10.59,
"average_cadence": 83.8,
"average_watts": 156.5,
"device_watts": true,
"average_heartrate": 144.3,
"max_heartrate": 158,
"start_index": 0,
"end_index": 1202
},
{
"name": "Lap 2",
"lap_index": 2,
"split": 2,
"start_date_local": "2025-05-31T09:23:17",
"elapsed_time": 1218,
"moving_time": 1218,
"distance": 10006.7,
"total_elevation_gain": 35.1,
"average_speed": 8.216,
"max_speed": 10.65,
"average_cadence": 87.1,
"average_watts": 166.6,
"device_watts": true,
"average_heartrate": 150.7,
"max_heartrate": 159,
"start_index": 1202,
"end_index": 2420
},
{
"name": "Lap 3",
"lap_index": 3,
"split": 3,
"start_date_local": "2025-05-31T09:43:35",
"elapsed_time": 1150,
"moving_time": 1150,
"distance": 9992.8,
"total_elevation_gain": 20.4,
"average_speed": 8.689,
"max_speed": 11.15,
"average_cadence": 79.1,
"average_watts": 147.2,
"device_watts": true,
"average_heartrate": 147.3,
"max_heartrate": 160,
"start_index": 2420,
"end_index": 3570
},
{
"name": "Lap 4",
"lap_index": 4,
"split": 4,
"start_date_local": "2025-05-31T10:02:45",
"elapsed_time": 693,
"moving_time": 693,
"distance": 5792.3,
"total_elevation_gain": 7.7,
"average_speed": 8.358,
"max_speed": 9.7,
"average_cadence": 84.2,
"average_watts": 153.8,
"device_watts": true,
"average_heartrate": 150.8,
"max_heartrate": 161,
"start_index": 3570,
"end_index": 4263
}
],
"splits_metric": [],
"segment_efforts": [],
"best_efforts": [],
"streams": "/streams/demo-0110.json",
"external_id": null,
"synced": {
"summary": "2025-05-31T09:14:19.000Z",
"detail": "2025-05-31T09:14:19.000Z",
"streams": "2025-05-31T09:14:19.000Z"
}
}