There are two reasons for the sandbagging that are often looked over: 1.) there are too many races on any given day and 2.) the A category is way too big a w/kg range.
I’m an A racer. I got upgraded from B to A in February (I think) when my FTP got updated to 4.01 W/kg. Human performance improvement generally follows a logarithmic curve, which means that going from 2 to 3 W/kg is easier than going from 3 to 4 W/kg, which in turn is easier than going from 4 to 5 W/kg. etc. So a properly designed category system should start with bigger ranges of W/kg in lower levels and those ranges should shrink as it gets bigger. But instead, C is between 2.5 and 3.2 a gap of 0.7, B is 3.2 up to 4.0 a gap of 0.8, and A is 4.0 to 6.0, a gap of 2.0. The categories get bigger when they should be getting smaller. This means that someone at the bottom of the Cs is closer (in terms of training hours) to someone at the top of the Cs (and therefore closer to someone at the bottom of the Bs) than a person at the bottom of the Bs is to the top of the Bs, and again, someone at the bottom of the Bs is closer (in terms of training effort) to someone at the bottom of the As than someone at the bottom of the As is to someone at the top of the As.
This is a real problem, because I went from mostly being able to actually race in a B race (and occasionally podium, though I never won one) to always getting dropped in every A race. This sucks, because I’m doing races for fun and to get a better workout by using my competitive nature to push a little harder than I would on my own. But if I get dropped, I’m just on my own anyways, so what’s the point? I’m very tempted to race Bs again just so I can ride with people again. I was mostly doing between 3.8 and 4.2 W/kg on 20 minute crit races as a B (with three really great races of 20 minutes at 4.3 W/kg where I seemingly peaked, and got upgraded to 4.0 W/kg FTP). Since switching to A, I mostly do around 3.3 to 3.5 W/kg, because once I’m dropped, its just not interesting anymore. This problem would likely go away if I were racing only people between 4.0 and 4.4 W/kg, but I’m racing actual pros (sometimes) who put out 5.5 W/kg for an entire 20 minute race and start the first lap or two at 6 W/kg. I just raced today and got dropped on the second lap of the dolphin after averaging 4.7 W/kg just to stay in the back of the peloton. Again, it sucks. So I can completely understand why lower level A racers drop down to B to sandbag, because I’m tempted to do the same (but haven’t). And then that makes it harder for the B’s, so now you get a trickle down effect where B racers on the lower end are going to want to drop to C’s and C’s down to D’s and it makes it bad for everyone.
So the problem is the categories are poorly thought out and make the cascade of trickle down sand-bagging happen. Why are the categories so bad? Well, this is obviously because there are too many races. In lots of races I sign up for there will be 20-30 B’s signed up but only 10 A’s. That’s why Zwift has made A is such a big range–if they made it a proper range the A races would have 5 people in them and the A+ races would have 5 people in them, and Zwift is trying to make the races bigger. This is because there are just not enough racers in the 4-6 W/kg to fill a race every 30 minutes.
If they offered fewer races it would be slightly less convenient, but they’d be able to fill up the A races better and then could break it into several (probably 3) categories (interestingly, the W/kg limit for A roughly corresponds to Categories 3,2, and 1 in UCI racing). If A was 4-4.5 W/kg, I bet there’d be a lot less sandbagging. I can hang in the back of a peloton doing 4.4 W/kg at the front and I wouldn’t be tempted at all to sandbag. But I will get dropped from a peloton doing 5.5 W/kg every time. (BTW I have not/do not sand-bag, but I really strongly get the urge to do it. I loved racing and got a lot faster doing it until I was upgraded, now I basically avoid it… thank goodness we’re coming out of winter and I can just ride outdoors. Zwift is about training in a more enjoyable way. Racing B’s was enjoyable. Getting consistently dropped from the A’s, which I won’t call racing, is not at all enjoyable.)