Season 2 of the 2021/22 Zwift Premier League runs from January 10th to February 14th. As a quasi-contributor to Zwift Insider and a rider/director of a newly promoted Premier League team, I wanted to give an unfiltered behind-the-scenes look at the action. Look for a recap each week here on Zwift Insider.

Race 3 of the Premier League started with a bit of GCN coverage of the Velocio team (watch the full GCN stream here). Our fashion crimes and mostly unsuccessful aggressive racing have made us pretty visible. The team standings have us right at the line of relegation and we are on pace to be AFC Richmond in Season 1 of Ted Lasso. If I was to cast each of our team members as someone in the show, I would cast them as follows:
- Ryan Atkins as Sam Obisanya. Supremely talented,principled, and impossibly nice.
- Charles McCarthy as Higgins. Underappreciated talent and a foundation of the institution.
- Jason Frank as Jamie Tart. Only problem here is Jason wouldn’t want to play Jamie Tart, why would he want to be anyone other than himself?
- Dan Cassidy as Keeley Jones. Sassy, looks good in a dress, super talented and is bound for bigger and better things.
- KBH – I don’t fit a singular character but I would describe myself as “If Ted Lasso and Roy Kent had a baby”.

This week’s race was on the NYC Park Perimeter Loop. A rolling course with 4 total sprints that doubled in value every lap. This led to some interesting tactical decisions on how to best score points. Basically earlier points would likely be less competitive but also less rewarding. The last lap points came right before the finish so going for those would cook you for the finish, to quote Dave Towle “it was the Gambler’s Prime”. The unique point structure made it exciting to nerd out on the best strategy to attack this race.
As soon as the race started it became clear this was going to be a more traditional race. After a very aggressive week 1 and 2, we saw little in the way of breakaways. Moves were given no leash. I think the power of the downhill killed most breakaway gaps, but we also had a pack dynamic bug that might have changed how fast the pack was. Apparently the pack dynamics were the old dynamics which historically made breaks impossible. From what Zwift told us, the server was running the new dynamics but all of our clients were running the old dynamics. So what we saw on screen in game and where we actually were wasn’t accurate. We learned about this because the visual of the winner and the actual winner were quite different. When things are very, very close it is common to have a small discrepancy because what happens on the server and is then shown to the client has some lag. But this time, it was bike lengths, not tire widths.

Margins of Truth
And this brings up something I want to talk about in Zwift racing. Accuracy, error, and cheating!
I know many people in the Zwift racing community hate to talk about cheating because it tears down what can be fantastic, and dare I say it, real racing. The assumption many cyclists make is that zwift is so fast because everyone is cheating. I think there is some truth to that, but not in the Premier League. I think we are seeing pretty fair racing. What isn’t talked about is the limitations of current technology and the gray area it opens up.
Out in the community races poorly calibrated power meters, wheel on trainers, patently false weights, and ZPower run rampant. It can be a bummer but there is no money on the line and no major rules against it. It can be the wild west but it can also make for some hard training.
In the Premier League there are weigh-ins 2 hours before the race. You have to use a trainer with at least 2% accuracy as your primary power source. You need a secondary power meter to check your trainer power data. You have to do a workout with a series of max efforts to create a power profile you are capable of, in addition to getting a record of how your trainer and power meter work. This substantially reduces the riff-raff.
So how are they cheating? I think they mostly aren’t. What we are seeing is what +/-2% accuracy looks like. It doesn’t sound like much. But when everyone is so close in performance, these small differences can be race-changing. So what do I mean by
+/-2%? We all like to assume all of our devices work as intended. I think what most of us believe is our own scale reads too high, our own power meter reads too low and everyone else’s is the opposite. But in truth there is a variance from trainer to trainer and brand to brand. What is stated as 1% accurate might be true for the test unit, but is it for all units in all batches? We make a lot of assumptions that everything works as they say it works.

In reality, some units will read high, some low. The hope is a separate power meter should shed light on whether or not a unit is off, but the power meters have the same variance. So what does 2% look like? At an FTP of 400 that’s 8 watts. The difference between 400 and 408 FTP is huge. That is the entirety of gains I can expect to see in a season of training. But in esports, that can just be the trainer you use. Compared to an unlucky competitor with a low reading trainer, you can have two people with the same FTP that are racing with an effective power difference of 392w to 408w. Compounding this with possible bodyweight scale error, we can see some wild variation without any actual physical differences. It should also be said the generally accepted dual variance is 5%! So double the difference stated above.
So what happens is a new gray area of manipulation. Most of the Premier racers all know this. Most of us just use what we have and hope it is close. Calibrate, use as intended, pay attention to any wild changes. Newer units tend to be better. But there are also those that change sources often and “fish” for the highest reading products. Maybe because they are just playing the game, or maybe because they’ve deluded themselves into believing the highest numbers possible are their real numbers. There are prominent teams with trainer sponsors that don’t use their sponsor’s product. But I must admit, how do we know what the real numbers are? Again, we assume the highest dual recording number is right for us and the lowest dual recording number is right for others. The truth is, we don’t know.

