[Released December 2022] Critical Power Information in Zwift Profile

The horse has bolted on that, they are already pulling the info and zwift staff are fully aware the API is being used by non-authorised users.


ZwiftPower will not be changed. Like I said, the goal is to move away from ZwiftPower and in order to do that we can’t invest time and effort into in adding features or change things there.
We fully understand the importance it has for the racing community and that’s why we invested considerable effort into keeping it running stable. Unfortunately, ZwiftPower was not built to be scalable or even changed properly. That’s the hard truth :frowning:
I can only say we are working hard to move everything to new systems.


So, will CE completely replace the current ZP cat model for all future Zwift events?

We are currently building towards a rank based category system, so that should be the default in the future.
There are a few possibilities. Rank based, Power profile based (the current CE system), Hybrid, etc. There could be a future where the organiser chooses between the category system he/she wants.


You’re already divulging far more information about individual racers on Zwiftpower, so that can hardly be such a big deal (except for data protection administrivia considerations). The easiest way forward would be to rephrase the ZP consent so that it covers racing result and integrity platforms regardless of implementation (of course you’ll probably have to bother existing users once more but that’s hardly a big deal). If the goal is to move away from ZP, you’ll have to do something like that at some point anyway. (Personally I would like to see that kind of consent to take the form as something of a “Zwift racing licence”, meaning that it would simply be a prerequisite for signing up to any (public?) event categorized as a race.)


I’m most interested in the word ‘determine’ which I, possibly in error, take to mean calculate.

Is there any chance you could tell me how you determine your best estimations of
VO2max (I wonder whether for consistency this should be zVO2max ?)

1 Like


1 Like

BTW, appreciate I was quite challenging yesterday, but it’s important to get the messaging right. I should add, it’s great that this is being added to a Zwifter’s profile, and generally it feels like racing is heading in the right direction - Pack Dynamics and giving race organisers configuration tools being the two key elements.

The one big enhancement to this would be using Compound Score instead of W/Kg so the constant complaints about have to manage weight differentials can be a thing of the past.


That’s unlikely. If you do a hard 3min. effort it will likely bump up your zMAP being “caught” there.
Off course then comes the possible limits that are or not crossed. But what is the right limit 5.4 or 5.3, 4.1 or 4.2, etc… ?

But we are open for improvement suggestions. If it’s not a massive change we might improve it. Just tell us your solution.

1 Like

@Gerrie_Delport_ODZ is right, I improved power through 2-10mins in a race and this then opened up the cat below for me.

@S_A_Cestria_CC can give much better examples of this being used as he understands this specific quirk quite well.

1 Like

Good to hear! :ride_on:

ZwiftPower was a fantastic and much-needed facility, but IMO it was only ever a workaround for Zwift not natively supporting racing etc.

David thank you for engaging with us. I posted a question to Flint a few posts above. If you would like some suggestions for possible solutions it would be really helpful to know how zFTP, zMAP and VO2max are being determined / calculated by Zwift.

There has been much discussion around the calculations on this forum and many guesses as to how each is calculated. 3 minute power is mentioned above because CP has been mentioned a lot in the past 6/7 months and there is a 2 test calculation using 3 min and 12 min power (coincidentally I notice both these times are included in the information being provided in future ?) where raising 3min power without also making an effort to raise 12 min power leads to a lower CP. So you are using zFTP not CP but I’m sure you can see where confusion might arise.

zMAP - is this 4-8 mins or is it 5 mins (5 min info will again be provided)

VO2max - many different formula can be found online. Which one are you using and are you using 5 min, 6min or zMAP.

Unless you provide the methods by which you are determining the figures which govern our Category I am sure you will just continue to receive more and more requests to do so.

With the full information forum users may be able to provide you with some possible solutions for improvements - some race organisers already have their own ‘improved’ systems for category allocations.

EDIT: “If you do a hard 3min. effort it will likely bump up your zMAP being “caught” there.” If I want to do a max 3min effort you can be sure I will be fully spent at 3min &1second and will not be cycling on into your time range to be caught by zMAP :grinning:


You need to find a way to stop the micro changes in weight to drop category which has become the change of choice for sabdbaggers,
I dont know if you lock in the cat upgrade for X amount of days or you keep using the performance & value that upgraded them for 60 days, but currently a subset of users have realised that if they overperform they can increase their weight in small edits and find their way back to their original category in days rather than the previous ZP change of 90 days.

1 Like

Maybe this counts as a massive change - but using Compound Score instead of W/kg means no more watt floors and constant complaints/discussions around weight differentials.

We are using Compound Score as the seed value for ZwiftRacing.app rankings, and before you even adjust for results it does an an amazing job of ranking riders.


While creating the ZwiftRacing database, did those of you behind the scenes discuss ballpark Compound Score pen boundaries over four and/or five pens, that might split abilities decently?

I’m plucking CS figures out of thin air, but for example would…

E: <750
D: 751-1250
C: 1251-1750
B: 1751-2250
A: 2251+

work reasonably well?

Yes that is basically the splits between platinum, gold, silver, bronze etc.

Of course variation brings huge benefits, so when I did the matchmaking event I split the riders by natural points based on who had signed up.

In a way, you could say that ZwiftRacing.app is a Compound Score ranking system, where rank is adjusted away from Compound Score based on results (zwift skill, sprint ability, results etc)


While I love this idea I would be extremely hesitant to use a guess of your Vo2 for any meaningful information. It’s cool and can be funny but it’ll be much like the estimated recovery time in Garmin head units.


Such an uncomplicated method that I came up with those figures while typing my last post, without looking at that rank reference on ZwiftRacing.

Simplicity is good for us as riders, as well as processing/administrating at ZwiftHQ.

1 Like

Yep. 1 single, accurate, value.

1 Like

This is a double edge sword. If we provide all the details seems to be to open up to more weird exploitations. All users should just be worried in giving their best and racing hard and not racing with a calculator on their hands.