The Minterview of Oct 6

The latest (mini) Minterview with Eric Min on the Zwiftcast podcast is the first comment from the Zwift management on the status of Zwift racing since early February, if we disregard the disappointing community management comment in the September ZwiftPower update. You should listen to it.

Trying to second guess Zwift’s foggy intentions is, as we know, never easy. My interpretation of what was said by Eric Min and Jacob Fraser from Zwift is two things really. Two contradictory things as usual.

First, the latest (and huge) financing round aims to make Zwift more accessible to the not-so-tech-savvy masses, both in terms of hardware and in-game experience. No surprise there.

The aim is clearly to attract new customers, get them to sign up on a subscription and then reel them in during the first fragile period of a customer journey so they don’t slip off the hook. We have all been there. In those first crucial winter months. If you’re having fun as a noob, you will stay. Or at least come back next winter. And people do tend to have fun those first few months. We all did. So essentially, it boils down to getting people to subscribe and get on the bike a few times and it will sort itself out after that, more or less. Improvements can always be made to the Zwift platform, but what is there in Zwift already, especially in the lack of real competition, is more than enough to get most of the newcomers hooked. Or hooked enough.

So to get new subscribers at this stage, post-corona outbreak, when every MAMIL worth his salt already knows about Zwift, whether they have chosen to subscribe or not, you have to widen the audience. You have to start attracting not just the hardcore cyclists and the wannabe hardcore cyclists but also anyone looking for a home-based fitness platform. Anything that helps your fitness that doesn’t revolve around paying exorbitant yearly gym passes to be allowed to soak in sweat of the previous patron on top of some gym torture machine. Anything a little more rewarding.

There is already one such broad platform. It’s Peloton, which uses proprietary hardware, a spinning bike. I don’t have the latest financial reporting from Zwift, but I think it’s safe to assume that Zwift’s yearly turnover is still just a fraction of Peloton’s. Zwift obviously wants a slice of that broader market segment, preferably a rather large slice. So Zwift wants to develop their own hardware, just like Peloton, to make it easy for a new (and somewhat affluent) subscriber to hook up to Zwift and start riding, without having to hack their way into the smart trainer hardware jungle and fend off Neo fanboys and Garmin haters and whatnot to just get an idea of what you actually have to buy to be able to Zwift at all. And how to hook up all the equipment together.

However, as Simon Schofield of Zwiftcast hints at in the interview, catering to a broader market segment does not necessarily benefit us, the hardcore cyclists and the overpaid MAMILs (I belong in the second crowd obviously). And setting the company focus on this widened customer segment does not speak for changes to the racing system “anytime soon”.

Second, there is something else in the latest Zwiftcast interviews. May I dare call it recognition? Recognition as far as Zwift will allow themselves. With just a little imagination you can hear this slightly pained undertone saying “Yeah, we know racing in Zwift sucks, we are aware of the issues, it’s all put on hold (again) but we’re throwing you a bone to gnaw at in the seemingly endless meantime.”

So maybe the ruckus in the forums the last few months left a small imprint after all. And the response from Zwift comes in two forms.

I disagree with Jacob Fraser when he pulls out the old argument that the racers, Zwifters who identify themselves as “racers” somehow, are just a very small minority, which would be a good reason for focusing elsewhere instead of putting more effort into fixing racing now rather than in some distant future. Maybe he has the numbers to back it up on the surface, but I am quite convinced that the argument is a dead end. It’s thinking the wrong way, for them, for their purposes. And they did that for far too long.

Us cyclists and MAMILs don’t quite like it when you talk about Zwift as a game. Just as we didn’t like it when outdoor cyclists wouldn’t recognize our indoor miles on Strava (that was pre-corona, before stories like Ashley Moolman-Pasio crushing her own QOM by 3 min coming out of lockdown). But Zwift is a game too. Zwift is a lot of things, but it is also a game, a gameification of cycling. And what Zwift needs now is more gamification of the gamification.

I will ask you to take it from me. I have something of a history in the early gaming industry as a previous editor and game journalist. I also have something of a history in the field of professional psychology and know a thing or two about how people’s minds work. I’ll give you a very simple example of gamification and psychology in conjunction at work.

Perhaps you have heard about reinforcement learning. It’s one of two main ways humans and animals learn things, how we adapt to help our survival. If you want a dog (or a person) to start doing something, the best way is not to punish it for not doing this something, like sitting when you want it to or peeing outdoors rather than indoors. Punishment is pretty useless actually. The best way to help it learn is to reward it when it does that thing that you want it to do. It makes it expect something good to come out of this behavior, consciously or not – it doesn’t matter, so it will keep doing that soon enough. And after a while you can often remove the reward and it will still keep doing that thing when appropriate.

You get rewarded for doing something. And that makes you want to do more of it. Kind of addictive, right, if you look at it from an addiction angle? But getting rewarded every time you do something is actually not the most addictive form of reinforcement learning. There is also a high-grade weapon called intermittent reinforcement, i.e. you don’t reward the desired behavior every time but rather every now and then, at random. Particularly effective, studies on animals and humans show, is a reinforcement rate of 1 in 5. If you’re getting rewarded for something every fifth attempt on average, chances are good you’ll get hooked. Now, what is the chance, you think, of getting the lowest payout from a slot machine? Yeah, that’s right, 1 in 5. Enough to keep you seated, waiting for the jackpot. The wicked people in Vegas know exactly what they are doing. This was a very fundamental and crude (although true and effective) example, but the casino industry knows exactly how to keep patrons stuck to their seats in front of the slots for hours. It’s complex. It’s a dark science, how to make things “fun”, i.e. rewarding.

The computer game industry has also come a long way to understand what makes a game fun. It isn’t necessarily a dark science (only sometimes…). And Zwift could learn a lot from that industry if they (and we) just accept the fact that Zwift is a game too. I have said this before elsewhere. And one thing that came out of the Minterview was the news that Zwift is getting financing (and advice?) from Ilkkaa Paanen, CEO of Finnish mobile game giant Supercell (Hay Day, Clash Royale, Clash of Clans and more). Personally, I would look for knowledge within the PC or maybe console gaming industry primarily, but I like the move.

