Best Zwift Result Ever! 1st Place on Zwift Racing Makuri May Round 2 – 2025

  • First out of 24 riders (I thought 30+ started) on Turf N Surf.
  • Started with a Zwift Racing Score around 560 so I was in the lower middle of the 510-650 tier, not necessarily a favorite for the race. Zwift Racing Score now at 578.
  • ZwiftPower ranking now at 166.3. Achieved best all time ZwiftPower race score: 143.50.
  • Personal 5 Minute Record of 5.1w/kg to close the race uphill on a 2024 Aeroad + DT Swiss disc combo. 92.6% percentile score in w/kg for my 40-49 age group of 17K+ athletes on Intervals.icu.
  • Intervals.icu FTP now predicted at 270w.

This is a snapshot of the power on the final climb to the finish line. I fluctuated from 4.6 to 6.9w/kg for those 5 minutes.

The approach to the race was pretty straight forward: hang in the group and see if I could separate on the two short climbs – you can see them roughly in the altitude map above at the 15km and 22km marks.

I don’t think there is much to Zwift strategy when you are riding by yourself. Do as little as possible until there’s a point where you can show your strengths. In a flat map, for example, there isn’t a particular strength for me, so that means I hang out to the fastest group I possibly can for as long as I can and then try to try to use momentum in pack dynamics for a strong finish at the sprint.

Turf N Surf is an ideal type of map for me, a climb towards the end where I can use my relatively light weight and high power to weight to separate myself from people who have bigger builds and more power.

You can see this recording of the race, taken from another competitor’s perspective (1hr:05:14), to see the start of the deciding climb. I am “M.Nguyen” wearing a gray jersey with squirrel in back pocket.

In this race, almost the entire race group stayed together, perhaps until the second and last sustained climb. There was an early breakaway, but I let that go. Two riders built such a big lead so quickly, I didn’t think there was any way I could catch up without killing myself in the process and bringing the rest of the group with me so I just stayed in the group, conserving energy. Surprisingly, those lead riders were brought back quickly.

As we hit some small rolling hills, I just had to make sure I adjusted my power so I wouldn’t get dropped off the back of the group and did a good job. When we hit the first climb, I accelerated through the group and realized I was going to pass everyone, but didn’t think that was a good idea with a descent and second climb coming, so I slowed down to stay with the lead riders. I wasn’t sure whether everyone else was taking it easy and waiting for the second climb, or whether I had a good advantage in climbing. Even if it were the latter, I didn’t want to risk using all my energy and not having a final burst for the second climb.

As we hit the final climb, I went all out. From early research, I knew that this final part would take me about 5 minutes. I didn’t sprint up but I went really hard out of the saddle and just tried to sustain power. I had a feather power up (to reduce my weight and improve my speed up the climb) but used it towards the end of the climb to give my avatar a boost towards the end. I would rather end strongly with a boost then begin with it, to discourage anyone who goes all out at the beginning.

As I got close to the end of the climb, with about 1km to the finish line, I noticed I had a two second gap on the group. Otherwise, I wasn’t even looking at the screen – I just wanted to put power down and not worry about what anyone else was doing. I didn’t think two seconds was going to be enough as I neared the crest and would have a final .6km slight downhill left so I just kept the power and decided to put as much power down as I possibly could until I finished the race because the other riders could have some reserves available for a sprint. I needed to do what I could to discourage other riders from thinking they could make up the gap back to me – this was a push until I broke apart move.

In the end, that was enough, and I won by over 4 seconds, which is a lot considering almost all the riders were together with 5 minutes left in the race.

4W/KG!

After a personal record up Alpe du Zwift today, under 50 minutes for the first time, I have bestowed the 4W/KG achievement on myself.

After the the ride (consistent with how I always weigh myself), I came in at 144.4 pounds, or slightly higher than my Zwift weight of 143 pounds. Using my actual weight, 4W/kg = 261.8 watts.

