Measuring power is the gold standard of performance management on the bike. I’ve waited years for the industry to provide a pedal-based power meter that is accurate, uses mountain bike-style SPD cleats, is reasonably easy to use, and “affordable”.

In 2018 I bought a Wahoo Kickr Core indoor trainer, which allowed me to finally measure my power output over the winter. But when I took the bike off the trainer for the summer, I had to give up measuring power, and go back to estimating power (and thus fitness and fatigue) indirectly based on heart rate data.

Garmin Rally XC200 power meter pedals

However, after over a decade of waiting, last month I opened my wallet and acquired a set of Garmin Rally XC200 power meter pedals. Here’s some background and insight into how it’s been for me so far…

Why pedal-based? These days, you can throw a power meter on a bike in several places: pedals, crankarms, chainring spider, rear hub… A pedal-based system made sense for me because it’s the easiest to install, and the easiest to move from one bike to another. And unlike a hub or indoor trainer, it measures your power output earlier in the process, because some power is lost to friction and inefficiency in the drive train (as we’ll see in detail below).

Why the Garmin ones? One other option, the SRM X-Power, was about the same price, but they have a bad rep with pedals, and just didn’t seem able to manufacture them very quickly.

The only other option would be to buy a pair of non-SPD Favero Assioma pedals, rip out the internals, and plug that into a pair of Favero SPD pedal bodies. That would have been a couple hundred bucks cheaper, but would have voided their warranty, which is meaningful on a nearly $1,000 purchase.

Another argument in favor of the Garmins is that they have 2 to 4 times better battery life than the others.

A lot of this gets covered in exhaustive detail by the incomparable DC Rainmaker in his exhaustive Garmin Rally review from last year, as well as this year’s power meter pedal buyer’s guide.

Some miscellaneous notes: All these pedal-based units are double-sided (a necessary convenience), and also transmit your cadence to your bike computer, eliminating the need for a separate cadence monitor.

Like the Assiomas, the Garmin power meter is housed in the pedal spindle, and can be moved between pedal bodies of different styles. So if I ever decided to switch from SPD pedals to SPD-SL or Look Keo style cleats, I could just buy some empty pedal bodies and plug the power meter spindle right in.

Also, although the Garmins were very expensive, I got a tasty $240 discount thanks to REI’s spring members’ sale. Plus forthcoming reward bucks that could be applied to a new Garmin bike computer, if they were to ever release a new model…

Some usage notes: You need to keep a couple things in mind in addition to your battery life. One is that you need to let the unit acclimate to the outdoor temperature in order to get accurate readings, and that can take about ten minutes if you store and ride your bike in very different temperatures. And then you also need to do a zero-offset calibration about 10 or 15 minutes into every ride. It’s a bit of a bother, but it’s much better than we used to do with older power meters.

One big difference is the weight of the pedals. These pedals weigh 443g; they are replacing my current pedals, which weigh in at 306g. Although I’ll also be removing my dedicated cadence sensor from the bike, which is an additional 10g.

So what data do I get? I’ve already mentioned power (in Watts) and cadence, but there’s a shitton more. You get the power balance between your left and right legs. You get how much time you rode seated versus standing. You get measurements of how much power you produce at all points throughout the pedaling circle (even if that’s not of any practical value to anyone). You get measurements of whether your power is being delivered at the center of the pedal, or off to one side, which might indicate a bit of a fitting problem. And all of these are logged second-by-second for later analysis.

Can this get any geekier? I’m glad you asked!

So one of the biggest questions to ask of any power meter is its accuracy. The first units claimed to be accurate to ±5%, and up til now I’ve been assuming my Kickr is performing up to its ±2% claim. Most power meters these days (including my pedals) advertise ±1% accuracy, but how do I know? Well, let’s compare them against one another!

I’m going to look at two indoor trainer rides. The first is a March 31th 50-minute ride of Zwift’s Tour of Watopia Stage 3 on the hilly Downtown Titans route. The second, longer ride is ToW Stage 2’s flatter Watopia’s Waistband route on April 2th.

For each ride, I simultaneously recorded the power data coming from my Wahoo Kickr Core, and also that coming from my Garmin Rally XC200 pedals. So if things are working correctly, the measurements coming from each ride should be almost identical.

First, the numbers: As expected, cadence was virtually identical between the pedals and the crank-mounted dedicated cadence sensor (I did not take cadence from the Kickr, as trainers aren’t reliable for cadence data).

In contrast, the pedals registered an average power that was 2.7 to 4.1% higher than the trainer. Similarly, average weighted power came in 3.0 to 4.5% higher. Does that mean one power meter is slightly off, and how do we know which one?

No, everything’s fine. That small difference is eminently explainable by that thing I mentioned way back in paragraph four: power numbers coming from a trainer will be lower due to drive train losses that occur due to friction and flexion somewhere between the pedals, crankarms, chainrings, chain, cogset, and trainer. So they’ll naturally report a little lower numbers than pedals, which measure power transfer much earlier in the process. That would easily explain the 2.7 to 4.5% variation I saw.

But interestingly, when you look at maximum power (e.g. sprinting), the difference between the pedals and trainer falls to 0.6 to 1.0%. I haven’t got a good explanation for that yet.

But that’s all just summary data, and averages aren’t a great way to validate data over time. Much more revealing (and interesting) is the second-by-second detailed data. For that, we need some charts!

Next, the charts: So let’s compare the power data for each ride in the DC Rainmaker Analyzer Tool, overlaying the numbers for each ride from our two data sources to see how closely they match up. In all these charts, the red line is my Kickr Core trainer’s data, and the Garmin pedals are in green, and hopefully those lines will be almost identical.

First, let’s look at the power charts for the whole duration of both rides.