The thing the Fraser argument doesn’t grasp is that it is to a large extent the gamification elements in Zwift that is going to keep us entertained once we have clicked the subscription button. There is the social interaction part, yes. Social connectedness is a very strong glue, a so-called natural reinforcer. We all want it and it’s just there, naturally, nothing artificial about it. And you can make use of it as a service provider. Even a dull job can be OK as long as your colleagues are great. In Zwift you can get social interaction in a group ride, but you can also get that from stupid shit like FaceBook. You’d want to add something more to Zwift to keep the subscribers entertained. And there are lots of gamification elements already.

One of those elements is racing. And in the vein of something Fraser says in the intervuew, if you ever felt a streak of competitiveness as you got passed by somebody on a freeride climb, then there is competitiveness in you. And then racing is for you. You will sooner or later try racing. Now, if that first experience is positive, i.e. reinforcing, then you will come back for more. If not, then you might be deterred and stick to the group rides and free rides.

Unfortunately, racing in categories B-D isn’t overly reinforcing right now since they are completely flawed. There is a lot of punishment going on in those races. But that still hasn’t stopped the calendar to take its current shape. Granted, group rides can swallow hordes of riders, but even so group rides are in minority in the event list these days. Racing stands for most of the calendar entries. It would be stupid to not use that community drive, that force, to keep building the product and the brand. There is no doubt racing will be one of the most important features when it comes to maintaining a happy (and growing) subscriber base in Zwift. And it would be in Zwift’s best interest to pay more attention to it. Like… now.

Anyway, I’m looking forward to what Supercell superknowledge might bring to the table for the future. So that was one bone thrown to us. But there was also something else, a “We can’t give you what you want and need right now (for whatever reason), but we can give you this at least.” I’m talking about the newly started Zwift Racing League (ZRL).

I will post an assessment on ZRL next. It isn’t all good news, but there is definitely something good in it. And it’s an interesting topic that touches on many things discussed here on the blog already.

Tagged :

Race Report: 05 Oct 2020, KISS Underdog Series, Lutece Express, 3 laps

Noooo! I got upgraded in the sprint! HAHAHAHAHA!

I knew this was going to be a tough race. Lots or cruisy types and way too short to make people tired. I’d say the route favors a heavy’ish rider too. 80-something is a nice figure in cat C-D here.

Anyway, don’t you just love it when the organizers, who have more than one cruiser signed up in the race, announce before start that all sandbaggers should leave the race immediately (you know, those guys that are going to get a UPG from ZP anyway). And then they go cruising with me. Priceless!

So for something like half the race I was in this group with five other cruisers. Standard scenario. People try to mess with each other a bit but nothing really works since everyone is too strong for the performance ceiling and no one wants to get a DQ. So after the last turn around l’Arc de Triomphe my average was at 186W and I should have leeway up to something like 194-195W. So I thought, hey, I’ll go hard like everyone else (not everyone did, wisely enough, or more cruisers would have got an upgrade tonight). But the approach to the finish is so damn long! It never ends! And you don’t look at your meters when you’re hammering or sprinting. And, to make things worse, I was one of the lightest too. The Watts racked up somehow. I saw 197W on the average just past the finish line, coming in 2nd from that group. Uh-oh…

I can’t be arsed to sit out another 90 days just to keep proving the point. I think I have made it clear here already, over and over. Just go back through the blog history and read. It’s all there. And it’s not lies or exaggerations. You can verify yourself.

I’ll go back to cat C and actually start working on my fitness again. It’s about time, I guess. And now, since I have already sullied myself by cheating openly, maybe I can allow myself to keep reporting on cruising in cat C too here, although I won’t be able to cruise in C myself. No names of course.

Cruising works, still does, as long as you don’t screw up like me. And you should still try it yourself just to verify what I say. And no, it should never have been possible to cruise in Zwift. Or sandbag for that matter.

It’s still possible to fix this. Zwift just needs to do it. Every voice counts. Don’t rely on others to get things done for you. You need to speak up too. Once the topics I have covered are the talk of the town, then Zwift can’t hide anymore. They will be forced to do something. Right now the complaints are just a trickle beside a stream of nonsense. Yes, it’s inconventient that you need to exit the application to start a new route, but I don’t care! I can live with that! But we need fair racing, not just for us but also for the health of the community as a whole and for Zwift as a brand name for the future. And more people need to talk about this openly. So in a sense it’s not in Zwift’s hands (since they are masters at doing too little, too late). It’s in our hands. We just have to assume individual responsibility, as many as possible. And speak up!

Three things need to be done:

1. Enforce categories

2. Remove the performance ceiling and stop the after-the-fact DQ’ing of people you let into the race

3. Scrap the W/kg cats and introduce a results-based categorization

This will solve all sandbagging and cruising problems instantly, although you can also scale into it and do 1-2 first and add 3 later. It will also remove unfair advantages for people who never asked for them, like the heavies, the ultra lightweight etc. And it’s on you to make it happen. Can we count on you?

Anything for a fairer and healthier Zwift, right?


Tagged :

Cheat School: 5. Managing Your Average

In this lesson we are going to talk about the core skill in cruising, which is managing your 20 min average W/kg. As long as you can handle that you are effectively cruising. It’s like learning to hold a fishing rod. Once you know how, you just sit there and wait to catch a goldfish. You don’t always catch one, but as long as you are patient and keep a firm grip on the rod the fish will come sooner or later. You will win way more races on average than any legit racer could ever do.

Monitoring Your Average

When I talk about “your average” I always refer to your current 20 min average W/kg. You can find your best 20 min average in ZP’s race report tables under the avg heading, which turns into a 95% of 20 min if you click the orange View 95% button, which should generally be clicked. But that is old information, after the race. You need to have an idea of what your best average and your current average is all the time during the actual race. If you don’t you will most likely go over cat limits since you race with overcapacity as a cruiser. If you know your averages, it becomes easy to make sure you don’t go over limits. But how do you know what your best average or current average is during the race?

It is awfully hard to gauge the average without some kind of meter to look at. Don’t even try it. And by meter I don’t mean the Watt or W/kg meter on your Zwift screen. They will move up and down a lot, making it hard to judge what those movements average to, and you need to be fairly exact when cruising because you are looking to stay as close to cat limits as you dare. And besides, even if you had some savant ability to actually guesstimate your total race average, then that information is useless. What you want to know is your 20 min averages.

