Indoor · VirtualRide

VO2max 5×4

Saturday, 22 November 2025 · 18:20Z2Indoor TrainerSmart trainer

Route

Route

Key data

Distance
33.9km
Moving time
1:05 h
total 1:05:00
Elevation
0m
Avg speed
31.3km/h
max 38.5 km/h
Avg power
183W
2.41 W/kg · max 320 W
Normalized Power
222W
2.92 W/kg
Avg heart rate
153bpm
max 185 bpm
Avg cadence
90rpm
Calories
750kcal
714 kJ of work
Training Stress
82TSS
FTP 255 W · IF 0.87
Relative Effort
110

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 W48%31 min
  • Z2Endurance · 141–191 W22%14 min
  • Z3Tempo · 192–230 W0%0 min
  • Z4Threshold · 231–268 W0%0 min
  • Z5VO2max · 269–306 W30%19 min
  • Z6Anaerobic · 307–383 W1%1 min
  • Z7Neuromuscular · ≥ 384 W0%0 min

Time in HR zones

HR zones on ride date · raw sampling (gaps >10 s excluded)
  • Z1Recovery · ≤ 128 bpm1%1 min
  • Z2Endurance · 129–146 bpm63%41 min
  • Z3Tempo · 147–160 bpm6%4 min
  • Z4Threshold · 161–172 bpm4%3 min
  • Z5Maximum · ≥ 173 bpm26%17 min

Power curve

This ride vs. bests 2025 and all-time

This ride – 1 min: 295 W · 3.88 W/kg, 5 min: 264 W · 3.47 W/kg, 20 min: 227 W · 2.98 W/kg

Performance analysis

Intensity Factor
0.87
NP ÷ FTP
Variability Index
1.21
NP ÷ avg power – 1.0 = very steady
Efficiency Factor
1.46
NP ÷ avg heart rate – rises with a better base
Perceived exertion
–

Aerobic decoupling (Pa:HR)

+4.4 %Stable – strong aerobic base

Fueling for this ride

During: 30–45 g carbs/h – banana, bar, sports drink

Drink: 500–750 ml/h

After: Normal, balanced meal

Laps

12 laps
1Warm-up7.32 km14:5929.3148140147900
2Interval 12.52 km3:5938.0293176182900
3Recovery1.85 km3:5927.9127142178900
4Interval 22.52 km3:5938.0293177184900
5Recovery1.85 km3:5927.9127143181900
6Interval 32.52 km3:5937.9293176185900
7Recovery1.85 km3:5927.9128144182900
8Interval 42.52 km3:5937.9293177185900
9Recovery1.85 km3:5927.9128145181900
10Interval 52.52 km3:5937.9293179185900
11Recovery1.85 km3:5927.9128145184900
12Cool-down4.60 km9:5927.7128141143900

Notes & raw data

Description

No description on Strava.

All data