Chart: 3/31 power over 50 minutes Chart: 4/2 power over 90 minutes

It’s a little easier to see on the first chart, since it’s less busy, but in general the numbers reported by my pedals and my trainer line up really well, with the pedals giving slightly higher numbers, as expected.

Remember tho that the first chart is 50 minutes long, and the second is 90 minutes. So although things look pretty good (yay!), this is at an extremely coarse level. For a better comparison, we really need to zoom in a little closer. Let’s find a couple representative chunks in the 7- to 10-minute range.

Chart: 3/31 power over 7 minutes Chart: 4/2 power over 10 minutes

And there you go. Aside from the pedals’ slightly higher readings, the ups and downs of the charts are almost identical, close enough that the difference could easily be put down by the devices’ different sampling rates. No dropouts, no crazy spikes, or big differences between the curves.

In addition to a simple time-series comparison, there’s another way athletes look at power that might confirm our conclusion. For a sprinter, your overall power doesn’t matter so much as the maximum power you can put out and sustain over five, ten, maybe thirty seconds. So the critical power curve shows the maximum power you sustained over a particular duration. Obviously, the human body can generate a lot of power in short bursts, but can only sustain a more moderate power over durations measured in minutes and hours.

Unfortunately, as I’ve noted before, I’m keeping an eye on some cardiac issues and my chainrings are so worn that I can’t really sprint without dropping my chain, so my numbers are very pedestrian. Still, we can still draw some conclusions from my critical power curves for those two rides.

Chart: 3/31 critical power Chart: 4/2 critical power

And this perfectly confirms everything we’ve seen so far. At just about every duration, the pedals consistently read 3 to 5% higher than the trainer, as expected. The only variance is at durations shorter than 15 seconds, where the devices’ sampling rates might impact the numbers.

So my overall conclusion is that I can definitely rely on these pedals to produce accurate power data that is very consistent with my indoor trainer, keeping drive train losses in mind.

Unless you’re a cyclist, it’s hard to convey how exciting and interesting it is to finally have a power meter on the bike year-round. At the big-picture level, this means my power data will finally be consistent between indoor and outdoor seasons, thus giving me more reliable fitness and fatigue numbers.

This means I can not only monitor my fitness and fatigue month-by-month and year-over-year, but also precisely quantify and properly pace my level of effort and reserves on a minute-by-minute basis during an individual ride of whatever duration.

What a year it was... or wasn’t, actually. What can I say about the 2020 cycling experience?

Having begun the year with lots of indoor training, in January I achieved a new all-time record level of fitness.

Modeling the 2020 Pan-Mass Challenge jersey on the Grandview Overlook above downtown Pittsburgh

Modeling the 2020 Pan-Mass Challenge jersey on the Grandview Overlook above downtown Pittsburgh

Autumn on the Mon Wharf with R2-Di2

Autumn on the Mon Wharf with R2-Di2

Honoring Paris-Roubaix with 22 secteurs of Pittsburgh pavé, including Climax Street

Honoring Paris-Roubaix with 22 secteurs of Pittsburgh pavé, including Climax Street

Flew my BikeMS kit on my virtual Escape to the Lake

Flew my BikeMS kit on my virtual Escape to the Lake

At the front of the line for the first-ever PMC weekend virtual ride on Zwift

At the front of the line for the first-ever PMC weekend virtual ride on Zwift

But it was all downhill from there. Before the spring outdoor season began, the outbreak of the worldwide Covid-19 pandemic caused the cancellation of all group rides and every major event on the calendar. On top of that, I kept my solo rides short to avoid risky convenience store replenishment stops. In terms of outdoor riding, 2020 was a complete and utter write-off, as I logged a 20-year low 1,140 outdoor miles.

In contrast, my investment (back in 2018) in a new smart trainer and the Zwift indoor training platform proved prescient and timely. Over 80 percent of my 2020 cycling happened indoors, as I rode simulated versions of all my usual summer events. I even completed my 15th Pan-Mass Challenge (virtually) when this year’s real-world ride was called off. Needless to say, my 4,903 miles on the trainer was a new record.

Combining indoor and outdoor riding gave me an annual total of 6,043 miles in the saddle, only 513 miles less than I rode in 2019. I consider that quite respectable, given the extraordinary circumstances.

Let’s hope 2021 sees the pandemic situation improve.

My Original 2020 Goals

After a superlative 2019, I didn’t have a ton of specific goals coming into the 2020 season, which was a good thing, because I never would have lived up to them! But I did have some general expectations. Let’s see how each of those turned out...

“I don’t really expect to surpass my 2019 season”

The Covid-19 lockdown put an early end to any pretense that 2020 would be a good — or even normal — year. I didn’t do any major events or even a single group ride all year, and only one outdoor ride that was over 40 miles.

The only way I surpassed 2019 was in time spent on the indoor trainer, completing eleven Zenturies (indoor rides over 100 miles). But that’s not how I’d envision a successful year.

“I’ll certainly continue Zwifting”

I’m not going to enumerate all this year’s Zwift achievements, but there are a handful worth calling out. I completed every one of Zwift’s many routes in January, along the way earning the “Masochist” badge for completing my 25th Alpe du Zwift ascent. But to retain that “route hero” status, I had to subsequently complete two more sets of routes when Zwift released expansions for Paris/France and Watopia. I also took three series of FTP tests, registering 215/215/196W in the 20-minute tests; unlocked the new in-game version of the Herd team jersey; and I ended the year at experience level 44 (out of 50).

I also wrote a useful program for myself to automatically open a full-screen display of any “photos” I took while in-game. That way I didn’t have to wait until the end of the ride to see how they came out, nor did I have to fiddle with the laptop to open them myself.

The Herd’s Epic Tour in Toronto