Doing 266 watts for 48 minutes, I got these FTP projections, all of which are above the 262W threshold.

  • Intervals.icu: 264W
  • Xert 268W
  • Zwift: 263W

If I had done just 245W for another 12 minutes, I would have still surpassed 262W for one full hour. I feel comfortable saying I could have done that.

After 8 years, it’s a great achievement, but also doesn’t change anything. It’s just nice to know I was able to do it and I want to keep going and apply it in the real world.

A Legit Zwift Win?

The good news: a legit Zwift victory in a time trial across all classes through a personal record of 254 watts for 54 minutes.

The bad news: My weight was underreported (I didn’t mean to cheat!). My weight post ride was 144.4 pounds, 1.6 kg / 3.5 lbs higher than reported on Zwift. My time differential was 1 minute 26 seconds so I feel like I would have won no matter what.

The big takeaway was that my power wasn’t quite my goal of 4.0 w/kg for the 54 minutes, but the still strong yet not-quite good enough 3.88 w/kg.

I’ll keep pushing.

Experiments with Polarized Training

After I got injured this past July, I decided to change things with my training. I had gotten a bit bored with my outdoor riding and I found my indoor sessions a bit stressful as well. I’ve long tried to do 3 sessions totaling 4-5 hours a week and work really hard in those sessions to maximize the limited time, but over the long term I would always find myself getting frustrated and couldn’t enjoy them.

Now, I’ve decided to try my own formula of polarized training.

“Polarized training is a training approach that focuses on scaling down moderate-intensity running to emphasize easy and hard efforts. This approach emerged from research on elite endurance athletes and has been widely adopted by coaches and athletes.”

