I’ve lost hundreds of Zwift races in a variety of ways, but today was a new experience: purposely racing up a category (moving from B to A) just to see what happened.
Sure, I’ve done some “mixed cat” races, where everyone starts together but the results are divided by category. And the A’s handed me my butt on a silver platter at those events! But I’d never raced against just the A’s. And I had never raced any A riders, even in a mixed group, in a short event like Crit City.
So I wasn’t sure what to expect. Would I get dropped by a hard start? Would repeated attacks eventually break me? Or could I hold on all the way to the finish? I didn’t think I’d make it to the end in the front group. But there was only one way to find out!
Warmup
My alarm went off at 4:45am and I immediately began questioning my plans. Was I really going to take on an A race this morning? 8 laps of Downtown Dolphin. Could I survive the punchy prime climb against the w/kg powerhouses? And why did my legs hurt already?
Running Legs
I had gone for a pathetically slow, short run the day before, and my legs were tight and sore. Does anyone else have this problem? I run so infrequently that when it does happen my legs hurt for 2 days. It’s ridiculous and fascinating how our bodies work. I can ride my bike for 4 hours with no pain the next day, but get me running for more than 15 minutes and I’ll feel it for 48 hours!
The good news is: I’ve learned that my legs being “running sore” doesn’t mean they’re ruined for cycling. And in fact, riding seems to help them recover from running. So I climbed out of bed and got to work.
[adinserter block=”1″]
Race Prep
I’d done a little reading recently about the benefits of caffeine for cyclists, and those articles seemed to agree on two things:
- I need more than 100mg of caffeine for any noticeable performance effect
- I needed the caffeine in my system hours before the event, not minutes, for maximum effect
I wasn’t going to wake up at 3am to chew caffeine gum, but I figured I would pop two pieces (200mg of caffeine) as early as possible this morning and see how it worked out. Slapped on some PR lotion as well, of course – because that’s what I do!
Then it was off to Tempus Fugit for a quick warmup. The legs felt ok, and I was able to get my heart rate up into the 160’s, so things looked good for a strong race effort. Let’s go!
The Start

There was a decent number of riders (39) in the A pen. I’ve noticed that some of my B race lap times have been faster than the A race happening at the same time, but in those cases the B field was always much larger than the A field so it wasn’t surprising. (My race earlier this week is a good example.)
We had a larger group today, though, so I knew our lap times would be fast. And I hoped this meant I could stay in contact with the front group by riding smart: sitting in the draft, letting the group pull me around, and letting other riders close down any breakaways. That was my survival plan.
The A start pen was all business – no pre-race chatter. “Is this how the big boys do it?” I thought to myself. I played it cool, like I knew what was going on, like I deserved to be there among these strong racers. But as Owl City’s “It’s Always a Good Time” ironically played in my earbuds I knew I was deluding myself: this was going to hurt. I’d probably get shelled quickly. How much of the race would I be riding by myself?
Focus Eric, focus. Just hold the wheels.
The clock hit zero, and we were off. I pushed especially hard, not wanting to get dropped if the group quickly charged away. But the pace wasn’t as high as I’d anticipated: ~400 watts for 50 seconds then we settled into a rhythm.
The first lap was done in 2 minutes and 5 seconds. Of course, I didn’t know this at the time: I just knew we were moving fast. (As it turns out, every lap of this race would be faster than my previous best racing as a B. More on that later.)
The Middle
Our group settled into a rhythm: easier through the start/finish banner, hard up the bricks to the prime banner, then easier again back to the start/finish. The pace was tough, but doable. We were pushing harder than any of the Crity City B races I’ve done, but I was able to hang on.
This surprised me, to be honest. Even up the little prime climb, where I thought the power-to-weight monsters would go hard and I’d get dropped, I found myself able to stay near the front of the group. Were they just waiting until later to pounce, knowing a breakaway wouldn’t stick for long at these high speeds? I wasn’t sure, but I tried to stay alert, maintain a good pack position, and recover every chance (and powerup) I got. Popping the van after the prime climb on the 4th lap was especially helpful.