You will need some kind of third-party help because Zwift doesn’t provide the data you need. Luckily, there is easily available help.

A Crude Method

I myself use a very crude method to keep track of my averages because that is all I have access to at this time. It sort of works but it isn’t perfect. Since I use a Wahoo Kickr Core smart trainer I have the Wahoo app (previously Wahoo Fitness) installed on my mobile which goes onto the handlebars in every race with a QuadLock. I run Zwift on a PC through an ANT+ connection and the Wahoo app connects to the smart trainer via BlueTooth. The Zwift Companion app connects to the Zwift PC app via WiFi and I have it on but I’m rarely using it in a race, which is half the explanation to why you will never get a RideOn from me during a race (the other half is I couldn’t stomach to give people rideons while I’m cheating). Instead I’m constantly keeping an eye on the Wahoo app because it provides me with crucial information. Or should I say cruisial?

I’m not sure the Tacx app can provide the similar real-time numbers, but I would guess so. I don’t remember. I never really liked my previous Neo 2, it felt too articial. As for Elite or other smart trainer brands, I couldn’t say. Have a look if you own such a trainer. Other options would be bicycle computers like Garmin or possibly power meter pedal or crank apps. Or if you happen to be a programmer who likes to play around with hardware SDK’s and the BlueTooth protocol, then you could make an app of your own, I guess. That would actually be ideal and I will come to why. Anyway, investigate your options.

Here is what the Wahoo app shows me in real-time:

I start a workout recording in the app exactly when the race starts. The red circle is the total average Watt since the start, so it’s the total average. The green circle shows the total time elapsed in the workout so far. The blue circle shows the best 20 min Watt effort since the workout was started, which can be useful if you want to do an FTP test on your own outside of Zwift or even outdoors if you have a power meter and a Wahoo bicycle computer.

This is not ideal information at all. What you would need is a trailing 20 min average, i.e. your last 20 min. If you had, that then cruising within cat limits would be extremely simple. Just look at the trailing average as you race and make sure it never rises above limits. But in the lack of a trailing average I am forced to make do with the three colored circles. It works OK’ish, but it isn’t foolproof. Below is a lengthy explanation of how I do it.

Setting Your Personal Race Limits

Since the Wahoo app doesn’t show W/kg but Watt rather, I have to do some calculations before the race. Right now I weigh 75 kg. And I have one race result slightly over limits in my ZP 90-day best three average. My 90-day average is currently ridiculously close to an upgrade and looks like this:

(2.521 + 2.495 + 2.483) / 3 = 2.4996666667

A gust of wind would tip that average over to 2.500 and an upgrade. The lowest race result in the best three is 2.483 W/kg. I must never go harder than 2.483 W/kg in any 20 min period in any race. How much is that in Watt given my weight, so that I can set a limit for myself for the Wahoo app?

2.483 W/kg * 75 kg = 186W

But we are forgetting something here. The 2.483 W/kg is an adjusted number. ZP looks at your best 20 min and then multiplies it by 0.95, treating your 20 min as an FTP test for the race. It is not your 20 min performance that cannot hit the cat limit but rather your assumed 1 hr performance. So we have to deadjust that race result and then redo the calculation.

2.483 W/kg / 0.95 = 2.613 (rounded down on purpose)

2.613 W/kg * 75 kg = 195.975 W (we round it down to 195W to be on the safe side)

Thus, as long as I never average above 195 W in any 20 min period in any race, then my 90-day best three average will never hit 2.5 W/kg and I won’t get upgraded. If I stay very close to those 195W I also have a good chance to win races because I am then operating right under the cat D performance ceiling. You can’t go much faster than that in cat D. You are not allowed to.

Typically, I will aim a little lower than 195W. If I can get the average down to something like 193W for the first hectic 20 min in a race, then I will feel better about it. Surprisingly often, though, it comes down to a choice between either dropping from a group at a race time like 00:18:37 or pushing those 193W just a tad higher. If I drop from that early group the race could be lost. If I stay with them I could risk going over limits and lose my cheater’s license. Be prepared for constant hard choices when cruising!

20 Min Periods vs 20 Min Blocks

What ZP looks at is your best 20 min period in a race. And that period could happen any time. Usually it’s the very first 20 min of the race and this is because the starts are almost always very hard, which pushes up the initial average. But you could end up in a race which starts in easy terrain but ends up in a climb, e.g. in one lap around the Lutscher route. Let’s say the bunch doesn’t push the initial descent too hard at race start but then some light guys drive up the pace in the finishing climb. Then your best 20 min period could be the very last 20 min of the race instead. This is a rare situation though, so since more often than not your first 20 min will be the hardest in terms of Watt output, and since e.g. the Wahoo app doesn’t show a trailing 20 min average, then it becomes meaningful to also think about the race as divided into consecutive 20 min blocks.

So let’s say you knew in advance that the first 20 min would be your best 20 min in terms of Watt in a race. Then your best 20 min period will happen in the first 20 min block. They will coincide. And let’s say you manage your average carefully in those first 20 min. You manage to not go over your set personal limit. Then once the race clock hits 00:20:00 the worst part is over. You know that the risk of going over limit is drastically reduced and you can relax more.

You never know in advance though. But let’s say you notice that your average Watt start to drop in the latter half of the first 20 min after a very hard start because the group you are in is slowing down compared to the first crazy minutes. This is a very common scenario. People around you can’t keep that initial crazy pace up for very long. It’s just initial positioning and then things slow down a bit. But that also means that once the first 20 min are over, given that you didn’t go over limits, then you can forget about that 20 min block. Your high Watt during the first minutes won’t hurt the rest of the race.

The First 20 Min

It becomes easier to understand what happens during the first 20 min if we visualize it in a graph. The below graph illustrates how your momentary Watt output can change over the first 20 min in a successful cruise.

On the vertical axis is your Watt. On the horizontal axis is race time in minutes. The race finishes at F after like 55 min or so. The red line shows your personal limit for this race. We will use my limit of 195W for this example. Then we have the blue line which shows your Watt output and how it changes minute by minute during the first 20 min in a cat D race.