Another big disappointment was the cancellation of a planned September trip to Canada to do a (nominally) epic ride and meet up with online friends from the Zwifting club The Herd. I never even received the (personalized!) ride jersey I ordered.

Charts

As always, my two fitness charts really put the year’s efforts into perspective.

Cycling Fitness: 2011-2020

This chart shows my fitness trend over the past ten years, with peaks in the summer and troughs in the winter. Looking at 2020 in this context, the major themes I’d like to call out are:

  • My fitness peaked incredibly early in the year (January 26th).
  • I set a new all-time record fitness level (98.18).
  • After coming off that peak, I spent most of the summer at a moderate fitness level (around 65) before taking it easy at the end of the year.

If we set aside comparisons to 2019, I had a surprisingly good year from a fitness standpoint; despite the pandemic, it doesn’t look grossly different from any normal year. And looking forward, I’m in a decent position to make the most of whatever 2021 offers.

Cycling Fitness: 2020 Calendar Year (vs. average)

This second chart shows my 2020 fitness in detail, including my eleven Zentury rides (the green circles).

Note my record fitness peak in January, and how much fitter I was than my long-term average (the grey line) all spring long. Despite that, I did gradually lose fitness through the spring, with it slowly falling to match my long-term average at the start of summer in late June.

Similar to most normal years, my summer featured a familiar shark-tooth pattern that comes from periods of alternating rest and recovery with big hundred-mile rides… It’s just that they all took place indoors this year, rather than outside.

A late September interruption caused my fitness to start falling off, when both my heart rate monitor and the laptop computer I ran Zwift on failed and needed to be replaced. At that point, I reconsidered my goals, and decided to abort my last two century ride simulations and start my off-season a little early. Taking some time to relax, my fitness gradually fell to an annual low of 43.53 on December 7th before I started ramping back up again. Looking forward hopefully toward 2021, I finished the year well ahead of my typical level of fitness.

Waving to imaginary crowds as I arrived at a virtual Provincetown to complete my two-day PMC Zwift ride

Waving to imaginary crowds as I arrived at a virtual Provincetown to complete my two-day PMC Zwift ride

Taking my laps on the Champs-Elysees in Zwift's new Paris/France expansion

Taking my laps on the Champs-Elysees in Zwift's new Paris/France expansion

Enjoying the French countryside, with Mont Saint-Michel as backdrop

Enjoying the French countryside, with Mont Saint-Michel as backdrop

Giving the crowd a sprint to cheer for in Zwift's Crit City expansion

Giving the crowd a sprint to cheer for in Zwift's Crit City expansion

Exploring Zwift's pretty new sylvan cliffside road

Exploring Zwift's pretty new sylvan cliffside road

In group rides, I swear sometimes it feels like I'm the only one who knows how to ride properly...

In group rides, I swear sometimes it feels like I'm the only one who knows how to ride properly...

A rare outdoor ride: autumn at McCahill Park in Fox Chapel

A rare outdoor ride: autumn at McCahill Park in Fox Chapel

Sprinting for the line on Zwift's new Crit City course

Sprinting for the line on Zwift's new Crit City course

When in Italy...

When in Italy...

Looking back on downtown Pittsburgh from Herrs Island

Looking back on downtown Pittsburgh from Herrs Island

My 2020 Cycling Calendar

My 2020 Cycling Calendar

The Zenturies

For the first time since 2001, I didn’t do a single century ride.

But I did complete eleven indoor Zwift centuries, or “Zenturies”, simulating both the distance and amount of climbing found in my usual real-world rides.

How did I simulate them? I created a web page called The Zenturizer where I could input my preferred distance and climbing, and the site would determine the courses on Zwift that most closely matched my desired profile. It was a very handy time-saving tool, which anyone can use!

I had targeted thirteen Zenturies for 2020, but after completing eleven, I took a three-week break to replace both my heart rate monitor and my laptop. At that point I decided to end my season early and save those two extra centuries for springtime. More about that when I get to my 2021 goals!

Here’s the list of the eleven that I did complete:

  • Uber Pretzel Zentury (Feb 13) The penultimate course to ride in my quest to acquire the badges for completing every Zwift route.
  • PRL Full Zentury (Feb 20) Rode a very repetitive course all alone, but completed Zwift’s route badge challenge… for the time being!
  • Tour of Watopia Stage 1 Zentury (Mar 30) Did Zwift’s ToW Stage 1 three separate times in one day to accrue 100 total miles.
  • Pseudo Greenville 200k (Apr 19) My first time cobbling together a route on Zwift that simulated an actual outdoor ride, and at 125 miles my longest single ride of the year.
  • Pseudo Tour d’Essex County Zentury (May 25) Since May is devoid of big events in Pittsburgh, I simulated this Memorial Day ride I used to do back in Boston!
  • Pseudo Escape to the Lake Zentury (Jun 6 & 7) Simulated my annual MS Ride: usually the only two-day ride on my calendar.
  • Pseudo 3-State Zentury (Jun 28) Although this event was postponed and eventually run informally later in the year, I simulated it on its original planned date.
  • Pseudo ABC Zentury (Jul 12) Also informally run as an unsupported ride, I just did this Akron event virtually.
  • Pseudo Pan-Mass Challenge (Aug 1 & 2) Surprise! My 15th Pan-Mass Challenge ride to fight cancer! Participating in my signature event once more as a virtual rider was a treat!
  • Pseudo Mon Valley Century (Aug 18) This “annual” ride has only gone off two of the past five years. At least my Zwift simulation avoided the MVC’s curse!
  • Pseudo City Century (Sep 2) The local advocacy group pretended to sort-of run this unsupported, so that they could still collect money. Fed up with an organization that’s completely lost the plot, I was happy to do my own (free) substitute ride on Zwift.

