Opinion: Phenotypes and Real-Time Enforcement (Race Categories, Part 2)

In part 1 of this series, I laid out the current Zwift race categorization situation. This included a discussion of the standard FTP-based categories, the insufficiency of enforcing rules post-race, and a look at some actual participation numbers to show how Zwift and ZwiftPower’s published race results are far from ideal.

But I’m not interested in dwelling on what’s wrong with Zwift. After all, I’m a huge fan, and I want to see Zwift become even better than it is today! So I wrapped up part 1 with some ideas for improving the race experience for everyone, including the simple solution of using a rider’s saved FTP to determine their race category. If you missed that first post, read it here >

You may recall I proposed taking a phased approach to improving Zwift’s race categorization setup. This would allow for significant improvements to be made quickly, while a more complete solution is developed over the longer term (6-12 months). Here are the proposed phases:

  1. Now: simple categorization based on riders’ saved FTP (outlined in part 1)
  2. Soon: categorize riders based on their phenotype 
  3. Later: results-based categorization

This post will discuss phase 2, which I believe is something Zwift could roll out in 3-6 month’s time if they gave it a high priority.

Phase 2 Goals

The second phase’s goals are to improve the weaknesses of phase 1 without wasting much developer time coding solutions which won’t be needed in phase 3.

Phase 2 could make the following improvements on phase 1:

  • Base rider category off a more complete rider phenotype, resulting in more accurate categorization
  • Real-time detection of category violations
  • Allow riders to “race down” a category or gracefully downgrade
  • Give race organizers the option to require heart rate and disallow zPower

Let’s talk about each of these improvements in more detail.

#1: Categories Based On Rider Phenotype

Phenotypes are a way of classifying riders based on their power bests (also known as “critical power”) over different time intervals. ZwiftPower includes a phenotype chart for all riders (read more here).

My phenotype chart from ZwiftPower

Typical phenotype intervals are 15 seconds, 1 minute, 5 minutes, and 20 minutes. Zwift’s FTP calculation (which we’re using for phase 1, if you recall) uses 95% of a rider’s best 20-minute power. So this phase 2 would be adding three additional shorter power metrics to the list.

This would provide a more accurate assessment of each rider’s ability to win a race, since your ability to climb short hills (1 and 5-minute power) can really determine whether you’re even in the mix for that final sprint (15-second power). Many riders have strong 20-minute power, but lack the sprint punch needed to finish at the front of the pack.

I won’t propose what the category breakdowns would be for each of the four time intervals, as I’m sure someone more qualified than myself could come up with sensible numbers. They could even be algorithmically determined based on population percentile to keep the categories properly sized.

And I’m not proposing that riders would be in different categories for different types of races–I think that’s much too complex. Each rider would still be in just one category, but those categories would be more accurate.

Examples: currently, a B rider with a 3.9 w/kg FTP and strong sprint can consistently podium in B races. They may get upgraded to an A. On the other hand, an A rider with a 4.1 w/kg FTP but weak 1-minute power probably doesn’t stand a chance in the A category. They could be downgraded to a B.

One side-benefit of this improvement over using the rider’s saved FTP from phase 1 is that riders can’t modify their stored power bests. Zwift would simply use the rider’s historic data in order to determine their category, intelligently upgrading or downgrading them based on their power numbers.

