What is the real problem with TR / Wahoo? [Adaptive Training]

This is just a quick thread for all of us who have wahoos and do out workouts outside (because, ya know, its summer). AT just adapted all of my progressions down, despite regularly completing workouts and periodically choosing harder variants because I recognize that the system isn’t using my data.

I know it’s not the end of the world or anything, but it’d be nicer to see my progressions go up rather than down. I also know TR is working on this issue, but I’m getting antsy.

1 Like

Does anyone know why AT doesn’t just look at the data as presented, and then make adaptations based on that? For instance, I was supposed to do a ramp test yesterday. But instead, because it’s nice out, I decided to do a true hour at threshold. And my hour power was higher than my then-current FTP from my last ramp test. Why doesn’t AT see that and say “ah ha! you have a new FTP! also it probably means your progressions at threshold should go up because your avg pwr and NP were close to the same.”

Since I don’t know anything at all about how to program a machine learning system, maybe this question is crazy. But it seems straightforward to me. shrug

They are? I haven’t seen a meaningful update on this since the original announcement ~5 months ago. Hence this thread.

The two companies clearly aren’t playing nice together here, which is really disappointing. No TR subscription renewal for me and no BOLT upgrade for me until they can figure out how to renew their focus on the gigantic user base of these two products.

1 Like

I guess I should say “they say they’re working on it, and I don’t really doubt the truth of that statement, but who knows.”

There have been various threads where they have addressed it. (Ivy responded to me personally two weeks ago). They have also addressed it on almost every podcast since. They definitely have not been silent about the issue.

1 Like

A couple mentions I could find via search:


The way it’s been designed is it looks at what you’ve done vs what you were supposed to do (the yellow line vs the blue bars in the TR app so to speak), rather than just taking a power trace and categorising based on that (pass/fail on workouts etc.). This makes a lot more sense within the context of the TR workouts/ecosystem but seems like it would cause/has caused issues with categorisation for non-TR rides.

Apparently, there is FTP prediction as an internal feature (Nate has mentioned it on IG), but not available yet.

In your case you can just manually update FTP and it’ll have the same effect… I am jealous that you have a road where you can do an hour at threshold!


Because TR has only supported automatic FTP updating by ramp, 8-min, and 20-min tests. Doesn’t matter what you can do, TR only looks at those 3 tests.

Other training platforms do look at actual efforts and ask if you want to update FTP. and while TR has hinted at doing the same there are no details and no timeline.

1 Like

Right - key qualifier I mentioned was “meaningful” updates.

In my field, “we’re working on it…” for 5 months with zero visibility to when something will be fixed, or any kind of insight into what the issue even is would get you fired. In fact, I think in most real world jobs it would have that outcome.

We’ve been strung along on this for months with the same tired updates. I suspect they in fact have no way to process Wahoo data - and this was not at all the early indication when it sounded like Wahoo outdoor workout processing would follow very soon with a much grander project to analyze unstructured rides not tied to workouts. Perhaps the Wahoo fix comes only when all random unstructured rides can be fixed - and who knows what that timetable looks like.

It would have been way better had they been honest 5 months ago that this isn’t going to work for anything but Garmin for a really long time.

Here’s an update on structured outside TR workouts.

Garmin - They work but they can count some as struggle/fail even though you passed them.

Wahoo - We don’t analyze them today.

Wahoo isn’t supported at the moment because we don’t get the associated WorkoutId (what TR workout it was) passed through the Strava API to us. We do get this through the Garmin API so we’re able to intelligently identify the workout.

But, because of the nature of outside workouts and the variability, our ML isn’t as good as we’d like it to be at classifying those outside workouts (although it’s being improved).

What are we doing to improve/address this?

We’re trying to hit three improvements at once:

  1. Accurately classify Garmin/Wahoo structured workouts
  2. Give credit for partially completed workouts or workouts that are turned up
  3. Give multi-level credit for unstructured and structured workouts

With the approach that we’re doing, we should get all three at once and everyone should be happy. The coolest thing is that we should be able to give you endurance and threshold points for a say a 40 min threshold climb and then 4 hours of endurance whether it be indoor or outdoor.

We had some fancy ideas on how to get the workout Id to the Wahoo rides but because the ML isn’t as good as indoor on these rides we thought this new approach would be even better.

What are we going to do near term?

An engineer is going to make it so that all structured Garmin/Wahoo rides are automatically a “pass” when you do them, then you’ll have a survey to make it so you can say you didn’t pass the workout.

The failure rate for workouts is like 6%, so this gets us to make the majority of outside workouts a pass and then users can still change the classification manually.

The engineer that’s going to do this has a different priority that is in testing but will hopefully be able to move to this in the next few days.

Of course, this is just a bandaid and not our long-term solution.

The long-term solution is the one that I listed above. That is pretty far along and is in what I would call “alpha testing”; the engineer has it working and is validating it against our current approach but it hasn’t been tested by outside people.

Outside rides are not a requirement for full AT launch. We made this decision based on TR data/usage over the last 10 years. A lot of athletes can get a huge improvement in their training with what we have for AT today.

But, scoring outside rides is also a big priority for us. I feel it really unlocks a lot more value (maybe 2-5x?) if we can get a complete picture of your riding. It’s just not going to hold up other value that we can release.


So what’s the outlook for UNSTRUCTURED OUTDOOR WAHOO rides counting for progression levels and such? Not going to threaten cancelling my membership or not buying a new wahoo regardless just want to know

1 Like

Not explicitly stated for either head unit (or listed for a single one), so presumably #3 below applies?


Chad is right, this approach will get it all at once. So the outlook is good :smiley:. But I don’t have an ETA.


@Nate_Pearson, exactly the information I have been looking for, well-organized and communicated thoughtfully. Thank you.

I hope this makes it to a front-page type TR support article/page etc as it’s that significant.




What kind of dark magic is this?


Excellent thanks Nate. Hopefully this dispels any conspiracies floating around because it really just sounds like a typical Wahoo limitation

1 Like

Excellent Update.

So here’s a dumb idea from a dumb IT person. Why don’t you send some very short but imperceivable to the user info to the workout you can see back when its returned in FIT. Like <1s intervals that are unique to each library in the workout.

The target that comes back from that nano-interval could be used to identify what the workout was. Couldn’t you do target RPMs that would be a non issue to the rest of the work out?

Example - workout A starts with 59x 1s intervals at 1RPM target, followed by 1x 1s interval at 2 RPM

Workout B, 58x 1s at 1RPM, 2x 1s at 2RPM
Workout C, 57x 1s @1, 3x 1s @ 2rpm.

Target RPM of first 1 min comes back, parse, vlookup, now I know what workout you attempted.

1 Like

That would be very hard with all the workouts we do. And Strava changes data once they get the fit file :upside_down_face:.

But I like the idea! Sort of like Independence Day when the aliens used our own satellites against us! :joy:


I do wonder why Wahoo stuff has to go through Strava when there appears to be a wahoo api but they can connect with garmin via the api. I’m sure there are reasons, so I’m not pressing for answers, just a general musing (plus I use garmin so I’m happy lol)

edit: bring back white background Nate avatar, I don’t want to get used to a new avatar lol