Rider categorization by race success

I posted a few hours earlier my view about anti-sandbagging (in the race category section). Why it is unfair for lightweight and young riders. And that it is screwing races for them.

This is my feature suggestion to create fair races. In fact, it is not original at all. It is just a replication of masters and seniors riders categorization. Why not hold a history of race results for all riders and use it to correct riders categorization. For example, if you finish three races among the first three places, you are forced to go to the higher category. At the opposite, if you finish three races in the last three position, you are forced to go to the lower category. Over time, it would create a race peloton that is fair and coherent. It would create a good incentive for the best finishers of a category to go at a higher category, and another one not to finish too often in the last places.

Zwift can add easily some fun around this by adding some badges or shirts when you succeed to move to a higher category.

I’ll add that controlling the racer categorization offline (after the race), not by sandbagging during the race, would offload the Zwift servers load.


Here my earlier post at the forum race section:

*Some comments about the anti-sandbagging feature. I am all for more fair races. I do some races, I have to say that I am not serious about it, but I understand that for some competitors it is important. My son is 10 years old and he was doing crits with a lot of fun. He does them in the D category and he performs pretty well for his age. His best finish is third. He usually finishes among the last of the first tier. He only weighs 32 kg but pushes usually around 3.3 watts per kg. He did some races at 4 watts per kg. Now, he is penalized by the anti-sanbagging feature. At his weight, even if he has a B. cat power, he does not have the speed. Races are screwed for him by the anti-sandbagging feature. If he races in the B. cat, he will ride alone and finish at the last place. If, he races in the D. cat, he will only have the choice between being flagged and slowed or voluntarily diminish is power (again not really doing a race). Anti-sandbagging as a solution to control race fairness is unfair for him. It will be unfair for other rides too, not just the young, but all lightweight.

At zwiftinsider, there is an article about the weight impact on speed. Just search ‘Why You’re Getting Beat by Riders with Lower w/kg’.

I’ll post in the feature request another solution to control races cheating or unfair categorization. Anti-sanbagging seems complicated, unfair and not required to me.*

In real life amateur racing we are given upgrade points depending on how we finish. The higher you finish the more points you get. After so many points you can request and upgrade and if you exceed a point maximum you get a mandatory upgrade. So more competitive riders are upgraded based on placings over time. If you are winning you get upgraded faster and if you are finishing in the top 10 consistently it takes a little longer. Upgrade points do expire in one year in the real world but maybe sooner in the virtual world.

I’ll post a reply I put on Facebook. Other organisers may be able to add or correct my recollection of the evolution of the categories and how close we were to using rankings instead:

Although I understand how and why the “standard” categories were created, I never liked them for a variety of reasons and created my events differently - based on course PBs, originally, then age for the Masters and weight for Clydesdale & Athena.

Once we got the event pens, ZwiftPower gradually became more synced with Zwift and some of my events were impossible to run without a lot of manual work. Events like Hare & Hounds had to be run on the basis of w/kg rather than ability, which wasn’t ideal.

At the same time, many other organisers were finding w/kg categories a constraint and riders were moaning about group rides, sandbaggers, categories being too wide, ending up racing solo after being dropped, etc.

So I suggested the ELO ranking system I know from chess. James Hodges (the brains behind ZwiftPower) looked at it but it wasn’t suitable for a race with multiple riders - ELO works best when it’s one-on-one. So he tried various others, such as those used IRL, before coming up with his own equation.

He needed to wait for riders to complete a load of races to feed the rankings. He made a few tweaks. It was starting to shape up very nicely and we were really looking forward to being able to set categories according riders’ ranking, using any combination we wanted.

That was before the bombshell hit - James suddenly announced that Zwift were taking over ZwiftPower with immediate effect. Our initial hope was that it would be subsumed within Zwift and we might even be able to prevent riders from entering a category below their official ranking. No more sandbagging!

Sadly, we have seen no movement on ZwiftPower, other than the server shift last week. I hope this is the beginning of an integration but they have been silent on this, as well as many other issues we’ve raised.

The discussion is academic as Zwift will do nothing but let’s discuss it anyway.

You need a system that excludes results where riders deliberately throw a race. For example, in OPs system when you move up a category all you would need to do is sign up for 3 races, cruise around to come in last place each time and then you will drop back down a category where you can go back to collecting your easy wins.

There needs to be some accounting for a riders effort during a race for it to count towards their ranking. If someone wins 3 cat D races with an FTP of 4w/kg and then moves up to C cat and starts finishing races at 2w/kg in a deliberate effort to downgrade then those 2w/kg efforts need to be discounted.