Note: riders could always race in a higher category if they’re looking for a challenge. If a rider wanted to quickly reduce their category due to injury, etc, there would be a new mechanism in place to allow for that (see #3 below).

#2: Real-Time Detection of Violations

Once each category had established critical power numbers in place for each time interval, Zwift could compute a racer’s critical power during their race and detect category violators in near real-time.

Looking at game logs we see Zwift is already calculating critical power curves mid-ride, so this step is already done. Zwift would simply need to match up the rider’s power curve with their category’s limits, then take action if the rider is over the limits.

Of course, there are lots of options when it comes to what actions might be appropriate. Do you give the rider an immediate cone of shame and artificially slow them if they go over the limit? Do you let them go a bit over the limit without penalty, knowing they’ll get automatically placed in the proper category after having a breakout performance?

The sensible solution is to have limits in place which will stop gross violators from affecting the race, while allowing those who may be legit but having a breakout race to perform at their best before they get upgraded.

#3: Racing Down a Category, Or Downgrading

We need a mechanism in place which allows a racer returning from extended sickness or injury to race in a lower category than they had previously joined.

Lower-category racers may cry foul at this idea, but we all need to understand two things:

  1. It’s no fun entering an A (or even B) race when you’re recuperating and don’t stand a chance of hanging with a strong field.
  2. Real-time detection of violations would ensure these downgraded racers couldn’t blow away the field, so their racing won’t adversely affect other racers’ experience.

A simple “downgrade” tool may be the way to accomplish this. This would be a simple button Zwifters could click to erase their power bests, letting them start like a “new rider” and race any category they choose.

Riders would be limited to using the downgrade tool only once every 30 (60? 90?) days, and after it’s clicked the normal power curve calculations and real-time detection would begin, ensuring the rider is placed in the correct category for their abilities without being able to sandbag other race categories.

#4: Requiring Heart Rate, Disallowing zPower

We know Zwift is already planning to let race organizers set their event up so that riders without heart rate and those using zPower are removed from the results. But hopefully in phase 2 that option could be used on the front end to prevent those racers from even entering the event.

In fact, Zwift wouldn’t actually have to block these riders from joining the race. Instead, Zwift could make it so these riders see everyone in the race, but the other racers don’t see them, and they’re hidden in the results. This would allow non-heart rate and zPower riders to enjoy the race experience, without allowing them to affect the race.

Keep Everyone Racing

Zwift has historically been hesitant to implement any system that prevents a rider from racing. And I don’t blame them! They want more people riding more often–and that’s what we all want.

Implementing phase 2 would require careful thought so Zwift racing remains inclusive. I would focus on a few key goals:

  1. Simplicity: Make selecting the proper race category very easy (or even automatic).
  2. Friendly Exclusion: Sandbaggers should be prevented from affecting the race, but in a friendly way that encourages them to race in the proper category. Always assume ignorance, not malevolence.
  3. Fierce Competition: Category limits should be narrow enough that everyone feels they can compete. They should also be wide enough that field sizes stay large, allowing the pack to break up without stranding a lot of riders.

Hitting the Ground Running

Once phase 2 is in place, Zwift will have powerful tools which can be used to keep races fair even as the ranking system evolves. Because even with a results-based system (phase 3), gross violators need to be stopped before they can adversely affect a race.

Once phase 2 is in place, race categories should be working well enough that transitioning to phase 3’s results-based categorization requires no initial “seeding” races at all. Riders can be placed into proper categories at the beginning, then the new results-based system can begin to shuffle them around after each event. More on this in my next post!

Your Thoughts

Does my proposed “phase 2” seem like a sensible next step? What would you change, if anything? Share your thoughts below.

< Read Part 1 of this Race Category Enforcement Series
Read Part 3 of this Race Category Enforcement Series >

Eric Schlange
Eric Schlangehttps://zwiftinsider.com
Eric runs Zwift Insider in the spare time he finds between riding his bike and managing various business interests. He lives in Northern California with his beautiful wife Monica. Follow on Strava

83 COMMENTS

Subscribe
Notify of
guest

83 Comments
Oldest
Newest Most Voted
Kevin Worley
Kevin Worley
6 years ago

Thanks for the very thoughtful discussion here Eric. As a new Zwift rider, I don’t know what has gone before in terms of making the race categories as equitable as possible, but why not throw out all the factors that make gaming the game possible and base categories simply on results…..like real life. Once a rider accumulated a certain number of placing points based on finish position and number of riders in a given race, the upgrade to a higher category would be automatic. Has that been tried?

Wladek
Wladek
6 years ago

I don’t understand one thing here and on the previous discussion:

On one hand people want to race and be ranked high – no matter how good they actually are.

On the other hand we still have the problem that: power meters can be +/- 1%. And this is only about high end products and in a very carefully picked testing conditions. Myself I have Tacx Neo and Quarq DZero, and they can be off by ~10-15W @ ~340W – which means 4% discrepancy. How one can take racing seriously when some guys can have 5-10% percent penalty or bonus solely based on how their power is measured?

Who cares if I place 1st, 5th or 50th, if one cannot take racing seriously?

What is worse, if e-racing becomes popular then I bet some manufactures will intentionally over-estimate the power and claim our trainer feels better, so you perform better 😉

Derek Redel
Derek Redel
6 years ago
Reply to  Wladek

Fair points. But we can’t try to eat the whole elephant in 1 bite. Get some big wins first, then start grinding away at the other stuff. Thus the phased approach.

Wladek
Wladek
6 years ago
Reply to  Eric Schlange

Why would you want to win something that you can’t even treat seriously?

The only meaningful thing is to hunt personal goals during those races: I want to do 1h@300W or 20min@370W, etc. This makes sense. The actual place is just a number that you can’t give any value to, at least not at the moment.

Not wanting to race with all the best people doesn’t makes sense, even if you are a D. IMHO the division by power doesn’t make sense, you should divide by race difficulty, like the distance or vertical ascent like in real life.

Why people don’t have problem IRL to finish races like Maratona dles Dolomites 1-4h behind the leader, and suddenly in ZWIFT they want to think they won the race, even if they know there are much better people competing?

Matthew Davidge
Matthew Davidge
6 years ago
Reply to  Wladek

This would be true if it weren’t for drafting and tactics, I’ve beaten and been beaten by people with lower w/kg for the race duration, this is the whole point of racing versus standard workouts, I also find the competitive nature helps me dig deeper

Chris Pippy
Chris Pippy
6 years ago
Reply to  Wladek

I have the same issue and as a TT specialist that’s the difference between a PR and blowing up over 40km.

Brandon Benham
Brandon Benham(@saynday72)
6 years ago
Reply to  Wladek

This is exactly the root of the problem, and thus what actually needs to be fixed. If this isn’t fixed, racing will always be fundamentally broken. I hate getting trounced by a racer and then looking at their Strava and seeing that outside they never ever put up numbers anywhere close to zwift. So, obviously, they, wittingly or otherwise, miscalibrated their trainer/meter.

If I were a developer at, say zwiftpower, I’d pull the power curve for outside activities and “correct” the zwift numbers accordingly based on those distributions. If there aren’t enough outside activities (this can be determined using basic first year college statistics), the racer will be invisible to the other racers as if they had been DQ’d or downgraded.

Simon Burns
Simon Burns
6 years ago
Reply to  Brandon Benham

Brandon, unfortunately you’re assuming that everyone has a power meter on their bike! Strava’s calculated power info is so wrong as to be useless. Wind conditions, groups drafting and rolling resistance of the local roads makes such huge differences to power that the Strava data is useless.

Andrew Cushen
Trusted Member
Andrew Cushen(@andrewcushen)
6 years ago
Reply to  Brandon Benham

[EDIT: this is a Reply @Brandon Benham. Wish these replies would nest]

Here’s the thing, though, you need to look at what power meter they are using “outside” vs. inside before deciding they have miscalibrated anything. DC Rainmaker et al have shown that the trainers’ power meters can and do have very different results than pedal-based (etc.) meters. I don’t think you can use that as a basis for “adjusting” anything unless toy take into account which meters are used where, etc. and there is always going to be some small variation. I’m sure there are people out there purposely cheating, but let’s not automatically lump in everyone with different “inside vs outside” numbers with those cheaters without more analysis. And I have to ask, who’s gonna pay for that analysis? ZwiftPower is a free site, right? As Eric pointed out, why not go for the lower-hanging fruit first and fix the big obvious easy stuff first? Then we could potentailly look at things like this to see if they are still needed and are do-able.

Gru
Gru
6 years ago
Reply to  Wladek

A poorly calibrated trainer, or one purposefully mis-calibrated, or weight or height doping, or any other way a rider may concoct to alter the inputs to Zwift… is cheating. But there’s not a thing that can be done about it (unless you’re riding in some official event where all of these things are officially checked).

You want to deflate your tire to give yourself an extra 20 watts? Fine. That may bump you to the top of the C category. Or maybe it pushes you into B. Whatever. Doesn’t matter. You’re now racing against riders who can put out the additional 20 watts without deflating their tires. But you’re still racing against equivalent riders.

Of course I’d prefer that there was no cheating. But as far as the Zwift racing experience goes, it’s irrelevant.

Wladek
Wladek
6 years ago
Reply to  Gru

It is not that simple your 20 additional watts on 20 min average, can be 50 or more watts on a 1 min winning move. Usually in the extremes the Power accuracy goes south way more, than on average.

In the beginning of indoor boom industry couldn’t afford to require specially equipted trainers with a standarized Power measurment – this would kill the business. But in the coming years it needs to be done, if e-racing wants to become something serious.

Andrew Cushen
Trusted Member
Andrew Cushen(@andrewcushen)
6 years ago
Reply to  Gru

Gru, the thing is that in your example, everyone else could deflate their tires too, if it really gained 20 watts and was within the rules. IRL races riders try to do things like this to gain advantages all the time and as long as everyone has that option and it’s within the rules, it’s not a problem. But to throw up your hands and say “there’s no way to stop all possible cheating on Zwift so why bother?” strikes me as defeatist. Instead I would say “there’s no way to stop all cheating, but it’s possible to stop some of the worst of it relatively easily, so why not do what we can do quickly and easily to improve everyone’s experience?” You may find it irrelevant, but clearly, based on all the replies to this series of posts, quite a few riders do find it relevant. If that wasn’t the case, ZwiftPower wouldn’t exist, right? It’s clearly filling a need for many people.

Gru
Gru
6 years ago
Reply to  Andrew Cushen

@Andrew Zwiftpower attempts to enforce the stated limits on race categories. But it does nothing to monitor cheating of the “deflate your tire” sort. Beyond noting any sudden changes in height, weight, or power output, it knows nothing about the reality of those parameters, or even if the rider is a pure simulation.

Could more be done to stop cheating? Possibly. Calibrated bluetooth scales, trainers calibrated on a schedule with calibration files locked and uploaded to Zwift (or Zwiftpower) for verification,… I’m not even sure how we’d check rider heights…. But realistically, the expense and trouble of going through that is not going to happen for 99.99% of Zwifters. If you have ideas to reduce cheating, I’d love to hear them (and I’m sure others would too), but it’s a separate topic from enforcing categories.

Defeatist? Possibly, but I see it as Realistic. The effort and expense to stop cheating just isn’t going to happen. I can’t control other people, so I’m not going to spend any energy on it. If you are altering your power output, you’re only cheating yourself. I hope that riders who do this are in the minority, and again, it really doesn’t affect the race experience. If you want to cheat to move into the next higher category, be my guest. I just want to race with a group where I can compete, not against riders who can sustain twice my w/kg.

Mark McNees
6 years ago

Eric, thanks for taking the time to think through and post two thoughtful articles on racing and race results. To give context for my response I am USAC coach and currently, a C racer (67 races) who usually podiums with a race average of 2.8 to 2.9, regularly beating guys with 3.0+ averages.

Why does this matter?

It matters to this conversation because bike racing is not all about w/kg a lot of it comes down to picking a race that suits your strengths, how much are you willing to suffer through your weaknesses, and leaning into your strengths at the right time. I’m a bigger guy (93kg) and know if I want to be competitive, I need to stick to the “flat” races, suffer on the hills, and sprint at the optimum time for my power curve. This is true on Zwift and IRL.

It’s not an ITT!

Ignorance is the biggest problem with Zwift racing. We saw this with the whole #doubledraft debate and we are seeing it again. In bike racing, the strongest person does not always win (i.e., 4.1 does not always beat 3.9), if you want that, do an individual time trial. There are a lot of factors. Think about the Tour de France. The 2019 winner Egan Bernal did not win every stage (In fact, it is possible to win the TDF without winning a single stage. It has been done twice), no he leaned into his strengths, trusted his team, and followed his coach’s race plan.

A simple solution: Just use the race ranking.

Race rankings are the best way to determine the quality of a race and understand where you should race. Every serious racer I know uses race rankings as the measuring stick. Here are my current stats:

Race Ranking 437.27 pts in 4,783rd
Category 63rd
Age Group 544th
Weight Group 137th
Team 137th

From this everyone can see that I’m a competitive C and perhaps I could be a lousy B.

Here is the simple solution: If I’m in the 400s only give me the option to race C or above. Or better yet, get rid of the whole A, B, C, D categories and replace it with <100, <200, <300, <400, <500, and <600 and stick me in the correct category. This would narrow the categories enough to keep the races competitive and large enough to have competitive fields. Perhaps the best thing about using this system is it has already been created, it's based on actual results, it's transparent, and it's fair.

I do like the idea of making downgraded riders invisible, that makes a lot of sense.

Jordan Lambert
Jordan Lambert
6 years ago

Great post! The direction you are headed makes a lot of sense to me.

Darin Boyd
Darin Boyd
6 years ago

I’ve suspected since our chat about Crit City we were pretty evenly matched, your post made me take a look, yep!! Seems I can’t post a screeny here, but I’m;
937
557
349
307

Darin Boyd
Darin Boyd
6 years ago
Reply to  Eric Schlange

Phenotype chart, right side off ZwiftPower,

Paul Curtis
Paul Curtis
6 years ago

A different option for the rider phenotype would be to allow the race organizer to specify max values for any of the intervals based on watts or watts/kg. This would allow the riders to self select races that they would be competitive in. For example a hill climb would put a max on w/kg whereas a flat TT might put a limit on total watts.

Sammy Knockaert
Sammy Knockaert
6 years ago

I still think the total racing experience would be best if all races have the same outcome as the Fondo’s: mass start with all cats. Perhaps Zwift can show on the HUD the current avg power for the event, or even the 20mins best avg power?
When the race is finished, results are calculated and divided into cat classes based on your performance. These can be the same classes as zpower, and hence again being done after the race is finished. Just get rid of the manual entry into different race cat based on ftp or age. Just all race together, and there will be groups inside the race who have similar strengths and ftp. No need to complain about wrong cat, or sandbagging … just give your best, and see your results at the end, just like irl.
Question: why should a cat A rider not be allowed to join a cat C race, if during the event he’s riding at cat C watts?
The whole system is too strict, and should be based on the results after the race, and not deciding up front which cat you belong.

Simon Burns
Simon Burns
6 years ago

Nope sorry Sammy, the heavier high wattage riders get pulled by the top A cat riders straight out the start pen and disappear up the road. Categorised racing makes the starts much fairer as the mid to light weight riders can sit on the wheels of the big watt riders when the gun goes so everything is way more tactical.

Ole-Kristian Hagen
Ole-Kristian Hagen
6 years ago
Reply to  Simon Burns

So you are saying that it is _unfair_ that the heavier riders get pulled by the stronger riders, but it is _fair_ that the mid- to lightweight riders get pulled by the stronger riders?

Andrew Cushen
Trusted Member
Andrew Cushen(@andrewcushen)
6 years ago

“why should a cat A rider not be allowed to join a cat C race, if during the event he’s riding at cat C watts? […] should be based on the results after the race, and not deciding up front which cat you belong” The question is, *why* is that rider riding at C watts? If he’s injured or coming off illness or other lack of training then he can retake an FTP test. If he just wants to take it easy, why is he *racing* at all, IMO? Just join a group ride. In fact I’m not sure why anyone who is coming back from an injury or layoff wants to race *for results* anyway, since those results don’t represent that rider’s true ability, I have no issue with someone racing below category if they are not visible to other riders and they don’t show in the results. The problem we are already seeing with fixing it after the race is that it ruins the race *during the actual race* for everyone who’s not sandbagging, as they get demoralized by watching a large portion of the group blast away from them at super-category wattages, or burn up trying to hang with riders who are too strong for the Cat.

Fred
Fred
6 years ago

I disagree. This just defines an open group ride with no fence, not a race.

Wouter
Wouter
6 years ago

Mass start shouldn’t have a categorised classification. I think that’s just common sense. Mass starts should have 1 general race outcome, in which you are able to get classification points vis-a-vis all other competitors, regardless of their FTP based ranking (Zwiftpower – take note).

Categorised classifications shouldn’t have mass starts, for obvious reasons. It totally messes up race dynamics, and takes away any aspect of strategy for any category other than the A cat. I think the argument of too thinly populated categories has turned irrelevant by now. It’s a pity that the race schedule keeps getting filled with mass-start categorised races. But I see a trend change for most race organizers.

CJ Gagnon
CJ Gagnon
6 years ago

I think your approach is pretty good. The only thing I would add is the ability to see what a rider has done. For example, if I get beaten by a rider with extraordinary effort, I would like to see ‘UPGRADED’ or something in the results. Just like the Cat 3 level rider that just started racing you will know that they wont spend long in Cat 5 and 4. You choose to downgrade and put in the upgraded effort, ‘DISQUALIFIED’ should pop up on the results set. Or maybe like any game that I’ve played you don’t choose anything it all.. You log on and it is what it is. In a 1000 person race you are racing with the people with the same power profile, and around the same level, and you only see them in your results and HUD. 20 people? well its going to be broader range of racers, but you only see those racers in your HUD. Take any sort of choice or realization out of it. Then you don’t know who you are up against until you are on the start line. There are so many answers to what can be done, but the answer is definitely not to keep things the way they are. Whatever change is made the community will adjust and complain accordingly until the system is effective. It will never be perfect, but it will be better than it is today.

J. Willingham
J. Willingham
6 years ago

“It’s no fun entering an A (or even B) race when you’re recuperating and don’t stand a chance of hanging with a strong field.”

BOO HOO…These are the riders LEAST likely to get discouraged from getting dropped in a race, especially if they know they are coming back from injury/sickness. I think more consideration (and empathy) needs to be made towards the lower categories. This approach would roll down to the D races where first impressions are everything. If your first D-race was blown-up by higher category riders would you think that was how Zwift racing would always be? Probably. Would you give it another try? Unlikely.

You shouldn’t be allowed to downgrade if you have the capability of a higher category – MOST ESPECIALLY at the A/B ranks. You should have enough experience and reasonable enough expectations to know you probably won’t win.

Downgrading just so you have a chance to win is pathetic. Race where you’re supposed to and understand just because you can’t win should not be a excuse to drop down. It’s just creating a backdoor to continue what’s happening right now.

It shouldn’t be all about winning the race. It should be about fixing this situation: looking at the results, seeing that you were in the right category and the top 20 (mostly in C and D races) were not.

If anything, maybe more granularity in the categories would be a better approach than phenotypes and could implemented in your suggested Phase 1.

mike
mike
6 years ago
Reply to  J. Willingham

” If your first D-race was blown-up by higher category riders would you think that was how Zwift racing would always be? Probably. Would you give it another try? Unlikely.”

This right here is exactly how I feel about Zwift racing. I’ve been with Zwift for 3 years now, and I’ve enjoyed the group rides, the week/month long challenges, beating my own personal bests etc..but the one thing I have not enjoyed is racing. It is disheartning to start a race, and see dozens if not hundreds of riders fly off the front hitting numbers that are clearly of an Elite-Zwift level in the D category.

This has generally been my experience with a Zwift Race as i am firmly in the D category:
Race starts
Dig in deep for the first few minutes
Watch the entire field blast away at FTP or w/kg way above what anyone in that category should be capable of for more than a minute or two while typing messages without issue
Find the 15 riders who are actually racing at the expected potential that category advertised.
Over the course of the next 10 minutes, watch each rider quit because we nuked ourselves to just hang on to the back of the field in a D race and our already 4 minutes behind 5 minutes into the race.
Message the poor soul still riding with you, compliment them on there effort and wish them well. Quit.

The best comparison I can give is this. At your average local 5k race, there will be 1, maybe 2 runners who are clearly on another level as there likely competing at a high level in high school/colllege/post-college elite level. There gonna be gone in an instant, and there effect on your enjoyment of the 5k is non-existent. You’ll finish the race and ask someone what the winning time was and go “wow” and look forward to racing it again.

In a Zwift D category race, it many times feels like 75% of the field* is that elite college runner, and for some reason they chose to enter your local towns yearly 5k that generally has less than 100 people compete. You’ll finish the race and say “geeze, maybe this is not the right race for me anymore…I’ll have to consider going somewhere else as these racers are to hardcore for this event”

Kieran
Kieran
6 years ago
Reply to  Eric Schlange

I rather like the idea of making them invisible to the race while racing down a category, just as you suggested for zPower and HRM-less riders. That way recuperators can still enjoy the race experience, but if they’ve misjudged their need to drop down, then they don’t blow the race apart.

You could (coding challenges notwithstanding) also combine this with the real time violations idea – once you violate 1/5/20 minute power limits in a race, you go invisible to the rest of the field. You can keep on racing, but you don’t affect the results or race strategy.

It’d be even cooler if instead of just vanishing you exploded in a cloud of dust or something, but that might be asking a bit much…

Manuel
Manuel
6 years ago

Is Phase 2 a sensible solution? I don’t think so. As a coder, I guarantee you that the final result can only be much worst. Never try to solve two problems at the same time: improving categories and find a solution for peoples in the wrong category. I would be ok with Zwift deciding in which category I am based on my previous sole FTP results, but changing and adding more metrics will generate a complete hodgepodge of complains, and I am not talking about live violation detections that can only generate errors and frustrations (with no real advantage for the user that pass the violation test) : too stringent = many errors, too loose = useless.

I don’t have access to numbers, may be you have, but as far as I remember, from January to March last year, there was rarely less than 10,000 zwifters online when I was riding. In the last two months, the average was barely more than 3500. May be there is a big Christmas and new year effect here, we’ll see in the next few days. But my point is: where did those peoples with a trainer go, anyway? According to strava, more and more cyclists post virtual rides online, but do zwift really succeed to attract and keep more newbie cyclists? I have serious doubts about it and I don’t think competitive cyclist-centrist solutions are what is coming.

From an investor point of view, I would say the priority must be to continue develop it as a game to attract more people. And then, in the second place, makes it enjoyable and challenging for the cyclists too. This is why I previously suggested a point system with levels, mimicking a UCI career, including race, sprint, kom and TT points, and velodrome track competitions (in the long term) to replace existing category system. I am eager to see what will be your ideas on phase 3. Enforcing rules on a phenotype based system is a dead-end. This must be reserved for elite or official competitions (like national championships, etc). A career-like point system solves the problem of users being in the wrong category by eluding it and gives the possibility to attract more people (if they can see it as a game instead of a competitive environment) and make them stay while they can improve their health in a game for everyone. Finding incentives to be honest, about weight and height (other ways of cheating are different problems that can be solved by developing AI solutions) is a different problem that will remain whatever the solution.

So, no, as an investor, I wouldn’t put any money on an intermediate phase 2 that would be an unnecessary risk to loose my clients base. Status quo until a big change. What about, a simple warning message from Zwift that tells you something like:
“Based on your previous results, you are trying to enter a category that does not fit your profile. You should better race in the X category. Keep the game fair and fun for everyone! Ride On!”

Waleskun
Waleskun
6 years ago
Reply to  Eric Schlange

The phenotype idea doesn’t make much sense to me. Surely it would lead to races all planning out roughly the same. So if I race on a course up the Main Watopia Mountain Kom my strategy is essentially to hang on if I can for as long as I can. If I do that I know the rest of the race downhill and flat so suits my higher weight and higher power. Often I’ll catch and blow past multiple riders who didn’t think they would see anyone dropped again. If you segregate different phenotypes any hard climb will just become a w/kg competition but give no chance for any shake up later.

Waleskun
Waleskun
6 years ago
Reply to  Eric Schlange

How many phenotypes we talking? A rider who in a flat race dips below 4wkg but in a hilly race is above it is an A rider. This actually quite accurately describes myself If I were to sit in on a flat race. Personally I like to points/upgrade suggestion the best. I also think segregated starts between categories works best. How often does a lower cat manage to hold on at the start and then win by being towed away from the rest.

Mike McCarthy
6 years ago

Eric, thanks for this article. I am new to Zwift (Joined in November) and have never participated in a race. It looks like fun, but if there are sandbaggers in the races, I would be more frustrated and move back to just riding. I like everything you have written in phase one and two. I don’t understand a lot of what you have said regarding the Zwiftpower.com not the phenotype, but I really enjoy the app so I will be doing some research to find out more. However, if Zwift does not fix this, from what I have read, I would not race.

Chris Pippy
Chris Pippy
6 years ago

The issue with Phenotype in ZwiftPower is that in most races you aren’t going to hit those specific power bests. (Unless you enter the race with the sole goal of testing your best 1min power or 5 min power for example). What would be better is to have your critical power curve in Zwift based off of specific Zwift power tests. The cats can then be derived from weight and power. I still think you should just base it off of FTP and Watts/kg and not overthink the cats. (I’m a Cat ‘A’ based on my Zwift power test and outdoor real life race performances. On ZwiftPower I’m rated as a B as the dynamic of the A or E races didn’t require it at the time) The other big issue is the variability between smart trainers and power meters. (Can often be 5-10%)

Ole-Kristian Hagen
Ole-Kristian Hagen
6 years ago
Reply to  Chris Pippy

By getting and using the power data from Zwift races, you will be able to create a profile that reflects how the rider performs in Zwift races and that is what is important here. How the rider performs outdoor or in specific power tests is not relevant here.

Chris Pippy
Chris Pippy
6 years ago

If you want to try and eliminate sandbaggers I think it is important. (CP curve based on Zwift tests)

Ole-Kristian Hagen
Ole-Kristian Hagen
6 years ago
Reply to  Chris Pippy

Don’t you think sandbaggers will also try to fix the Zwifts tests?

Chris Pippy
Chris Pippy
6 years ago

I would think most people doing test want to hit their best possible numbers, otherwise why bother? (Though I don’t understand why anyone would cheat (virtually or in real life).

Aoi Niigaki
Aoi Niigaki
6 years ago

Two race types. Open and Cat based.

Open would be like official Zwift events, E cat races where there are no categories. This is like many races on Zwift now where all the cats start together at the same time and you have the different cats intermingling. The advantage of removing cats is no more sandbaggers and injured riders or riders who just want to take it easy can still race.

Cat based could have DQs and hard rules and limits. Cats would race separately so there wouldn’t be any interference from other cats.

Jesper Moltke
Jesper Moltke
6 years ago

It would be nice if the groups was split up so the best rider in B wassent the one who could sit on the wheel of A.
I dont see any harm in that a specific route fits a specific phenotype, thats how it is in the real World aswell.
In the real World, there we split categories based on points from results. No system is perfect though.
If the raceing is to be taken serious weight doping and magic watts need to be adressed more than categories. Untill then raceing will only be high intens training workout.

Mark McNees
Mark McNees(@markmcnees)
6 years ago
Reply to  Jesper Moltke

Once I gave up on wanting Zacing to be like IRL racing I started to enjoy it a lot more. Zacing to me is more like a draft legal TT, I think it is because most Zacers have never raced IRL and the draft algorithm.

Michal Wozniak
Super Member
Michal Wozniak(@michwoz)
6 years ago

Phenotype based categories are the way to go in my opinion. Of course one rider should have DIFFERENT categories assigned for different types of the courses (flat, short hills, long hills, mountains).

Andrew Cushen
Trusted Member
Andrew Cushen(@andrewcushen)
6 years ago
Reply to  Michal Wozniak

So Zwift racing should be different from real-life racing? Are you saying someone who is light and climbs well should have his “flat cat” adjusted so he can compete with big sprinters on the flats [who he could never match IRL], or am I reading this wrong?

Michal Wozniak
Super Member
Michal Wozniak(@michwoz)
6 years ago
Reply to  Andrew Cushen

Real life racing is much different than Zwift racing. First of all you don’t have access to full power profile of all the riders IRL so performance is the only determinant of the categorization. IRL light riders, who race on flats and suck at it (despite high FTP/kg) are actually riding in lower categories and they’re not forced to race in A (which is the case now in Zwift).

Ole-Kristian Hagen
Ole-Kristian Hagen
6 years ago

This is a very thorough and thoughtful article, Eric. The challenge here is to find good limit values that make you feel at home in the category you are assigned.
I think it is important to free ourselves from the categories we have outdoors and also the categories we have in Zwift now. It is not a given that they are the best for a fair and fierce competition. Moving up or down between categories should be organic and undramatic. There should also be a degree of inertia for moving to a new category. For example, many still have to calibrate the trainer before each ride. Failure to do so may result in false results that may affect the category.

Simon Burns
Simon Burns
6 years ago

I don’t know why a race organiser would want to insist on heart rate monitors if they aren’t part of the system for detecting category violations and e-doping. It would be easy enough to have a watts/HR graph for each rider and the added benefit would be it could also detect when riders lost fitness, were ill or had a injury related drop in power. This would be great info not just for racing but to track your individual fitness and warn a rider when illness suggests having a lay off.

William
William
6 years ago

I think one of the easiest fixes in the short term would be to have race leaders similar to ride leaders. The race leader wouldn’t necessarily be on the front or even in the peloton but tasked solely with cutting riders that don’t belong. Jumping in a B race with a guy doing 5.7 W/kg laps of the peloton and the like. Great thoughts for future work but this would be the simplest, cheapest, yet still effective solution. Keep up the great work!

Andrew Cushen
Trusted Member
Andrew Cushen(@andrewcushen)
6 years ago
Reply to  William

This sounds nice in theory but I don’t think it’s gonna be workable. 1) Who’s gonna volunteer to ride in a race where either their results won’t be included, or they will likely lose because they’re policing other riders instead of concentrating on racing? Not to mention they will receive endless grief from angry flagged riders. 2) This is gonna be highly subjective and argued over endlessly unless you set specific numbers….and then what’s the advantage of just making this automatic, when IMO it would take as long to set this up as just automating which Cat you can race in from the start of the race?