Additional Highlights

After five years away from the event, reconnecting with the Pan-Mass Challenge was my biggest unexpected pleasure of the year. I was the first person to join the PMC club on Strava; I participated in prototype PMC meetups on Zwift that led to an official weekly series of PMC virtual group rides; I registered as a virtual PMC rider for the first time; and I simulated the entire two-day, 192-mile route indoors on PMC weekend. Along the way, I made a bunch of new friends, did a lot of reminiscing, earned my 15th PMC rider’s jersey, and added $3,000 to my lifetime fundraising for the Dana-Farber Cancer Institute, which now stands at $114,222. Here’s my full PMC ride report.

Although the year featured many other memorable Zwift rides, one of the unique ones was participating in a 2,000-person ride led by Watanabe Wataru, the mangaka who created Yowamushi Pedal, an extremely popular cycling manga and anime series.

I should also add that in October I marked the 20th anniversary of purchasing the Cycles Devinci hybrid that started me on the path to becoming a PMC rider and serious cyclist. It’s been a good — but extremely long — road!

Noteworthy Purchases

This wasn’t a great year for pimping my ride, but a few items do stand out as worth mentioning:

  • When my old laptop died, I replaced it with a new Macbook Pro, which improved my Zwifting experience by upping both my graphics quality and frame rate.
  • I bought a hydration pack, in hopes that it would enable me to do long rides without having to replenish fluids at convenience stores, but it just didn't keep drinks cold enough to be palatable.
  • I bought a new Wahoo heart rate monitor that produced unacceptably inaccurate data, so I got a warranty replacement unit. However, the second unit was also garbage, so I demanded a refund and bought myself a new Garmin HRM instead. But amusingly, a late-year firmware update seems to have fixed the Wahoo HRM’s problem, so I’ve held onto the one unit that they told me to keep rather than return!
  • I bought a collapsable selfie stick and fashioned a nice rubberized frame mount for it, making it much easier to get interesting photos during rides for my Strava and social media posts.
  • And I added the Wind & Rain app to my Garmin bike computer. The real-time weather data it provides would be really useful if I ever actually did any long outdoor rides...

List of Blogposts

It wasn’t the best year for blogging — how much can you write of interest about indoor rides? — but I still managed to get 16 stories written. Here‘s the full list:

Goals for 2021

Even after writing off the entire 2020 season, Covid-19 shows no signs of abating anytime soon, so I still have no idea what 2021 will look like. But everyone’s top goal for next year is obvious:

Normality

How about a return to normality? Being able to ride farther outdoors than I can manage on a single water bottle? Participating in group rides with other cyclists? Or even do some centuries and my typical big events? Right now, that sounds pretty aspirational and more than adequate.

My 100th Century+ Ride

As far as I can tell from my sketchy records from 2000-2005, I’m currently sitting on a lifetime total of 97 rides of 100 miles or greater. I’ll probably get in shape with a couple indoor Zenturies in the spring, then find some way to do a special 100th century outdoors. It’s probably the biggest thing I’m anticipating and a milestone well worth celebrating. Planning out a route will be a good wintertime activity...

Zwift Level 50

In about 3,575 trainer miles — which is currently estimated to happen around August 13 — I will hit Zwift’s highest XP level. There’s a nontrivial possibility that they’ll soon add more levels beyond 50, but that won’t dilute my satisfaction at reaching what’s currently the top of the chart.

Another Virtual PMC?

At this time, I have no idea whether 2021 will see me doing another virtual Pan-Mass Challenge or not, especially since my fundraising mojo has atrophied. But that’s another decision I’ll make as the season begins to take shape.

Toronto Epic Tour Redux?

It’s the same story for this ride. Since they deferred my paid 2020 registration until 2021, I’d certainly like to take advantage of the opportunity to ride, but whether it’ll happen or not remains unknowable.

And that’s all I’ve got to say about this pandemic-canceled 2020 season. As of the start of the new year, things are still looking quite iffy. But as the calendar turns over to 2021, I’m hopeful that some signs of normality will begin to appear in the coming months.

Hopefully I’ll see you out there!

I was so proud when I completed all 25 of Zwift’s course achievements that I wrote about it in a December 1st blogpost.

Route Achievements

Six days later, Zwift decided to add 42 new course badges, including ones for all their most difficult routes. Sigh.

I guess the upside of having 42 new carrots to chase was that completing them gave me enough Experience Point bonuses to rise from Level 29 to 33 over the course of December and January.

And all that riding helped me reach a new all-time record level of fitness, as measured by a Chronic Training Load score of 98.18… in January!

By February 1st, I'd earned 65 course badges, with only the two hardest routes left to do: the hellaciously hilly “Über Pretzel”, and the tedious and repetitive 11-lap “PRL Full”.

Both of those wound up being “Zenturies”: indoor Zwift rides of more than 100 miles. Since I post about each ride that surpasses that distance, here’s a little about how they went.

The Über Pretzel is beastly. It finishes at the summit of the Alpe du Zwift, an accurate copy of the real-world Alpe d’Huez. But when you hit the Alpe you’ve already got 72 miles in your legs and 4,200 feet of climbing, including the Radio Tower: the steepest climb in Zwift. And yes, I only have an 11-28 cassette and always ride with the trainer incline realism set to 100%.

Epic KoM

Although the route finishes at the Alpe summit, there’s no reason not to coast down the descent to earn more effort-free XP. And once you reach the bottom at Mile 88, why not ride the extra 12 miles to complete a full imperial century?

I rode the Über Pretzel on Thu Feb 13. It was sheer, unadulterated torture, taking 6h52m and leaving my legs and knees shattered. The upside: I reached Level 34 and got halfway to Level 35, and completed my 17th Alpe (you get the “Masochist” badge after 25 ascents). Plus you never have to ride that brutal route ever again!

