A Year in Review

The beginning of March may seem like an odd time to do this with it not being the end of the calendar year or season (which is the winter for me) but all this mulling over Nationals got me thinking. It’s easy to get hung up on what’s gone wrong, where you think you’re lacking, and why the improvements you want to see aren’t happening. What’s even easier to do but also incredibly easy to forget to do, is to look back on where you’ve come from and acknowledge the improvements that you have made; whether or not they are still there.

With Nationals being the main focus of my season, post Nationals seems like a natural time to reflect. So, where was my fitness/performance/mindset this time last year?

Race Results

Here’s a snippet of the races I was doing around this time last year.

I’d show you more results, but this is literally the start of my Zwift racing “career”

And here is a snippet of some of the races I’ve done recently.

I’m about 60 “races” deep at this point. That’s only by zwiftpowers “race” definition, so not including the fondos, ASIA rides, or Tours. The total number is probably closer to 80 events.

Holy crap. The difference in numbers is staggering. Even though I cracked quite badly at Nationals this year, my numbers are still leagues ahead of what I managed last year (although, I did crack quite badly last year as well… maybe I’m cursed at this race or something).

What is most shocking to me – aside from the obvious average power difference – is the difference in variability (illustrated by the colour bar on the “NP” column, more red = more variable) and difference in 20 minute powers. I could just get up into the 4 w/kg range last year for similar duration races, but that was almost purely a TT effort, just hanging on. Now I can average 4.4 w/kg with normalized power of almost 5 w/kg. Nuts.


The race results give a good sample in the difference in my fitness levels, but, just to shed a different light on that, my 20min PR in January 2018 was 303W…and I was completely cooked after that.ftp_jan2018

My 20min PR as of February 2019 is 331W…and then I continued to race for another hour after that, including another 20min effort of 315W. Going all-out in one 20 minute effort, I should be at least a few watts higher.ftp_feb2019

Somewhat more surprisingly, my 5 minute power hasn’t changed, but I’m much more comfortable near that edge, managing repeated intervals just below my peak. In April 2018 I did 400W and I actually haven’t bested that. If I were to speculate off of race performance, I could probably hit 420W (6 w/kg) but, again, that’s just speculation.


Hands-down, the single cycling accomplishment I’m most proud of in the past year is vEveresting. Oliver and I had tossed around the idea for quite a while starting in late 2017 but it just never panned out until November 2018. Doing 22 25 minutes intervals at 230W is something I could never have done last winter. I was a broken man after that one ASIA Endurance ride from the first snippet where I averaged 222W for 3 hours.


Some other notable milestones for me:

  • 600km+ week in August 2018. Literally tried to ride as much as I could, including a 200km ride (only my second time over 200km) followed up by a 120km ride the next day. I rode a total of 21 hours this week and bested my weekly mileage (kilometerage?) by over 200km
  • The December 16th KISS 100 race. Somehow all the stars aligned (or something) and I hung with the front group the whole way, completing 5x5min at 380W up Box Hill and averaging 4.2 w/kg for 2.5 hours (4.5 w/kg normalized power). The cherry on top was that the next day I went and did my first sub-45min ride up the Alpe Du Zwift.
  • While not entirely fitness related, convincing the folks at MEC Toronto to let Oliver and I do some races in their store was an amazing experience and tons of fun. I went a bit too deep in the first race to win it, so I really suffered on the others, but it was still a great experience to spend the day chatting about cycling and Zwift with fellow enthusiasts and people interested at getting into it
Oliver’s on the left, I’m on the right. Judging by my power, this is right near the end before I won the race in a heads-up sprint


While it’s not measurable, I would postulate that the biggest difference and source of improvement over last year is a change of mindset. Though, if you read my third KISS Community League race report, this is definitely, definitely, still a work in progress. Some particular areas I’ve focused on, and I’m still focusing on, are as follows:

Mental Barriers

What I wanted to change here is how I approached Zwift racing. Last winter, and in races early this season, I felt like I was just hanging onto a group – almost like I didn’t belong there. Because I couldn’t see the pain in other people, I just assumed they weren’t suffering that much. Overcoming this is a constant battle and, in my experience, stems from having confidence in yourself and your fitness.

I made a conscious effort to attack more and try to liven up the race. More often than not, these attacks came to nothing, but even seeing one person get dropped puts another drop in the confidence bucket. Maybe I’m the weakest in the group now, but I wasn’t before I attacked. I learned that my legs have more power than my mind is willing to give.

Mental Commitment

While this goes hand-in-hand with barriers, this has had more of an impact on my performance, and definitely has been a factor as of late. Having that feeling like you’re just hanging on for deal life made me unwilling to do any more work. And, as anyone who’s raced in Zwift or on the road, right when the pressure is on and you’re at your limit, that’s always when it gets harder and you have to push through. I usually found myself getting dropped in this scenario and ending the race with energy left in the tank (gosh, this sounds really familiar to that most recent KISS race).

The work-around for this issue is making the commitment to go all-in when I race. When Oliver and I had our cozy training cave together, it was a whole lot easier to make this commitment to each other. Seeing the other person there suffering as well makes it near impossible to just give up and sit up (I’m convinced this is at least 60% of the reason we succeeded in vEveresting). Making this commitment means that you give the race everything you can and it doesn’t matter if you get dropped. If you gave every ounce of energy you could muster up then you can’t help but be happy with the result (that’s true for me, at least).

In my opinion, this was the driving reason for my – personally – great performances at the December zFondo and that December KISS 100 race. Forcing yourself to dig that deep is not an easy thing to do, but you can do it. You can dig deep enough that your legs shake and you can’t stand up after the race – I found that out the hard way.

Do What Works for You

This is the most recent of lessons for me. Some people can train and improve by always racing. Some people do intervals. I’ve had my biggest improvements to-date by doing the majority of my work in zone 2 with 2-3 races per week and recovery rides when necessary. What works best for one person, might not work best for you, but it’s still worth experimenting with different approaches so that you can find what works best for you – both physiologically and psychologically.

And to wrap it all up…

I do have some plans for the coming year for cycling adventures and missions I’d like to accomplish, but I’ll save that for another post. For now, it’s just reflection time. So, take some time, look back at what you’ve done, and be proud. Maybe you’re not where you want to be now, but that doesn’t mean that you can’t still improve and impress yourself in one way or another.

Cheers and Ride on!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s