Simon Burns
Simon Burns
6 years ago

Phenotype categorisation is basically a weight handicap system. It would allow lightweight B riders to race competitively on the flat in cat C and heavy riders to race on hills. This is no bad thing as an option for some races but I don’t think it should remove IRL style cat racing where if you want to win up a mountain you have to be the best climber. Just have ‘Real’ or ‘Handicapped’ as race organiser settings.

Frank
Frank
6 years ago

Just use an ELO score like countless of other competions do. Probably most known is chess. But also used in video games like iRacing and Leugue Of Legends.

There is really no need to re-invent the wheel… Just search how ELO works and implement it.

Tom
Tom
6 years ago

Why giving race organizers not the option to choose between watts/kg and absolute watts. I’m 63 kg and having a 4,3 FTP. Which sounds nice, but on a flat course it is quite hard to race in the A category.

Diana Wilson
Diana Wilson
6 years ago

I love that you’ve examined this question so thoughtfully. And I heartily agree with most of your suggestions. One area that I think could use even further refinement is the inter-relationship between the categories for women-only and open races. I think the phenotype classification would be especially helpful in this area. For example, the threshold between B and A cat for women-only races is 3.7 watts/kg, so with my FTP of 232 watts at 62 kg I’m a high B racer in women-only races. But in mixed races with the threshold between B and A set at 4.0 watts/kg, I struggle hard just to stay in contact with the main B pack, especially on the surges on the hills. (If I were significantly lighter with the same watt/kg I could still race C cat in mixed races, because there is also a requirement for a minimum FTP of 200 watts.) But where I really lose out in mixed races is in the sprint, because the bigger riders can generally put out much higher 15 second power. (For that matter, many strong women riders can too – but that’s another matter. I’m trained for long distance tri, not short efforts.) But if there were some sort of phenotype classification threshold as well, it might make it more fun for more women to enter mixed races.