The PRL Full is Zwift’s longest and only imperial century route. It’s a stupefying eleven and a half laps of their “London Loop”, which includes a (comparatively) gentle ascent up the Box Hill climb. But after eleven laps, you’ve actually done more climbing than the Über Pretzel, albeit spread out more evenly. I undertook the PRL Full on Feb 20, a week after the Über Pretzel with a couple easy recovery rides in-between.

It started very inauspiciously. First, I forgot to consult when London was on Zwift’s calendar, so I had to use the World Hack to get in. That in turn meant an empty course, with no one to draft. Considered running a TT bike instead of my usual climbing bike, but didn’t want the climbing penalty, so opted for the Tron Bike: a rare instance where I’d consider using it. Then, about ¾ through my first lap (after my first ascent of Box Hill), I was sent off course by the “repositioning the camera with a turn coming up” bug, and rather than turn around, ride 100 miles hoping Zwift would still recognize the route, I simply quit and started over.

Combo Jersey

After that, it was just plod on, for another eleven ascents of Box Hill. Combined, the two rides took 7h45m for 116 miles. But with so few riders on course, half the ride I had the special “fastest lap” jersey, and I had both that and the KoM jersey another 25% of the time: a cheap victory, but rewarding. Along the way I also earned the Italy Challenge’s Pinerallo F8 bike.

In completing the PRL Full, I had done Zwift’s longest route, finished my second “Zentury” in two weeks, and finally completed all 67 of Zwift’s badge-earning courses: an arduous and challenging achievement. And the XP bonus bumped me up to Level 35, which means I can buy the fast Zipp 808 & rear disc wheelset.

In the larger scheme of things, I’ve done my first two centuries of the year already, but have no more in-game carrots to chase. That’s okay for now—I could use a few days’ rest!—but it puts me in the strange position of peaking in January/February, with months before the road season begins! What to do? Mind you, I’m NOT asking Zwift to add more course badges... I’ve had enough of that, thank you!

My only remaining carrot is the Masochist badge, which requires eight more trips up the Alpe du Zwift. Not very fun, and not something I will achieve before outdoor rides relegate the trainer to the closet. But I guess it couldn’t hurt to knock out a couple more ascents before then...

But first, some incredibly well-earned rest and recovery.

In contrast with a miserable 2018, 2019 was a complete renewal: possibly my best remaining year on the bike, and arguably the best of my entire lifetime.

MS Escape to the Lake Finisher

MS Escape to the Lake Finisher

Indoor Training on Zwift

Indoor Training on Zwift

MS Escape to the Lake

MS Escape to the Lake

Brilliant Physical Health!

I’m in Brilliant Physical Health!

PedalPGH Pittsburgh Overlook

PedalPGH Pittsburgh Overlook

The Herd's Leelanau Harvest Tour

The Herd's Leelanau Harvest Tour

Akron Bike Club's ABC Ride

Akron Bike Club's ABC Ride

My 2019 Cycling Calendar

My 2019 Cycling Calendar

While it lacked crowning moments like the Pan-Mass Challenge or the Dirty Dozen, I set dramatic new high water marks for miles ridden, century rides completed, and level of fitness.

Beyond the numbers, though, was how easy it felt. After my first winter using a smart trainer and Zwift, I began the season already near peak form. It was such a different feeling, without the usual early-season suffering to build fitness, and I went into every major event strong, confident, and at ease.

It made setting and chasing my cycling goals an unblemished pleasure, making 2019 a complete reversal of my disappointment in 2018. It was an absolutely stellar year!

My Original 2019 Goals

Let’s review my 2019 season goals. A year ago, I set three secondary and three primary ones.

My secondary goals laid the groundwork for achieving my primary goals.

My secondary goals for 2019: spending the winter riding Zwift on the trainer, allowing me to enter the road season at a high level of fitness, and monitoring that by performing regular FTP tests throughout the year.”
Spending the winter riding Zwift on the trainer

I really enjoyed Zwift, as described in my summary blogpost. The virtual world was entertaining, the smart trainer changing resistance to simulate climbing kept it interesting, and the social interaction through Discord audio chat was engaging. From December through the spring, I tallied an unprecedented 2,600 simulated miles on the trainer.

Allowing me to enter the road season at a high level of fitness

I monitored my training using my usual fitness charts, which you’ll see shortly. I made steady progress throughout the winter, but would it improve my outdoor riding?

The big test of Zwift’s effectiveness came on April 14th, when one of my first outdoor rides of the year was a 125-mile 200k brevet. It went fabulously, as described in my blogpost.

Performing regular FTP tests throughout the year.

Since my indoor trainer includes a power meter, I can gauge my fitness with a new metric: functional threshold power (FTP). I took two different FTP tests every three months to monitor and quantify my progress, plus automatic FTP increases detected by Zwift while riding. Depending on how you measure it, my FTP varied from 197 to 234 watts, averaging 215W.

That set me up for success reaching my main goals for the year.

My primary goals for next year are simply this: to finally get beyond the malaise of 2018, to ride more, and get back to peak fitness this summer.”
Get beyond the malaise of 2018

Although the turnaround started with my new indoor trainer and Zwift membership, several other factors helped rekindle my desire to ride. Bypassing the usual springtime pain of riding my way into fitness certainly helped. I also lost less time to traveling. And after suffering through 2018 being the rainiest year in Pittsburgh’s history, all of this year’s major rides had gorgeous conditions (despite 2019 being our third wettest year ever). And by staying on top of my fitness and fatigue levels, I avoided overtraining, which can also sap motivation.

Ride more

In 2019 I rode 3,400 miles, which is more than I average, and 625 more than I rode in 2018. So you can check that goal off.

