Zwift TT tests - mathematician's views wanted

I did a some tests on Zwift a couple of days ago to check how accurately speed calculations match what would be expected in real life.

The protocol was to use the London Classique route which has the advantage that you zone into a couple of short sprints. One is uphill the other downhill which adds another useful variable.

I did 2 runs on each of the sprints at a number of different weights ranging from 45kg to 90kg incrementing in 5kg steps. I attempted to keep power constant for each run and started each run in the same place before the sprint start so as to build up speed before entering the sector.

I kept rider height constant at 1.70m.

I captured 2 variables
Time was that displayed on the screen as I crossed the line
Power came from Strava for the relevant sector (since I was doing a flying start and wanted to pedal through the finish I figured that was more accurate and consistent between runs than using the lap button)

Gear was fastest TT setup Cervelo P5x with Zipp 858/super 9 wheels.

The file below contains the raw results. There are two sheets, the first for the uphill sprint, the second for the downhill sprint.

Segment data is from Strava
Uphill is 0.19km at 1.1%
Downhill is 0.18km at -1.4%

Here is the data (just add in the missing https:// and dot after google com/file/d/1VyX3f_8m7BtUu9jrWvgCU2MbaCa8ZeRq/view?usp=sharing

I have drawn my own conclusions from the data but do not wish to share them atm as I’d like to get some independent views just on the base data.

So hopefully there are some mathematicians and/or power geeks (hands up I’m one) who can take a look and say what they think.

The topics I am particularly interested in is how accurate is Zwift at estimating TT speed compared to real life and especially how does weight affect speed in Zwift TTs compared to real life?

Hope you can help and looking forward to hearing your conclusions

Your results are predicable. First, Zwift estimates the rider’s frontal area from the weight, so reducing weight reduces the aero drag. Second, the rider weight also goes into the rolling friction calculation, so again a higher weight increases drag.

This said, to do these tests in a more precise manner, ensure you use a flat route (not the case here), a TT bike to avoid drafting from other riders (not sure if that was done), and use erg mode to maintain power constant (there’s some variation in average power between the rides here). You should also measure stabilized speed rather than a TT that may (or may not) include acceleration from standstill, which will further skew the results towards lighter riders.

Edit: I read your post slower, and you do confirm using a TT bike and doing a flying start. This said, the one thing that has no relationship to real life is the weight-to-frontal area calculation in Zwift. That’s just some software developer winging it.

As Robert says, CdA is the big unknown here and it changes with height (constant in this test) and weight. If OP was keen he could reverse engineer the CdA using something like this An interactive model-based calculator of cycling power vs. speed

As a quick example using the extremes of the data set (45kg and 90kg) I was able to get a frontal area of 0.43sqm at 45kg and 0.75sqm at 90kg. This is without changing the drag coefficient (Cd), just changing the frontal area (the A in equation).

1 Like

The missing factor for any IRL comparison is (correct me if I’m wrong) windspeed. There’s also the factor of Zwift allowing you to keep the power full on when cornering, and having a largely unvarying road surface (no potholes).

So basically, Zwift will always give a better performance than IRL. I would think the model they use is pretty accurate. As the guys have said, it’s the extra layer they add to make a frontal area assumption using rider weight/height which is unknown. Is it based on some real sample set? a set drawn from athletes or the general population.

Really, I don’t see the point. Zwift is a game that vaguely behaves like the real world. But it’s only an approximation, not a highly accurate simulation. There are so many aspects that are either ignored, assumed to be identical for all riders or at best can only be estimated.


You’re right - Zwift only needs to be “close enough”. It has been shown through comparative rides on AdZ vs real life that it’s just that - close enough. It’s not double the speed, it’s not half. And that’s good enough for its purpose.


On AdZ the maths becomes a lot simpler. For an 40 minute plus climb you can pretty well discount aero effects. So not surprisingly Zwift and IRL are probably a lot closer there (except on the real Alpe I’m sure I wouldn’t have two cooling fans and be able to grab drinks of the kitchen sideboard whilst pedalling hands free).


You are quite right… but there are other factors at play, too. On the IRL Alpe, you may have thermal control issues of an opposite nature. Let’s put it this way: you wouldn’t have girls in shorts waving at you from the side-lines as one sees on Ventoux! LOL. Also, air-pressure changes (ask any velodrome one-hour record challenger) are a very real and measurable factor, apparently not controlled for in-game. Do they cancel each other out? I’m sure there would be fans at Dutch corner to pass you a drink! Fascinating…

1 Like

The effect of altitude is indeed important in real life, both in terms of air density impact on aero drag (which is proportional to density), and on oxygen content and thus on the body’s ability to bring oxygen to the cells. Since aero drag is proportional to speed squared, that effect dominates at higher speeds (hence its use in attempting the hour record), while the second dominates at higher altitude and depends on adaptation. The first one does not appear to be modeled in Zwift, the latter isn’t either (unless you bring your trainer to La Paz or Mexico City, that is).

1 Like

If you’ve tried any tests looking for it you might conclude that. But the reason is that your model, and so the model you’re looking for Zwift to match, is wrong. At high speeds the power that a rider has to produce varies as a cube of the velocity, not square. There’s a lot more to the power required equation that just the aero drag to be overcome. See An interactive model-based calculator of cycling power vs. speed

That’s is just unfair. Hard enough for Zwift to have to make assumptions about everybody’s personal drag based on just their height and weight. Now you want them to also intuit whether the rider has Colombian/Ecuadorian heritage or has spent some time in the preceding weeks at a high altitude training camp or just has that lucky blood chemistry that works fine over 2000 metres when others start to flag.

I think Zwift assuming that, with the scope of the biggest hill being 1534m, its all the same for everybody and we don’t need to provide blood test for modelling, is the correct choice.

1 Like

Drag force is proportional to the square of velocity, and since power is force times speed (at constant speed), hence power is indeed proportional to speed cubed.

I didn’t make any comment about whether Zwift should or should not include air density effects. I don’t believe such effects have any significant impact on performance within the scope of the app, and thus agree it’s completely normal for the developers to ignore such factors.