Category Enforcement Test Events - 21-28 Feb 2022

Hi Flint,

Great to see the first steps taken in the form of these test events. Obviously the actual post-race evaluation will need to wait until, well, after the event. However, I thought I’d already share a constructive pre-race evaluation. There is much to like about the directions you are taking, but also room for improvements as I try to elaborate below.

  • Category Enforcement; the technical side of it seems to work (for me). I have a minimum enforced category and can still choose to ride up if I want to. Thanks for including this option already from the start.

  • Allocating a Zwift Category; according to your post you are now looking at all Zwift data - besides workouts - which is a great improvement IMO. It brings the category definition back to FTP/weight rather than race data/weight, which has been a flaw in ZP suffering from rapid inflation. It also allows for the allocation of as many riders as possible, including those that have not participated in events yet. Checkbox ticked.

  • Changing weight shortly pre-race to circumvent enforcement; I haven’t gone into great length as I only tried this via companion, but I can confirm this did not allow me to ride a category down eg ‘sandbag’. I don’t know what would happen if I put in a couple of rides at a higher weight, but I’m not willing to try this either. So another checkbox ticked.

  • Use as a toggle option for events; thanks for putting this high on the list of priorities.

These are the bricks of the house - to use your previous analogy - so I just wanted to appreciate these specifically :thumbsup:.

Then back to the important question you postulated earlier, does racing (or the category assignment) feel fair?

This question can swing many ways depending on its interpretation. I can only speak for myself: I view my racing as a thrilling and engaging workout with the aim of getting stronger. If Zwift racing doesn’t meet these criteria then I will not participate in it.

There are two main problems with the traditional ZP bands: riders ‘hiding’ their actual capabilities, and matched riders getting upgraded at a different point depending on their weight.

The inclusion of all ride data partly addresses the first point, and I assume that the intention of including MAP and VO2max prediction is to add some layers on top of this. But this adds two new variables. Not only that, but it also starts looking at absolute Watts rather than W/kg, which you could say is third new variable. I do wonder if this is the best choice, especially since these short aerobic intervals would primarily be required on climbs. I honestly don’t know much about MAP or VO2max estimations’ relation to eFTP/CP based on short intervals. I do know that the CP I’m getting from GoldenCheetah is pretty accurate also when I ride Z2-3 and only put in one max-effort of 5-8 minutes. Something to think about I would say.

The risk with shifting from W/kg to just Watts for MAP, is that you are basically using an additional and different power-curve to fit riders. This means there is a new variable that may split riders of similar abilities (and again depends largely on weight). I think there are already good examples in this thread demonstrating where this goes wrong, but for further illustration: 360W or 5.4 W/kg simply means a 65-80-95kg rider is limited to 5,4-4,5-3,8 W/kg, respectively, before they are upgraded to ‘A’ by this metric. If I try to depict a race on say, London loop (Box Hill), then unfortunately I don’t think this will provide ‘fair’, thrilling or engaging racing. Another empiric observation from TTTs: I can draft behind a bigger rider putting out 360W perfectly fine as a B. If that same 360W-cap applies going up then this rider is limited to 3,8-4 W/kg. Now I don’t know which duration falls under this limit, but these are 20-min B-category levels. In other words: that rider cannot drop a mid-B rider and is not allowed to follow that same mid-B rider going up.

The equivalent questions can be asked for the relation between VO2max and in-game speed. It’s a pandora’s box opened and the solution may very well be worse than the problem it was intending to fix.


So the question is how to go forward. I really want your test events to succeed, so that you ultimately can offer better racing to everyone. You could wait for the initial feedback after each event on the different courses, but I worry that a strong-C will not be tempted to even start in an A-pack. It would be daunting already for me as a mid-B. So the risk is that feedback from these riders gets ‘lost’, with no race results to prove their point.

