Anti sandbagging and other areas that need development and communication

@Andreas_Traff Has a good explanation of the difference between a sandbagger and a cruiser here: Disturbing tendency comparing cat A race data to cat B-D

A sandbagger is someone signing up to a lower category race, someone who doesn’t care about W/kg limits and who will go flying off the front at race start. We have all met them. They are easily spotted.

A cruiser is more devious and is a rider who would belong to a higher category, according to the W/kg system, but who stays behind in a lower category and makes sure not to exceed the W/kg limit. With a decimal or two to spare on the running W/kg average, easily monitored with your smart-trainer app, he can drop you in climbs, sprints etc by putting you at VO2Max, all while he himself is merely… cruising. A creature of my imagination? Look for yourself.

As opposed to the sandbagger, the cruiser will not be detected by any anti-sandbagging measures and will not be DQ’d or upgraded by ZP if he is careful. The obvious way to spot a cruiser is only after the race, by studying HR distribution graphs. Someone that gets the podium often while still showing a lower effort in the HR graphs than other contenders can be defined as a cruiser, whether he cruises consciously or not. At any rate, he has a clear advantage over a rider who can barely reach the category W/kg ceiling.

3 Likes

This part is also made easier with things like the Zwift Activity Monitor network packet analyser.

image

image

2 Likes

It becomes clear that the basis for the auto categorization, if based on power curve metrics, should be kept as a secret to prevent cruising with the help of tools like this.

2 Likes

I wonder if it’s possible to take HR into account in some way. As with power data, Zwift can record a rider’s HR over a period. I guess it’s more easily circumvented by not pairing an HRM with Zwift outside of races that require it though.

As for Zwift Activity Monitor, I’ve wondered in the past whether it’s actually against the Tc & Cs of Zwift. It doesn’t modify packet data, but inspecting it and reverse engineering it possibly is (AFAIK it’s not documented anywhere by Zwift, so even if it’s obvious there’s an element of reverse engineering).

That said, I wouldn’t particularly want Zwift to move against it as it is a useful tool with legitimate applications. But if Zwift built something like it into their own platform, then they could encrypt the network traffic better (or refuse to run when ZAM is also running) and disable the display in races.

HR is to much of a variable to be used to glean accurate information - Caffeine, sleep, stress can all inflate HR whist threshold & max HR can vary depending upon fitness level at the time.

Plus then, one persons Z5 is another persons Z2 its very hard to get a grip of what each number means to each individual.

Id also wager there might be some issues with in-depth tracking of HR numbers beyond what is currently displayed as they could be part of a medical history check and the like…(that’s a completely uneducated opinion though :slight_smile: )

I only see one use for that tool & that is to help people cruise and manage their power profile - But all that data could be gathered via a headunit, so whilst I dont think it has that much legit usage there is not much to say it should be banned or blocked as the info is all there and can be gathered in multiple ways so makes Zwifts resources and work to block it kind of redundant.

1 Like

Sure, but comparisons within the context of an individual are still valid. If I’ve hit 170bpm in the past few months, and I’m winning a C race without going over 130bpm, something’s iffy.

What we want to find out is whether the rider underperforms compared to others in the same group at a specific time (e.g. 30 sec. avg.). Percent of max HR (from racing - not self selected) could be used to detect cruisers by comparing with an avg. of % of max HR for other riders in close proximity. It could be incorporated into the existing anti-sandbagging solution.

HR is simply to variable… Peoples HR does not increase and decrease in a linear manner compared to each other… There would be to many holes in it to be accurate.

People are trying to be clever & over think the solution - Use the power curve and move on… :slight_smile:

6 Likes

I’m trying… :wink: I just like the thought process.

1 Like

Out of curiousity, if all zwift activities would be included - thus also workouts and the occasional segment hunting ride - what is your opinion on comparing short duration power data being set from a ‘recovered’ state (workout) versus in a race? I like doing workouts but I also know I don’t hit those numbers in a race because of sitting at FTP just to hang. I suppose this is also why you focus on 3+min and omit the sprint-type efforts to begin with?