Show raw data
{
  "id": "demo-0160",
  "name": "VO2max 5×4",
  "sport_type": "VirtualRide",
  "start_date": "2025-11-15T17:20:03Z",
  "start_date_local": "2025-11-15T18:20:03",
  "trainer": false,
  "distance": 33889.8,
  "moving_time": 3900,
  "elapsed_time": 3900,
  "total_elevation_gain": 0,
  "average_watts": 183.1,
  "average_heartrate": 152.6,
  "metrics": {
    "source": "streams",
    "power_distribution": {
      "version": 1,
      "method": "right-sample-dt-0-10s",
      "samples": [
        [
          115,
          1
        ],
        [
          120,
          96
        ],
        [
          125,
          788
        ],
        [
          130,
          807
        ],
        [
          135,
          110
        ],
        [
          140,
          53
        ],
        [
          145,
          373
        ],
        [
          150,
          393
        ],
        [
          155,
          74
        ],
        [
          160,
          4
        ],
        [
          270,
          3
        ],
        [
          275,
          24
        ],
        [
          280,
          85
        ],
        [
          285,
          172
        ],
        [
          290,
          292
        ],
        [
          295,
          288
        ],
        [
          300,
          227
        ],
        [
          305,
          74
        ],
        [
          310,
          27
        ],
        [
          315,
          6
        ],
        [
          320,
          2
        ]
      ]
    },
    "power_curve": {
      "1": 320,
      "5": 304,
      "10": 303,
      "15": 300,
      "20": 298,
      "30": 297,
      "60": 295,
      "120": 294,
      "180": 294,
      "300": 264,
      "480": 220,
      "600": 227,
      "900": 220,
      "1200": 227,
      "1800": 217,
      "2700": 205,
      "3600": 188
    },
    "decoupling_pct": 4.4,
    "hr_distribution": {
      "version": 1,
      "method": "right-sample-dt-0-10s",
      "samples": [
        [
          71,
          1
        ],
        [
          74,
          1
        ],
        [
          76,
          1
        ],
        [
          79,
          1
        ],
        [
          81,
          1
        ],
        [
          83,
          1
        ],
        [
          85,
          1
        ],
        [
          87,
          1
        ],
        [
          89,
          1
        ],
        [
          91,
          1
        ],
        [
          93,
          1
        ],
        [
          95,
          1
        ],
        [
          96,
          1
        ],
        [
          99,
          1
        ],
        [
          100,
          1
        ],
        [
          102,
          1
        ],
        [
          103,
          1
        ],
        [
          105,
          1
        ],
        [
          107,
          1
        ],
        [
          108,
          1
        ],
        [
          109,
          1
        ],
        [
          110,
          1
        ],
        [
          111,
          1
        ],
        [
          113,
          1
        ],
        [
          114,
          1
        ],
        [
          115,
          1
        ],
        [
          116,
          1
        ],
        [
          117,
          1
        ],
        [
          118,
          1
        ],
        [
          119,
          2
        ],
        [
          120,
          2
        ],
        [
          121,
          2
        ],
        [
          122,
          1
        ],
        [
          123,
          1
        ],
        [
          124,
          1
        ],
        [
          125,
          2
        ],
        [
          126,
          2
        ],
        [
          127,
          1
        ],
        [
          128,
          1
        ],
        [
          129,
          2
        ],
        [
          130,
          2
        ],
        [
          131,
          2
        ],
        [
          132,
          2
        ],
        [
          133,
          2
        ],
        [
          134,
          2
        ],
        [
          135,
          5
        ],
        [
          136,
          24
        ],
        [
          137,
          113
        ],
        [
          138,
          170
        ],
        [
          139,
          347
        ],
        [
          140,
          452
        ],
        [
          141,
          510
        ],
        [
          142,
          403
        ],
        [
          143,
          253
        ],
        [
          144,
          73
        ],
        [
          145,
          43
        ],
        [
          146,
          32
        ],
        [
          147,
          20
        ],
        [
          148,
          13
        ],
        [
          149,
          23
        ],
        [
          150,
          13
        ],
        [
          151,
          17
        ],
        [
          152,
          17
        ],
        [
          153,
          13
        ],
        [
          154,
          18
        ],
        [
          155,
          16
        ],
        [
          156,
          16
        ],
        [
          157,
          12
        ],
        [
          158,
          14
        ],
        [
          159,
          14
        ],
        [
          160,
          15
        ],
        [
          161,
          13
        ],
        [
          162,
          14
        ],
        [
          163,
          13
        ],
        [
          164,
          12
        ],
        [
          165,
          10
        ],
        [
          166,
          17
        ],
        [
          167,
          12
        ],
        [
          168,
          14
        ],
        [
          169,
          13
        ],
        [
          170,
          14
        ],
        [
          171,
          14
        ],
        [
          172,
          20
        ],
        [
          173,
          23
        ],
        [
          174,
          19
        ],
        [
          175,
          33
        ],
        [
          176,
          37
        ],
        [
          177,
          35
        ],
        [
          178,
          78
        ],
        [
          179,
          66
        ],
        [
          180,
          130
        ],
        [
          181,
          166
        ],
        [
          182,
          196
        ],
        [
          183,
          159
        ],
        [
          184,
          75
        ],
        [
          185,
          14
        ]
      ]
    },
    "hr_curve": {
      "60": 184,
      "300": 174,
      "1200": 165,
      "3600": 154
    },
    "metric_sources": {
      "np": "streams",
      "variability_index": "np+summary",
      "efficiency_factor": "np+summary"
    },
    "np": 222,
    "variability_index": 1.212,
    "efficiency_factor": 1.455
  },
  "type": "VirtualRide",
  "workout_type": null,
  "timezone": "(GMT+01:00) Europe/Paris",
  "utc_offset": 3600,
  "strava_url": "https://www.strava.com/activities/demo-0160",
  "commute": false,
  "manual": false,
  "private": false,
  "visibility": "everyone",
  "flagged": false,
  "gear_id": "bdemo4",
  "gear_name": "Indoor Trainer",
  "device_name": "Smart trainer",
  "elev_high": null,
  "elev_low": null,
  "average_speed": 8.69,
  "max_speed": 10.7,
  "device_watts": true,
  "weighted_average_watts": 222,
  "max_watts": 320,
  "kilojoules": 714.1,
  "has_heartrate": true,
  "max_heartrate": 185,
  "average_cadence": 90,
  "average_temp": null,
  "suffer_score": 110,
  "calories": 750,
  "perceived_exertion": null,
  "kudos_count": 2,
  "comment_count": 0,
  "athlete_count": 1,
  "photo_count": 0,
  "achievement_count": 0,
  "pr_count": 0,
  "start_latlng": null,
  "end_latlng": null,
  "location_city": null,
  "location_country": null,
  "geo": null,
  "summary_polyline": null,
  "laps": [
    {
      "name": "Warm-up",
      "lap_index": 1,
      "split": 1,
      "start_date_local": "2025-11-15T18:20:03",
      "elapsed_time": 899,
      "moving_time": 899,
      "distance": 7322.6,
      "total_elevation_gain": 0,
      "average_speed": 8.145,
      "max_speed": 8.21,
      "average_cadence": 90,
      "average_watts": 147.8,
      "device_watts": true,
      "average_heartrate": 139.8,
      "max_heartrate": 147,
      "start_index": 0,
      "end_index": 899
    },
    {
      "name": "Interval 1",
      "lap_index": 2,
      "split": 2,
      "start_date_local": "2025-11-15T18:35:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 2522.2,
      "total_elevation_gain": 0,
      "average_speed": 10.553,
      "max_speed": 10.7,
      "average_cadence": 90.1,
      "average_watts": 292.9,
      "device_watts": true,
      "average_heartrate": 175.7,
      "max_heartrate": 182,
      "start_index": 900,
      "end_index": 1139
    },
    {
      "name": "Recovery",
      "lap_index": 3,
      "split": 3,
      "start_date_local": "2025-11-15T18:39:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 1852.5,
      "total_elevation_gain": 0,
      "average_speed": 7.751,
      "max_speed": 10.15,
      "average_cadence": 89.8,
      "average_watts": 127.4,
      "device_watts": true,
      "average_heartrate": 142.1,
      "max_heartrate": 178,
      "start_index": 1140,
      "end_index": 1379
    },
    {
      "name": "Interval 2",
      "lap_index": 4,
      "split": 4,
      "start_date_local": "2025-11-15T18:43:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 2519.6,
      "total_elevation_gain": 0,
      "average_speed": 10.542,
      "max_speed": 10.66,
      "average_cadence": 89.9,
      "average_watts": 293,
      "device_watts": true,
      "average_heartrate": 177.2,
      "max_heartrate": 184,
      "start_index": 1380,
      "end_index": 1619
    },
    {
      "name": "Recovery",
      "lap_index": 5,
      "split": 5,
      "start_date_local": "2025-11-15T18:47:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 1852.1,
      "total_elevation_gain": 0,
      "average_speed": 7.749,
      "max_speed": 10.18,
      "average_cadence": 89.8,
      "average_watts": 127.4,
      "device_watts": true,
      "average_heartrate": 143.2,
      "max_heartrate": 181,
      "start_index": 1620,
      "end_index": 1859
    },
    {
      "name": "Interval 3",
      "lap_index": 6,
      "split": 6,
      "start_date_local": "2025-11-15T18:51:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 2519.1,
      "total_elevation_gain": 0,
      "average_speed": 10.54,
      "max_speed": 10.69,
      "average_cadence": 90,
      "average_watts": 293.1,
      "device_watts": true,
      "average_heartrate": 176.4,
      "max_heartrate": 185,
      "start_index": 1860,
      "end_index": 2099
    },
    {
      "name": "Recovery",
      "lap_index": 7,
      "split": 7,
      "start_date_local": "2025-11-15T18:55:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 1854.9,
      "total_elevation_gain": 0,
      "average_speed": 7.761,
      "max_speed": 10.2,
      "average_cadence": 90,
      "average_watts": 127.8,
      "device_watts": true,
      "average_heartrate": 144.2,
      "max_heartrate": 182,
      "start_index": 2100,
      "end_index": 2339
    },
    {
      "name": "Interval 4",
      "lap_index": 8,
      "split": 8,
      "start_date_local": "2025-11-15T18:59:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 2518.1,
      "total_elevation_gain": 0,
      "average_speed": 10.536,
      "max_speed": 10.67,
      "average_cadence": 90,
      "average_watts": 292.5,
      "device_watts": true,
      "average_heartrate": 177.3,
      "max_heartrate": 185,
      "start_index": 2340,
      "end_index": 2579
    },
    {
      "name": "Recovery",
      "lap_index": 9,
      "split": 9,
      "start_date_local": "2025-11-15T19:03:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 1852,
      "total_elevation_gain": 0,
      "average_speed": 7.749,
      "max_speed": 10.15,
      "average_cadence": 90,
      "average_watts": 127.5,
      "device_watts": true,
      "average_heartrate": 144.8,
      "max_heartrate": 181,
      "start_index": 2580,
      "end_index": 2819
    },
    {
      "name": "Interval 5",
      "lap_index": 10,
      "split": 10,
      "start_date_local": "2025-11-15T19:07:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 2519.4,
      "total_elevation_gain": 0,
      "average_speed": 10.541,
      "max_speed": 10.66,
      "average_cadence": 90.2,
      "average_watts": 292.9,
      "device_watts": true,
      "average_heartrate": 178.5,
      "max_heartrate": 185,
      "start_index": 2820,
      "end_index": 3059
    },
    {
      "name": "Recovery",
      "lap_index": 11,
      "split": 11,
      "start_date_local": "2025-11-15T19:11:03",
      "elapsed_time": 239,
      "moving_time": 239,
      "distance": 1853.7,
      "total_elevation_gain": 0,
      "average_speed": 7.756,
      "max_speed": 10.17,
      "average_cadence": 89.8,
      "average_watts": 127.7,
      "device_watts": true,
      "average_heartrate": 144.5,
      "max_heartrate": 184,
      "start_index": 3060,
      "end_index": 3299
    },
    {
      "name": "Cool-down",
      "lap_index": 12,
      "split": 12,
      "start_date_local": "2025-11-15T19:15:03",
      "elapsed_time": 599,
      "moving_time": 599,
      "distance": 4603.9,
      "total_elevation_gain": 0,
      "average_speed": 7.686,
      "max_speed": 7.75,
      "average_cadence": 90,
      "average_watts": 127.6,
      "device_watts": true,
      "average_heartrate": 140.5,
      "max_heartrate": 143,
      "start_index": 3300,
      "end_index": 3899
    }
  ],
  "splits_metric": [],
  "segment_efforts": [],
  "best_efforts": [],
  "streams": "/streams/demo-0160.json",
  "external_id": null,
  "synced": {
    "summary": "2025-11-15T19:25:03.000Z",
    "detail": "2025-11-15T19:25:03.000Z",
    "streams": "2025-11-15T19:25:03.000Z"
  }
}