What I would strongly consider is to change to an iterative approach. For week one, just see how the ‘technical’ side works. Provide non-ZRL racers with the experience of cat-enforcement, based on ZP categories but including all Zwift ride data. So Zwift-FTP/weight(kg), without the inclusion of MAP or VO2max criteria. This will be your ‘benchmark’. Then you could run your MAP and VO2max calculations on the riders that finished these test events, with the goal to see which riders you would have upgraded with either variable, and if this makes sense with how they performed. You could do the same already for existing ZRL-data, but this will not be an ‘average Zwifters’ population. If you find which/that your new metrics make sense, then you could add one layer on top for categorization in week 2 and repeat. Then riders can give feedback on if they found their race experience was improved or not.

What I can’t stress enough: there is a risk to end up in an endless process of fiddling metrics. IMO the biggest flaw to solve is to estimate each riders’ FTP more accurately to help the initial seeding of riders. Ideally based on all rides (now ticked) and on a larger part of the power-curve (eg a strong 18min effort could also bump your FTP and thereby category). One could try to iterate in a way to “normalize” this FTP/weight for different weights and heights based on the CdA calculations, but I don’t think it’s worth it to go further than that. From there, the easiest and most fair way to upgrade riders is to implement a ranking system. Those that perform well can improve their fitness in the next category.

Full disclosure: I am a lightweight, average height, mid-B rider. The test event places me in ‘B’, which feels right for me. While racing I generally need to put out .2-.3 w/kg more than a mixed-group average to stay in the bunch. I am currently at a high sweet-spot to stay in the front-bunch of a B-peloton and at some point get dropped by a critical course feature. I would have a tough job beating some cruiser-Cs, but I definitely would not enjoy racing in the C-category, nor A-category. If I ever do well in a B-cat race, I would want it to be because I beat similar/matched riders. Not because they were put in a different category. Though I am currently at the ‘wrong’ side of the ZP categories, I don’t want ‘the other side of the spectrum’ to get the similar poor race experience. It is demoralizing to get upgraded before even being allowed to be competitive.

5 Likes

Although personally I will partake in B cat next Monday, I have to also be brutally honest and say I will also try RGT racing to see if it “feels fairer”. It might not and probably wont, but since there is no way I am a cat B, and struggle to stay with upper C’s I am guessing, and it is a guess, that the race will be carnage, albeit under different metrics. I only ever really wanted to see the initial cats enforced and feel the approach taken is way beyond what it seemed the majority had suggested. As has previously been said, any attempt to improve things has to be applauded, but the sauce certainly has a whiff. A bit like when Maggie introduced the poll tax, which was meant to be a fairer way of council taxation and anyone in the UK knows how that turned out

1 Like

I’m in exacly the same boat. 55kg climber with TOP sprint power of 6w/kg. It’s SO demoralising getting dropped out of the gate EVERY TIME! Thinking about ditching Zwift Power just so I can actually “race” rather than watch the rest of the pack very quickly disappear into the distance!

the heavier weaker guys probably gonna lower their weight in the settings. i know i would if these onrealistic benchmarks are permanent.

@xflintxFor a concrete example with some numbers: anyone with a VO2max equal or above 60 or a MAP value equal or above 360w or 5.4 W/kg will be put into the A category, etc” seems a fair assumption to me and fits my profile and zwiftpower is about to put me back into A. I was only in B as had some crap number due to recovery from back injury

The venerable Monod-Scherer test provides a usable VO2Max estimate. Zwift would have enough data to compute that curve and get in the ballpark.

1 Like

Under most simple models, MAP and FTP are proportionally related anyway. While there is value in explicitly using shorter time intervals as they are more likely an honest estimate compared to the noxious 20 minutes, pretending they are substantively different measures is rather misleading IMO. The only real distinction is whether they are represented in terms of watts or W/kg.

1 Like