But that’s only 52% of the story... The other 48% are the virtual miles I put in on the trainer. In my first full calendar year on Zwift, I logged an additional 3,182 indoor miles.

My combined total was 6,582 miles, which constitutes an all-time record for me. Ride more? Double check!

Get back to peak fitness

All that indoor and outdoor riding ensured that I got back to peak fitness. I was in the best form of my life, which I’ll quantify in the two charts in the following section.

Charts

These charts provide the next level of detail about my year, plotting my Chronic Training Load (CTL), which is a measurement of cycling fitness. The charts really tell the story for 2019.

Before addressing 2019 in detail, it’s worth looking at my fitness over the past nine years, which allows me to visually compare 2019 to previous seasons.

2011-2019 Fitness Chart

At a high level, four major themes jump out of this chart:

  • I was much fitter than usual earlier in the year
  • My training was much more consistent in 2019
  • I peaked higher, reaching new record levels of fitness
  • I spent a much longer duration at peak form.

If you compare 2019 to 2018, it’s obvious that 2018 was a substandard year, and that 2019 was an immense improvement. My max fitness in 2018 was 66.3; in 2019 I spent six and a half months above that level, peaking in June at 94.3! And looking forward, I’ll begin January 2020 with a CTL of 79: higher than I ever reached in all of 2018!

A little further back, my previous all-time max fitness levels occurred briefly in 2016 and 2017 around 82.5 (follow the horizontal grey line on the chart). In 2019 I spent more than four months above that level!

In other words, it was a record-smashing year. Now let’s zoom in and take a closer look at 2019.

2019 Fitness Chart

First, note that grey line inside the chart. That’s my average fitness level from 2011-2018. Thanks to my winter training, I entered 2019 way above my usual fitness, and surpassed my typical midsummer peak form by the middle of February! And my fitness remained above average over the entire year.

Another big difference from last year is my consistency. In 2018, I couldn’t ride regularly, so its chart had lots of ups and downs. This year was steadier, only showing brief dips (for travel) in March and July, followed by that big dip in October, when travel, an achilles injury, and a cold kept me off the bike. I hopped back onto Zwift in November to build fitness for the 2020 season.

These two charts document a ton of hard riding; I could stare at them all day long.

And those green circles on the chart? Those represent my 100-plus-mile rides. That’s the next level of detail to talk about…

The Centuries

When asked what kind of cyclist I am, I say I’m a centurion. The most important and memorable target events of my year are centuries (100 miles) and 200ks (125 miles).

This year I demolished my previous mark (nine), logging no less than a record-shattering thirteen centuries over just six months! Two of those were longer 200ks, and one was my first-ever virtual century on an indoor trainer.

With seven of them crammed into an eight-week period in July and August, I relied on a well-planned, repeating pattern of: train, taper, ride your event, recover, and repeat.

My biggest disappointment of the year was that I missed Pittsburgh’s arduous Every Neighborhood Ride while doing another ride I’d already committed to.

Here’s my full list of centuries with comments and links to ride reports. Or you could watch my late-season summary video.

  • First Zentury (4/7)
    I extended one of Zwift’s 64-mile gran fondo events to complete my first-ever imperial century on an indoor trainer.
  • Sandy Lake 200k (4/13)
    Nearly my first outdoor ride was a 125-mile brevet: my longest ride in two years, confirming the effectiveness of indoor training.
  • Shades of Death solo (5/23)
    Rode a solo century from Pittsburgh to the West Virginia border to explore the Panhandle Trail and Shades of Death Road!
  • Escape to the Lake (6/8)
    Incomparable weather for the annual MS ride to Lake Erie, my only two-day event of the year.
  • PMTCC 3-State Tour (6/30)
    A foggy start gave way to a warm day for a familiar PMTCC ride to West Virginia and Ohio, with a thankfully modified route.
  • Absolutely Beautiful Country (7/14)
    Off to Akron OH for a club ride whose flat route was also altered this year, outrageously omitting the usual free ice cream rest stop!
  • Meanville Greenville 200k (7/27)
    Returned from a week of travel and dove straight into another long 200k brevet with the Pittsburgh Randonneurs.
  • Butler solo (8/4)
    Extended one of my long solo rides up Sun Mine Road, through Saxonburg to Butler and back.
  • Mon Valley Century (8/11)
    Enjoyed the return of an event that hasn’t been run since 2016 due to landslides; a third ride with a modified route (and poor support).
  • Four Rivers solo (8/19)
    My interwebs were down for 48 hours, so I went out and rode an easy solo century along Pittsburgh’s four rivers.
  • PedalPGH (8/25)
    As usual, I extended the PedalPGH metric to a full century, despite riding on an injured achilles and more ride organizer negligence.
  • Pedal the Lakes (8/31)
    Ended summer with a speedy and enjoyable PtL ride, completing 6 centuries in 6 weeks, and 8 in 10 weeks.
  • The Herd @ Leelanau Harvest Tour (9/14)
    The culmination of my season was a weekend trip to northwestern Michigan for an international gathering of Zwifters… and a scenic century alongside Lake Michigan.

Additional Highlights

One major development was my ability to train with a power meter, which allowed me—for the first time—to track my functional threshold power (FTP) and my power curve, which in turn helped me figure out my cycling “phenotype” as described in this blogpost. I also picked up and made good use of the defining treatise on the discipline: Allen & Coggan’s book “Training + Racing With a Power Meter”.

The biggest setback of the year was my late-August achilles injury, due to a combination of overuse and over-stretching. Although I completed three centuries while injured, it wouldn’t heal without time off the bike, which brought my season to an abrupt end. I’d hoped to do more easy autumnal riding, but there was very little of that.

I’ve already alluded to this year’s weather, which was simply amazing.