Our group was whittled down from 39 to 20 by the halfway point of the race.
Fake Attacks/Real Attacks
One rider, “D. Alban”, had his FTP set too low. How did I know this? Because his avatar was out of the saddle sprinting almost the entire race! (Read how sprinting posture is determined by your FTP setting). It was comical, but it was also annoying because every time I saw him “sprinting” I instinctively went on alert to defend against his attack. But that attack never came. Not from D. Alban, at least.
On the 5th lap, some riders hit the bricks hard, stringing out the pack. Gaps were opening up, I was a ways back in the group, so all I could do was pray that we would all come back together as I worked to hold the wheels ahead. It was touch and go until we hit the hairpin before the start/finish banner, but the group eased up and came back together, “resting” until the final laps.

The Finish
The final two laps of a Crit City race are always nailbiters. In my experience, everyone is on edge, watching for a long attack on the penultimate lap – but that attack never comes. It’s the final lap where everything goes crazy. It’s not a question of if, but when.
On Downtown Dolphin, that when is usually up the brick climb. Whoever attacks there usually doesn’t win, but they do succeed in stretching the field out. The winners are the strong sprinters who can handle the attack and staying within striking distance until they launch their wattage assault in the final seconds.
Our front pack hit the bricks fast, and we began to stretch out as riders pushed hard off the front. I was giving it all I had to stay in touch, but the front of the group was getting further away! I kept hammering, then deployed my aero powerup near the bottom of the twisty descent. That’s when I shifted and got out of the saddle for the final sprint. I knew the front of the race was too far away for me to catch, but I thought I might be able to pass a few riders, so I gave it everything I had.
Which admittedly wasn’t much. My legs were cooked and my heart and lungs were maxed out!
I crossed the line in 11th according to Zwift’s results… ZwiftPower would place me 8th. It wasn’t a win. But finishing just 3 seconds behind the winner certainly felt like a big accomplishment to me.
See my ride on Strava >
See my ride on Zwift.com >
See race results on ZwiftPower.com >

FTP Increase?
Zwift’s race results showed me averaging 329 watts (3.9w/kg), which is more than I’ve ever done in a Zwift race. This makes sense: I would logically get my highest average wattage in a short Crit City race, and this was my first time racing as an A, so the pace was bound to be higher than the B’s.
Here’s where it gets weird, though. I was greeted with this when saving my ride:

I’m not sure how Zwift got the 314 number, since I averaged 329 for the race, which only lasted 19 minutes and 44 seconds. My 20-minute power for the event was 323 according to Strava, which would put my detected FTP (95% of 20 minute power) at 306-307.
TrainingPeaks sent me an automated email saying I’d hit a new threshold value of 308. That seems pretty accurate. My previous threshold value was 301, from a recent Crit City race.
Riding at Threshold
This race definitely pushed me to the edge of my abilities. One way I know this is by looking at my heart rate, which usually stays consistent throughout a Crit City race, until the final lap. Each lap will show my heart rate bumping up on the uphill portions, then dropping down as I recover – but overall, each lap’s average heart rate is about the same until the final effort. Here’s an example from a Downtown Dolphin race I did back in December (average power: 309):

Check out today’s A race, though – this is what bumping up the power average by 20 watts will do!

This is what riding just over threshold looks like. You can see how my heart rate steadily increased throughout the race – meaning this was not a sustainable (eg, 1-hour) pace for me! My first lap was done at 168bpm, then the second lap was 170, then 172, 175… it just kept climbing!
Lap Times
As I mentioned above, every lap of this race was faster than my previous best on Downtown Dolphin (2:09). Our lap times ranged from 2:03 (final lap) to 2:07, whereas most of my B races have lap times closer to 2:12-2:20.
I didn’t feel like I was working that much harder in this race, but the heart rate and power data definitely show me pushing my limits to keep up.
Takeaways
Here are my takeaways from this race:
- I can hang with the A’s, at least in a short Crit City race. This is a big deal, because if I’m able to stay in contact with the front of the race, it makes things more fun. And that means I’ll be willing to race the A’s more often. Racing against stronger riders helps us get faster, but it’s no fun if you get dropped hard and early every time. But today was (type II) fun!
- When I’m going hard, it’s tough to go harder. Like my B race earlier this week, today’s race showed me that I lack the fitness to deliver a strong sprint after pushing well over threshold to stay near the front of a hard-charging pack in the final seconds of the race. More training required.
Your Thoughts
Are you a B who has raced in the A’s? How does my experience line up with yours? Share below!