They came up with the CP and W’ model, but they never used this to calculate VO2 Max. Instead they show TTE (time to exhaustion) for durations above CP which is the definition of the anaerobic capacity and W’ element. If you could calculate VO2 max from power data, intervals.icu, TrainingPeaks etc would all broadcast this as a metric. You can’t, because VO2 max is the measure of oxygen consumption, not how efficiently that oxygen is utilised. It is an input, not an output. The well known tools that do try to estimate VO2 max (like first beat) exclusively use heartrate data to do so.

I thought Zwift was getting its comms act together but if even you don’t understand it, what hope have the rest of us got?

A big part of the problem which has arisen here is there are so many definitions of “what a B is”/ “what a C is”/etc., and people identify as being a certain cat under one definition and then a system judges them as another and they don’t understand why. Here are several definitions people could currently choose:

  • My category as defined by Zwiftpower (the most widely accepted metric)
  • My FTP - as measured in Zwift - divided by my weight
  • The way Autocat categorises me
  • The way this new system categorises me

What’s my category? I’m lucky, I’m the same for all of them, but not everyone is.

There is a reason I used the words “estimate” and “ballpark”. Monod-Scherer doesn’t directly measure, but its components can get you in the ballpark for a vo2max.

AWC (W’) is probably a better metric for Zwift to use, anyway, since it’s calculation using accepted models is closer to the actual recorded data.

I played around with the limits for a typical B (according to Zwift power) rider.

The red line is the is the 5min and 20min w/kg based on what David Johnstone from cycling analytics done.

The other lines is assuming the MAP is the rider 5minuite power limited to 360w as per the description form @xflintx.

It can be seen that for a rider 85kg and higher the 5min power limit is equal or lower than the FTP of the rider. If you have seen a power curve you will know that 5min power should at least be higher than 20min power.

this is also true if I assumed the MAP was 8 min power.

Ah well there we have it , All these posts and discussions and feedback already given to zwidt both in the forums and directly in discussions , when we should have just asked you and not wasted our walking time I suppose. :rofl:

No one would get remotely excited or critical about the changes if they were done as promised and in good order . This is just too much like more procrastination and delay and flip flipping about with unnessary feature creep , Zwift could just put in the simplest of changes while they do that and simply keep everyone on board …

My work sits a little outside the remit of racing (because competition and events are seperate.

I’ve since spoken with Flint and am fully au fait with how we are categorising racers.

1 Like

That’s good. So is there scope for any adjustment prior to it all kicking off to look at the current outliers, i.e. those who were C but can now only enter A?

2 Likes

Thats Good .

Nonetheless where can we vew this inforamtion so we understand the rules etc ?
If you enter a competition it is normal to understand the entry requirements before doing so .

Contrary to some trolling responses we are not just raising issue to be negative , its just we dont understand what the new rules are and how we can feek comfortable with them. .

1 Like

Agreed. Really easy to come on here and accuse everyone of complaining, or say they’re just sandbaggers who won’t be able to ‘dominate’ (fuckin’ lol) their category any more, purely for expressing concerns about the new method of categorisation. But that’s totally disingenuous, there are a load of us who’ve been chatting on here for months (years?) about this stuff. As I said before, if ZHQ are asking for feedback then don’t complain when it comes.

I’m personally really unsure about the category I’ve been put in but that doesn’t mean I’m not looking forward to seeing how the test events turn out, nor does it mean I’d prefer they did nothing. This is the closest we’ve ever been to community engagement on racing.

3 Likes

The issue is, of course, Zwiftpower’s barriers have been ridiculous. 1,2,3 & 4. Who decided on them, and are they even correct. Why not 2.5, 3.5 and 4.5, instead of the frankly ridiculous A+
And now, everyone throws their toys outta the pram when a more advanced system is used

the issue is that it not a more advance system. There is now limits for heavy (85kg +) riders that goes against a normal power curve.

1 Like

LOLs. Obvious troll is obvious.

I know something you don’t know! :rofl: Reminds me of being back at primary school. :smiley:

1 Like