This race starts hard at Watt way above your limit. It drops after a while because no legit cat D’s can keep that pace up for long. And it has to drop or you will get a DQ. Actually, in order for you to dodge the DQ you are going to have to end the first 20 min below your limit as compensation for the high initial effort, or your average for the first block will become higher than your limit. We can intuitively see, when illustrating it like this, that there is a relationship between the first period of the block, when your Watt are above limit, and the second period, when your Watt need to be below limit. The relationship is this:

As long as the area a is not larger than the area b, then your average will end up below limit.

Put differently, you need to make sure that area b is roomy enough to be at least equal in size to area a, meaning you need to compensate for the initial high effort by going under limit for a while. If the initial effort in a was high, then the lower you go under your limit in the b part, the faster your average will recover. If you stay closer to your limit during b, then getting your average in line with your limit will take longer.

How do you match the areas of a and b from the saddle during a race? You don’t of course, not literally. The area thing is just for illustrating a principle and during the race you are riding in the blind. You don’t think about graphs at all. But you still have to follow the principle somehow or you will get DQ’d (it will become clearer how to do that under the next heading).

Wouldn’t it be more efficient to just keep a level 195W during the first 20 min? Well, your body would definitely agree. But your sense of race tactics wouldn’t, not unless you race in an individual time trial. Since everybody else brings out the hammer the first few minutes, you must too or you won’t get in a reasonably paced group that you can draft in for the rest of the race. So you suck it up. But the weak spot here is those compensatory minutes in the first block. It feels awkward to go under limit that much as a cruiser. However, it is the same for everyone in the race. It’s not just you, the cruiser. Legit racers who never compensate during the first 20 min will get upgraded, just because of those 20 min, even though they lack in staying power and are half toast and forced to race way below limit for the rest of the race due to their fitness level. It would suck to get upgraded under those conditions, but it actually happens all the time to people with relatively high 4 min power in their power curve and an eagerness to stay with the sandbaggers. Legit racers rarely plan to get upgraded. It just happens one day and they take it from there. You have been legit yourself and you know what it’s like.

The Average for the First 20 Min

Note that the blue line, your momentary power output, in the above graph is not at all what your average Watt will look like in the Wahoo app or similar. It will behave differently, more like the below graph, given that you cruise successfully during the first 20 min.

The green line is your average corresponding to the momentary Watt output in the previous graph (blue line). So your average will start high. Then, as your Watt output decreases, it will start to drop slowly. But as long as your Watt output is still above limit your average will be nowhere near limit. Even as you start compensating by going under limit in Watt output, the average will still trail behind for some time, above limit. And chances are you will only get the average down to meet the limit in the nick of time. That is actually optimal, but those last few minutes of the first 20 min block will be scary. Will you get the average down in time?

It is during the latter part of the first 20 min block where you will have to make some hard decisions. You can’t stay with the cat C’s and the cat D sandbaggers for very long or you will never get the average down in time before the first 20 min have run out. You will have to drop at some point, usually after 10-12 min. Preferably, you drop right into the arms of a nicely paced legit cat D group so that you can get the average down while in draft. Draft helps a lot in lowering your average quickly while still maintaining decent speed.

Those last minutes of the first 20 min block are usually the most difficult part in a cruised race. It’s the make or break part. Err on the side of caution in your first cruises! Slow down considerably! I really should write those two sentences ten times, but I won’t. Read them ten times instead.

One Block Down, Now What?

So you survived the first 20 min? Well done! Now where do you go from here? Or rather, how hard do you go from here? The pace might be dictated by the slower group you dropped into and the proximity of other groups in front of you. Let’s look at that first graph again.

Should you just keep going at the same pace where you ended the first 20 min? Something like this?

If you did find a suitable group, as in “the likely frontmost group that contains cat D riders who are registered on ZP and who won’t get a DQ”, then you could sit with them for a while. You can’t go on a solo breakaway for the last 35 min anyway, even if you come from cat A because you have a performance ceiling to respect and any chasing group on the limit will go faster than you due to draft effects. You will have to get caught even if you aren’t tired. So you might as well sit with the group and then try to drop them one by one or perhaps drop them all in some climb closer to the finish.

But strictly speaking, you are going well under limits and that is a waste. A legit rider may be forced to race at that sub-limit pace because his HR is high coming out of the first minutes, he never really gets a chance to recover fully, and his fitness level doesn’t allow him to stay on the limit for the remainder of the race. It’s not how his categorization was measured anyway. He isn’t measured by ZP on his actual 1 hr performance (or 55 min in this case) but rather his assumed 1 hr performance, which ZP gets from his previous best 20 min race efforts, which are more than likely coming from the first 20 min in three races the last 90 days. There is nothing in those measures supporting that he would actually be able to pull those numbers off for a full hour, and usually people can’t, not quite. That 20 min W * 0.95 is often an overly generous estimate of the 1 hr FTP, especially for a Zwifter who is often used to shorter rides.

You, on the other hand, are a cruiser. You have overcapacity. You could stay on the limit for the entire race. Look at the x‘s in the graph above. That’s unused potential. You should strive to minimize the x area, to push up that blue line as high as you can without going over limits, because that is one of the cruiser’s two strong edges against the legit (the second edge is being able to withstand harder over-limit efforts than others, which then need to be compensated for). That’s how you win as a cruiser. However, minimizing x has to make sense. You don’t go on early solo breakaways. But if there is a faster group that you could join, faster than the one you had to end the first 20 min block with to get your average down in time, then that may be what helps you use your full potential. Oh, and there is something else.

The Post-20 Min Push

Since a cruiser typically ends the latter part of the first 20 min block underutilizing his potential because he has to get his average down, something funny sometimes happens at race time 00:20:01. He is out of the first block. He managed his average. It is just below limit. He is safe for now. And that means that he can instantly jump right back up to limit like this (if it makes sense in the tactical situation):

It’s a weird move but it follows naturally from the contrived 20 min rule of ZP’s. As long as the cruiser ended the first 20 min with an OK average, and as long as he doesn’t go over limit in the next block, then his previous 20 min are no longer a liability and won’t pull him down anymore.

In fact, while you always have to worry about high effort 20 min periods overlapping parts of two 20 min blocks, once the second 20 min block starts you can usually push it far more than just that little surge up to the limit shown above. You can actually push it like this or even harder:

