Clone an outdoor ride to a trainerroad workout

Hi,

I would like to exactly replicate a group ride and turn it into a workout. I have done some research but I think it is not possible? Why is it so complicated?

Hey there, welcome to the forum! :partying_face:

We do have a Workout Creator, which allows you to create custom workouts, but I’m curious as to why you’d want to do this.

What type of stimulus are you looking for? We’ve got thousands of workouts in our library that should cover all the bases. :sweat_smile:

Structured training is almost always more effective in training progression than unstructured riding, such as group rides, so I’m curious as to what you’re looking to accomplish.

Let me know your thoughts!

To get the best help you should state what you’re trying to accomplish.

If you want to “ride” a specific course on the trainer, then you can likely pair your trainer to your GPS and have it replay a FIT file to simulate the same grades and distance.

I would only do that once in a while as a test of my fitness. It’s not a good way to train. It’s better to train more specifically (planned workouts) to make that time the most productive it can be.

3 Likes

I have a local 13 mile route that i’ve been time trialing. I wanted to ‘simulate’ the route indoors and looked for this exact approach.

I made 2 decisions:

  1. Trainers in ERG are bad at gradients, so I needed to work in ‘blocks’
  2. I was okay with averages and a ‘close enough’ output

I then took to my trusty AI companion and put a very simple prompt into Cursor. Develop a locally hosted webapp that takes a .fit file and exports as a .erg file by converting the average power in a block. Define a block as a user input number of minutes. I defaulted to 5 minutes. So you’d basically have a skyline looking workout that loosely represents the power profile of your outdoor ride. I also included brief prompting to impute any values below 100 watts as 100 watts. This reduces any very low power intervals that may have been a product of descending or stops during the ride.

To my surprise, after only a few ‘this doesnt work’ replies - i went to a local host in a browser and there was a simple webapp that i could drop my downloaded ride from strava into and export. I then dropped that file into the trainerroad workout builder and the workout builder kept filling with blank power. the title and duration was correct.

Sad finish to my epic story. When reviewing the .erg file in text format it matched the format outlined here but never worked. I chalked it up to a problem with the import mechanism of the workout builder and not my file. Then it got nice outside and i just went for the outdoor ride.

All that to say - I think there is a valid usecase for this request even if it doesnt follow generally accepted best practices when it comes to optimal training.

1 Like

Try this approach … https://support.trainerroad.com/hc/en-us/articles/115002688103-Importing-a-workout-from-BestBikeSplit

1 Like

@Andreaw It took me awhile to figure out how to make it work, but now I recreate most of my non-TrainerRoad activities in workout creator, even if I don’t upload that created ride to my calendar (details on why below).

For the most part, I don’t ever intend to ‘re-ride’ those activities in TR (since that’s what TR workouts are forc!)… I do this process primarily:

  • Reason #1: Because my actual workout wasn’t exactly what TR prescribed… Even trying to ride to exact TR workout targets with a TR workout pushed to Garmin head unit, usually riding intervals outside or indoors (Rouvy) wouldn’t reflect exactly what I did, unless using TR app sending direct signal to trainer in ERG mode.

    • Maybe actual intervals were a touch short/long, a little higher/lower, had a little extra rest between, or maybe some extra zone 2 to get to/from location to do intervals. (For instance TR target was 3x12 with 3 minute rests between, but based on the course they ended up 1x12, 1x15, 1x10 with various rests intervals. Or perhaps rests were 60% based on the route since its near impossible to ride 40% FTP up climbs! Or maybe I was feeling good and did an uninterrupted 45-minute climb at Sweet Spot vs. that 3x15 planned TR workout with 60-second rests between.)
  • Reason #2: To hypothetically see ‘workout zone’ or 'level’ (eg. what would TR have called this if it was a TR workout?) Sometimes you just want to know, particularly after reason #1! Unless creating the workout and putting it on my calendar, TR won’t reflect it in my career levels (even though the workout still factors into TR adaptations - I believe). Sometimes I will put it on calendar then ‘Associate’ the created workout to that activity to update Career Progression levels… but I don’t always do this unless its significantly different than the planned workout and the created workout is super-clean, smooth and realistic. If it’s close enough, I really don’t care. Also read/heard TR calculates levels from created workouts differently, and further that it can throw your Plan/Progressions off. If not extremely careful, I’ve seen it definitely will… certainly rides with skewed types of easy/hard efforts or divergent Avg vs. Norm power (notes on both of these issues in comments below).

  • Reason #3: Following this process has made me FAR better at riding to power targets anytime I’m not on a Trainer in ERG mode. I almost always try to ride to workout targets (inside or outside) NOT in Erg mode and see how close I came. (And if pushing a workout to Garmin, it will give me a workout execution score after for reference on how close I rode to the targets.) I’ve found not being dependent on ERG makes me better at riding to my target power anytime regardless of terrain and whether in workouts, group rides or events.