One fun tech project was creating the AlpenTimer, a Javascript webapp that helps you monitor and predict your pace up the Alpe du Zwift climb in order to earn the sub-60 minute achievement, break your own personal record, or just track your historical performance.

An artsy project was cutting hand-shapes out of Coroplast and spray-painting them cyan to mimic the blue “Ride On!” thumbs-up symbol that appears in Zwift’s virtual world. I hung a large one from the ceiling of my “pain cave”, and made a bunch of small ones for my jersey pockets.

One final disappointment was BikePGH’s Tag-o-Rama cycling/photography game. Regular participant Yale Cohen started harassing other players, driving many of them away. I don’t tolerate online abuse, so despite picking up 25 tags in 2018, I also quit Tag-o-Rama this spring.

Noteworthy Purchases

In the past, many of my “Additional Highlights” were things I bought, so I’ve carved out a new section to specifically highlight my new toys.

Most of this year’s purchases were on-bike equipment. A new Giro Aether MIPS helmet. New Prizm Road lenses for my Oakley Half-Jac sunglasses. A couple pairs of my favorite Craft Hale Glow bib shorts.

I ordered three new cycling jerseys, each of which comes with a unique story. I’m eager to show them off, but I'm still awaiting delivery of the last one, so I won’t say any more until an upcoming blogpost.

In terms of the bike, I got a Cygolite Hotshot 150 taillight, which crapped out after its first wet ride. I finally tested some Continental GP4000 tires I’ve had lying around; they were okay, but now I have to try their new GP5000s to see if they’re any improvement over my usual Michelin Power Endurance rubber.

I updated my Garmin bike computer with two new apps. I’m using Heart Rate Stress Score to replace Strava’s “suffer score” app, which became worthless when they changed its calculation. And I tried Multi-Page Race Notes for handy course notes, but fell back to old-school white electrical tape on my top tube.

The only noteworthy purchase that didn’t go on me or my bike was the aforementioned Allen & Coggan bookTraining + Racing With a Power Meter”.

List of Blogposts

And one final item before I look forward to 2020... It was a busy year here on ornoth-cycling.livejournal.com, with 24 ride reports and blogposts. Here’s the full list:

My 2020 Vision

That’s all she (he) wrote for 2019… What’s my outlook for the coming 2020 cycling year?

I don’t really expect to surpass my 2019 season, due to this year's confluence of circumstances. Will 2020 also feature great weather, limited travel, no job commitment, and an understanding partner who will loan me her car to get to distant rides? And can I continue to evade the growing concerns of age and health?

I’ll certainly continue Zwifting through the early season in order to hit the ground running once temperatures start to warm again. And I’m starting the new year at an even higher fitness level than 2019!

I’ll mostly target the same events I do every year, but there’s one known wrinkle in next year’s schedule. Instead of repeating the Leelanau Harvest Tour, next year’s Herd gathering will be outside Toronto, at the Epic Tour. That’s geographically convenient, and their 180km route will be the perfect distance for a September ride.

Other than that, 2020 will probably look an awful lot like 2019, and I have no problem with that whatsoever, since 2019 was one of my best years on the bike.

Bring it on!

From start to finish, 2018 was a disappointment.

After the extreme effort to conquer the 2017 Dirty Dozen (blogpost) and my 250,000-foot climbing goal (blogpost), I fell into an enduring malaise and lack of motivation that lasted all of 2018. On top of that, three long trips—smack in the middle of training season—ensured I couldn’t get back into proper form in the spring.

A wet, grim start to Escape to the Lake Day 2

A wet, grim start to Escape to the Lake Day 2

As if that weren’t enough, 2018 was Pittsburgh’s wettest year in recorded history, washing out even more of my training. In July, when my travel was done, I struggled through my remaining four big events, eventually riding myself back into fitness just in time for the season to end.

If we only count outdoor road riding, I rode only 2,776 miles: my lowest total in five years (if we exclude the intentionally light year of my move from Boston to Pittsburgh). And it was by far the least amount of climbing I’ve done since the move. Though if we count the 486 virtual miles I did on the indoor trainer, my annual total rises to a more respectable 3,262: still 20 percent less than I rode in 2017.

2018 wasn’t entirely bad—there were a few minor highlights—but all told, it was a miserable year.

My Original 2018 Goals

I really didn’t have any cycling goals for 2018. In 2017 I had checked off everything I’d aspired to do in Pittsburgh, leaving nothing specific to reach for.

The only item I mentioned at the end of last year’s summary (blogpost) was a planned trip to Tuscany, where I hoped to enjoy some long European riding and even catch a stage of the Giro d’Italia elite cycling race. However, it rained the entire time, allowing only 80km of wet, uncomfortable riding; and I abandoned my Giro date due to a scheduling conflict (blogpost).

My rental Bianchi at our Tuscan villa

My rental Bianchi at our Tuscan villa

Morning light on the Pedal the Lakes century

Morning light on the Pedal the Lakes century

Tag-o-Rama pickup on Lemon Way, Downtown

Tag-o-Rama pickup on Lemon Way, Downtown

Orny descending a mountain in Zwift's Watopia

Orny descending a mountain in Zwift's Watopia

Dirty Dozen rider Jeremiah climbing Eleanor Street on a bikeshare tank

Dirty Dozen rider Jeremiah climbing Eleanor St. on a bikeshare

My 2018 cycling calendar

My 2018 cycling calendar

The Centuries

Another way I judge a year is how many 100-mile rides I complete; therefore, this year I’ve introduced this separate section to enumerate them.

In 2018, despite the weather, my travel, and lack of motivation, I matched 2017’s total of six centuries. I suffered more than usual on these long rides, either due to insufficient preparation or increasing age.