The race scenario in the above graph could be that in the first 20 min you initially went with a bunch of sandbaggers in the early chaos, just to stay ahead of all legits. Then you had to drop to get your average down. You ended up in a slow moving group that helped your average. But while you were desperately grooming your average some riders from your group broke off or you were passed by faster riders from behind, and you couldn’t afford to latch on to them for fear of the health of your average.

Once the first 20 min are over, this group that helped you with the average just pulls you down and, you are not sure at this point, but perhaps those who passed you will become ZP approved contenders for the podium. But now you are no longer tied to the first 20 min. And those who passed you are still not that far ahead, just a few seconds. And their W/kg’s seem higher than your group’s although still low enough for you to be able to maintain your average during the next block by drafting on them. A firm push (x) and you could hook up with them and continue the race at a higher pace and secure your shot at the podium.

As long as the push area, x, ends up smaller than the recovery area, y, by the end of the second 20 min block your average will be fine. Or put differently, you will be fine as long as you compensate for the push by going under limits enough during the latter part of the second block, just like you did in the first block.

Dangerous Overlapping 20 Min Periods

But isn’t there a risk that you can get an overlapping 20 min period that goes over limit? If you haven’t actually got an app that tells the trailing 20 min average? You did manage the first block and on its own it turns out OK as an average. And you might have managed the second block too on its own. But isn’t there a possibility that you accidentally get a 20 min period somewhere in between 00:00:00 and 00:40:00 that goes higher than limit? Like the 20 min period within the green brace in the graph above?

There is always that risk to consider. And it’s an important point. But in the above example with the post-20 min push the risk is usually low or can at least be managed, although it comes down more to craft than to science, so to speak. I won’t go into detail to explain fully why, but as long as the race start was hard, with high Watts, and as long as your post-20 min push isn’t quite that hard, i.e. the Watts are somewhat lower this time, then you are OK. Because then you already compensated more than enough for the push by going under limits during the latter part of the first 20 min block. Going under limits paid for the hard start, but it also pays forward. It usually covers a later push just outside a 20 min block as long as the push in the new block isn’t harder than the push that the previous block was started with. And it rarely is harder.

There are situations, though, where a 20 min period can ruin everything. Luckily they don’t happen very often because race situations like that don’t occur very often, but it’s on you to make sure it stays that way. I’ll show you an artifical example of such a bad period:

I don’t know exactly what the scenario would be. I was just showing off my Paint skills. But maybe something like this:

“So uh, the start was hard as usual, and then I compensated to get the average down and all, but then I wanted to bridge to another group because there was this guy in there who was dangerous-like, and it went fine, I got him in check, and the average for the first block still turned out OK in the end, but then came the KOM and everybody was climbing like monkeys and I had to hang in there, but then after that things kinda slowed down ‘cuz we were sortta toast, and then towards the finish there’s this little climb, you know, and I thought ‘imma make a move here!’ and I did and dropped those wrung-out monkey suckers and then basically just coasted over the finish line for a guaranteed gold on ZP! Yay! Hey… wait a min… what’s this? WKG?!”

Every block in the race is under limit (the green braces). But toward the end of the first block a 20 min period starts that unfortunately happens to include two surges that aren’t compensated for with enough under-limit area (the brown brace). Each of the two surges are covered for within their respective block, but combined in an overlapping 20 min period they are not. And this will result in a WKG and possibly an upgrade on ZP.

So if you can’t monitor a trailing 20 min average (I can’t yet), then you have to play the race and your memory of its parts by ear and just make sure you don’t stack over-limit efforts too closely. But wouldn’t your total race average warn you in advance? Not necessarily. If you have been going under limit for quite some time in a race that goes on for more than two blocks and then suddenly you start to push hard toward the end of a race, then the total average might not pick up fast enough for you to notice or realize that your trailing 20 min average is actually above limit.

Restarting the Clock

If you, like me, can’t actually monitor your trailing 20 min average (I would love to hear from you if you have found a way), then what do you do with the Wahoo app or similar and the numbers in it once the app clock hits 00:20:00 and the first block is over? Do you just let it run and try to rely on the total average Watt number, even though the information it gives becomes less and less fine-grained and reliable as the race progresses? Or do you simply stop the clock, reset it and start over, i.e. you measure actual separate 20 min block instead throughout the race?

Good question. It depends. I lean towards resetting as blocks end and usually end up doing just that. In most races it makes sense, or at any rate the alternative seems worse to me. We can take a look at this graph again with the post-20 min push that I showed earlier.

When the race clock hits 00:20:00 you know that your average is fine for now. You survived the dangerous first 20 min. You want to push next and you know it is likely safe to do so since you won’t be overdoing it. You want to make sure, though, that the next 20 min period starting with the push, basically the 20 min period coinciding with the second 20 min block, ends up alright. So stopping the clock at 00:20:00 and restarting it makes sense here. You can mostly forget about the past 20 min and you are mostly interested in monitoring your average for the upcoming 20 min as it builds up. And restarting the clock does just that for you.

Spring Break

This concludes the first part of Cheat School. You now know the (intricacies of the) basics of cruising. Try it out, get a hang of it and you will find that you can start winning a lot of races as a cruiser, races you really shouldn’t be able to keep winning indefinitely. And you will understand what a house of cards Zwift racing and its rules are. It’s sickening, yes, but this isn’t you. It’s Zwift, the German board game. And you have just learned to optimize your Zwift racing (which is nothing like bike racing). Cruising is the optimal, most efficient, most successful way to race in Zwift, in the ZP version of Zwift, in the “official” and respected version of Zwift. Now take a temporary break from school and go out there and have some questionable fun!




Tagged :

Race Report: 2 Oct 2020, 3R Sand and Sequoias Race, Sand and Sequoias, 2 laps

Not much to say about the race. Easy cruise, easy win. The start list looked timid.

No heavies. Perhaps just one guy who could pass as a semi-cruiser. Loads of late and unregistered signups, a quite well attended race in fact. I have had the feeling lately that fewer and fewer of new subscribers bother with registering on ZP, which is a good thing. ZP must go.

They kicked off all cats simultaneously, a terrible idea. Only four registered riders in cat D passed the needle’s eye at the finish. There was a lot of yellow dots who went way too far sticking with the blue dots. Most of the few registered legits must have got a DQ for the first 20 min. Later on they were all doing a modest pace but by then it was too late.