So what is okay and what is not? I switched to a waxed chain and saw about a 1% increase in trainer power. If I wanted to get divorced I could buy a $1000 ceramic derailleur cage too. What about using a sauna or getting an enema before weigh-in? How about sandbags on your trainer? They are all weird but if you want to do them, have at it.
To me the clearly wrong behavior is using something you know is reading high willingly. If you have to adjust the slope of your power meter to match your trainer you are cheating. If you manipulate your data from the trainer to the game, you are cheating. If you try and tune the calibration of your trainer/PM to read high, you are cheating.
All of these things are hard to prove, I think. But since everyone in the PL is an excellent cyclist, these small gains turn in some phenomenal wt/kg numbers and this is where people have gone wrong. Riders doing numbers off the Coggan chart (a historical chart that ranks human cycling performance) or showing substantial gains in performance in short periods of time. Recently one of the top-ranked Zwifter women in the world was banned precisely for this. In 8 months she got 35% better and put numbers off the Coggan chart. I don’t think they could ever prove how she did it, but the numbers were so unbelievable, they were simply, not believable.
In outdoor racing, no one has ever been banned for incredible performances. There are many out there that should have been, but it only happened because of drug testing, police raids, or whistle-blowers.
In esports, we are number generators. The sport is the numbers and how they are made and what they are is where the cheating happens. Anti-doping in outdoor racing has bio passports. If something changes wildly they can look into foul play. In esports we have power profiles and when performances improve wildly we can assume foul play.
Many elite riders can be world-beaters in esports with the right equipment and world-beaters can be average with the wrong. The best will always have extra scrutiny and it is important to remember racers are mostly just hoping their equipment is working as intended. So when the game client and the server have a hard time showing who won a race where 25 people finished within 1 second of each other, just remember all those numbers that got them there vary by many times more than that winning margin.
Chasing the Gambler’s Prime
Back to the race. Our team split up the primes to give our best chance at points. There never ended up being any easy sprints though. The plan for myself was to sit in and go all out for the Gambler’s Prime. Jason would focus on the finish. Each of the laps I practiced the positioning into the sprint without going all out. I was trying to get a feel of where I needed to jump and from where in the pack I would start that jump. I quickly learned an early jump was causing a separation from the pack, but the front of that split got swarmed. So I needed to make that early surge but not hit the front till 200m to go.

The only move to make it to the points was Leandro Messineo – WeZ Oral. He launched a vicious attack after Harlem Hill and held on to take top points. On the stream he was in the orange the whole time and my team Discord was wowed by the move. It was unbelievable. Turns out, it was. His result was annulled by ZADA this week. WeZ Oral is not happy and is fighting it.
Esports is a new world, people are judged on their numbers. Zwift is numbers. In his ZADA test, his best 4 min effort was 400w. In the race he did 447w for 3.5 minutes. You can’t judge intent, but a 10% performance gain is not reasonable. I commend ZADA for acting on something that clearly didn’t pass the sniff test. The fact that they do this actually supports the other amazing performances we see, because it implies it believes in them.

After committing myself to a passive race of boredom the last lap meant game on for me. I focused on my plan and made the early jump and followed wheels into the sprint. I hit the front at about 300m however, and I just couldn’t hold it. Those with more patience/watts came roaring by and I went from 2nd to 5th. I made the points, but they fell off hard. First was worth 40 points but my 5th was worth 4. I did my best 30-second power ever (by 2.5%, not 12%) and my positioning was pretty good. I was just beaten by better riders and that’s okay, this field has a lot of those.
This left us with a huge gap on the field and Ollie Jones – Canyon made a solo move to the line. I wanted to go but got greedy thinking I could sprint once more. The brave thing to do was to go for it. I am mad at myself for being weak. He ended up being caught but that is the style of racing I really respect. Kudos to him for sending it.
In the final sprint I focused on all the right things and had good timing but the power was gone. It was pathetic and I finished 40th, 0.6 seconds out of the points. Jason had another monster sprint and finished 9th. The team placed 11th and we continue to sit just above the line of relegation. Hopefully Jamie Tart doesn’t swap teams and knock us out.
Next week is the TTT and a chance to see how our watts and communication stack up. I am excited for it.
In honor of the Ted Lasso funeral episode: http://www.ZwiftHoF.com




