There’s a caching bug that our engineers are fixing now; that’s why you got the rest day.
We’re slowly rolling out a HUGE change to how workouts are selected on TrainerRoad. It’s a new machine-learning model that’s been in development for two years.
In our internal testing, it’s WAY better at predicting what a good workout is for an athlete.
“Good” is a combination of workout performance, failure rates, and long-term FTP improvements. IE, if you do a VO2 max workout and it feels too easy, or you fail; then that’s not a good workout.
When we fully launch this, we’ll explain these metrics and show you how we’re measuring them.
We turned this new ML model on for TrainNow 7 days ago. We did this because TrainNow is a very small portion of TrainerRoad’s total rides (<2%). The machine learning model is also pretty resource-intensive, so we wanted to ensure we did a small test before slowly rolling it out to a larger audience.
Just this small test costs us $5k/month. To ensure we don’t break the bank, we implemented some caching to reduce costs. That caching introduced the bug where you got your rest day, and some workouts weren’t the correct workouts to recommend to people.
Because of that bug, we turned off the new ML model this morning, and the regular TrainNow is running. An engineer has fixed the cache issue, and their code is being tested. We hope to turn on the new machine-learning model later today.
For the shuffle button: The new machine learning model picks one “very best” workout based on workout zone, profile, and time. If we had a shuffle button, it would just continue to pick the best workout for you and you’d get the same one over and over.
So I decided two weeks ago to turn the shuffle button off, not thinking people would care. But of course the person who has the biggest hawk eyes on TrainerRoad noticed :-D.
We will bring the shuffle button back, but have it sort through workout profiles for that zone. It will sort through 1-4 workouts, depending on the zone. That adds a little strain to the system, so it might not come back today, but I think we can figure something out for next week.
It’s a bummer that we didn’t get good data for these 7 days. Still, the ML model with the cache issue performed equal or better than the previous version of TrainNow; so that’s good.
But in our internal testing, it blew performance on Adaptive Training, TrainNow, and athlete-selected workouts away. That’s why we were confident to turn this improvement on for TrainNow athletes, but of course, it was a bug and not the feature that bit us :(.
When it’s back on, you might see bigger jumps in levels than you’re used to. That’s one of the cool features of the model. We’re seeing people “lock in” to the correct workout level way faster than Adaptive Training.
It also handles time off better than Adaptive Training. When you have gaps in training it’s better at predicting the correct workout level.
It might even suggest different workouts for you based on the time of day you make the prediction (which is cool).
There’s way more applications for this that we’re working on and we weren’t planning on sharing anything yet but no one will probably read this anyways besides Chad a few others, so .
The next rollout will be on the desktop app in the coming weeks, and you’ll have more control over whether you’d like to do the workout or not.