I made the race unnecessarily hard by racing against riders I knew were unregistered, not really dropping in power over the race. At least it made for a better workout that way.

This was really a low blow. There was no challenge in this race. Another race half an hour later on the same course but just one lap would have been way harder because of a tricky start list.

Tagged :

Cheat School: 4. Race Selection

It is time for you to cruise your first race. The first time you are probably cruising out of category, without a proper cheater’s license, as a first step in downgrading to a lower cat. Or just to try it out to see what it is like. You really should, even if you hate cheating. You really should, just because you hate cheating.

You could also cruise against a lower cat, in your mind, while racing your normal cat, as long as it is a race with visible off-cats and simultaneous starts, but I would advise against it. That would be a simulation at best. Those you attempt to cruise against will react differently to you than if you were to cruise in the same cat as them. There is no point in trying to win against you, so they will give you a much easier time. If you want to try out cruising for real, then you will have to accept that UPG tag in your ZP race history. I know, it ain’t pretty, but neither is Zwift’s racing. What, Zwift really thought the frogs they kissed in their own stinking frog pond would turn into princes? Fat chance… rrrrribbit!

Race Selection

Look for suitable races to cruise in the Zwift Companion app or, preferably, from today’s event list on ZP. On your first cruise you would do well to choose a race with not too many and not too few ZP registered participants in the cruising cat of your choice. Something like 10-20 might be a good number early on. That is enough people to create some dynamics, to make it interesting and a good learning experience, but still not too many to become chaotic.

Remember that many participants will sign up late, on a whim, so if you see early on that 9 or 10 have already signed up, then that figure will usually rise in the last few minutes before the race. There is a lag between Zwift and ZP to consider, so check the Companion app too. Also remember that what you see on ZP are only the racers that ZP knows of since before. There will be a fair few unregistered legit racers and sandbaggers too on top of that.

An Example

We are going to go through an example of somewhat advanced cruiser race selection. You don’t have to do all this in your first cruises. On the contrary, it is better if you don’t get too tangled up with tactics and hypotheses about other participants early on. You should concentrate on managing your average and only that, because that can be tricky enough and we don’t want you to get overwhelmed in the beginning. Soon enough, once you have your cruising under control, you can start to aim for podiums and then the below will make sense to you without becoming overwhelming. So read it through once and come back to this post later on for a re-read.

Now, let’s assume you are a cat B rider who would like to cruise in cat C. You happen to find the below race in the ZP events list 20 min before the race (I have edited out all names as usual so it will look a little different for you).

With 12 signups already and with time still for more to join, this could be a suitable and interesting race. At first glance it actually seems like the perfect beginner’s race for an aspiring cruiser!

We notice immediately that only two sandbaggers have signed up so far, one from cat A and one from your cat, and this is an unusually low figure. There will be more in the last few minutes, count on that. Most sandbaggers tend to avoid advertising their presence. Oh, don’t worry, they are just on a recovery from injury and wanted a slow ride and have absolutely no ambition to snatch the podium from under your nose. But they still made sure to not let you know too early as to not scare you away. How thoughtful!

Generally don’t worry about sandbaggers though. Tell them to invite a few more friends. Just make sure you don’t get carried away and try to follow them too far after the start as they will probably not stay under cat limits even after the first few hard minutes.

We note here, however, that the sandbagger from cat B is actually not very strong in his cat, if you look at his past efforts (3.5 W/kg * 0.95 = 3.3 W/kg). In this race he may well end up cruising with you, and as a cruiser he could be a force to be reckoned with. Even worse, if he isn’t deliberately cruising the race, then he might go full speed instead, which is only slightly above the performance ceiling in his case. It could prove dangerous to follow this guy if he has a say in setting the pace. You can get baited into going over limits. Watch your average W/kg!


When looking at the list we instantly notice one guy (Danish, 3rd row) who ZP hasn’t categorized yet in three previous races. You can tell because he doesn’t have that mini C icon like everyone else and his rank score is at the default starting point of 600.00. However, don’t take him for a lamb just because he is new!

We can see that he has an excellent lap time on the route and at impressive Watts and W/kg. This guy could spell trouble. He is likely not a cruiser but might put up a good fight, and remember it doesn’t matter if you can do 4.0 W/kg in your regular cat B races. You can’t do that here. You race under the same performance ceiling as him and you could both risk going over limits if you push each other too hard. Your strategy against him will be to wear him down long before the finish. If it turns out he is not droppable, then you aim to make sure his legs are too sour for a really strong sprint finish. The difference in 15 sec performance can be lower on average and is far more variable from rider to rider between one cat and the next than the 20 min average. Always have a healthy fear of the legit rider’s sprint.

There is also another guy who hasn’t raced before. It’s the Dutch guy just below the Dane we just talked about. He is categorized but ZP has no knowledge of any past 20 min or 15 sec performance. He is a wildcard and you can’t completely rule out that he is top of category even though the odds speak against it. But you have bigger concerns. Forget about him for now.


Now look at weights. In the bottom row, for example, is a Dutch guy who weighs 92 kg. If that means he is considerably heavier than you, then he could pose a threat. The deciding factor is his W/kg. In this case it turns out he has been able to push 3.4 W/kg for 20 min, meaning he is on top of category. He might be able to do whatever it takes to stay in the race. Neither his 20 min fitness nor his weight is an obstacle for him. The only potential weakness is his staying power. Can he do 3.4 W/kg for longer than 20 min? For the entire race? You can.

The Dutch heavy can be a problem to you, although you don’t know the full extent of it yet. What you know for sure is that he is allowed to go faster than you on the flat in the first crucial 20 min of the race without going over limits. That doesn’t necessarily mean that he will. It all depends on the speed of the group you are in. Just be aware that you could end up in situations where you can’t keep up with him. It’s not that your fitness wouldn’t allow it. If you come from the upper end of cat B you could easily smash him in a normal race. But Zwift races are not normal. They are German board games. In a high-speed group you may have to produce Watts high enough for you to go over W/kg limits while he still has a margin. You will be forced to drop because you need to avoid a DQ. He won’t. You are stronger than this guy but you are not allowed to drop him. He can drop you though!