Come on man KBH! The PL is still the wild west to watch. When even zwift are too corrupt to take down those who are pally with them. Anyone that speaks out suddenly gets bagged by them. But nothing happens about sticky watts or suspect riders who are in the popular teams. Noticed a couple of top riders from last season haven’t made an appearance yet. Shame, some talented riders. Wonder if they were asked to stay away in case they got caught out?
Ab-sent-o-lutely! It will be interesting to see how your moniker goes in the world championships. A person who has never so much lined up on the start line of a Category 1-2 event in his home nation yet is miraculously on the team.
There are some big riders from
community races and previous seasons not here this season but because their teams got relegated. I am not sure I buy Zwift is protecting certain riders. I feel like perhaps they are emboldened this season to act on riders but really making sure they feel confident about their actions.
So what should be done with those with a 7-12% gain at 15 seconds? Should those not also be looked at with a strict eye?
They will only be looked at if zwift doesn’t like the team. If they are in the boys club then they will be swept under the carpet
Exactly
Under 15sec I am not sure how accurate the devices are, but 15 should be enough to look closely at large changes. Everyone has a ZADA power profile from the testing. Big changes should get looked at but there can be explanations too. The sprint happens at the end of the ZADA. In some races the first points in are 5min and eveyone is fresher. Room for improvement.
I’ve heard that there’s a specific brand/model of smart trainer that tends to read fairly high on sprints over ~1000W or so. I’ve known several people who’ve jokingly said, “well, that’s the next trainer for me then”, but I wonder what happens with dual recording. If you’re hammering along at 1200 W according to your trainer and 1100W according to your powermeter, it’s not like they can go back and re-run your race results and give you the powermeter time as so much of the race is context specific, so I’m assuming that, when you cross some threshold they just DQ you. I wonder what that is, and if it differs for different power intervals (e.g. requirements are tighter for 20 min than for 15s). I’m sure they wouldn’t tell us for the same reason they won’t tell us what ZRL’s single even limit is so that we don’t game the system.
I’d sort of thought that the rewards of the PL weren’t great enough to support people buying a bunch of smart trainers to test to find the one that rates consistently the highest and had counted on that cost/benefit ratio to keep the number of people doing that down, but I suppose that fails to take into account how much people just like winning. Plus, if you can resell the trainers that don’t consistently read as high for much of what you paid, it might not be that costly other than the initial investment (even better if you can sell the low-reading ones to your competitors).
Many of the older trainers wildly (20% region) over-read sprints! Probably the easiest thing in this whole mess to fact verify though – max sprint speed outdoors on strava under 60kph but hooglands rival on zwift?
That’s interesting. I always said I was a better sprinter on Zwift than in real life, but because my 20 minute and 1 hour wattage was almost identical to my outdoor performances I thought it was down to the way Zwift measured cda. I’m pretty small 5ft 5in and 61(ish)kg. Yesterday my 4 year old Elite Direto died, which I have replaced with a Tacx Neo T2, I used it in a race this evening and my max power was down by about 10-15% on recent rides, although the overall ave was bang on where I’d expect.
Obviously I can’t base this on 1 ride, but it looks like no more green jerseys for me 😊
Oof, that’s a bummer. I got hit by a car last spring and had my bike (and back) wrecked. One of the things that got destroyed was the powertap wheel I used for power (on my rollers) for zwifting. I’ve switched to the Assioma Duo pedals. My 5 and 20 minutes averages are coming back (finally) to near where they were before I got hit, but anything 1 minute or less is still way down. I’d thought it was a conditioning/training thing and it would come back with better/more specific training, but maybe it’s just a difference in readings at high powers. I hope not.
as a match sprinter (velodrome) I would say the zwift cda speeds (no draft/pu) tie in pretty well to ‘real’ life, maybe slightly conservative if you are running narrow bars etc. If you really want to know how your sprint is, find a flat road with no wind (or do it twice so you have both directions), 1200w sprinter should be mid 12’s flying 200 so seeing mid high 50kphs, 1500w roughly high 11’s so you should hit mid/low 60kphs, 1800w and you are nipping just into the 10’s so nudging 70kph at a max speed. Obviously lots of moving parts and assuming you are a regularish size human. Point being even a cursory look at someone’s fastest efforts outdoors on strava is an easy memetic for if your power is accurate or you have a wonky trainer.
Rick-Rolled!
Until everyone is on the same powermeter that actually measures power/torque (most guess it) then the racing will never be close to 100% fair. You can do some polyfilla to try to make it fair and there are lots of good people trying to make it as fair as possible. But the limitations are pretty clear.
Well said. I think things are mostly on the level and we much of the variance is tech limited. I would actually like to see Zwift game engine less sensitive to power and weight to give a couple percent of play without meaningful speed differences to dull standard error.
Don’t forget that there will be differences too when using the same power meter. Temperature, humidity etc are all factors that influence power output.
Even if you have one of the top of the line setups; favero assioma duo and Wahoo Kickr V5, both 1% accuracy you can have alot of deviation. See picture i got from Wahoo service.
did they then softly whisper “but the kickr bike has no drivetrain…” before knowingly winking at you?
It’s hard to see how 3.5 minutes at 447 watts, which is 1565 watt-minutes represents a performance INCREASE relative to 400 watts for 4 minutes, which is 1600 watt-minutes. It sounds like the ZADA people aren’t very good at math if they DQ somebody for burning a little bit less energy over a slightly shorter period of time.
Goodnight!
Ummm Power output isnt linear. Based on you logic doing 700 watts for a minute is the same as doing 350 watts for two minutes and 35 watts for twenty minutes.
I’ll admit the best trolls are the ones you can’t tell are trolling you, that said, this is an asinine take.
Seven hundred watts for one minute, and 350 watts for two minutes and 35 watts for twenty minutes ARE exactly the same in the terms of the amount of ENERGY output. But I in no way presume that someone who can make 35 watts for twenty minutes can make 700 watts for one minute. That would be a huge stretch. That’s not what I said, and I completely agree with you that it is a an asinine take on what I did say.
What I DID say, essentially, is that I don’t see anything particularly concerning in a person putting out 2% LESS energy over a 12.5% shorter period of time, and doing it at an 11.8% greater rate. The author himself said that it’s all about the numbers. Those are the numbers. The claim was made that this represented an unreasonable performance increase on the face of it. I don’t see that.
So the 12% greater rate is ignored? Don’t over think this. 447 for 3.5 minutes vs 400 for 4min. That’s clearly not linear scaling. Something was injection power into that trainer.
Please also permit me to offer a slightly different take, as you didn’t seem to get right behind the math based one.
I think everyone understands that it is the EXPECTED RESULT that an individual athlete’s average 3.5 minute power capability should be HIGHER than that same individual’s 4 minute power capability. The question of importance here, is HOW MUCH, and how well can that be known from one effort. Given all of the acknowledged sources of uncertainty that are completely beyond the individual athlete’s control, and all of the non-controversial factors affecting human biological power output, I personally would want to be good goddamned sure that the difference was well beyond what was expected before I levied charges of cheating. Failing the “smell test,” whatever that is, is nowhere near adequate.
They guy in charge of ZADA, who is a PHD from the University of Cambridge in Astrophysics, thought the data analysis was enough to act. Maybe he got infused with extra motivation.
You are very wise to rely on the PHD’s to sort this all out for you. I say that as a Ph.D. in Aerospace Engineering myself. Ph.D.s are rarely wrong. If ZADA says that guy’s a f’kng cheater, then he’s likely a f’kng cheater.
🙂 I don’t want to get between you two but I was unimpressed by the difference as well gicen it was during a very motivated race effort Vs an all out test (if the ZADA tests are done as solo ‘tests’ my best numbers outside are from one race. Two years in a row with different ooower meters (I didn’t believe it myself the first time). Something about the course and competition and I turned myself inside out in a way I could not have going ‘100%’ in a test: holding this one guys wheel one of the years I felt like I was actively dying but kept telling my brain: ‘if you lose that wheel YOU ARE DEAD’ and did something special.
You nailed it here with what you have said. This is the scenario where your best performances occur. The ZADA test it is possible for that to happen but also somewhat improbable given the atmosphere of the test.
Annulments are primarily based on ZADA data. It should further be stated that an annulment is not ‘cheating’ in every case.
Further, it is my professional opinion that KBH should be annulled for his race 5 performance, not because I believe he was cheating or even that his power meter was wrong but simply because the math says that what he accomplished is physiologically improbable based upon his ZADA power test. This is precisely what Messineo got annulled for: a physiologically improbable performance based primarily off of 1 set of data.