Joseph Byrne
Joseph Byrne
6 years ago

Back when I used to play golf, we had a handicap system that worked a bit like option 1. It could drift up and down based on your form over time. There was also a bit of pride in achieving a lower handicap, which added some incentive not to drop back to an easier level.

M4rk0
M4rk0
6 years ago

Thanks, Eric for both blog posts on the topic. Lots of great discussion but it’s all for naught if Zwift doesn’t actually do something. Any insight into what, if anything, they may incorporate?

Wouter
Wouter
6 years ago

Aaah, thanks for touching on this subject! This should be dealt with asap.

The end goal (and I hope this will be achieved sooner rather than later) should be result based categorisation. It’s the only way to eliminate sandbagging. I still don’t see how it can be so difficult to implement, even simply in zwiftpower. Setting (variable) point thresholds which define the category of a rider based on his classification shouldn’t be too challenging? These threshold could be based on predefined fixed percentiles – to accommodate for the fact that the distribution of classification points will change depending on the time of the year. Zwiftpower should engage a bit more transparently with its user base about such a system, and the implementation challenges. I think the power of the crowd could result in a system far superior than the dread FTP classification.

Not too sure about phenotype based categorisation, to be honest. With four dimensions, it sounds overly complicated to implement (much more complicated than point-based category promotion?) There are phenotype specific courses already. Shouldn’t that be sufficient?