On the upside, we notice that this guy’s 15 sec record isn’t particularly high. It doesn’t necessarily mean that he can’t sprint well, but at least he has no track record of it. So as long as you can allow yourself to stay with him, and if it turns out he can’t be dropped, then maybe you can outsprint him at least. Usually that’s not the case with heavies if you’re light. They often have stronger legs.

Rank Score

We notice something else about the Dutch heavy. His ranking is far from the default 600. And that’s bad news. Without going into too much detail – you can get those from ZP – your rank drops permanently by a few points every time you place well in a race. The higher the placing, the more points are deducted. So a low rank is a good rank.

People in higher categories get naturally lower ranks, which you can see if you look at the cat A sandbagger. But there is nothing stopping a cat C from reaching a low rank if he does well in races and keeps at it since the rank score can only decrease. So what if you spot a cat D or even a cat C with a remarkably low rank among the signups for a race? Well, there could be a natural explanation. Maybe he has been racing for years. Every once in a while you get lucky even if you aren’t very strong in your cat, and then your rank drops permanently, bit by bit. If he is good, though, and he races frequently, then getting to a low rank happens much quicker.

Wait a minute, a low rank in a low cat tells us something else too, doesn’t it? It tells us that this individual has not moved on to a higher cat, or if he has, then he has been downgraded since. If he hasn’t actually been racing for years, and you can easily find out by clicking his name and studying his past races, then how do you explain his stable fitness level? Sometimes it’s a heavy rider who has plateau’d and can’t or won’t increase his fitness further. Being heavier than the average cat C racer, he runs little risk of getting DQ’d or upgraded because his W/kg will be lower than his peers’. But what if he isn’t heavy even? Yes, you’ve got it. Then it’s another cruiser like you!

Track Record

If we leave the poor Dutch heavy and move on to the rest of the participant list (repeated above), there is actually more to discover in it. For example, if you look at 2nd row, there is one English guy with a shocking rank score of 434, a score you normally don’t get to unless you have raced in cat B. And he is not heavy at all!

To make things even worse, there is a very unusual discrepancy between his 20 min W/g and his 15 sec W/kg. He is on top of cat C. It may seem like he is above cat C with his 3.4 W/kg, but you have to remember that his best 20 min get multiplied by 0.95, i.e. 3.23 W/kg, only slightly above limits, something his 90-day average has tolerated (obviously, or he would have been upgraded). Now, 3.4 W/kg in cat C is one thing, but he can sprint at 11.0 W/kg! Sure, but he’s light, you may think. Maybe his actual Watts aren’t that high? But they are! They are the second highest after the cat A sandbagger!

We clearly need to check this guy out. Let’s click his name in the start list!

We need to go through his race history to figure out what is hiding behind this avatar. Although the dates and races have been edited out in the picture, I can reveal that this guy has been racing for almost two years. He was cat C until early Jan 2020, when a win with an adjusted best 20 min of 3.33 W/kg brought his 90-day average above limits and he got upgraded to cat B.

The very day after his upgrade he joins a cat B race and suddenly performs worse than before, an adjusted 3.0 W/kg, well within cat C limits. Hmm… And then just in a matter of days he joins a few more races in cat B, staying within cat C limits every time except his second B race where he must have been baited into going ever so slightly above limits, 3.21 W/kg, which is still fine since the average of his three best races from cat B is well below 3.2 W/kg.

Then he stops racing for 90 days. Patiently he waits for his decat. Once he has renewed his cheater’s license he starts racing in cat C again but scews up his third race and gets a DQ for going over limits (WKG). Then he apparently takes a break from Zwift, staying outdoors presumably, but over three months later, in Sep 2020, he is back with a vengeance and can build a new 90-day average where the WKG no longer reduces his wiggle room under the 3.2 W/kg cat ceiling – he can make full use of it again.

The summer did him good apparently. He immediately goes on a winning spree you rarely see, even among cruisers. Seven straight podiums! Six wins! And that’s just the beginning of the rest of the story. As you can see, his last result was still processing when I took the screenshot.

Let’s look further at his stats. We know already of his very strong sprint for a cat C. We now notice his exceptional Punch index of 96.3% (the blue bar in the upper right corner). And we also notice that his NP, his Normalized Power, has these partial colorings. Red, orange and green. You can read up on the details on ZP, but what it tells us is that this guy’s Watts varies a lot during his races. His peaks deviate highly from his average Watts. Partly, it can be explained by his strong sprint efforts. But it doesn’t take a genious to figure out that in a climb this is the kind of guy who drops you like a half-eaten jambon-fromage from the Eiffel tower.

In fact, this is one of the most determined and scary-looking cruisers I have ever seen.

The Decision

The other participants in the race pale by comparison to this cruiser ace, but there are still more in the starting list who could be problematic! (I won’t go through it.) So what initially looked like a perfectly fine race to cruise in actually turns out to be a complete nightmare.

This is one race I would stay clear of. There are two reasons. First, there is too much competition for the podium, to many contestants. And you don’t cruise to lose. Second, it’s a high-risk race. There is likely going to be one hell of a pace and you might end up in too many too difficult decisions whether to stay with others or to drop to save your average. It’s your (future) cheater’s license at risk here and it’s not worth the WKG or upgrade to participate in this single race. There are plenty of other alternatives in the schedule. Leave it and take consolation in the fact that the race will be a nightmare even without you. Some other guys might be taking hits to their 90-day averages in your absence which is good for you.

If you don’t bother with the pre-race research in your first cruises (and you shouldn’t), then you’ll just have to deal with it as it unfolds. The important point, your only objective in your first cruises, is to stay alive, i.e. to not get carried away and let your average drift away. Full focus on the average and you’ll be fine. But you won’t win of course. Winning comes later with more experience. At that stage, what we went through in the signup list here won’t seem complicated at all to you, because by then every number in all those ZP tables will be meaningful to you. And you will be able to do the above exercise in just a matter of minutes, which also happens to be all you got since it’s the time available between a decently filled starting list and your deadline to sign up yourself.

Signing Up

