Using AI to Predict Zwift Race Results: the ZRace App

If you’re anything like me, there are two questions on your mind as you enter a bike race:

  1. How well will I do today? This is the personal expectation piece. Do I anticipate a shot at the podium? Or will I be getting dropped at some point for some reason, and this is more of a workout or team effort than a win attempt?
  2. Who are the strongest riders in this race? If I’m contesting the finish or working for a teammate, who are the key riders I need to be watching? If a weak rider attacks I don’t need to waste my watts, but if a strong one does, I may want to respond!

Back in early 2021, one Zwifter created ZRace – an app that answers both of these questions with impressive accuracy. The app predicts the finishing places of riders signed up for Zwift races, and according to its creator, the tool’s Top 5 prediction is quite accurate, with a 95% probability that 3 predicted top 5 athletes will indeed finish in the top 5.

How It Started

In early 2021, Bruno Gregory had already created racedata.bike, an app that analyzes and predicts races across all categories of cycling in the US. Then Covid happened, sparking Bruno’s interest in Zwift and his subsequent participation in Zwift races.

He quickly learned there was a wealth of Zwift racer data available: power, heart rate, weight, age, sex, historical results, and more. And he realized that, given this additional data, analysis and predictions could be made much more accurate than the initial version of his app.

The “Random Forest” decision tree algorithm is used in the machine learning which powers ZRace

I won’t go into detail how exactly ZRace calculates its predictions, because those details are above my pay grade. But it uses machine learning (a form of AI), and the more races that happen, the more accurate it gets. (To read how the project unfolded, including Bruno’s iterative approach to selecting the best predictive models, read his post on Medium.com.)

What It Does

Bruno describes ZRace like this:

ZRace analyzes all athletes registered in a race and predicts possible winners. It also analyzes each category and presents the average power required for you to have a good result. In addition, athletes with specific profiles are identified, such as climber, sprinter, and time-trialist. This way, depending on the race’s course, it is possible to predict who will have a better result or even who you should keep an eye on for a certain part of the race.

Let’s dig into each of those features, which all live on the Race Predictor screen.

The Race Predictor

While many Zwifters simply visit ZwiftPower and sort the signup list by rank to find out who the top riders are, the ZRace Race Predictor is much more precise, using multiple variables plus a robust machine-learning algorithm to predict each rider’s finishing position.

From the ZRace.bike homepage, select any race. This will load up the Race Predictor for that event. In a multi-category event it defaults to showing the A category predictions, but you can select the category you’d like to view from the “Category” dropdown. Here’s the Race Predictor screen for an upcoming KISS Race:

Along the top you have a summary of each category’s signup list, including the number of riders signed up and the FTP average of the field.

You also have top riders selected by profile: a top sprinter, climber, and break away rider. Depending on the route profile and race situation, these would be good riders to watch.

List of Past Races

Curious how accurate ZRace’s predictions are? Click “Past Races on Zwift” on the left, choose a race, then click Results to see actual results and ZRace’s prediction.

Predict Me

Click Predict Me, select your race category, and enter your Zwift ID. The app will predict your result in the next hour’s Zwift races. (Not sure how to find your Zwift ID?) Here’s what it predicted for me, entering the B category:

Race Statistics

This portion of the ZRace app is quite interesting. It displays stats for:

  • Most popular days of the week and time to race
  • Winners by country
  • Most popular race events
  • Most popular race routes
  • Toughest races (based on power numbers)
  • Winner profile of men and women in all categories
  • Winners Ranking (top-ranked riders in each category based on ZRace’s algorithm)

A Few Gotchas

ZRace only lists ZwiftPower-registered riders, so it’s possible you could enter a race and get beaten by someone who hasn’t signed up for ZwiftPower. Then it’s up to you to wrestle with that age-old Zwifter question… if they aren’t on ZwiftPower, did they actually win?

The ZRace algorithm works well for iTT races and standard scratch races, but doesn’t work for handicap (chase) races. It also can’t predict the winner of a points race with intermediate point segments, since it is only predicting the finish order.

The system can take a bit of time to make its prediction, because it has to process rider data when you view an event. Be patient, it’s worth it!

Questions or Comments?

Share below!

Eric Schlange
Eric Schlangehttp://www.zwiftinsider.com
Eric runs Zwift Insider in his spare time when he isn't on the bike or managing various business interests. He lives in Northern California with his beautiful wife, two kids and dog. Follow on Strava

7 COMMENTS

Subscribe
Notify of
guest

7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Get Started on Zwift

Newest Featured Posts

Support This Site

Write a post, shop through us, donate or advertise. Learn more

NEWSLETTER SIGNUP

Zwift tips and news every 2 weeks! Click to subscribe.

More Posts

7
0
Would love your thoughts, please comment.x
()
x