FTP 329 x 0.95 for 313W (rounded) with a common Zwift 1W quirk? I know 19m 44s isn’t quite 20m but it’s probably more accurate than taking your next 16s of practically no power into account after the line. If the line was 16s up the road chances are you would have no problem keeping the average at or above 329W for that short period of time.
Does Zwift have a common sense FTP calculation incorporated somewhere?!
Unfortunately for me my common sense tells me that 0.95 of anything I can do over 20 minutes is too generous, more like 0.92 😭
I do a lot of long and hilly Zwift rides, which over the years has added up to greatly improved aerobic fitness, even when compared to the time 15 years ago when I ran a few marathons (fastest finish: 3:24). My hypothetical age-based maximum heart rate is 162, but yesterday I ran a 5k in which I averaged 161 for the entire race and ran the last 3k at around 168. My measured maximum heart rate is around 175. (I’ve a bit of knee arthritis, so I still run but do much of my training on a Zwift bike, which is easier on the knees.)
All that fitness comes in handy in flat races like Crit City, which I almost always race with the A’s. I’m bigger than most riders, so the relatively flat Crit City course gives me a chance. My size lets me put out a lot of watts on the bike, but the watt/kg numbers are usually lower than the other A’s. I’ve finished in the front group at Crit City with an average watts/kg that’s typically around 3.9 to 4.1. (And I’ve completely dogged a race or two, including a London Classique race with the A’s that found me quickly left behind with a ~2.7 watt/kg average, which was all I could muster that day.)
I’ve found these races to be extremely good for building sharp-effort fitness. Typically, I complete a Crit City race averaging around 90% of maximum heart rate for the 20 to 22 minutes it takes to finish a race. On every lap, riders push the pace hard through the rollers. There are occasional attacks when we hit the bricks after the rollers. After the KOM banner, the pace usually settles in the downhill so people can recover. There are often attacks in the slight uphill section that follows. The few B Crit City races I’ve done have been similar, though perhaps the actual measured effort was a bit less strenuous, as in your experience.
Nevertheless, the biggest difference with the A’s is the last lap. On the last lap, there are a lot of attacks. Somebody will attack on the rollers. Somebody else will attack after the rollers when we hit the bricks. There will be multiple attacks after the KOM banner. I remember a few times when somebody attacked on the downhill after the KOM banner, perhaps to keep the pack strung out after the KOM attack. After the KOM, there are attacks right after the downhill; early finishing attacks by riders hoping to get a gap on the front group right before the finish banner; and of course the final sprint, which is always hard. The last lap pace is brutal. I’ve been dropped several times by these successive attacks; I’ve also hung with the front group; I’ve even attacked myself, with limited success. I’ve never made a podium. I think my highest finishing place is around 7th.
But these races always help to improve my riding and running.
Nice effort Eric. Your observation of the starting pace is interesting – do other single category races share this? I’ve only done mixed-cat events, where I presume the A’s try to shell as many people as possible with ballistic starts.
As for sore running legs, I’m the same. I’m wanting to do another half-marathon this year – I need at least 2-3 days between runs. This is probably due to my forefoot style and excessive pressure it puts on my calves/soleus. Like you, it doesn’t impact cycling performance.
I do mixed cat races so rarely that I can’t say for sure… but my guess would be that they start pretty hard for exactly the reason you state. Trying to shell all those hangers-on!
I’ve found similar results however it really depends on whether the race is dominated by A’s or A+‘s. I’ve found I can now hang and even compete in many A races however there is the occasional race where someone completely drills it out of the pen and I get dropped. Also look for flatish races as those are easier to hang. For any inclines I try to ramp up from back of the front pack around 5-8 seconds before the incline. That way I hit the front and incline at 2-3 mph faster than the group. That helps offset against surges for the 30-60 second inclines.
Good advice for those short climbs!
Enjoyed reading your post. Nice job hanging in with the A’s.
Thanks David!
Hey Eric! Nice recap. I do race in the A’s, and must say that one was a pretty fast race. Anyone below 20 min is. Not sure I have ever took part in one as fast as yours. And yeah that crit races are like FTP tests for me. And I would say that most times the crit pace isn’t sustainable for an hour, even for the A’s. Looking forward to find you in a crit race soon! Cheers
Great ride Eric! Your story basically described my findings in Zwift. I joined December 2019 and started with an ftp of 200. I started doing the Tour De Zwift races class C and after a few weeks I was hanging with the front group at the finish. I never won but one but was with in seconds of the leaders. Then I joined Zwift power and at this point my FTP was bumped up to 274. My w/kg numbers now put me solidly in the B category. I entered a crit city B race same one you did and another I don’t remember what it was and got creamed! Why because I am really a C level racer. In those C races I am all out. And for 30 minutes I can hold those numbers and my heart rate is through the roof. Like you said it is not sustainable. I have done a couple of longer races too Which brings back to the C level I really am. It seems maybe race placement would be better defined by a longer FTP segment instead of 20 minutes. All in all it is still great fun and glad I signed up. Happy riding!
Eric, I’ve done a lot of multiple recording of my races on zwift. The strava data includes everything from the instant I launch in the pens, whereas zwiftpower starts wherever the race segments start (start banner, etc). It depends on the course how big of a time difference that is, but not unusual for it to be 15 seconds or so. When I sprint out of the pen, strava uses all of that sprint data in the CP calculations, but zwiftpower is missing some of that sprint power spike at the start. Hope that makes sense.
Is it possible that your ramp-up before the race started was longer than 16 seconds, and that when that wattage is added to your actual race output, it gave you the new FTP value?
Curios how your recovery is from this ride
My issue isn’t racing w the A’s, it’s the inevitable blowups that happen in A, which take much longer to recover from, that usually do me in
I can race B 3-4x / week, but 2x As usually shatter me
I was pretty hammered the next day! Although I followed up this race with a 90-minute zone 1-2 ride. My legs were toasty the next day.
The race only being 20 minutes helped. If it was a longer race I would have been much more wrecked.
Zwift classifies by watts/kg, which means that in a flat race an 80kg B rider putting out 315 watts will be faster than a 60 kg A rider putting out 240 watts. This, despite the fact that both are solidly in their proper categories. I. can only speak for myself, but it means I avoid flat races because I have no chance at all. This is the same in the real world except the big and small riders would be in the same category (assuming the same progression of racing success). I think you have successfully provided empirical data pointing to a smal weakness in th zwift category system.
Ah–but ZwiftPower’s categories only require you to upgrade from B to A if you’ve got an FTP of 4.0w/kg+ AND it’s 250 watts or more. So in your example, the lighter rider could race the B’s.
That’s why ZwiftPower has the pure wattage limits in place as well. It’s not perfect, but it’s better than just using w/kg.
See this limits at https://zwiftpower.com/ in the box titled “ZwiftPower Historic Category”
Hey Eric – I saw your need for caffeine at 4 a.m. – lol. I use to get up at 4 and be turning the pedals at 4:30. I could not do it, I was sluggish, blah, etc. Somewhere in my hunt to ‘wake up’, I ran across PerformElite and it changed my red eye workouts by a zillion percent! Google it and you will find it. It simply is a 4 a.m. life saver!
I actually feel perfectly awake (I’m a morning person)–the caffeine is really to enhance performance and focus. I would take it if I raced later in the day, too.
Try it. It definitely enhances performance and focus. I believe they have a satisfaction guarantee. They may send you a sample or two – ask Matt Mosman if he can do that.
Nothing like a little Lion’s mane and Turkey Tail at 4am. Have you read the ingredients on that stuff?
Yes. Do you see something I don’t?
Great job! Nice race report, and way to step and give A’s a shot.