As for the downgrading: I believe ZP already allows this. Automatically, since categorisation is determined based on power output of the last 3 months. But should that be too long, there’s always the option to request it on the forum, I believe.

David Cooper
David Cooper
6 years ago

Apologies if this isn’t the right place for this, but there seems to be a good squad of knowledgable Zwift racers here so just wanted to get some thoughts. Having been on Zwift for the last couple of years and never really tried racing before I was thinking of giving it a go, but am now slightly wary as the FTP improvements I have made this winter (from 265-317) have bumped me up to the cusp of category B as I am a heavier rider (currently around 100kg, therefore between 3.1 and 3.2 w/kg).

As a newbie to any form of racing and utterly lacking in racecraft knowledge (beyond what I think I might have learned watching the grand tours on TV) diving straight in to a cat B race seems like a jump into shark-infested waters, hence my reluctance.

Any tips?

David Cooper
David Cooper
6 years ago
Reply to  Eric Schlange

Thanks Eric.

KG S
KG S
6 years ago

Great and thoughtful posts on this subject. My only objection is to #4 the idea of excluding those without HRM’s by preventing them from signing up or making them invisible. I’m an upper C rider that loves the competition and workout but don’t personally care about having an HRM (I can’t be alone in this can I?). I might stop racing if this rule were put in place.

