Route
Coloured by power zone
Key data
- Distance
- 18.3km
- Moving time
- 38 min
- total 40:55
- Elevation
- 132m
- 31–122 m
- Avg speed
- 28.8km/h
- max 57.5 km/h
- Avg power
- 158W
- 2.06 W/kg · max 430 W
- Normalized Power
- 175W
- 2.27 W/kg
- Avg heart rate
- 148bpm
- max 168 bpm
- Avg cadence
- 87rpm
- Calories
- 379kcal
- 361 kJ of work
- Training Stress
- 32TSS
- FTP 247 W · IF 0.71
- Relative Effort
- 55
- Temperature
- 25°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 W21%8 min
- Z2Endurance · 137–185 W42%16 min
- Z3Tempo · 186–222 W29%11 min
- Z4Threshold · 223–259 W7%3 min
- Z5VO2max · 260–296 W1%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 bpm5%2 min
- Z2Endurance · 129–146 bpm32%12 min
- Z3Tempo · 147–160 bpm49%19 min
- Z4Threshold · 161–172 bpm13%5 min
- Z5Maximum · ≥ 173 bpm0%0 min
Power curve
This ride vs. bests 2025 and all-time
This ride – 1 min: 229 W · 2.97 W/kg, 5 min: 211 W · 2.74 W/kg, 20 min: 179 W · 2.32 W/kg
Performance analysis
- Intensity Factor
- 0.71
- NP ÷ FTP
- Variability Index
- 1.11
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- 1.19
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- 8/ 10
Aerobic decoupling (Pa:HR)
Only for rides ≥ 40 min with power + HR.
Fueling for this ride
During: Water is enough
Drink: 400–600 ml
After: Normal, balanced meal
Segments
1 segment · 1 PR placements
| Rue Lepic | 1.02 km | 5.4 % | 4:24 | 13.9 | 202 | 161 | 2 |
Kilometre splits
| 1 | 2:10 | 27.9 | 1 m | 126 |
| 2 | 2:49 | 21.2 | 24 m | 151 |
| 3 | 2:07 | 28.5 | 3 m | 144 |
| 4 | 1:48 | 33.2 | -2 m | 153 |
| 5 | 1:38 | 37.0 | -11 m | 153 |
| 6 | 2:04 | 28.9 | 4 m | 148 |
| 7 | 2:11 | 27.4 | 9 m | 152 |
| 8 | 3:09 | 19.0 | 31 m | 159 |
| 9 | 3:26 | 17.5 | 29 m | 156 |
| 10 | 1:50 | 32.8 | -31 m | 140 |
| 11 | 1:28 | 41.1 | -23 m | 134 |
| 12 | 1:27 | 41.3 | -26 m | 138 |
| 13 | 1:50 | 32.8 | -3 m | 139 |
| 14 | 1:52 | 32.1 | -3 m | 145 |
| 15 | 2:00 | 30.0 | 0 m | 147 |
| 16 | 1:53 | 32.0 | -1 m | 154 |
| 17 | 1:57 | 30.6 | 2 m | 153 |
| 18 | 1:50 | 32.7 | -2 m | 153 |
| 19 | 0:30 | 32.0 | -1 m | 139 |
Notes & raw data
Description
No description on Strava.
All data
Show raw data
{
"id": "demo-0114",
"name": "Morning Ride",
"sport_type": "Ride",
"start_date": "2025-06-08T05:32:54Z",
"start_date_local": "2025-06-08T07:32:54",
"trainer": false,
"distance": 18268.7,
"moving_time": 2280,
"elapsed_time": 2455,
"total_elevation_gain": 131.5,
"average_watts": 158.4,
"average_heartrate": 147.7,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
0,
248
],
[
10,
1
],
[
25,
2
],
[
40,
2
],
[
45,
3
],
[
50,
9
],
[
55,
7
],
[
60,
7
],
[
65,
13
],
[
70,
9
],
[
75,
8
],
[
80,
7
],
[
85,
6
],
[
90,
7
],
[
95,
8
],
[
100,
7
],
[
105,
10
],
[
110,
10
],
[
115,
15
],
[
120,
15
],
[
125,
14
],
[
130,
19
],
[
135,
44
],
[
140,
49
],
[
145,
64
],
[
150,
76
],
[
155,
90
],
[
160,
94
],
[
165,
103
],
[
170,
136
],
[
175,
127
],
[
180,
100
],
[
185,
112
],
[
190,
118
],
[
195,
92
],
[
200,
109
],
[
205,
119
],
[
210,
91
],
[
215,
82
],
[
220,
57
],
[
225,
45
],
[
230,
46
],
[
235,
28
],
[
240,
28
],
[
245,
13
],
[
250,
4
],
[
255,
6
],
[
260,
6
],
[
265,
6
],
[
270,
4
],
[
300,
1
],
[
345,
1
],
[
430,
1
]
]
},
"power_curve": {
"1": 430,
"5": 267,
"10": 264,
"15": 256,
"20": 250,
"30": 244,
"60": 229,
"120": 224,
"180": 221,
"300": 211,
"480": 193,
"600": 188,
"900": 182,
"1200": 179,
"1800": 161
},
"decoupling_pct": null,
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
76,
1
],
[
78,
1
],
[
80,
1
],
[
82,
1
],
[
84,
1
],
[
85,
1
],
[
86,
1
],
[
88,
1
],
[
90,
1
],
[
91,
1
],
[
93,
1
],
[
95,
1
],
[
97,
1
],
[
98,
1
],
[
99,
1
],
[
101,
1
],
[
102,
1
],
[
103,
1
],
[
104,
1
],
[
106,
1
],
[
107,
1
],
[
108,
1
],
[
109,
1
],
[
110,
1
],
[
111,
1
],
[
113,
1
],
[
114,
1
],
[
115,
2
],
[
116,
6
],
[
117,
5
],
[
118,
2
],
[
119,
4
],
[
120,
4
],
[
121,
5
],
[
122,
5
],
[
123,
4
],
[
124,
3
],
[
125,
5
],
[
126,
9
],
[
127,
17
],
[
128,
24
],
[
129,
24
],
[
130,
20
],
[
131,
24
],
[
132,
24
],
[
133,
20
],
[
134,
36
],
[
135,
46
],
[
136,
56
],
[
137,
45
],
[
138,
48
],
[
139,
41
],
[
140,
36
],
[
141,
41
],
[
142,
44
],
[
143,
36
],
[
144,
52
],
[
145,
59
],
[
146,
82
],
[
147,
88
],
[
148,
98
],
[
149,
102
],
[
150,
118
],
[
151,
91
],
[
152,
112
],
[
153,
91
],
[
154,
91
],
[
155,
60
],
[
156,
63
],
[
157,
51
],
[
158,
39
],
[
159,
65
],
[
160,
53
],
[
161,
80
],
[
162,
55
],
[
163,
70
],
[
164,
34
],
[
165,
18
],
[
166,
20
],
[
167,
20
],
[
168,
4
]
]
},
"hr_curve": {
"60": 165,
"300": 161,
"1200": 152
},
"metric_sources": {
"np": "streams",
"variability_index": "np+summary",
"efficiency_factor": "np+summary"
},
"np": 175,
"variability_index": 1.105,
"efficiency_factor": 1.185
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT+02:00) Europe/Paris",
"utc_offset": 7200,
"strava_url": "https://www.strava.com/activities/demo-0114",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo2",
"gear_name": "Carbon Endurance",
"device_name": "Bike computer",
"elev_high": 122.2,
"elev_low": 31.4,
"average_speed": 8.013,
"max_speed": 15.98,
"device_watts": true,
"weighted_average_watts": 175,
"max_watts": 430,
"kilojoules": 361.2,
"has_heartrate": true,
"max_heartrate": 168,
"average_cadence": 87,
"average_temp": 25,
"suffer_score": 55,
"calories": 379,
"perceived_exertion": 8,
"kudos_count": 1,
"comment_count": 0,
"athlete_count": 1,
"photo_count": 0,
"achievement_count": 1,
"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"
}
]
},
"summary_polyline": "y`diHu{|LaBwCWh@eU_^eAo@eKpKUAwUo[{AEgKwCwE`I`ChNv@g@fAfBT_@Zd@v@yAHNIOw@xA[e@U^gAgBg@Xw@jB_|@gk@DsC}@eBf@yBa@YyBxH|CkLqBUmCbAmTas@sH~@{CmUe@}FcC_a@SsIiDgYGgB\\aA[x@Ki@KF}E_b@{@uCoCmFxCuRo@e@w@aFgB~@eFmFsBpDi@RcBU{AgAYy@`AaGVcHRo@Kl@Aa@~AwECmAs@yA?w@mHUHeH^}BRcGTY`Ji@ZLUb@][m@Fl@G\\ZB|AXP`@nAe@|D`AMV{Ck@qHiEqCoBIUuBnFBu@iHzDXKzGlCdDlCN?TjF_GxExb@ZFF}@E]BP[DoAlPfARXi@^`@~R|Y~C|CdFsAp@pB~TgHs@rJLp@fOhFfAa@J~@UFx@fJVa@hVhRgAxFBrEq@xCv@rAJtApF~D|AWj@RpIrFs@nFZbf@b@vDNrGVvd@IxGR^bL|BVrEScDMXv@fIuA~@|BrKyCpF~S`]vBpBfI`D|@|AlAr@|Ytd@b@cASHm@m@",
"laps": [],
"splits_metric": [
{
"split": 1,
"distance": 1007.5,
"elapsed_time": 130,
"moving_time": 130,
"elevation_difference": 1.2,
"average_speed": 7.75,
"average_heartrate": 126
},
{
"split": 2,
"distance": 993.8,
"elapsed_time": 169,
"moving_time": 169,
"elevation_difference": 23.8,
"average_speed": 5.88,
"average_heartrate": 151
},
{
"split": 3,
"distance": 1004,
"elapsed_time": 127,
"moving_time": 127,
"elevation_difference": 2.8,
"average_speed": 7.91,
"average_heartrate": 144.3
},
{
"split": 4,
"distance": 995.7,
"elapsed_time": 108,
"moving_time": 108,
"elevation_difference": -2.2,
"average_speed": 9.22,
"average_heartrate": 152.6
},
{
"split": 5,
"distance": 1008.5,
"elapsed_time": 98,
"moving_time": 98,
"elevation_difference": -11.1,
"average_speed": 10.29,
"average_heartrate": 153.1
},
{
"split": 6,
"distance": 995.7,
"elapsed_time": 124,
"moving_time": 124,
"elevation_difference": 4,
"average_speed": 8.03,
"average_heartrate": 147.8
},
{
"split": 7,
"distance": 997.2,
"elapsed_time": 131,
"moving_time": 131,
"elevation_difference": 9.1,
"average_speed": 7.61,
"average_heartrate": 151.8
},
{
"split": 8,
"distance": 999,
"elapsed_time": 189,
"moving_time": 189,
"elevation_difference": 30.6,
"average_speed": 5.29,
"average_heartrate": 159.2
},
{
"split": 9,
"distance": 1001.7,
"elapsed_time": 206,
"moving_time": 206,
"elevation_difference": 28.6,
"average_speed": 4.86,
"average_heartrate": 155.9
},
{
"split": 10,
"distance": 1001.7,
"elapsed_time": 110,
"moving_time": 110,
"elevation_difference": -31.1,
"average_speed": 9.11,
"average_heartrate": 139.7
},
{
"split": 11,
"distance": 1005.1,
"elapsed_time": 88,
"moving_time": 88,
"elevation_difference": -22.8,
"average_speed": 11.42,
"average_heartrate": 133.7
},
{
"split": 12,
"distance": 997.1,
"elapsed_time": 87,
"moving_time": 87,
"elevation_difference": -26.3,
"average_speed": 11.46,
"average_heartrate": 137.6
},
{
"split": 13,
"distance": 1000.9,
"elapsed_time": 110,
"moving_time": 110,
"elevation_difference": -2.7,
"average_speed": 9.1,
"average_heartrate": 138.7
},
{
"split": 14,
"distance": 997.8,
"elapsed_time": 112,
"moving_time": 112,
"elevation_difference": -2.5,
"average_speed": 8.91,
"average_heartrate": 144.9
},
{
"split": 15,
"distance": 998.7,
"elapsed_time": 120,
"moving_time": 120,
"elevation_difference": 0.3,
"average_speed": 8.32,
"average_heartrate": 146.6
},
{
"split": 16,
"distance": 1003.2,
"elapsed_time": 113,
"moving_time": 113,
"elevation_difference": -0.6,
"average_speed": 8.88,
"average_heartrate": 154
},
{
"split": 17,
"distance": 996,
"elapsed_time": 117,
"moving_time": 117,
"elevation_difference": 1.8,
"average_speed": 8.51,
"average_heartrate": 153
},
{
"split": 18,
"distance": 998.4,
"elapsed_time": 110,
"moving_time": 110,
"elevation_difference": -1.8,
"average_speed": 9.08,
"average_heartrate": 152.8
},
{
"split": 19,
"distance": 266.7,
"elapsed_time": 30,
"moving_time": 30,
"elevation_difference": -0.9,
"average_speed": 8.89,
"average_heartrate": 139.1
}
],
"segment_efforts": [
{
"name": "Rue Lepic",
"segment_id": "demo-seg-paris-rue-lepic",
"distance": 1019.7,
"elapsed_time": 264,
"moving_time": 264,
"average_watts": 201.5,
"device_watts": true,
"average_heartrate": 161.2,
"max_heartrate": 168,
"average_cadence": 74.5,
"pr_rank": 2,
"kom_rank": null,
"average_grade": 5.4,
"climb_category": 0,
"city": "Paris",
"achievements": [
"pr"
],
"start_index": 946,
"end_index": 1210
}
],
"best_efforts": [],
"streams": "/streams/demo-0114.json",
"external_id": null,
"synced": {
"summary": "2025-06-08T07:10:54.000Z",
"detail": "2025-06-08T07:10:54.000Z",
"streams": "2025-06-08T07:10:54.000Z"
}
}