Outdoor · Ride
Morning Ride
Route
Coloured by power zone
Key data
- Distance
- 28.8km
- Moving time
- 1:01 h
- total 1:02:06
- Elevation
- 244m
- 2–112 m
- Avg speed
- 28.4km/h
- max 57.5 km/h
- Avg power
- 162W
- 2.16 W/kg · max 480 W
- Normalized Power
- 178W
- 2.37 W/kg
- Avg heart rate
- 149bpm
- max 168 bpm
- Avg cadence
- 87rpm
- Calories
- 620kcal
- 591 kJ of work
- Training Stress
- 47TSS
- FTP 262 W · IF 0.68
- Relative Effort
- 89
- Temperature
- 29°C
Streams
Power, heart rate, cadence, speed & elevation · one hover for all – the map follows
Time in power zones
FTP on ride date 262 W · raw sampling (gaps >10 s excluded)
- Z1Active recovery · ≤ 144 W22%13 min
- Z2Endurance · 145–197 W52%31 min
- Z3Tempo · 198–236 W22%13 min
- Z4Threshold · 237–275 W4%3 min
- Z5VO2max · 276–314 W0%0 min
- Z6Anaerobic · 315–393 W0%0 min
- Z7Neuromuscular · ≥ 394 W0%0 min
Time in HR zones
HR zones on ride date · raw sampling (gaps >10 s excluded)
- Z1Recovery · ≤ 128 bpm5%3 min
- Z2Endurance · 129–146 bpm29%17 min
- Z3Tempo · 147–160 bpm54%33 min
- Z4Threshold · 161–172 bpm12%7 min
- Z5Maximum · ≥ 173 bpm0%0 min
Power curve
This ride vs. bests 2026 and all-time
This ride – 1 min: 236 W · 3.14 W/kg, 5 min: 217 W · 2.89 W/kg, 20 min: 185 W · 2.46 W/kg
Performance analysis
- Intensity Factor
- 0.68
- NP ÷ FTP
- Variability Index
- 1.10
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- 1.20
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- –
Aerobic decoupling (Pa:HR)
+11.1 %Significant drift – fatigue, heat or base needs work
Fueling for this ride
During: 30–45 g carbs/h – banana, bar, sports drink
Drink: 500–750 ml/h
After: Normal, balanced meal
Segments
1 segment · 1 PR placements
| Spanish Banks Hill | 0.86 km | 7.6 % | 4:51 | 10.6 | 216 | 160 | 3 |
Kilometre splits
| 1 | 1:55 | 31.3 | -12 m | 114 |
| 2 | 1:56 | 31.1 | -1 m | 144 |
| 3 | 2:04 | 29.0 | 2 m | 151 |
| 4 | 1:45 | 34.5 | -8 m | 142 |
| 5 | 2:32 | 23.7 | 13 m | 149 |
| 6 | 1:38 | 36.8 | -11 m | 141 |
| 7 | 1:59 | 30.1 | -3 m | 145 |
| 8 | 1:47 | 33.6 | -7 m | 138 |
| 9 | 2:00 | 30.1 | 2 m | 151 |
| 10 | 2:23 | 25.1 | 8 m | 140 |
| 11 | 3:48 | 15.8 | 39 m | 154 |
| 12 | 3:40 | 16.4 | 37 m | 163 |
| 13 | 1:41 | 35.7 | -8 m | 154 |
| 14 | 2:31 | 23.9 | 14 m | 155 |
| 15 | 2:09 | 27.8 | 4 m | 146 |
| 16 | 1:47 | 33.7 | -9 m | 145 |
| 17 | 2:33 | 23.6 | 17 m | 156 |
| 18 | 2:09 | 28.1 | -1 m | 155 |
| 19 | 1:25 | 42.2 | -26 m | 147 |
| 20 | 1:56 | 30.8 | -2 m | 144 |
| 21 | 1:32 | 39.7 | -30 m | 144 |
| 22 | 1:30 | 39.5 | -26 m | 131 |
| 23 | 2:18 | 26.2 | 14 m | 160 |
| 24 | 2:09 | 28.0 | 4 m | 150 |
| 25 | 1:29 | 40.2 | -23 m | 142 |
| 26 | 1:45 | 34.3 | -6 m | 146 |
| 27 | 2:21 | 25.6 | 11 m | 153 |
| 28 | 2:44 | 22.0 | 20 m | 160 |
| 29 | 1:17 | 36.4 | -11 m | 154 |
Notes & raw data
Description
Drizzle all morning, so I kept it short.
All data
Show raw data
{
"id": "demo-0199",
"name": "Morning Ride",
"sport_type": "Ride",
"start_date": "2026-07-11T15:35:54Z",
"start_date_local": "2026-07-11T08:35:54",
"trainer": false,
"distance": 28784.7,
"moving_time": 3644,
"elapsed_time": 3726,
"total_elevation_gain": 243.7,
"average_watts": 162.1,
"average_heartrate": 148.7,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
0,
204
],
[
5,
12
],
[
10,
6
],
[
15,
11
],
[
20,
6
],
[
25,
9
],
[
30,
8
],
[
35,
18
],
[
40,
9
],
[
45,
16
],
[
50,
14
],
[
55,
12
],
[
60,
18
],
[
65,
13
],
[
70,
15
],
[
75,
14
],
[
80,
17
],
[
85,
25
],
[
90,
24
],
[
95,
19
],
[
100,
24
],
[
105,
21
],
[
110,
22
],
[
115,
21
],
[
120,
27
],
[
125,
31
],
[
130,
52
],
[
135,
69
],
[
140,
69
],
[
145,
120
],
[
150,
128
],
[
155,
151
],
[
160,
186
],
[
165,
192
],
[
170,
181
],
[
175,
222
],
[
180,
205
],
[
185,
191
],
[
190,
137
],
[
195,
167
],
[
200,
141
],
[
205,
137
],
[
210,
108
],
[
215,
118
],
[
220,
98
],
[
225,
75
],
[
230,
69
],
[
235,
50
],
[
240,
56
],
[
245,
39
],
[
250,
27
],
[
255,
13
],
[
260,
16
],
[
265,
2
],
[
275,
1
],
[
280,
1
],
[
370,
2
],
[
385,
1
],
[
405,
1
],
[
455,
1
],
[
480,
1
]
]
},
"power_curve": {
"1": 480,
"5": 280,
"10": 262,
"15": 260,
"20": 257,
"30": 251,
"60": 236,
"120": 224,
"180": 225,
"300": 217,
"480": 210,
"600": 203,
"900": 187,
"1200": 185,
"1800": 174,
"2700": 166,
"3600": 163
},
"decoupling_pct": 11.1,
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
76,
1
],
[
78,
1
],
[
80,
1
],
[
81,
1
],
[
83,
1
],
[
84,
1
],
[
86,
1
],
[
87,
1
],
[
90,
1
],
[
91,
1
],
[
92,
1
],
[
93,
1
],
[
95,
1
],
[
97,
1
],
[
98,
1
],
[
99,
1
],
[
100,
1
],
[
101,
1
],
[
102,
2
],
[
103,
1
],
[
104,
3
],
[
105,
3
],
[
106,
1
],
[
107,
1
],
[
108,
1
],
[
109,
3
],
[
110,
1
],
[
111,
4
],
[
112,
6
],
[
113,
4
],
[
114,
7
],
[
115,
7
],
[
116,
15
],
[
117,
6
],
[
118,
13
],
[
119,
6
],
[
120,
5
],
[
121,
12
],
[
122,
7
],
[
123,
8
],
[
124,
10
],
[
125,
8
],
[
126,
10
],
[
127,
14
],
[
128,
18
],
[
129,
19
],
[
130,
25
],
[
131,
19
],
[
132,
35
],
[
133,
30
],
[
134,
26
],
[
135,
37
],
[
136,
52
],
[
137,
75
],
[
138,
58
],
[
139,
56
],
[
140,
69
],
[
141,
81
],
[
142,
73
],
[
143,
71
],
[
144,
87
],
[
145,
107
],
[
146,
121
],
[
147,
165
],
[
148,
190
],
[
149,
119
],
[
150,
128
],
[
151,
121
],
[
152,
174
],
[
153,
161
],
[
154,
170
],
[
155,
135
],
[
156,
136
],
[
157,
118
],
[
158,
113
],
[
159,
108
],
[
160,
123
],
[
161,
100
],
[
162,
67
],
[
163,
43
],
[
164,
92
],
[
165,
88
],
[
166,
35
],
[
167,
18
],
[
168,
4
]
]
},
"hr_curve": {
"60": 165,
"300": 162,
"1200": 155,
"3600": 149
},
"metric_sources": {
"np": "streams",
"variability_index": "np+summary",
"efficiency_factor": "np+summary"
},
"np": 178,
"variability_index": 1.098,
"efficiency_factor": 1.197
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT-07:00) America/Vancouver",
"utc_offset": -25200,
"strava_url": "https://www.strava.com/activities/demo-0199",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo2",
"gear_name": "Carbon Endurance",
"device_name": "Bike computer",
"elev_high": 112.4,
"elev_low": 2,
"average_speed": 7.899,
"max_speed": 15.97,
"device_watts": true,
"weighted_average_watts": 178,
"max_watts": 480,
"kilojoules": 590.9,
"has_heartrate": true,
"max_heartrate": 168,
"average_cadence": 86.9,
"average_temp": 29,
"suffer_score": 89,
"calories": 620,
"perceived_exertion": null,
"kudos_count": 1,
"comment_count": 0,
"athlete_count": 1,
"photo_count": 0,
"achievement_count": 1,
"pr_count": 0,
"start_latlng": [
49.29,
-123.14
],
"end_latlng": [
49.29,
-123.14
],
"location_city": null,
"location_country": null,
"geo": {
"start": "Vancouver",
"region": "British Columbia",
"country": "CA",
"countries": [
"CA"
],
"regions": [
"British Columbia"
],
"places": [
{
"name": "Vancouver",
"region": "British Columbia",
"country": "CA"
},
{
"name": "University Endowment Lands",
"region": "British Columbia",
"country": "CA"
}
]
},
"summary_polyline": "qcykHraqnVgAjBCb@tGfL|InOpJcP~[_\\dA`FEf@gAfA`@lB_@ZtBYuBX^[a@mBfAgADg@iAkFcE~D_CaEfEaHz@YbW|hA|AbC|Ar@lABh@p@Wdi@O`]Mp[StXNT`DDIrOJ|@^Tt@lBv@@j@e@k@d@mCTYnVe@|IDfBYvByDfx@BrIdC`KbAlGoA~JGrDkF~Q}@nAwBzAa@hBE~DUbAbB?d@c@Lb@pGd@?zA?{AqGe@Mc@e@b@cB?S`@?x@\\t@Y`CoBpDx@|D~DFIhRsEIc@b@lAhOCvImI`b@s@dTqDfW[vHZFp@jAFDtBdAP|@Z[d@XbAlBk@xB}@\\Il@BrEQnEJjAX\\zHa@z@e@~@gBvAmAvBIbB_AZHDv@NJ~HBiEbOsBvJwAzIyAlM{@hLq@|QKBAvOT|LxNoD|NsDbJiGjExg@rEsDMa@rDwCtKeIzFsDtc@i]bBUTk@wHiZEmBwAgCuCqMiCyJgCgQy@mPCyENoa@FaVZkw@Pkd@D}K|@ZtDN\\vH]wHuDO}@[Vql@FkPTyd@J_WHuV`@oz@wAKTsj@mj@s@Ja`@uBKiAk@yAkBq@iBLoZJuSyTWLcXSAe@r@Fr@Ux@Ty@Gs@d@s@R@U~f@mDMQ]sEKqCmA_BeC_@oAqUyeAsE_I_BmCiNtVyLjTaJqOyEnI",
"laps": [],
"splits_metric": [
{
"split": 1,
"distance": 1000.6,
"elapsed_time": 115,
"moving_time": 115,
"elevation_difference": -11.6,
"average_speed": 8.7,
"average_heartrate": 114.4
},
{
"split": 2,
"distance": 1003.6,
"elapsed_time": 116,
"moving_time": 116,
"elevation_difference": -0.6,
"average_speed": 8.65,
"average_heartrate": 144.3
},
{
"split": 3,
"distance": 997.7,
"elapsed_time": 124,
"moving_time": 124,
"elevation_difference": 2.3,
"average_speed": 8.05,
"average_heartrate": 151.2
},
{
"split": 4,
"distance": 1004.9,
"elapsed_time": 105,
"moving_time": 105,
"elevation_difference": -7.6,
"average_speed": 9.57,
"average_heartrate": 141.5
},
{
"split": 5,
"distance": 997.9,
"elapsed_time": 152,
"moving_time": 152,
"elevation_difference": 12.6,
"average_speed": 6.57,
"average_heartrate": 149.4
},
{
"split": 6,
"distance": 1001.2,
"elapsed_time": 98,
"moving_time": 98,
"elevation_difference": -11.1,
"average_speed": 10.22,
"average_heartrate": 140.9
},
{
"split": 7,
"distance": 995.4,
"elapsed_time": 119,
"moving_time": 119,
"elevation_difference": -2.7,
"average_speed": 8.36,
"average_heartrate": 144.7
},
{
"split": 8,
"distance": 999.2,
"elapsed_time": 107,
"moving_time": 107,
"elevation_difference": -7,
"average_speed": 9.34,
"average_heartrate": 138.1
},
{
"split": 9,
"distance": 1004.2,
"elapsed_time": 120,
"moving_time": 120,
"elevation_difference": 2,
"average_speed": 8.37,
"average_heartrate": 150.5
},
{
"split": 10,
"distance": 995.8,
"elapsed_time": 143,
"moving_time": 143,
"elevation_difference": 8.4,
"average_speed": 6.96,
"average_heartrate": 140.1
},
{
"split": 11,
"distance": 1000,
"elapsed_time": 228,
"moving_time": 228,
"elevation_difference": 39.3,
"average_speed": 4.39,
"average_heartrate": 153.9
},
{
"split": 12,
"distance": 1002.3,
"elapsed_time": 220,
"moving_time": 220,
"elevation_difference": 36.5,
"average_speed": 4.56,
"average_heartrate": 162.6
},
{
"split": 13,
"distance": 1001.6,
"elapsed_time": 101,
"moving_time": 101,
"elevation_difference": -7.9,
"average_speed": 9.92,
"average_heartrate": 154.4
},
{
"split": 14,
"distance": 1002,
"elapsed_time": 151,
"moving_time": 151,
"elevation_difference": 14.4,
"average_speed": 6.64,
"average_heartrate": 154.8
},
{
"split": 15,
"distance": 994.9,
"elapsed_time": 129,
"moving_time": 129,
"elevation_difference": 4.2,
"average_speed": 7.71,
"average_heartrate": 146.1
},
{
"split": 16,
"distance": 1001.5,
"elapsed_time": 107,
"moving_time": 107,
"elevation_difference": -8.5,
"average_speed": 9.36,
"average_heartrate": 144.8
},
{
"split": 17,
"distance": 1001.8,
"elapsed_time": 153,
"moving_time": 153,
"elevation_difference": 16.9,
"average_speed": 6.55,
"average_heartrate": 156.2
},
{
"split": 18,
"distance": 1007.2,
"elapsed_time": 129,
"moving_time": 129,
"elevation_difference": -1.2,
"average_speed": 7.81,
"average_heartrate": 155
},
{
"split": 19,
"distance": 995.6,
"elapsed_time": 85,
"moving_time": 85,
"elevation_difference": -25.6,
"average_speed": 11.71,
"average_heartrate": 146.6
},
{
"split": 20,
"distance": 992.9,
"elapsed_time": 116,
"moving_time": 116,
"elevation_difference": -1.7,
"average_speed": 8.56,
"average_heartrate": 144.4
},
{
"split": 21,
"distance": 1013.5,
"elapsed_time": 92,
"moving_time": 92,
"elevation_difference": -30.4,
"average_speed": 11.02,
"average_heartrate": 144
},
{
"split": 22,
"distance": 986.5,
"elapsed_time": 90,
"moving_time": 90,
"elevation_difference": -26,
"average_speed": 10.96,
"average_heartrate": 131.2
},
{
"split": 23,
"distance": 1004.5,
"elapsed_time": 138,
"moving_time": 138,
"elevation_difference": 13.6,
"average_speed": 7.28,
"average_heartrate": 160.1
},
{
"split": 24,
"distance": 1003.7,
"elapsed_time": 129,
"moving_time": 129,
"elevation_difference": 3.7,
"average_speed": 7.78,
"average_heartrate": 150
},
{
"split": 25,
"distance": 993.6,
"elapsed_time": 89,
"moving_time": 89,
"elevation_difference": -22.9,
"average_speed": 11.16,
"average_heartrate": 142.4
},
{
"split": 26,
"distance": 1001.3,
"elapsed_time": 105,
"moving_time": 105,
"elevation_difference": -5.5,
"average_speed": 9.54,
"average_heartrate": 145.7
},
{
"split": 27,
"distance": 1003,
"elapsed_time": 141,
"moving_time": 141,
"elevation_difference": 11.3,
"average_speed": 7.11,
"average_heartrate": 152.8
},
{
"split": 28,
"distance": 1000.7,
"elapsed_time": 164,
"moving_time": 164,
"elevation_difference": 19.6,
"average_speed": 6.1,
"average_heartrate": 160
},
{
"split": 29,
"distance": 777.6,
"elapsed_time": 77,
"moving_time": 77,
"elevation_difference": -11,
"average_speed": 10.1,
"average_heartrate": 153.9
}
],
"segment_efforts": [
{
"name": "Spanish Banks Hill",
"segment_id": "demo-seg-vancouver-spanish-banks",
"distance": 859.8,
"elapsed_time": 291,
"moving_time": 291,
"average_watts": 215.7,
"device_watts": true,
"average_heartrate": 160.4,
"max_heartrate": 166,
"average_cadence": 76.9,
"pr_rank": 3,
"kom_rank": null,
"average_grade": 7.6,
"climb_category": 0,
"city": "University Endowment Lands",
"achievements": [
"pr"
],
"start_index": 1293,
"end_index": 1584
}
],
"best_efforts": [],
"streams": "/streams/demo-0199.json",
"external_id": null,
"synced": {
"summary": "2026-07-11T17:36:38.000Z",
"detail": "2026-07-11T17:36:38.000Z",
"streams": "2026-07-11T17:36:38.000Z"
}
}