Notes from the TrainerRoad AI Update

Just some notes from the two podcasts with Nate TR put out after their big “AI” announcement:

  1. Nate hinted that HR drift was a factor the ML picked out as being relevant. Previously their position was HR straps were not useful and could be skipped. No mention of DFA alpha 1.
  2. Workout failure detection is ‘image’ based. They trained a model based on the power graph of the workout where humans were classifying workouts as pass/fail. This goes into their new AI model
    1. The plan is to not use an image-based mechanism but train an ML model to look at raw watts instead
  3. FTP is a display output, not considered by the model. The model uses watts over time.
  4. Survey responses, their ‘how hard was it? after the workout from their workout player’ are being taken into account

TBH I’m not sold on anything these guys claim re physiology and ML/AI. Obviously HR (not just drift) is relevant as is known in the research for decades (over a century?).

Durability is probably what they’re hinting at and HR drift is one factor, the others being probably most notable respiration rate and DFA a1, see for example Fractal correlation properties of heart rate variability and respiratory frequency as measures of endurance exercise durability - PubMed

Going through images sounds like a weird detour that just adds complication and noise if you can just look at the numerical data.

Their explanation was they had previously trained an ML model to determine if a workout was ‘failed’, or just a sensor glitch, and that this had been done using the workout images as displayed on the dashboard.

They also claimed their previous ‘AI FTP Detection’ was trained on estimating the FTP output from a ramp test, which had previously been switched from another test which had previously .. (turtles all the way down). Now that it is estimating “real” [my words] FTP some FTPs have changed wildly, but apparently this doesn’t change the workouts since their algorithm doesn’t use FTP. It can’t be estimating MLSS or 60 minute power or something else then, so who knows what it’s trying to fit now. The original estimation of FTP for 40-mile time trials? :person_shrugging:

If the algorithm doesn’t use FTP for progressions, why are the workouts still created using FTP? My guess is it’s a limitation of the workout player and/or their old library of ‘Coach Chad’ created workouts or some tie-in with their ‘progression levels’ system.

The claim was they didn’t want to dump FTP because because it would confuse users, but then what’s wrong with maintaining the existing AI ftp predictor of a ramp test and just internally using watts over time? I’m sure this was discussed in meetings at their HQ multiple times.

Maybe you need your own podcast.

1 Like

TR made a new podcast and gave some more details on their use of “AI” (ML) and what the inputs are. Sounds like there is a lot of criticism of their new update, some reasonable some reactionary.

  • AI FTP Detection (old):
    • Used ML to predict ramp test
    • Pass/fail using image-based algorithm to determine pass/failure
  • AI FTP Detection (new):
    • Power, HR, RPE (post workout survey)
    • “New FTP”: estimates “around a level 3 threshold level
      • Workout levels are calculated “utilize[ing] Adaptive Training’s data-driven insights and incorporate nuanced factors such as repetition, interval length, and recovery time to quantify the relative difficulty of each TrainerRoad workout”
      • Whatever that means
    • Pass/fail using image-based algorithm to determine pass/failure
  • Rides w/o power but w/ HR: estimation of workouts:
    • Estimate TSS, which fed as an input into Fatigue Detection
  • Fatigue Detection (nee red-light/green-light):
    • Uses TSS (calculated and estimated from rides w/o power)
    • Red/yellow day “not the model triggering it” (conventional algorithm)
    • Not used for the ‘big drops’ from Hard → Easy days
  • Plan Builder:
    • TSS – Not AI Based (conventional algorithm)
  • Workout Alternatives, Training Approach, all the planning:
    • Changes inputs into ‘the model’
    • Not clarified which model this is, if Plan Builder is still TSS based, unless TSS is one of the inputs
  • TrainNow/Adaptive Training/Progression Levels/FTP Prediction:
    • Not discussed

Other features:

  • Power Progression:
    • Visualizer of how power has changed compared to recent workouts
    • Shows how new workouts differ from previous workouts

What’s not clear: if plan builder uses TSS not AI, how are the workouts that are recommended using AI suggested? The implication is the AI FTP predictor is trying to maximize FTP increase over time. However:

  • The new AI also does not have a concept of zones.
  • Previously they described how Zwift the race profile was anaerobic, sweet-spot/threshold, then neuromuscular, implying it is zone-based.
  • If the new model (not clear which one is prescribing workouts) is FTP unaware, this implies that certain race types are looking more at the power-duration curve (as visualized by power progression) or critical power as determined for a given race type this is somehow mapped onto ‘workout levels’

Pause Handling:

  • If a workout is paused in the middle of it, on the back-end the workout is re-computed as if the pause was intended to be in the workout.

One thing that’s always confused me is the framing around “AI FTP prediction.” As I understand it, what it actually means is “if you did a test right now, this would be your FTP”. So it’s essentially an estimate of your current fitness from existing data, similar to our digital twin concept for FTP/CP/5k pace/etc. Calling it a “prediction” is technically accurate but I think “estimate” would be more precise, since you’re deriving a current value from current data rather than forecasting a future outcome.

What I find much more interesting and useful is using that digital twin to actually optimize training and predict future outcomes: “if you follow this program, here’s the expected result.” That’s a genuine prediction and a significantly more complex problem.

For context, Strava and Garmin do essentially the same thing as “AI FTP prediction” but for different race paces when they estimate your current marathon or 5k time. It’s “if you raced right now, this is what we’d expect.” Strava also calls theirs a “prediction,” which I think has the same slight framing issue.