Tony Franco
Tony Franco
6 years ago

I love it but would like Zwift to integrate with Garmin heart rate monitors. My wife got me a great Garmin 935 for Christmas partly because if the HR monitor. I have t had the heart to tell her Zwift isn’t integrated with Garmin.

So for the sake of my wife and my 25 year marriage, please Zwift, figure out how to integrate with Garmin HR monitors.

Rory Lade
Trusted Member
Rory Lade(@rlade1)
6 years ago

I like the idea of using stored power numbers but in my case I had a trainer that malfunctioned. I was pushing about 150 watts and it said I was doing 1500. Now all that data is stored. Which ticks me off because I can’t get many personal bests now. And I’m not able to erase it. Flat tires have thrown my numbers off as well. Zwift needs to let people reset those power numbers.

Rory Lade
Trusted Member
Rory Lade(@rlade1)
6 years ago
Reply to  Eric Schlange

Thanks man. It’s been a year since I had those stupid numbers record. Will be nice to see real numbers.

Curtis Rowe
Curtis Rowe
6 years ago

Thanks Eric, excellent analysis of the situation and accurate solutions.
I raced in the C division but since there was so many good riders A and B in the group I was able to draft off the stronger riders and post a much higher result pushing me up to a tougher B category.

This has dropped my enthusiasm to race. Lol 😆. But I really enjoy the competition. It would be fantastic if the Sandbaggers were dropped before the race started and placed in their proper division before the beginning of the event. Most endurance cyclist have the ability to stay with stronger riders at times. But definitely we couldn’t compete at the final sprint.

