Route
Coloured by power zone
Key data
- Distance
- 76.6km
- Moving time
- 2:38 h
- total 2:40:23
- Elevation
- 602m
- 30–175 m
- Avg speed
- 29.2km/h
- max 57.5 km/h
- Avg power
- 167W
- 2.16 W/kg · max 530 W
- Normalized Power
- 183W
- 2.38 W/kg
- Avg heart rate
- 157bpm
- max 184 bpm
- Avg cadence
- 87rpm
- Calories
- 1,653kcal
- 1,574 kJ of work
- Training Stress
- 144TSS
- FTP 247 W · IF 0.74
- Relative Effort
- 308
- Temperature
- 20°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%28 min
- Z2Endurance · 137–185 W46%1:13 h
- Z3Tempo · 186–222 W22%35 min
- Z4Threshold · 223–259 W9%15 min
- Z5VO2max · 260–296 W4%6 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 bpm3%5 min
- Z2Endurance · 129–146 bpm12%18 min
- Z3Tempo · 147–160 bpm42%1:06 h
- Z4Threshold · 161–172 bpm38%1:00 h
- Z5Maximum · ≥ 173 bpm5%8 min
Power curve
This ride vs. bests 2025 and all-time
This ride – 1 min: 262 W · 3.40 W/kg, 5 min: 254 W · 3.30 W/kg, 20 min: 200 W · 2.60 W/kg
Performance analysis
- Intensity Factor
- 0.74
- NP ÷ FTP
- Variability Index
- 1.10
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- 1.17
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- –
Aerobic decoupling (Pa:HR)
+8.5 %Okay – keep building the base
Fueling for this ride
During: 60–70 g carbs/h – eat something every 20 min
Drink: 600–800 ml/h + electrolytes
After: ~30 g protein + 90–110 g carbs within 1–2 h
Segments
3 segments · 3 PR placements
| Côte de Meudon | 2.58 km | 5.0 % | 9:05 | 17.0 | 237 | 167 | 1 |
| Côte de Châteaufort | 0.84 km | 5.6 % | 3:25 | 14.8 | 190 | 157 | 1 |
| Le Mesnil-Saint-Denis Climb | 0.80 km | 6.4 % | 3:31 | 13.6 | 239 | 176 | 1 |
Notes & raw data
Description
Drizzle all morning, so I kept it short.
All data
Show raw data
{
"id": "demo-0107",
"name": "Vallée de Chevreuse",
"sport_type": "Ride",
"start_date": "2025-05-17T05:50:56Z",
"start_date_local": "2025-05-17T07:50:56",
"trainer": false,
"distance": 76637.4,
"moving_time": 9452,
"elapsed_time": 9623,
"total_elevation_gain": 601.7,
"average_watts": 166.6,
"average_heartrate": 157.1,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
0,
632
],
[
5,
5
],
[
10,
10
],
[
15,
12
],
[
20,
9
],
[
25,
14
],
[
30,
10
],
[
35,
20
],
[
40,
17
],
[
45,
19
],
[
50,
26
],
[
55,
26
],
[
60,
27
],
[
65,
23
],
[
70,
22
],
[
75,
34
],
[
80,
34
],
[
85,
30
],
[
90,
39
],
[
95,
54
],
[
100,
27
],
[
105,
42
],
[
110,
66
],
[
115,
77
],
[
120,
70
],
[
125,
92
],
[
130,
112
],
[
135,
146
],
[
140,
191
],
[
145,
248
],
[
150,
386
],
[
155,
450
],
[
160,
482
],
[
165,
512
],
[
170,
559
],
[
175,
552
],
[
180,
534
],
[
185,
459
],
[
190,
420
],
[
195,
399
],
[
200,
337
],
[
205,
312
],
[
210,
242
],
[
215,
226
],
[
220,
178
],
[
225,
148
],
[
230,
131
],
[
235,
111
],
[
240,
73
],
[
245,
81
],
[
250,
167
],
[
255,
160
],
[
260,
123
],
[
265,
122
],
[
270,
107
],
[
275,
11
],
[
280,
15
],
[
285,
2
],
[
300,
2
],
[
310,
1
],
[
325,
1
],
[
330,
1
],
[
335,
1
],
[
345,
1
],
[
360,
1
],
[
380,
1
],
[
400,
1
],
[
405,
1
],
[
420,
1
],
[
425,
1
],
[
430,
1
],
[
460,
1
],
[
495,
2
],
[
530,
1
]
]
},
"power_curve": {
"1": 530,
"5": 292,
"10": 279,
"15": 269,
"20": 268,
"30": 266,
"60": 262,
"120": 259,
"180": 259,
"300": 254,
"480": 243,
"600": 234,
"900": 211,
"1200": 200,
"1800": 189,
"2700": 183,
"3600": 176,
"5400": 175,
"7200": 172
},
"decoupling_pct": 8.5,
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
77,
1
],
[
78,
1
],
[
80,
1
],
[
83,
1
],
[
84,
1
],
[
86,
1
],
[
88,
1
],
[
89,
1
],
[
91,
1
],
[
93,
1
],
[
95,
1
],
[
96,
1
],
[
98,
2
],
[
100,
1
],
[
101,
1
],
[
102,
1
],
[
103,
1
],
[
104,
1
],
[
105,
1
],
[
106,
1
],
[
108,
1
],
[
109,
2
],
[
111,
1
],
[
112,
3
],
[
113,
6
],
[
114,
14
],
[
115,
15
],
[
116,
13
],
[
117,
11
],
[
118,
16
],
[
119,
12
],
[
120,
18
],
[
121,
16
],
[
122,
17
],
[
123,
17
],
[
124,
15
],
[
125,
26
],
[
126,
30
],
[
127,
28
],
[
128,
22
],
[
129,
24
],
[
130,
35
],
[
131,
35
],
[
132,
36
],
[
133,
52
],
[
134,
41
],
[
135,
41
],
[
136,
52
],
[
137,
43
],
[
138,
58
],
[
139,
60
],
[
140,
57
],
[
141,
55
],
[
142,
85
],
[
143,
106
],
[
144,
98
],
[
145,
106
],
[
146,
109
],
[
147,
155
],
[
148,
189
],
[
149,
176
],
[
150,
204
],
[
151,
223
],
[
152,
214
],
[
153,
271
],
[
154,
295
],
[
155,
297
],
[
156,
359
],
[
157,
384
],
[
158,
408
],
[
159,
451
],
[
160,
353
],
[
161,
439
],
[
162,
362
],
[
163,
345
],
[
164,
402
],
[
165,
327
],
[
166,
348
],
[
167,
284
],
[
168,
266
],
[
169,
236
],
[
170,
219
],
[
171,
217
],
[
172,
159
],
[
173,
67
],
[
174,
116
],
[
175,
96
],
[
176,
49
],
[
177,
23
],
[
178,
12
],
[
179,
8
],
[
180,
27
],
[
181,
26
],
[
182,
15
],
[
183,
15
],
[
184,
17
]
]
},
"hr_curve": {
"60": 183,
"300": 172,
"1200": 165,
"3600": 161
},
"metric_sources": {
"np": "streams",
"variability_index": "np+summary",
"efficiency_factor": "np+summary"
},
"np": 183,
"variability_index": 1.098,
"efficiency_factor": 1.165
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT+02:00) Europe/Paris",
"utc_offset": 7200,
"strava_url": "https://www.strava.com/activities/demo-0107",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo2",
"gear_name": "Carbon Endurance",
"device_name": "Bike computer",
"elev_high": 175.2,
"elev_low": 29.6,
"average_speed": 8.108,
"max_speed": 15.98,
"device_watts": true,
"weighted_average_watts": 183,
"max_watts": 530,
"kilojoules": 1574.3,
"has_heartrate": true,
"max_heartrate": 184,
"average_cadence": 87,
"average_temp": 20,
"suffer_score": 308,
"calories": 1653,
"perceived_exertion": null,
"kudos_count": 12,
"comment_count": 1,
"athlete_count": 1,
"photo_count": 0,
"achievement_count": 3,
"pr_count": 3,
"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": "Issy-les-Moulineaux",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Meudon",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Chaville",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Viroflay",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Versailles",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Buc",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Châteaufort",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Saint-Rémy-lès-Chevreuse",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Chevreuse",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Dampierre-en-Yvelines",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Le Mesnil-Saint-Denis",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Guyancourt",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Sèvres",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Boulogne-Billancourt",
"region": "Île-de-France",
"country": "FR"
}
]
},
"summary_polyline": "y`diHu{|Ll@l@RIvFmMpD~DfMxIjCeHzf@na@fHm@HXdOzFpCdB|CuK`FxEZA|GvIbI~NvAkAZJLc@vJbBlAU~AbHzJpXhBIhHxj@p@pB|Ptz@Z~DMnEJRhABr@n@nCzEfBjAnDlErClMx@hA~A|GrGnVq@l@a@nAgAbHqAzEpAJqAK[fDpBtRbQoCAdAa@\\kI`EXP~GYp@nLx@rOxRbRjJvn@lA~BZnB^nIxH~h@i@hBDvAQz@{BpGaBzSkElONlApBjF|TfHj@\\\\rAc@la@yAtJtAxPr@`Fz@`Bk@lFdDte@KlDj@rGBdGDiAn@fQ~@lLNxPv@rEi@nEBbHk@J]tA~@rCRnYxACl@zs@eAhGhDdBlAHp@r@VnAMtD|AtJpAfCnFdFzJ`HbIrDvE|@bHxHfAl@`K~BrB@pWbDrDdBbBIfEnCc@zBFp@xFtGbBnAzF~@jBjDfBx@vH`B`DwKTEkA|JPzCtAn@tAjC`D`BFb@dD}DpH}St@e@EkBpDiBlAEtB~@n[`TxGvEPl@v@F~]~TlFpAlXtB~AE`G|B|ChEh@bBKbAxArB~AnGzBpFNzF\\@e@|KFdPV|BtZhe@x@rCrAbIVfDOpB^~@T~CbBt@bEzHbGlFtDrHj@YrI]|@aDfAiAgAhA}@`D~@LbCW`BeAd@n@~CvAzEd@|CcBjEcF`B[bCVtAcArDkExA_@`AHlBt@jBHlAbA`@|AvBfSr@rA~B`CpPhHz@hAl@MnA`@`YrKtRhEzDKrBuAp@?ZZdCnHDnCk@tKf@dKx@nDx@tBzBnDjIbJLj@[pEJxAvAdDNjAf@JZb@KRJSb@l@hCxF`J|@JrAhAvCfB`SM~Lq@vFQfXnA~Kb@hKq@rO@jQYdK{AzFgA`CaAnFqA~A{@tMw@zFQfF_ENiBYmC}DsBgAQzEXfCfC~D`@hD\\tHvAdGnB`HtF`N^hE[lO|@t_@HvGv@pJEzMwA|Fo@tV}G|l@yApKmFfYPrSJlOZzBhBvGpCrFnDhCa@~A`@_B{CmBcDkG_FjBeA`CmAfDwAlJkH`WAzGa@~CiBxDiEzF}A|FwDtImDlOq@~A]tEyArFEbG{AbKsCpF{BnG}EfQu@l@sAHkE{Bo@AuEfEgL|A_D|EwHzDm@W]sBa@s@m@KmA\\]Qm@uCg@IoAhAm@AY]GiB[u@gC_@iBmAiAOmUfAkHzDsAFsJmH}NkR_GsJ}AqAgCUeBu@mA`GT~D_AlHu@jBeBoBUb@Tc@wA_CD{AcAiDJcAkc@mb@mAi@qDWae@rEwFyAmFaM_CqHex@qpCuOwc@gIw_@Du@pFiNpEuTmCuEyYcYaCmEcRifAwE_TnBqB~DCpGwHNsD|AoElAiGtCkAtE{FnF}YF{@U}CaCVw@g@SmAb@gCzBoA~Hsd@_@iBqNaSUeBKaHdAyFdKoUDy@|IgT^OkAsDTgB^m@qA}DMwOu@cCd@a@e@`@GO_AnAu@sA?aOrDaJh@[Eg@hAeC`DyGf@_@C]nA{Dv@}@D_Ak@_AgB\\gEaBaBcB}@iBkAyF_EsZwCuJ{@aHsDqGyGsFwBeAkC[_GVk@Qm@{@a@}HRkBdB_DxEwDr@eB\\uBAwDs@iD{AsDcBiCoFyDkGsB_EXmCxA_Dn@iCKu@k@_Cr@eFGqOcHmAqAi@oCE{DbAsIGcRcMce@mEuClD}Qw_@gUeJ}FaKcFIl@iGyCW^y@|EcBNWsIOa@o@JEs@kCy{@a@qABy@qKsUb@uCtc@cuAxDsPsOc[c@{A{@kMToe@SuDMGs@eHwD_b@q@wAyEoEgLeNiJaVsBm@{KcAePoKgQ{YsBaECg@UIgGyL{BiKcA}OOQQXiIkMeBoMb@Yc@XM}AA_BVWVJHg@kC{IoB_KwGuXiB}P\\}DJDd@sCSMGXkAiBw@@_@a@kEoSUcG}AyEa@e@oGsZ_@i@mFqUqFoXAyBjBqNtBy_@nHkf@yGsJ{NwL}WsYcs@gq@lEkNuW}a@b@cASHm@m@",
"laps": [],
"splits_metric": [],
"segment_efforts": [
{
"name": "Côte de Meudon",
"segment_id": "demo-seg-paris-meudon",
"distance": 2580,
"elapsed_time": 545,
"moving_time": 545,
"average_watts": 237,
"device_watts": true,
"average_heartrate": 167.3,
"max_heartrate": 177,
"average_cadence": 74.1,
"pr_rank": 1,
"kom_rank": null,
"average_grade": 5,
"climb_category": 1,
"city": "Meudon",
"achievements": [
"pr"
],
"start_index": 646,
"end_index": 1191
},
{
"name": "Côte de Châteaufort",
"segment_id": "demo-seg-paris-chateaufort",
"distance": 840,
"elapsed_time": 205,
"moving_time": 205,
"average_watts": 189.9,
"device_watts": true,
"average_heartrate": 156.6,
"max_heartrate": 172,
"average_cadence": 67.5,
"pr_rank": 1,
"kom_rank": null,
"average_grade": 5.6,
"climb_category": 0,
"city": "Châteaufort",
"achievements": [
"pr"
],
"start_index": 3279,
"end_index": 3484
},
{
"name": "Le Mesnil-Saint-Denis Climb",
"segment_id": "demo-seg-paris-mesnil",
"distance": 800,
"elapsed_time": 211,
"moving_time": 211,
"average_watts": 239.1,
"device_watts": true,
"average_heartrate": 176.3,
"max_heartrate": 184,
"average_cadence": 80.3,
"pr_rank": 1,
"kom_rank": null,
"average_grade": 6.4,
"climb_category": 0,
"city": "Le Mesnil-Saint-Denis",
"achievements": [
"pr"
],
"start_index": 5176,
"end_index": 5387
}
],
"best_efforts": [],
"streams": "/streams/demo-0107.json",
"external_id": null,
"synced": {
"summary": "2025-05-17T09:28:28.000Z",
"detail": "2025-05-17T09:28:28.000Z",
"streams": "2025-05-17T09:28:28.000Z"
}
}