Even after several years of researching and writing about all things Zwift, there are still unanswered questions rattling around inside my head. Last week, I went to work answering a few of them:
- Why does distance in the center HUD element not always match my distance in the rider list on the right?
- How does Zwift actually measure distance?
- Are the finishing distances shown in results actually accurate, particularly for time-based events like VO2sday, where the goal is to travel as far as possible in a given time?
Let’s go down the rabbit hole…
How Zwift Measures Distance
You might think that measuring and displaying distance is a simple proposition. But when you begin to ponder how routes and events and virtual riding actually work, you begin to realize there must be more to it.
Have you ever noticed that the distance figure in the center HUD element doesn’t always match the distance shown under your name in the rider list? Here’s a screenshot from a recent Pizza Burner ride I led – notice how the center HUD says I’ve ridden 91.3km, while the rider list says 91.2km:
You’ll see these two distance numbers diverge the longer your event is, and the more steering you do to take the optimal line. This is because the center HUD shows distance measured by one method, while the rider list shows distance measured by another:
- Centerline Distance: calculated based on your location on course. This is the distance your avatar would travel if it stayed in the center of the lane for the entire ride. This is the distance shown in the center HUD for distance-based events like my screenshot above.
- Wheel Rotation Distance: calculated (conceptually, at least) based on the actual rotations of your wheel. This is the distance your avatar has moved through space, regardless of direction. This is the distance shown in the rider list.
Once you understand how these two distance calculation methods differ, you can see why the two figures diverge as rides get longer and you steer onto the more optimal line. Steering an optimal line means your avatar actually travels a shorter distance to get from point A to point B than if it had stayed on the centerline. So as you get further into the event where you’re consistently steering onto the optimal line, the centerline figure (center HUD) will end up higher (never lower!) than your rider list figure.
Here’s a quick video from my bot, showing how steering the optimal line in a distance-based event makes those two distance figures diverge:
Notice how the two figures start off matching, but by the end are around 200 meters apart.
Notice also how the two figures remain different until I leave the event cooldown. When that happens, Zwift changes the center HUD to use wheel rotation distance, matching the rider list distance. (We could call this “free ride mode”, as wheel rotation distance is what is used in free rides on both the center HUD and rider list.)
So that’s our first and second questions answered. On to the third and final…
Distance Tracking In Time-Based Events
The vast majority of Zwift races are what I would call “distance-based” events. That is to say, they’re based on covering a particular course distance, often one or more laps of a given route. In a distance-based event, steering the optimal line is advantageous, as it reduces how much road you actually have to cover, allowing you to complete a course more quickly.
But what about time-based events? I’ve been thinking about this lately due to Zwift Insider’s VO2sday Micro Races, which are 4-minute events. You race 5 of them back to back, and the winner is the rider who covers the most distance.
But how is distance measured in time-based events? Is it based on who gets furthest down the road, or who gets the most wheel rotations? I did some tests to find out.
First, I have two videos from 5-minute events with the same solo rider on the same bike holding the same power in both. The only difference is that in the first video, I steer the bot onto the optimal line. In the second video, the bot isn’t steered.
Steering the Optimal Line in a Time-Based Event
No Steering in a Time-Based Event
The activity details pages for these events show the actual event distance saved by Zwift, to two decimal places (much more precise than the single-digit display on the results screen that pops up when the event ends). Zwift says the bot steering the optimal line in the first video covered 3.16km (see results), while the non-steering bot only covered 3.05km (see results).
That all seems sensible. The bot steering the optimal line makes it further down the road than the non-steering bot.
But notice this: the HUD shows both bots traveling the same distance in the 5-minute event! In both videos, the distance ticks over to 3.2km right after time runs out.
Clearly, Zwift is showing centerline distance in the results pop-up. But they’re showing wheel rotation distance in both HUD locations during the actual event!
To confirm this, I ran two more tests, this time on Tempus Fugit. In the first test, I steered the bot badly, veering back and forth across the road. In the second test, I didn’t steer the bot at all:
Steering Badly in a Time-Based Event
No Steering in a Time-Based Event
Zwift’s results show the badly-steering bot covered 3.09km (see results), while the non-steering bot covered 3.14km (see results). This is exactly what we would expect if Zwift is using centerline distance for their results. The non-steering bot makes it further down the road than the badly-steering bot.
Notice again, though, that the HUD shows the same distance for both bots during the event! (It ticks over to 3.3km just before they hit the 5-minute mark.)
Answers Lead To Questions
Once I discovered that the distance shown during a time-based event differs from the distance shown in Zwift’s results, I began to wonder: what distance figure are we using for our VO2sday results hosted at LeadoutEsports.com?
This is important because if our results are using wheel rotation distance, then steering doesn’t matter in time-based events! You could veer back and forth across a straight road, finishing behind another rider, but actually come out ahead because you covered more distance… more wheel rotations.
But if our results use centerline distance, then steering does matter, because it lets you get further down the road than the other rider, all other things being equal.
So I set up a test event and worked with Alejandro over at Leadout Esports to track live data from Zwift’s API. That experiment told us two things:
- Zwift is sending centerline distance (not wheel rotation distance) via their API.
- Zwift has shadowbanned my bots, probably after detecting them holding steady power for too long. (Did you know Zwift has an automated system that shadowbans riders who break certain rules? More on this in another article, someday…)
So the actual distance we’re using to rank riders for VO2sday is different from the distance they see in their HUD while racing. While riders see wheel rotation distance during the race, the finishing screen popup shows centerline distance (to only 1 decimal place), and the actual data from Zwift’s API also uses centerline distance.
So yes: steering the optimal line does give you an advantage in VO2sday events. Just like in distance-based events.
Your Thoughts
I’ll admit, I probably went too far down the rabbit hole on this one. But I figured if I did the digging, I might as well share the results, in case others have the same question.
Share your thoughts or questions below…