It doesn’t seem like it would be that Difficult to setup a Pre-racing form during registration for Zwift for those who enjoy that competition.

I’m not a programmer but that would seem logical. Keep up the good work.
Thanks for the communication. 🚴‍♂️✌🏻

MICHAEL MCCANN
MICHAEL MCCANN
6 years ago

Just new to this zwift racing and categories but it would be great to have something like the Phenotype grading/enforcement. Have just completed my forth race (C) and found myself being disqualied as i was upgraded to B, average w/kg rose to 3.26 on completion of the race. I don’t mind being upgraded, even though just marginally over the threshold but surely the result in this race should stand as i entered the correct CAT at the start of the race? Also i note others whom finished ahead of me are also over the threshold yet their result stands? I may be wrong but it looks like ZP calculates this from a races average…so here i am a new racer being bumped to B after just 4 races, others with 100 or more races can afford to push over their w/kg threshold as it won’t make that big a difference overall to their w/kg…..Phenotypes surely is a better way to go as they will reflect everyones capabilities when riding to their full potential. I have to say i am now a little downhearted, whilst in C i was always pushing to be in the top 10….hopefully, then as soon as i look like I’m getting there I’m upgraded into B and will be pushing to stay out of last 10 most likely whilst still being beat in races by Cat C riders…..