The process: After running into countless errors and complications to make it happen, I experimented with some fidgeting and formatting, then figured out exactly how to do it. Basically:

  1. Export my actual intervals to an Excel (.csv) using some other software.

  2. Do 2-3 cells of math (interval time, % of FTP) and drag those down for the entire columns

  3. Reformat numbers of those columns and align

  4. Do a couple cut & pastes, and one sort

  5. I have a text file template saved that I’ll cut & paste the Excel data over every time. Save and rename the file with the .mrc tag at the end.

  6. Drag that file into Workout Creator, make sure name is what I want, click publish and done.

    After getting the process down, now it always takes <5 minutes total from start to finish.

A few other important tips:

  1. Using something else to create/export your intervals and importing them into Workout Creator is MUCH easier and less time consuming than manually creating intervals in workout creator. Trust me on this one!
  2. Normalized power usually works better than average power. It smooths out the profile a bit more like target intervals.
  3. You’ll manually have to fix any anomalies or outliers in the interval file before or Workout Creator after… find any material gaps/rest stops in the ride and zero them out. NP will show power when you were stopped and thus skew your power (less common with AP, but sometimes). Same issue might apply to an outlier surge effort after a stoplight or a quick sprint/out of saddle effort to clear legs - something like this can really skew results of an otherwise flat Z2 ride and might call it an Anaerobic X.x workout. Just smooth them out.
  4. Group Rides are hardest to replicate accurately, simply because watts are typically all over the place with unintended surges, hill output spikes, soft or on/off pedaling in drafts, long stoplights, group rest stops and so forth. Recreating group rides with too much detail will often produce really funky TR ‘zones’ and ‘workout levels’, with profiles that look like porcupines, so I don’t use those. If creating a Group Ride, I’ll set my intervals differently… longer periods rather than really detailed minute-to-minute intervals that cause an excessive ‘spiky’ profile. I’ll look more broadly…. in this 10-minute section I averaged X watts, the next 20 minutes at Y watts, here was a 5-minute Z watt surge, and then 20 minutes back at X watts, and so forth.
  5. The TR creator can be glitchy - especially with uploading more than one in the same session (like an AP and NP file or two separate rides) - often it will show NaN for your workout intensity factor on the second one… if it does this, clone any interval in the workout creator and immediately delete it, then it will fix it and show IF correctly. Also, sometimes you might have to double-check that it ‘publishes’. Some don’t for whatever reason, just click publish twice. Then go into the web/app->workouts->custom and it will be there.

Hopefully all this this helps. Will see if I can upload some examples of the good bad and ugly and attach to post. I may make a video at some point to share on how to do this end-to-end, if so, will update post.

In the end, I wouldn’t recommend riding Group Rides exactly like they are outside but more like tip #3 above. If you want to ride it exactly, then don’t do it as a TR custom workout and just send that ride to your head unit on the trainer and re-ride it. Be prepared for some wonky trainer resistance issues though trying to replicate the outside gradients and surgy nature of on/off efforts!

Good luck!

1 Like

Some examples of the Bad and the Ugly of creating GroupRides in Workout Creator: #1-2 classic ‘spiky’ group ride profiles with intervals too detailed at Avg Power or Norm Power to be meaningful (VO2 26.9 or VO2 11.0?!); #3-4 easy group “Endurance” rides called Threshold or VO2 due to spikes; #5 a spiky sweet spot ride called Anaerobic; #6 another porcupine.

2 Likes

Examples of the Good (not perfect) and maybe still not worth ‘associating’ with the activity or updating career levels, but examples of how to create the workouts better. Notice more long intervals, the zero’d out rest stops and stoplights, etc.:

2 Likes

You could save yourself a lot of effort by using intervals.icu. It automatically breaks your ride into interval chunks and categorizes your type of ride. Plus it’s got a ton of analytics. Almost everything it has is free. Give it a go.

Totally agree - thats what I use for the intervals too. For nice clean steady intervals it will set them all for you, or for more complicated ones (like over/unders, mixed intervals or group rides, may have to adjust them a little to be more accurate or add more breaks/additional ones to get them all). But its easy in either case.