The first century was easy: a slow amble up the Montour Trail with friends De’Anna and Bill, which I spontaneously extended with a solo jaunt to Monongahela and back. But it was so unnoteworthy that it earned only passing mention in my entry for the second century of the year, which was…

The annual Escape to the Lake MS Ride (blogpost) was soggy and sloggy, with rain both days, compounded by an unannounced (and poorly signed) detour and relocated rest stop.

I made a road trip to Akron for my second Absolutely Beautiful Country ride (blogpost). Despite a flat course, it was still a sufferfest. After accidentally bringing only two right gloves, I rode bare-handed all day, which produced a painfully memorable sunburn.

August began with the always-difficult Every Neighborhood Ride (blogpost). This year I had to stop for a vicious cramp halfway up Forbes Avenue. After recuperating and cooling off at the Squirrel Hill rest stop, I fell back and finished the ride with the slow group.

Pedal PGH (blogpost) was as chaotic as usual. Extending the metric to a full century proved costly, as I needed breaks to let the legs recover while recuperating from the heat.

A week later, I drove up to Mercer County for my final century of the year. Though difficult, Pedal the Lakes (blogpost) was manageable, since I’d finally started coming into form… just in time for the season to end!

Additional Highlights

One 2018 highlight didn’t require much effort: picking up 25 tags in Pittsburgh’s Tag-o-Rama cycling/photography game. That was enough to break into the top ten players (out of 125). (blogpost)

I’ve already mentioned that Pittsburgh set a new all-time record for precipitation in a calendar year, receiving over one and a half times our normal rainfall. The resulting landslides washed away several roads, some of which still haven’t reopened ten months later. Many rides were canceled, including brevets, the Western PA Wheelmen’s spring and fall rallies, the Mon Valley Century, and numerous group rides. I only attended 5 out of 27 Tuesday night Team Decaf rides due to rain, and I bailed halfway through one of those due to a sudden mid-ride rainstorm!

The year was filled with other frustrations, as well. Several of those mentioned below are covered in more detail in a short mid-August blogpost tellingly titled “Yeah, Yeah, Bicycle”.

The local bike “advocacy” group decided to withdraw all support for BikeFest, a two-week cycling celebration it had run for 15 years.

My bike had several mechanical travails, ranging from a still-unresolved creak to a fancy new Di2 mount that promptly broke my Di2 junction box.

I spent $70 to re-stock my supply of powdered Gatorade mix, only to discover they’d changed the formula into an unusable dust that won’t mix with water and tastes just like burnt plastic.

And Strava completely ruined the training charts I relied on, which I’ll speak more of below.

I wasn’t in any shape—or mood—to ride this year’s Dirty Dozen hill climb, but that gave me the opportunity to play event photographer, which might have been more fun than actually riding! (blogpost)

The year’s biggest highlight happened in December, long after the riding season was done: my long-awaited purchase of an indoor smart trainer and membership on the Zwift multiplayer online cycling platform (blogpost). In addition to my first FTP test, I rode as “far” on the trainer in December as I did on the road in any other month in 2018! While it had no impact on the 2018 season, it has helped me get over my season-long malaise and should improve my form next spring.

The Charthouse

As mentioned earlier, Strava changed the math behind their “Fitness & Freshness” chart that I relied on for training and event tapering, and which I incorporated into my annual summaries as a graphical overview of the year.

Their “improved” metrics are completely worthless, but thankfully I’ve been able to recreate the TRIMP charts I relied on them for. Updated versions follow:

2018 TRIMP fitness chart

This first chart shows my fitness level over the past twelve months, with centuries highlighted.

What you’ll note is an overall saw-tooth pattern, with sudden gains from intense training followed by immediate backslides; i.e. a complete lack of sustained improvement.

You can see the dips during my travel dates: Southeast Asia in the latter half of March, a mini-dip in May during my week in Tuscany, and my meditation retreat in late June.

But even when I was home, each time I gained fitness, it declined again, rather than moving progressively higher. Every upward impulse is followed by a dip back down; I just couldn’t sustain a consistent string of training.

One easily-overlooked but hopeful sign is the upward trend throughout December. That’s the result of my new indoor trainer and Zwift membership. With any luck, I have already begun my positive fitness trend for the start of the 2019 season!

2011-2018 TRIMP fitness chart

The second chart shows how 2018 compares to previous years. Even though I began the year at a high level, over the summer I never attained the peak fitness of my previous six years. And that pretty neatly summarizes my year.

Goals for 2019

A year ago, I reluctantly set some vague goals for 2018; I’d done all the new rides I wanted to do, and didn’t see any specific challenges to undertake in the new year. In that respect, I’m in the same situation this year.

However, my lackluster 2018 was not a direct consequence of my lack of clearly-identified goals. I blame it all on horrible weather, lots of poorly-timed travel, and the fatigue and demoralization left over from a very demanding 2017.

Fortunately, I’m entering 2019 much fresher, and with no major travel plans. So long as we don’t set any new rainfall records, 2019 is bound to be better than 2018 was.

My primary goal for next year is simply this: to finally get beyond the malaise of 2018, to ride more, and get back to peak fitness this summer.

That’ll be aided by my secondary goal for 2019: spending the winter riding Zwift on the trainer, allowing me to enter the road season at a high level of fitness, and monitoring that by performing regular FTP tests throughout the year.

I needed a major change to shake me out of the funk that lingered over me all year, and Zwift is certainly different. I find myself actually looking forward to riding the indoor trainer and learning how to train more effectively by using its built-in power meter. I’m hopeful it’ll be the key that unlocks both my attitude and my fitness level for the 2019 season.

If I can achieve those two simple goals, I’ll be happy, and it will make possible any specific challenges I target as the year progresses. And so far it looks promising!

Frequent topics