Craig Fleming
Craig Fleming
6 years ago
Reply to  MICHAEL MCCANN

Michael – like you, I’m new to Zwift racing too. I was marginally over Cat D in my first race so go DQ. Then raced three in a row at Cat C and was mid to lower end of the classification (which is fine) but now if I am confused as my ZP profile has conflicting information. My Minimum Category is stated as C, my proposed new Cat is D, 1 and 5 min both D, but 20 min is C. As I say, I a total novice, so sorry if I’m missing the point or something obvious, but keen to understand this whole thing a bit better.

Blake M
Blake M
6 years ago

I agree with what you are proposing – I just did my first actual race (in Bologna) and noticed how many C entries were A and B performances and is very bothersome. My brother (in a different state) just did one, I looked at the board after the race and as he took 37th, only 5 above him were in the C range like he is/was and the rest ranged from high 4s to high 5 w/Kg and one at a ridiculous 9.9 average and yet only 330 ave watts (so he is 50 lbs?). I would like to see Zwift enforce the end of a race and only allow entry into the proper category and if the next race is down a level, great, back to that level etc. There will always be imperfections and I LOVE the app and worlds – but for racing, the tweaking of weight and trainer settings need to be monitored or a board of shame in the race LOL. Thanks for your page and your work.

Dan Connelly
6 years ago

I proposed a detailed algorithm here.
Basically the power profile picks four arbitrary times. Why limit yourself? Computers are good at handling numbers. Use maximum power for every time — every second of the maximal power profile. This way if you hammer the Bologna time trial in 18 minutes, but your 20 minute power and 5 minute powers remains tepid, that killer 18 minute power will be considered. The key is to just clean up the data a bit first using some reasonable assumptions, then averaging the points on the curve in a way which doesn’t give undo influence to either very short or very long efforts.

Dan Connelly
6 years ago
Reply to  Dan Connelly
James Boorer
James Boorer(@drjamesboorer)
5 years ago

Great article Eric! Good suggestions and should be simple to code… yet still not implemented and nothing similar /better done either? What are Zwift up to?

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