Basically this means training at the extremes, either really easy or really hard, generally following an 80% (easy) / 20% (hard) structure. There are more total hours involved, but since most of the work is easy, your body doesn’t feel overwhelmed in recovery. This is how pro cyclists train. I was always hesitant to try this because I don’t have 15+ hours to train each week, and I don’t like the type of hard workouts you’re supposed to do, VO2 Max and Threshold intervals. I don’t mind working, I just hate the mental focus required in intervals. For example, it can be easier for me to try threshold-level [power in huge chunks (30+ minutes) than a series of intervals. What I’ve decided to do this time is replace those typical hard efforts with Zwift racing, in which I’ll go as hard as I can to win races and improve my race results.

Depending on the Zwift race, this will likely look like 30 minutes to one hour of .95+ IF (95% normalized power of my theoretical 1 hour power) riding. I’ll do races on Monday and Fridays, and do my Zone 2 riding in between. What’s really nice is that Zwift now has Zwift Racing Score to help riders race against people of the same level. It’s no longer just 4 classes – I was in Class B since 2017 and raced over 200 times without getting close to a victory. Since my restart of indoor riding last in August, I’ve won three times. I don’t necessarily need to win to feel good, but knowing I could win occasionally makes things more fun. As I keep going up in score, perhaps I’ll return to the old normal of always being in the middle of the pack, but for now things feel better.

The goal of polarized training is to help you put in as much work possible to develop your fitness sustainably. If you do an intense workout that knocks you out physically or mentally for the following 3 days, you can’t make consistent progress.

Here’s the breakdown:

  • 5 sessions per week – 8 hours in Zone 2, 1-1.5 hours of Zwift racing / time trial efforts.
  • Zone 2 level rides: 65% to 70% of max heart rate. Try to increase power while staying in Zone 2 over time.
  • 5000 calories burned per week, 1000 per day.
  • 400 TSS per week.
  • 5 week cycle: 4 weeks of polarized training, followed by 1 rest week of 3 days of riding – 1 Zwift race and 2 one hour Zone 2 rides, followed by 4 days of rest.

In this structure, the races give me something fun to look forward to at the beginning and end of each week. With the low stress Zone 2 riding, I can switch between watching tv, checking work messages, and listening to music so I don’t get too bored. I simply ride around the Zwift world but don’t follow a specific workout. Instead, I monitor my heart rate, calories, and normalized power for the ride, and keep those within the guidelines I set for myself.

After the 4 weeks of training, I’ll take a rest week and do a FTP test after the time off to benchmark my performance.

My Goals

I would like to grow stronger than ever, hitting 4 w/kg in FPT. I’ve been trying to hit those goal for the last 7 years after getting to 3.5 w/kg in just a year. My FPT now is likely in the 250-260 watt range. As a percentage, I’m only looking for a 5-8% jump in power. But it’s really hard. Once I achieve this, I will firmly be in the top 10% of training cyclists.

As part of training 9-10 hours a week, I hope to sustain more power for longer once event season comes along. This year, I was able to hold .7 IF for 6-7 hours by being more steady in those rides, less volatility in power. I’d love to boost that to .75. IF, an increase of 10-15 watts for the duration of the ride.

My Progress and Impression

So far I have finished two five week cycles. Here’s how I’ve been feeling:

  • I take weekends off and come in Mondays feeling strong.
  • Even at the lighter Zone 2 intensity I find myself feeling tired throughout the day, sometimes in the legs, but generally feel OK the next day for another Zone 2 ride.
  • Lower cadence (80 rpm) allows me to push a lot more power at the same heart rate than higher (95 rpm) cadence. But I definitely feel more muscle stress during and after the ride. I’d like to fluctuate between both so I can practice for different types of terrain in the real world.

Progress in Training for the Mt Diablo Challenge

This morning, I just finished another week of training for the Mt. Diablo Challenge. There are two more weeks of building fitness and one week of recovery before the race. I finished this week with 442 TSS and 5240 calories burned, a bit over my targets.

What I have been most worried about is keeping power for an hour, the duration of the race, especially via the lower cadences used in climbing, but today I got a huge sign I am on track.

I took on Alpe du Zwift in….Zwift and achieved my second fastest time ever. I finished in 52:18, 5 seconds slower than my time on March 29, 2020, 4.5 years ago. The time is even more impressive considering my Stages SB20 trainer blanked out (it loses all friction) and I had to get it going again mid-way. Zwift reports this as 52:16 moving time, so at least a few seconds were lost in which the trainer reported 0 watts and the Zwift avatar stopped moving. I achieved this time despite coming in a bit tired from the week’s workouts, so I have optimism that this result can serve as a floor for my race performance.

I also did the ride without any taking any liquids, just as I want to do on race day.

Back in 2020, my best time was achieved in the early days of COVID when I was certain I was about a month away from my long-time goal of reaching 4w/kg. However, within the next two months, our family bought a house and moved across state lines and my fitness left as well.

More on 2020 vs 2024:

  • 81 vs 78 cadence – as I was closing on the final segment of the climb, I knew I had more in me so I spent most of it out the saddle. Overall, I didn’t abuse going out of the saddle until the final 5 minutes. I focused on doing 20 seconds out of the saddle every 3 minutes to make sure I was simulating the way I expected to ride on race day.
  • 164 vs 159 average heart rate – this suggests I had more in the tank but the counterpoint is that I’m also a half decade older so the heart rates could be equivalent. But I believe I can max out at 165 over an hour when I am feeling good.
  • 251 vs 250 average power in watts.

Moving forward, I want to do the same simulated climb at the end of the next two weeks, raising my power to 255 next week and then try for 260 the final week if 255 goes well. Overall, my plan to prepare is going well. I’m eating well but I haven’t achieved the sleep I want. Tracking my sleep has made me improve when I stop my day but I am not consistently hitting my 10:45 in bed cut-off time yet.

During my Zone two training rides, I’m going to start watching videos like this, running 80 cadence to practice the length and visual memory of the route. I have no idea if this will help come race day, but I might as well try.