Route
Coloured by power zone
Key data
- Distance
- 23.2km
- Moving time
- 45 min
- total 48:47
- Elevation
- 43m
- 509–527 m
- Avg speed
- 31.1km/h
- max 42.6 km/h
- Avg power
- 168W
- 2.19 W/kg · max 450 W
- Normalized Power
- 174W
- 2.27 W/kg
- Avg heart rate
- 150bpm
- max 164 bpm
- Avg cadence
- 88rpm
- Calories
- 473kcal
- 451 kJ of work
- Training Stress
- 36TSS
- FTP 251 W · IF 0.69
- Relative Effort
- 64
- Temperature
- 15°C
Streams
Power, heart rate, cadence, speed & elevation · one hover for all – the map follows
Time in power zones
FTP on ride date 251 W · raw sampling (gaps >10 s excluded)
- Z1Active recovery · ≤ 138 W10%4 min
- Z2Endurance · 139–188 W61%27 min
- Z3Tempo · 189–226 W28%12 min
- Z4Threshold · 227–264 W2%1 min
- Z5VO2max · 265–301 W0%0 min
- Z6Anaerobic · 302–377 W0%0 min
- Z7Neuromuscular · ≥ 378 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 bpm20%9 min
- Z3Tempo · 147–160 bpm77%34 min
- Z4Threshold · 161–172 bpm1%0 min
- Z5Maximum · ≥ 173 bpm0%0 min
Power curve
This ride vs. bests 2026 and all-time
This ride – 1 min: 212 W · 2.77 W/kg, 5 min: 185 W · 2.42 W/kg, 20 min: 172 W · 2.25 W/kg
Performance analysis
- Intensity Factor
- 0.69
- NP ÷ FTP
- Variability Index
- 1.04
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- 1.16
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- –
Aerobic decoupling (Pa:HR)
+4.8 %Stable – strong aerobic base
Fueling for this ride
During: Water is enough
Drink: 400–600 ml
After: Normal, balanced meal
Laps
3 laps
| 1 | Lap 1 | 10.00 km | 19:24 | 30.9 | 170 | 147 | 160 | 86 | 16 |
| 2 | Lap 2 | 10.00 km | 19:09 | 31.3 | 166 | 151 | 161 | 83 | 19 |
| 3 | Lap 3 | 3.22 km | 6:13 | 31.1 | 166 | 152 | 164 | 80 | 8 |
Segments
1 segment
| Nymphenburg Canal | 2.76 km | -0.1 % | 5:17 | 31.4 | 163 | 149 |
Kilometre splits
| 1 | 2:09 | 28.0 | 1 m | 126 |
| 2 | 1:58 | 30.5 | 4 m | 154 |
| 3 | 1:53 | 32.1 | -0 m | 154 |
| 4 | 2:04 | 28.9 | 4 m | 148 |
| 5 | 1:50 | 32.8 | -2 m | 149 |
| 6 | 1:52 | 32.0 | 0 m | 153 |
| 7 | 1:52 | 32.2 | -1 m | 154 |
| 8 | 1:52 | 32.2 | -3 m | 148 |
| 9 | 1:58 | 30.4 | -1 m | 146 |
| 10 | 1:56 | 31.0 | -1 m | 146 |
| 11 | 1:48 | 33.5 | -3 m | 148 |
| 12 | 1:50 | 32.5 | -3 m | 149 |
| 13 | 1:57 | 31.0 | 0 m | 153 |
| 14 | 2:09 | 27.8 | 9 m | 155 |
| 15 | 1:46 | 33.9 | -8 m | 151 |
| 16 | 1:56 | 31.1 | -2 m | 148 |
| 17 | 1:59 | 30.1 | 1 m | 147 |
| 18 | 1:51 | 32.4 | -1 m | 151 |
| 19 | 1:55 | 31.2 | 1 m | 155 |
| 20 | 1:58 | 30.6 | 2 m | 151 |
| 21 | 1:58 | 30.5 | 3 m | 151 |
| 22 | 1:46 | 34.2 | -4 m | 157 |
| 23 | 1:59 | 30.0 | 4 m | 150 |
| 24 | 0:30 | 26.4 | 0 m | 142 |
Notes & raw data
Description
No description on Strava.
All data
Show raw data
{
"id": "demo-0180",
"name": "Morning Ride",
"sport_type": "Ride",
"start_date": "2026-04-25T07:51:03Z",
"start_date_local": "2026-04-25T09:51:03",
"trainer": false,
"distance": 23220.8,
"moving_time": 2687,
"elapsed_time": 2927,
"total_elevation_gain": 42.5,
"average_watts": 167.7,
"average_heartrate": 149.5,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
0,
120
],
[
55,
1
],
[
60,
2
],
[
65,
1
],
[
70,
3
],
[
75,
4
],
[
80,
3
],
[
85,
4
],
[
90,
5
],
[
95,
5
],
[
100,
9
],
[
105,
10
],
[
110,
9
],
[
115,
11
],
[
120,
15
],
[
125,
11
],
[
130,
21
],
[
135,
31
],
[
140,
57
],
[
145,
85
],
[
150,
112
],
[
155,
152
],
[
160,
194
],
[
165,
197
],
[
170,
200
],
[
175,
234
],
[
180,
217
],
[
185,
179
],
[
190,
171
],
[
195,
149
],
[
200,
108
],
[
205,
112
],
[
210,
82
],
[
215,
43
],
[
220,
43
],
[
225,
35
],
[
230,
20
],
[
235,
15
],
[
240,
7
],
[
245,
1
],
[
250,
1
],
[
255,
1
],
[
295,
1
],
[
335,
1
],
[
360,
1
],
[
390,
1
],
[
430,
1
],
[
450,
1
]
]
},
"power_curve": {
"1": 450,
"5": 264,
"10": 236,
"15": 228,
"20": 224,
"30": 222,
"60": 212,
"120": 204,
"180": 196,
"300": 185,
"480": 181,
"600": 182,
"900": 176,
"1200": 172,
"1800": 172
},
"decoupling_pct": 4.8,
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
77,
1
],
[
79,
1
],
[
81,
1
],
[
83,
1
],
[
85,
1
],
[
86,
1
],
[
88,
1
],
[
90,
1
],
[
91,
1
],
[
93,
1
],
[
94,
1
],
[
96,
1
],
[
97,
1
],
[
98,
1
],
[
99,
1
],
[
101,
1
],
[
102,
2
],
[
104,
2
],
[
105,
2
],
[
106,
1
],
[
107,
2
],
[
108,
1
],
[
109,
2
],
[
110,
2
],
[
111,
2
],
[
112,
2
],
[
113,
1
],
[
114,
2
],
[
115,
1
],
[
116,
2
],
[
117,
2
],
[
118,
1
],
[
119,
1
],
[
120,
1
],
[
121,
1
],
[
122,
1
],
[
123,
2
],
[
124,
3
],
[
125,
1
],
[
126,
4
],
[
127,
5
],
[
128,
5
],
[
129,
6
],
[
130,
5
],
[
131,
7
],
[
132,
8
],
[
133,
11
],
[
134,
6
],
[
135,
7
],
[
136,
9
],
[
137,
8
],
[
138,
11
],
[
139,
13
],
[
140,
23
],
[
141,
28
],
[
142,
44
],
[
143,
65
],
[
144,
97
],
[
145,
85
],
[
146,
105
],
[
147,
127
],
[
148,
190
],
[
149,
170
],
[
150,
190
],
[
151,
175
],
[
152,
210
],
[
153,
166
],
[
154,
202
],
[
155,
165
],
[
156,
162
],
[
157,
117
],
[
158,
99
],
[
159,
66
],
[
160,
16
],
[
161,
11
],
[
162,
2
],
[
163,
11
],
[
164,
2
]
]
},
"hr_curve": {
"60": 159,
"300": 154,
"1200": 152
},
"metric_sources": {
"np": "streams",
"variability_index": "np+summary",
"efficiency_factor": "np+summary"
},
"np": 174,
"variability_index": 1.038,
"efficiency_factor": 1.164
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT+02:00) Europe/Berlin",
"utc_offset": 7200,
"strava_url": "https://www.strava.com/activities/demo-0180",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo2",
"gear_name": "Carbon Endurance",
"device_name": "Bike computer",
"elev_high": 526.9,
"elev_low": 509,
"average_speed": 8.642,
"max_speed": 11.83,
"device_watts": true,
"weighted_average_watts": 174,
"max_watts": 450,
"kilojoules": 450.7,
"has_heartrate": true,
"max_heartrate": 164,
"average_cadence": 87.9,
"average_temp": 15,
"suffer_score": 64,
"calories": 473,
"perceived_exertion": null,
"kudos_count": 4,
"comment_count": 0,
"athlete_count": 1,
"photo_count": 0,
"achievement_count": 0,
"pr_count": 0,
"start_latlng": [
48.13,
11.58
],
"end_latlng": [
48.13,
11.58
],
"location_city": null,
"location_country": null,
"geo": {
"start": "Munich",
"region": "Bavaria",
"country": "DE",
"countries": [
"DE"
],
"regions": [
"Bavaria"
],
"places": [
{
"name": "Munich",
"region": "Bavaria",
"country": "DE"
}
]
},
"summary_polyline": "ggwdHs{seA`Er@l@|At@|DxCjC`BtDcJlJJj@cCvLaBr@sAfC{DEQpEp@\\{B|NcDhD{CnAgAHzA`XfAlNpA`Lg@dLoFu@s@xN{MkBOnDFbBbBjDu@zTPpIwN|@?|ByGc@_Bzi@kHJuFg@?Us@GMpCOPaKy@sBpo@`CXQ~Ky@zCmHwFw@TiEiDlCiJk@k@sId[_BbJkApL_BlHoCrGsMlToAjEm@v@RxM_@|FlB`GmEfE{CNm@g@iHZBrIkALjAMCsIhH[?]q@cE{AoDiBiBcDgBUuOsQPk@XaBkCk@{BqKwo@kDQmE}@{FaC_FeAc@eDWeQoAIs@_Rs@BgCsErAIsAHoBkDdIcObEgG`@yAmCgIyBsDy@gEiBe@AaA[@aAkT_@qCw@{CuBmEx@qB`@{BQeA@eF_AQwBiDy@o@_BUeCPy@iJs@{B^{@TsDt@aFg@mKUKe@_FDqCVeBjBqA_BsFDgBe@u@cG{[YYk@}DDa@`BsCLsAd@u@\\oBvEkA^i@t@t@VtBl@`@tCYbAq@t@yHjD_Af@u@t@sGjBRJaCjALkAMK`CkBSOeD`AgCLkAd@_OIaHdOwAvAu@n@_Ab@uAv@wL|Ew\\nEOpPh@zB^fDrASzAR{AlC|@rf@tQfAdA~AJhy@lZ`DwVz@KbAmHt@SjH}Hr@WrCx@~ACdFrAf@IrDdCzBfFz@dD\\jIlCFpKpSMz@Rt@l@H`@_AvMn@m@E",
"laps": [
{
"name": "Lap 1",
"lap_index": 1,
"split": 1,
"start_date_local": "2026-04-25T09:51:03",
"elapsed_time": 1164,
"moving_time": 1164,
"distance": 10002.6,
"total_elevation_gain": 16,
"average_speed": 8.593,
"max_speed": 10.1,
"average_cadence": 86.1,
"average_watts": 170.2,
"device_watts": true,
"average_heartrate": 147.4,
"max_heartrate": 160,
"start_index": 0,
"end_index": 1164
},
{
"name": "Lap 2",
"lap_index": 2,
"split": 2,
"start_date_local": "2026-04-25T10:10:27",
"elapsed_time": 1149,
"moving_time": 1149,
"distance": 10000.6,
"total_elevation_gain": 18.5,
"average_speed": 8.704,
"max_speed": 11.83,
"average_cadence": 83.1,
"average_watts": 165.8,
"device_watts": true,
"average_heartrate": 150.9,
"max_heartrate": 161,
"start_index": 1164,
"end_index": 2313
},
{
"name": "Lap 3",
"lap_index": 3,
"split": 3,
"start_date_local": "2026-04-25T10:29:36",
"elapsed_time": 373,
"moving_time": 373,
"distance": 3217.6,
"total_elevation_gain": 8,
"average_speed": 8.626,
"max_speed": 10.14,
"average_cadence": 79.8,
"average_watts": 166.1,
"device_watts": true,
"average_heartrate": 151.8,
"max_heartrate": 164,
"start_index": 2313,
"end_index": 2686
}
],
"splits_metric": [
{
"split": 1,
"distance": 1002,
"elapsed_time": 129,
"moving_time": 129,
"elevation_difference": 0.9,
"average_speed": 7.77,
"average_heartrate": 125.6
},
{
"split": 2,
"distance": 998.8,
"elapsed_time": 118,
"moving_time": 118,
"elevation_difference": 4.1,
"average_speed": 8.46,
"average_heartrate": 153.8
},
{
"split": 3,
"distance": 1006.5,
"elapsed_time": 113,
"moving_time": 113,
"elevation_difference": -0.3,
"average_speed": 8.91,
"average_heartrate": 153.6
},
{
"split": 4,
"distance": 996.4,
"elapsed_time": 124,
"moving_time": 124,
"elevation_difference": 4.3,
"average_speed": 8.04,
"average_heartrate": 148.2
},
{
"split": 5,
"distance": 1003.5,
"elapsed_time": 110,
"moving_time": 110,
"elevation_difference": -2.4,
"average_speed": 9.12,
"average_heartrate": 148.5
},
{
"split": 6,
"distance": 995.1,
"elapsed_time": 112,
"moving_time": 112,
"elevation_difference": 0.4,
"average_speed": 8.88,
"average_heartrate": 153.4
},
{
"split": 7,
"distance": 1002.5,
"elapsed_time": 112,
"moving_time": 112,
"elevation_difference": -1.3,
"average_speed": 8.95,
"average_heartrate": 154
},
{
"split": 8,
"distance": 1002.7,
"elapsed_time": 112,
"moving_time": 112,
"elevation_difference": -2.7,
"average_speed": 8.95,
"average_heartrate": 147.6
},
{
"split": 9,
"distance": 996.7,
"elapsed_time": 118,
"moving_time": 118,
"elevation_difference": -0.7,
"average_speed": 8.45,
"average_heartrate": 146.1
},
{
"split": 10,
"distance": 998.4,
"elapsed_time": 116,
"moving_time": 116,
"elevation_difference": -0.8,
"average_speed": 8.61,
"average_heartrate": 146
},
{
"split": 11,
"distance": 1005.1,
"elapsed_time": 108,
"moving_time": 108,
"elevation_difference": -3.4,
"average_speed": 9.31,
"average_heartrate": 148.2
},
{
"split": 12,
"distance": 993.6,
"elapsed_time": 110,
"moving_time": 110,
"elevation_difference": -3.1,
"average_speed": 9.03,
"average_heartrate": 149.2
},
{
"split": 13,
"distance": 1007,
"elapsed_time": 117,
"moving_time": 117,
"elevation_difference": 0.3,
"average_speed": 8.61,
"average_heartrate": 152.9
},
{
"split": 14,
"distance": 997.5,
"elapsed_time": 129,
"moving_time": 129,
"elevation_difference": 8.5,
"average_speed": 7.73,
"average_heartrate": 155.3
},
{
"split": 15,
"distance": 998.4,
"elapsed_time": 106,
"moving_time": 106,
"elevation_difference": -8.3,
"average_speed": 9.42,
"average_heartrate": 151
},
{
"split": 16,
"distance": 1003.3,
"elapsed_time": 116,
"moving_time": 116,
"elevation_difference": -1.9,
"average_speed": 8.65,
"average_heartrate": 148.1
},
{
"split": 17,
"distance": 996.2,
"elapsed_time": 119,
"moving_time": 119,
"elevation_difference": 0.6,
"average_speed": 8.37,
"average_heartrate": 147
},
{
"split": 18,
"distance": 1000,
"elapsed_time": 111,
"moving_time": 111,
"elevation_difference": -1.2,
"average_speed": 9.01,
"average_heartrate": 150.6
},
{
"split": 19,
"distance": 998.1,
"elapsed_time": 115,
"moving_time": 115,
"elevation_difference": 0.9,
"average_speed": 8.68,
"average_heartrate": 154.8
},
{
"split": 20,
"distance": 1001.4,
"elapsed_time": 118,
"moving_time": 118,
"elevation_difference": 2.4,
"average_speed": 8.49,
"average_heartrate": 150.9
},
{
"split": 21,
"distance": 998.1,
"elapsed_time": 118,
"moving_time": 118,
"elevation_difference": 3.4,
"average_speed": 8.46,
"average_heartrate": 151
},
{
"split": 22,
"distance": 1006.8,
"elapsed_time": 106,
"moving_time": 106,
"elevation_difference": -4,
"average_speed": 9.5,
"average_heartrate": 157.3
},
{
"split": 23,
"distance": 993,
"elapsed_time": 119,
"moving_time": 119,
"elevation_difference": 4.3,
"average_speed": 8.34,
"average_heartrate": 150.4
},
{
"split": 24,
"distance": 219.7,
"elapsed_time": 30,
"moving_time": 30,
"elevation_difference": 0,
"average_speed": 7.32,
"average_heartrate": 141.8
}
],
"segment_efforts": [
{
"name": "Nymphenburg Canal",
"segment_id": "demo-seg-munich-nymphenburg",
"distance": 2760.7,
"elapsed_time": 317,
"moving_time": 317,
"average_watts": 162.9,
"device_watts": true,
"average_heartrate": 148.6,
"max_heartrate": 158,
"average_cadence": 86.7,
"pr_rank": null,
"kom_rank": null,
"average_grade": -0.1,
"climb_category": 0,
"city": "Munich",
"achievements": [],
"start_index": 736,
"end_index": 1053
}
],
"best_efforts": [],
"streams": "/streams/demo-0180.json",
"external_id": null,
"synced": {
"summary": "2026-04-25T09:35:50.000Z",
"detail": "2026-04-25T09:35:50.000Z",
"streams": "2026-04-25T09:35:50.000Z"
}
}