Also, would you suggest the entire power-curve to contain the combination of w/kg plus a lower absolute watt limit like the current ZP system (which sounds more complex to get right, but has merit for lighter riders who may jump over such short wkg limits more easily)?

And how do you view the range of power duration limits compares to using something like Normalized Power?

I have no expertise in this so am happy to learn more about it. I just hope it doesn’t take away too much time and resources that could go towards developing a ranking based system.

Can we just confirm, when you say mega initiatives this is not another Boost mode?

As a view point - New roads >> fixing racing >>>>> pretty much anything else Zwift is considering > Boost mode V2 :wink:

3 Likes

This is getting very complicated even more complicated than a ranking system.

  1. Get the current system going with auto cat.

  2. Start working on a ranking system.

8 Likes

Pity, Boost Mode races were my most successful races. Partly because of my brilliant race strategy but I think mostly because half the people in boost races never seemed to actually use the boost power ups.

1 Like

I have found that I have often set power PBs in races just because of the extra incentive. Its true being fully rested helps in a freeride, but the idea is to build a model of the rider’s potential, so I don’t think it matters too much.

The reason why you focus on 3+ is that efforts below that use too much of the creatine-phosphate (explosive sprint) energy system to be able to scale up to an estimated FTP. Some would argue 3 min is maybe too low as well, but I think it is probably appropriate for zwift races.

This is a valid issue for a power based system. I don’t like there being a hard line at a certain wattage (amazing how many light cat B riders average right around 250w). In an ideal world the model would consider both pure W and W/kg and do some maths for both to categorise you. Of course, people on the extremes of weight can end up in a category where the course profile makes their lives very hard, but again, got to keep things simple. This is why in many ways a results based system is simpler.

There are some big flaws with NP, so I would only ever use it as a personal indicator, and not as the input to any calculation.

I agree completely, that’s why I hope this stays pretty simple and the focus is on a results based system longer term.

1 Like

Thanks Ole, but I don’t agree with his description - along with a few people who replied to him on that thread. In fact, I think this supports my point about there being confusion.

In every other sport, “sandbagging” refers to “hiding your potential performance to gain an advantage” - also known as “cruising.” You then choose to “drop” the sandbags when you stop cruising and show your true form.

Once you’ve shown your form, rules or competitor tactics change to stop you doing the same thing again.

I think the clearest terms are:

A “flyer” is someoneone going way too fast to be legitimate - someone riding clearly out of category. (In real life, they’d be disqualified and never allowed to do this twice).

A “cruiser” is someone who deliberately masks their true performance level. (As @Steve_Hammatt says in that thread, this is really the description of a sandbagger in other sports.)

In Zwift though, many people use “sandbagger” to refer to both groups of people interchangeably, and that causes confusion.

4 Likes

sandbagger: noun – one who conceals abilities or assets at first in order to gain tactical advantage later.
Both riders that race down a category and riders that deliberately control their performance to prevent upgrade, are sandbaggers.
Those that race in a lower category do it in a more obvious way. They just enter the wrong category and pretend it is OK. The cruiser is doing it in a more refined way.

The term “cruiser” was invented (I guess) to be able to distinguish the two types of cheating.

“Sandbagger” has been equal to one racing down a category in Zwift community AFAK. I’m not sure if people (in the Zwift community) will know what a “flyer” is (in a race), but they now what a sandbagger is.

“Flyer” is used for those that ride off the front of group rides.

3 Likes

This is typical how that will look. 19min above cat limit and 20min just below.

This is very hard to detect in game. Zwift have done some work in the sandbagging races to detect this. But I think once people are in the correct categories this will be harder to do since they can’t hide with other riders.

2 Likes

This could of course just be a rider capable of doing a Crit City race in 19min, but with that W/kg he must be a heavy dude.
This just highlights the fact that a wide range of the power curve should be considered when the category is calculated.

1 Like

It was going so well! :joy: but they have at least given it a name with capital letters and everything!

1 Like

It works a billion times better than the races without it.

This in no way means it’s the correct solution, but at least it boots the major cheaters etc.

I’ll take it in every race till a better solution is rolled out.

1 Like