You should never sign up early to a race as a cruiser. That’s actually one of the few mistakes this ace cruiser does. If you are familiar with investments, or poker, you will have come across the term expected value (EV) before, i.e. the payout on average from a certain investment, or move in poker, after your costs have been deducted. Negative EV means that on average you will run at a loss if you would repeat the move over and over. Like when playing roulette at a casino or buying a lottery ticket. You may win once or twice in roulette or the lotteries, but in the long run you will lose money because the game is stacked against you. And signing up early is a negative EV move. You might get lucky and then it doesn’t matter, but there is no actual upside to signing up early. The only payout you get from signing up early is zero effect or negative repercussions on the race, and in the long run you will run at a deficit. (You need to think like this as a cruiser, not just when signing up but in many situations.)

Think about it. Does it matter when you sign up? Not to the average Joe, José or Jürgen. He won’t look at the start list. He might not even know it exists. Would anyone look? A cruiser would. Now ask yourself, what cruiser would join your race after having had a look at the start list, where he spotted you in there, had a glance at your race history and realized that you were a cruiser too? Only a cruiser who thinks he can beat you of course! And you don’t want to race against him. You should be the one making the choice who to race, not him. So sign up late.

Signing up late helps you make informed decisions. Scout for suitable races ahead of time but have a last quick check 5-10 min before race start. Does the race still look reasonable? Then sign up and warm up quickly. Has the race turned sour due to certain late arrivals? Well, you’re dressed, the water bottle is filled and you’re warmed up already. Go do something else in Zwift. Do a hard solo workout. You’ll need it if you cruise a lot. Or wait for another race a little later in the schedule if you have the time. There are always more races.

Remember, though, that there are no perfect races for a cruiser. A picky cruiser doesn’t get out much. There will always be adversaries, only sometimes enough is enough, like in the race above. And the adversaries you have to put up with are mainly not legit racers in your cruising cat. You don’t really compete for podiums against legit racers. You are cheating. You expect to win against them. Not always but often enough. Your true opponents are cruisers, heavies, lightweight women, light junior cyclists, anyone with an unfair advantage like yours, or worse. It’s them you battle for the podium.

Groping for Edges in the Dark

A perfect race for a cruiser would be a race with just a bunch of mid-cat legits signed up. You could crush all of them. But races like that don’t really exist. So how do you know when to accept a race with contestants in it and when not to? How do you tell apart a promising race and a plain bad race? Where do you draw the line? It’s all about edges. Your edges. You need to be able to picture a scenario where you win the race. Exactly how could you win a certain race? This takes experience and will not be so hard to decide later on.

Let’s play around a little with the above race just as an example. Is there any way you could win this race, including beating the cruiser ace? Yes, there is. Let’s say you happen to be one of those 18-wheelers in Zwift, a superheavy at, say, 117 kg. And let’s say you can perform well right under the ceiling and do a 20 min 3.4 W/kg easily. And then another. And then another. Then there is a child’s play strategy just for you, although it would have been even better if the route had been Tick Tock rather than Titan’s Grove.

The plan is to end this mid race. You are concerned about the hills but not overly so since you can make up for it on the flat, and then some. What you don’t want is to take it to the sprint finish. So at start you go as hard as your average will allow. Stay with the sandbaggers for as long as possible. Your average W/kg can take much higher Watts and much higher km/h on the flat than the cruiser ace can since he is so light. If you are lucky with the speeds of the early groups you are with, then this might actually be enough to create early time separation that can’t bridge. And it should take care of the other contestants as well. But if it isn’t enough, if he manages to survive the first 20 min without a DQ and is still with you, then if your group at the time moves too slow you just go on a solo breakaway at cat limit. Your fitness can take it and it will by definition be faster on the flat than the average group can go. He is forced to follow you or he will lose the race. He will suck your wheel to minimize his average. But it won’t be enough! Just keep hammering the fuck out of the little shit. He will be banking on your getting tired and cutting pace, but since you won’t (you may actually have to work hard for real here for a change) he will either be forced to drop or face a DQ. As long as you are in control and set the rules here, then it’s impossible for him to win.

This plan could sort of work even if you are quite a bit lighter although still heavy. But then you might have to scrap the cheesy solo breakaway. He will follow and sucking your wheel might equalize your averages, so it’s a no-go. Do the maths in advance and see if it’s possible or not (I won’t go through that here). So then your strategy rather relies on influencing the group speed to such levels that he can’t keep up without a DQ. You can’t stay in the wind too much (or you’d be able to go on that solo breakaway) but stay near the front and help pull. Keep adjusting up the pace.

So what were the edges here? It’s your weight and it’s going steady. The cruiser’s edge isn’t his overcapacity, because you have that too. It’s his explosivity, especially uphill. So you go steady, steadily too fast on the flat for the cruiser ace, exploiting your weight advantage. And if that isn’t enough, then you still have a shot at silver on ZP, which counts for something at least. At any rate there is a winning scenario in your mind. If you can’t come up with a single winning scenario given a certain start list and given a certain course, then chances are you are absolutely right and then the race isn’t for you since it could be unwinnable. That is one thing you need to be aware of. There are races that are unwinnable and that is because of the performance ceilings.

Informed Cruising

Once you have decided on a race, then what do you do with all the information you just dug up? Do you just forget about it now that you think you have picked a race with not too many problems in it? No, absolutely not! You memorize the information! Or write it down or make it otherwise visible and accessible during the race if it is indeed too much to keep in your head e.g. in a race with a huge start list. All of these little details are highly valuable intel and will influence many of your decisions in the race. You didn’t dig it up just for the race selection. Like we said, there are no perfect cruises, so you will have to bring the information with you into the race. And cruising is not about going out there making your best aerobic effort. Cruising is more of a mind game. Zwift is a German board game and not a bike race.

Does it seem hard to remember a lot of names and numbers? It does when you are new to thinking like this. But you must not forget that right now all these pieces of information probably mean very little to you. It is only when you have cruised a fair few races that it all falls into place and then the information turns from meaningless into very meaningful and revealing.

What does it mean to you that so and so is heavy and seems to be able to break the early 20 min ceiling with ease but seems to have somewhat low staying power? It only means something to you if have raced against similar people before. Then information like that also becomes much easier to remember without even trying. It might even be hard to forget, so you start remembering e.g. cruisers you have met in previous races. “Oh no, not that guy again…” And you can quickly visualize what cruising a race on such and such a route will be like with so and so a guy in it. So don’t worry and don’t push yourself too much early on. It will all fall into place soon enough.

Bonne chance in your race selection! Next lesson will teach you how to manage your average W/kg in a cruised race.

Tagged :