Outdoor · Ride
Versailles Loop
ParisBoulogne-BillancourtSaint-CloudGarchesVaucressonVersaillesViroflayChavilleSèvresMeudonIssy-les-Moulineaux
Route
Coloured by power zone
Key data
- Distance
- 35.9km
- Moving time
- 1:20 h
- total 1:22:50
- Elevation
- 318m
- 29–176 m
- Avg speed
- 27.0km/h
- max 57.6 km/h
- Avg power
- 149W
- 1.96 W/kg · max 465 W
- Normalized Power
- 164W
- 2.16 W/kg
- Avg heart rate
- 147bpm
- max 169 bpm
- Avg cadence
- 87rpm
- Calories
- 751kcal
- 715 kJ of work
- Training Stress
- 55TSS
- FTP 255 W · IF 0.64
- Relative Effort
- 105
- Temperature
- 17°C
Streams
Power, heart rate, cadence, speed & elevation · one hover for all – the map follows
Time in power zones
FTP on ride date 255 W · raw sampling (gaps >10 s excluded)
- Z1Active recovery · ≤ 140 W35%28 min
- Z2Endurance · 141–191 W48%38 min
- Z3Tempo · 192–230 W15%12 min
- Z4Threshold · 231–268 W2%2 min
- Z5VO2max · 269–306 W0%0 min
- Z6Anaerobic · 307–383 W0%0 min
- Z7Neuromuscular · ≥ 384 W0%0 min
Time in HR zones
HR zones on ride date · raw sampling (gaps >10 s excluded)
- Z1Recovery · ≤ 128 bpm5%4 min
- Z2Endurance · 129–146 bpm42%33 min
- Z3Tempo · 147–160 bpm47%38 min
- Z4Threshold · 161–172 bpm6%5 min
- Z5Maximum · ≥ 173 bpm0%0 min
Power curve
This ride vs. bests 2025 and all-time
This ride – 1 min: 232 W · 3.05 W/kg, 5 min: 197 W · 2.59 W/kg, 20 min: 168 W · 2.21 W/kg
Performance analysis
- Intensity Factor
- 0.64
- NP ÷ FTP
- Variability Index
- 1.10
- NP ÷ avg power – 1.0 = very steady
- Efficiency Factor
- 1.12
- NP ÷ avg heart rate – rises with a better base
- Perceived exertion
- –
Aerobic decoupling (Pa:HR)
+9.5 %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
Segments
1 segment
| Côte de Saint-Cloud | 1.82 km | 4.6 % | 7:44 | 14.1 | 182 | 153 |
Notes & raw data
Description
Drizzle all morning, so I kept it short.
All data
Show raw data
{
"id": "demo-0156",
"name": "Versailles Loop",
"sport_type": "Ride",
"start_date": "2025-10-25T07:24:17Z",
"start_date_local": "2025-10-25T09:24:17",
"trainer": false,
"distance": 35902.3,
"moving_time": 4791,
"elapsed_time": 4970,
"total_elevation_gain": 318.1,
"average_watts": 149.2,
"average_heartrate": 146.8,
"metrics": {
"source": "streams",
"power_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
0,
213
],
[
5,
6
],
[
10,
5
],
[
15,
12
],
[
20,
11
],
[
25,
14
],
[
30,
6
],
[
35,
13
],
[
40,
13
],
[
45,
14
],
[
50,
32
],
[
55,
23
],
[
60,
27
],
[
65,
31
],
[
70,
26
],
[
75,
43
],
[
80,
44
],
[
85,
39
],
[
90,
36
],
[
95,
40
],
[
100,
51
],
[
105,
58
],
[
110,
61
],
[
115,
73
],
[
120,
98
],
[
125,
121
],
[
130,
160
],
[
135,
187
],
[
140,
205
],
[
145,
227
],
[
150,
233
],
[
155,
212
],
[
160,
285
],
[
165,
263
],
[
170,
280
],
[
175,
245
],
[
180,
201
],
[
185,
183
],
[
190,
168
],
[
195,
155
],
[
200,
138
],
[
205,
115
],
[
210,
95
],
[
215,
69
],
[
220,
62
],
[
225,
61
],
[
230,
42
],
[
235,
31
],
[
240,
29
],
[
245,
11
],
[
250,
10
],
[
255,
6
],
[
260,
1
],
[
265,
2
],
[
365,
1
],
[
390,
1
],
[
435,
1
],
[
465,
1
]
]
},
"power_curve": {
"1": 465,
"5": 257,
"10": 249,
"15": 248,
"20": 246,
"30": 243,
"60": 232,
"120": 220,
"180": 208,
"300": 197,
"480": 182,
"600": 179,
"900": 174,
"1200": 168,
"1800": 164,
"2700": 156,
"3600": 154
},
"decoupling_pct": 9.5,
"hr_distribution": {
"version": 1,
"method": "right-sample-dt-0-10s",
"samples": [
[
75,
1
],
[
77,
1
],
[
79,
1
],
[
80,
1
],
[
82,
1
],
[
83,
1
],
[
84,
1
],
[
86,
1
],
[
87,
1
],
[
88,
1
],
[
89,
1
],
[
91,
1
],
[
92,
1
],
[
94,
1
],
[
95,
1
],
[
96,
1
],
[
97,
1
],
[
99,
1
],
[
100,
1
],
[
101,
1
],
[
103,
1
],
[
105,
2
],
[
106,
2
],
[
108,
2
],
[
109,
1
],
[
110,
3
],
[
111,
3
],
[
112,
2
],
[
113,
2
],
[
114,
5
],
[
115,
19
],
[
116,
11
],
[
117,
11
],
[
118,
8
],
[
119,
11
],
[
120,
9
],
[
121,
9
],
[
122,
15
],
[
123,
25
],
[
124,
9
],
[
125,
18
],
[
126,
14
],
[
127,
18
],
[
128,
13
],
[
129,
29
],
[
130,
33
],
[
131,
35
],
[
132,
32
],
[
133,
40
],
[
134,
45
],
[
135,
56
],
[
136,
77
],
[
137,
88
],
[
138,
81
],
[
139,
103
],
[
140,
172
],
[
141,
165
],
[
142,
195
],
[
143,
209
],
[
144,
229
],
[
145,
185
],
[
146,
232
],
[
147,
213
],
[
148,
166
],
[
149,
144
],
[
150,
202
],
[
151,
176
],
[
152,
161
],
[
153,
176
],
[
154,
161
],
[
155,
164
],
[
156,
166
],
[
157,
189
],
[
158,
140
],
[
159,
102
],
[
160,
101
],
[
161,
76
],
[
162,
58
],
[
163,
39
],
[
164,
40
],
[
165,
15
],
[
166,
23
],
[
167,
27
],
[
168,
4
],
[
169,
8
]
]
},
"hr_curve": {
"60": 166,
"300": 158,
"1200": 151,
"3600": 148
},
"metric_sources": {
"np": "streams",
"variability_index": "np+summary",
"efficiency_factor": "np+summary"
},
"np": 164,
"variability_index": 1.099,
"efficiency_factor": 1.117
},
"type": "Ride",
"workout_type": null,
"timezone": "(GMT+02:00) Europe/Paris",
"utc_offset": 7200,
"strava_url": "https://www.strava.com/activities/demo-0156",
"commute": false,
"manual": false,
"private": false,
"visibility": "everyone",
"flagged": false,
"gear_id": "bdemo2",
"gear_name": "Carbon Endurance",
"device_name": "Bike computer",
"elev_high": 176.2,
"elev_low": 29.2,
"average_speed": 7.494,
"max_speed": 16,
"device_watts": true,
"weighted_average_watts": 164,
"max_watts": 465,
"kilojoules": 714.8,
"has_heartrate": true,
"max_heartrate": 169,
"average_cadence": 86.7,
"average_temp": 17,
"suffer_score": 105,
"calories": 751,
"perceived_exertion": null,
"kudos_count": 10,
"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": "Boulogne-Billancourt",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Saint-Cloud",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Garches",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Vaucresson",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Versailles",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Viroflay",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Chaville",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Sèvres",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Meudon",
"region": "Île-de-France",
"country": "FR"
},
{
"name": "Issy-les-Moulineaux",
"region": "Île-de-France",
"country": "FR"
}
]
},
"summary_polyline": "y`diHu{|Ll@l@RI]v@zBhE{KpSt@tR_CdFrLb`@FpCnBdG|Bfd@x@|C@lJb@zFAvL[nEVzDG~a@SfCkBpB_@bAn@pK`@tCEbAf@zAn@L`AnBpSxm@Bv@bApCdGlJb@BX`@|GrKIn@T`Bu@tJaA~ZNnA|IvKCb@cA?yLsAaDEy@cA_E|AYvBNNgAzElENZ^XjBlAdP}FpA_EdBm@w@uCY{@vIg@jM@hMF`Ta@`VsAlJe@p@T\\tAtJHxCMvF|AhJxB`Qh@dDXV_@jAw@i@v@h@^kApDjDa@`BoC`EcD|JiChMQFH\\YxB`GtDdBfCzBpFuBbU~Q|l@xAvHrG~DnBrH\\pCJvJoAMYPKvBb@Vc@WJwBXQnALD~Dt@rEZXXrHX|Az@nArCGhKfDzGbEdH|ClApA_@rb@[lD]z@FbG_BfHu@jBpEPfKbBxCJbBe@jDcDbBaEp@s@nB_@vATbFtGx@b@lGrPbSxLhKL~@lChAbAx`@zDvTfLvYdOOdAzAna@i@Xh@YZ~Fl@}@a@gPm@i@_E_sA_@mAC}@bAaAh@j@vHsOlFkH`XqZe@sp@NS~@Vh@aAM{Ag@[CcHh@oEw@sEOyP_AmLo@gQEhACeGk@sGJmDeDue@j@mFcAaCyBgTaHaDqBuFcDgEE_@}PnA{FHA_@@^mCX}J}VsBm@{KcAePoKcRg[}AaD@[_@YoGoMiBcJcA}OsA}GcDgKPi@XeFrAkDaA{GY}HBkDNcDvBqPn@{JoAcFiA_@}@wA]cCNgC~Qa[hKiBrAu@PmBhPwV`AU~AvAfCbAWgBZgDpAJqAKpA{EfAcH`@oAbAq@Y{CA{CaAeA_Bs@cEmQw@iAyCwMwCeDMiAaADYWuC_FyB_CUoFk@iEsQ_}@cC}BqDkByGcAw@wEjFcYuDsKdDbJ?n@eZjAk@YQZ}@Fel@zBkJaIwGkDqGcHs@oAs@ByEgDiVmUuLwOcKoPQ[\\u@aC}Db@cASHm@m@",
"laps": [],
"splits_metric": [],
"segment_efforts": [
{
"name": "Côte de Saint-Cloud",
"segment_id": "demo-seg-paris-saint-cloud",
"distance": 1820.1,
"elapsed_time": 464,
"moving_time": 464,
"average_watts": 182.2,
"device_watts": true,
"average_heartrate": 153,
"max_heartrate": 161,
"average_cadence": 77.9,
"pr_rank": null,
"kom_rank": null,
"average_grade": 4.6,
"climb_category": 1,
"city": "Saint-Cloud",
"achievements": [],
"start_index": 676,
"end_index": 1140
}
],
"best_efforts": [],
"streams": "/streams/demo-0156.json",
"external_id": null,
"synced": {
"summary": "2025-10-25T09:44:08.000Z",
"detail": "2025-10-25T09:44:08.000Z",
"streams": "2025-10-25T09:44:08.000Z"
}
}