Tuesday, February 23, 2021

How to get 2 new bikes without buying (or selling!) anything

I had a problem over the summer. Alastair had outgrown his first cyclocross bike, and I was itchin' to get drop-bar gnarly with him. He'd never found the joy in off/soft road adventuring, and I chalked it up to a combination of 3 factors:

  1. 1. his CX bike was WAY too rigid and built almost entirely of spare parts
  2. 2. he flatted every single time he rode the thing
  3. 3. it was just too small

So when a good local deal popped up on a new one, we jumped on it. Let me find "good local deal": it was the exact same bike as mine, just one year newer. Same size, same spec level, same everything. So with both a 2016 and a 2017 Giant TCX SLR 2 on the car, we set out to find joy on the road less traveled.

And he flatted. And flatted. And flatted.

It struck me one day that his riding style can best be described as "heavy", whereas mine tends to veer more to "light". I pick up the back wheel for minor obstacles. I use my body to reduce impact because I know the value of the components under me. Alastair does not do those things. His butt stays on the saddle unless (and ONLY unless) he is actively sprinting. And it is always the rear tire that goes down for him, so I can only attribute that to style. He's never broken or deformed a rim, and frankly at 121 lbs I'm not sure he can, just pinch-flats all dang day.

So I figured I'd just quicko swap my old CX tubeless wheels to his bike and see if we could get through a couple of rides.

Except 2017 was the first year Giant equipped the TCX with thru-axles. NBD: when I bought the wheels new in 2017 they came with the promise of easy conversion. Only, and this is super cute, half of the pieces necessary to complete the conversion are discontinued. Only half, and not the same pieces from front to rear. Just kinda randomly chosen, but super critical pieces. Gone. Not even a hint of a whisper on ebay.

This was a huge issue for me, and I railed to Easton about having the AUDACITY to make wheels and discontinue repair parts within 5 years, which is illegal in some places (ran across that little gem years ago when Apple got in trouble for discontinuing service parts). They didn't prioritize getting back to me. And then it got worse, as Easton basically stopped making repair parts for everything. The market for 11-speed R4 freehubs dried up almost overnight.

Anyway, I couldn't put my tubeless Easton EA90XD wheels on his bike, and I wasn't going to put my newer wheels on it, either. I like 'em. They're mine. But I did have all the necessary parts to put them on that bike.

The Eastons would have solved another problem for him, too, weighing over 1 pound less than his stock wheelset.

And then it hit me: why not just switch bikes? The Eastons weren't doing any good rotting on a shelf: there's no CX to race, so I didn't need them under my bike when my fancier gravel wheels were doing just fine thank you. But the bikes, being otherwise identical in every meaningful way, should just take a quick cockpit and drivetrain swap. Because he also wasn't getting my carbon handlebar or SRAM Forcee 1 drivetrain.

And since he wasn't getting any of that, the job would be made even easier by just pulling the handlebars off at the stems, cables and all, and just switching them. I didn't even have to undo bar-tape! And then it just kept getting conceptually easier because it turns out his saddle was actually NOT identical to mine, but WAS identical to my MTB saddle, and I can happily do just as many hours on that, so that conversion just became "raise/lower the post".

And so, about 3 weeks ago, with a plan to salvage his interest in gravel and get him rolling on nicer wheels while also not spending a single dollar, I pulled our bikes down to frames, lined everything up on the bench, and swapped it all. Cables were like-for-like, which was easy on my 1x setup and a friggin' nightmare to fish through the frame on his. I swapped cranks so I could save time moving pedals and chain-rings, and was ready to run new shift-cable inners in less than 2 hours on both bikes. And I had spares of those from previous projects, so literally nothing was spent to complete the conversion!

And when it was all said and done, we both had tubeless setups that should last a ride without flatting. I just now had bar tape that didn't match the bike, so I broke my rule and spent $27 on a new roll. But still: $27 for new bikes all around? Not a bad bargain.

Wednesday, February 10, 2021

Exuberance and disappointment in the same breath

 I got a new trainer! Yay! At least, new to me. It's sorta new in that I got it from a store, but it was covered with dust and marked waaaaaay down and labeled 'no returns', but I GOT A NEW TRAINER! WOOHOO!

I've been on a wheel-on trainer since 2015, and while it still works just fine, it's definitely showing signs of age and wear. It's noisy as all get-out, and that is not helped by the different tire compounds Alastair and I have on our rear wheels (seriously: the first 5 minutes sound like someone is using 10-year old windshield wipers on dry glass). And that brings up another challenge: Alastair and I share it. So to do a race with him I have to move over to an even older dumb trainer and use plain ol' fluid resistance and a power meter. It's not ideal. Oh and the 2015 Kickr Snap has somewhere in the neighborhood of 15K miles on it, so the drum's worn down with a nice deep groove that really makes me question its power accuracy.

So anyway I'd been targeting a new trainer for a while, a wheel-off (or direct-drive, as the cool kids say) unit with greater accuracy and reduced noise and improved "road-feel" and, well, fewer YEARS on its clock. And then the pandemic put that desire in a choke-hold, because everyone who could actually afford a new trainer bought one, and deals evaporated overnight.

But I had a plan.

I'd created a short list of trainers that I found to be accurate and quiet and affordable enough to justify the expense, and I'd check local inventory at my favorite bike shops, because sometimes they actually have trainers in stock that aren't the top-of-the-line units.

My list comprised the following options:

  1. Wahoo Kickr Core at $899, +/-2% accuracy, 2000W capability, ballin' on a budget
  2. Elite Direto XR at $949, +/-1.5% accuracy, 2300W capability, cassette included (one less thing to buy!)
  3. Wahoo Kickr v5 at $1199, +/-1% accuracy, 2200W capability, the gold standard
Let's be clear: I was only going to consider the Kickr v5 if there were literally no other options and the store accepted payments in kidneys. But it made the list because Wahoo's products are pretty future-proof and enable some of the best integrations available in the trainer space. They're dorky, but nerd-cool dorky.

And before I went out the door to my local bike shops (LBS's to the cool...you get it), I figured I'd check stock online because ew yuck people gross. Yeah: still a pandemic going on, still no stock of the "affordable" options (I don't even mention some of the more expensive options, like the ones with built-in vibration, because apparently sitting on a trainer for hours isn't torture enough--you need it to vibrate!), so on Saturday, Alastair and I headed out with masks to do a quick round of bike-shop visits.

We never made it.

On a lark, I figured it might be worth dropping in to REI. They're kinda notorious for having wild deals on stuff and really not knowing their inventory very well. We'd been in the store for 5 minutes, and after asking if they had any trainers in stock, were ready to pull the plug when the dude showed us to the "trainer things" that were just front-wheel riser blocks (c.f. above about their knowledge of inventory) when *another* dude said he thought there was something bike-related in the "garage sale" area.

Do you want to guess what it was?

Well it wasn't anything on the list above, but it was a trainer with no box and a "no returns" tag. Specifically it was a CycleOps Hammer H2 with an accessory bag, an 8-speed cassette mounted, and a tag that further elaborated "used once". With that 8-speed cassette, I'm not surprised. Blech.

Oh, also? It was less than $500. Get the car, kiddo.

Now the deal with "no returns" is that, obviously, it's a gamble. And a big one, since this is a unit from almost 3 years ago that, while it still has its warranty card in the bag, mmmmmaybe won't be honored. But saving many hundreds of dollars wasn't exactly my plan, and you may know that I'm somewhat technically savvy, so OH HELL YES WE ROLLED THIE DICE.

Got it home with the quickness and immediately ditched the cassette, pulling a spare 11-speed 11-28 from an unused cyclocross wheelset (more on that in the next post!). Got the unit paired quickly and went for a quick...70-mile Zwift gran fondo. Nothing like a trial-by-fire.

That's kinda short-selling the experience. I did have some initial issues pairing the unit, so I rode the event pulling power from a separate power meter and used BLE to control the trainer's resistance. But OMG it was amazing! So quiet! So smooth! So much the better ride that I almost forgot I was on a trainer! Not even exaggerating: it was that much better.

But I knew it could be even better, because there's no reason I should have to use a separate power meter. A quick check of the H2's specs shows that it's supposed to be +/-2% accurate on power and somehow calculates cadence. So I tried it using all its onboard goodies, and...the numbers felt weird. I felt like I was working really hard, but the power numbers were low.

And do you know what that means? It means it's time for science! Which I did today! Because science!

I happen to own two bikes with onboard power meters. One is my primary road bike, a 2011 Blue Axino with a Stages left-side-only crank-based power meter. Let's call it a Stages "Gen 1", since there's no generational data on it. It's old, is kinda my point. And it's gotten wonky before. In 2017 I was seeing some of the most amazing power numbers of my life until I did a mid-summer calibration and saw an almost 30% drop. Booooooo. More recently it just stopped doing nice stuff altogether until I did a factory reset on it, but it's been my primary power source for Zwift racing and outdoor riding December 2015.

I also have a TT bike, a 2016 Swift Neurogen, with a Quarq D-Zero crank-based power meter. The Quarq requires far less care & feeding, includes fancy bits like temperature compensation (you don't have to calibrate it because it got cold outside) and left/right power offset (which leg is stronger?). I don't often use it on Zwift because with the wheel-on trainer the disc wheel is horribly loud, the TT position is weird and makes me look up up up at the monitor, and the front end of that bike is super wobbly (are all TT bikes like that??).

So back to the science! Today I picked a route on Zwift and rode it twice: once with each physical bike that has an onboard power meter. Each ride had the same settings in Zwift, from "trainer effect" to chosen in-game bike. Each ride was also dual-recorded, with Zwift capturing the CycleOps H2 power and cadence data over ANT+, and my Garmin Edge 520 recording the bike's power meter and cadence. Heart-rate data was recorded from the same Wahoo Tickr for each and would serve as the anchor for data overlays. Firmware was updated for the H2 to latest (I didn't catch the version number).

The goal for both rides was a general Zone 2 effort, with a 300-ish watt climb in the middle and an unspecified 15-minute effort through rolling hills to get SIM mode doing its thing. In both cases, at 14:30 into each ride I stopped, calibrated the onboard power meter, and performed a spin-down calibration on the trainer. Temperature in the riding space was maintained at 69F throughout.

With both rides done, I pulled the .fit files from Strava for the Garmin recordings and uploaded them into data analysis sets at zwiftpower.com, and the results are amazing.

First up, the TT bike: Quarq D-Zero vs CycleOps H2



Ok, 5%-ish deviation across the ride. Not too terrible. Kinda on the limit of acceptable, but let's look at pre- and post- calibration.

Well that's just ridiculous. It was within 2.x% before calibration, and drifted apart after. That's not how "calibration" is supposed to work!



Oh that is not better. Oh yikes. Overall an 8% deviation between the two power sources. Generally speaking, +/-3% is considered good, while +/-5% is acceptable. Anything outside that is...a problem. The trainer seems to think I am doing less work. But wait! That big double-gap in the first 1/3 is the calibration, and it definitely looks worse before that than after! And it is: 11.6% vs 7.1%, but still way out of acceptable limits for racing in such a competitive community as Zwift.

So somehow calibration hurt the TT bike and helped the road bike. To see how that trend aligns with the overall results for the ride, let's take a look at critical power curves for both. Now bear in mind that the calibration was performed at ~15 minutes, and all efforts leading up to that had been Z2, so nothing on this curve shoud really reflect anything pre-calibration.

Again, first the TT bike:


Oh now that's neat: it seems the Quarq evidently can't handle burst power very well (not that it was a lot of burst power, but bear with me), but tracked fairly accurately on shorter intervals, deviating pretty substantially with longer duration efforts. In fact it seems the ONLY thing the Quarq and Hammer agree on is efforts ~1m or less.

But then there's this, from the road bike:


The numbers are pretty amazingly similar, even if the graph looks a little different. TBH I'm probably prouder of the fact that I was able to turn in such similar rides than anything else, but we're here to compare technology and not marvel at my consistency (seriously, though: those are pretty consistent!).

So what's the takeaway? The new trainer is amazing, but it under-reports power. I have 2 power meters that agree far more closely with each other than they do with the trainer (except for 1s, they're within 3% all the way down, even factoring their differences and using the comparative values from the trainer to extrapolate what they "would have been" in an exact-match ride). So it seems that I'll be relying on onboard power meters in Zwift races for the foreseeable future. And it's a bummer, because I was hoping Alastair could use the trainer with his non-PM bike to improve the accuracy of his rides, but it seems to be no more accurate than the old Kickr Snap, even if it is hella quieter, smoother, and nicer to ride.

Monday, January 04, 2021

2020 sporting year in review

2020 was one for the ages. It's safe to say nobody had the year they expected, though I've been super impressed at all the ways folks found to challenge themselves in quarantine. A lot of fitness goals were smashed, including some of my own, and I've heard it joked that we had enough time to both get into and back out of shape. Because my whole world is a sea of numbers and metrics, I thought I'd look at the data to see if that held true for me.

At first blush, it appears to be true:

This chart represents fitness (purple), freshness (orange), and fatigue (yellow) based on dark magic calculations of stress scores for activities, heart-rate values, power numbers, weight, and voodoo to plot "fitness" over time. However they come at the data, Strava seems to generally agree:


I came into 2020 with much lower fitness numbers than I would have liked because of late-2019 business travel and a crash in December 2019 in which I broke yet another rib. Following the purple fitness line into the year, it stayed pretty flat as I continued to try fitting activities around business travel. And then came March. And from March to early July my numbers rose faster than literally ever before. Along with the rest of the nation, I was working from home, and my lack of commute, combined with the lengthening daylight, put more time at my disposal to ride:


Crack-of-dawn outdoor rides, sunset chases, or the occasional webinar-on-the-trainer became my opportunities to go. And go, I did. And while I'd eschewed virtual racing for a few months, 2 series came together in relatively quick succession that pulled me back into competitive sessions on Zwift: Thursday night team time trials and Saturday morning races with the folks I couldn't see outside. Now I wasn't just riding: I was *training* with a purpose.

But with that purpose came a loss in some of the fun and a re-focus on metrics, something I had really wanted to forgo in 2020. Zwift (my preferred--only--platform for e-racing) races tend to be somewhere in the 1-hour-or-less range, so it's tempting to train to 1 hour efforts. When people talk about being "indoor specialists", that's kinda the underlying statement: they're amazing for 1 hour, but get 'em outside for a 30+ mile ride and they'll fall apart. My principal goal for 2020 had been to stop being an indoor specialist, a goal solidified by my complete and utter collapse in the closing miles of the only 2020 outdoor race I got to do, and about which I've already blogged considerably.

So it's pretty hard to focus on training to a specific series while also trying not to fall into the trap of training for its exact requirements, and that, in turn, meant some other elements of my riding kinda fell off a bit. Commuting wasn't really a thing until mid-July, so the Fuji barely moved off the rack in the first half of the year, and has only recently been pressed into service for outdoor rides to reduce the inconvenience of pulling the race bike off the trainer. Yeah: it's that bad.

Literally the only time the Fuji got less use was 2016, and I bought it in mid-October that year!

But while the Fuji may have seen under 1000 miles of use for the first time in 4 years, the Blue (my primary race bike) got put through the wringer.


All told, my 2011 Blue Axino was used for 5989 miles in 2020, exceeding its previous record by over 1300, though 3900 of those miles were on the trainer.

Speaking of the trainer, I turned 4066 miles in 186 hours, both records by a landslide (over 1200 miles than ever before, with just shy of 50 hours more than ever), and trainer time in Zwift's majestic mountain ranges allowed me to accumulate over 365K' of climbing, a record by 62K'.

But some bikes simply do not go on the trainer. My cyclocross and mountain bikes do not do trainer miles, and they, like the Fuji, largely hung on the wall through the early lockdown times, although both ultimately exceeded their usage time and distance from both 2018 and 2019.

The TT bike was the saddest story of the bunch, having been ridden just 12 times, 2 of those rides being on the trainer. The mileage for that bike was only a shadow of its use in 2018 & 2019, and it remained the most expensive bike in the stable by rides and days owned. Because yep: I track all of that, too.


The TT bike continues to tell a fascinating story, too, even through its lack of use. It seems to need servicing just about every single time it comes off the rack, but so far that servicing has been handled with bulk cable purchases, so while it's constantly down for repairs, those repairs don't really cost a lot (as seen in yellow, above), whereas the road bikes are comparatively maintenance nightmares.

And those nightmares were compounded by the availability of replacement parts. The Fuji puked an Easton R4 freehub, which in any other year would just be a $80 charge on Amazon and 10 minutes of work, but this year meant scrounging for another set of wheels to use on it. Good thing the climbing wheels weren't busy, but I'd rather not subject those to the harsh needs of commuting. Then I tried to move another set of Easton wheels from one bike to another to re-balance the load, and even though that wheelset was ONLY 4 years old, the parts necessary for the conversion were all discontinued. Not just discontinued, but completely unavailable, even on eBay.

But 2020 was also the first year I ever stuck to my budget for bike stuff, in spite of buying new wheels for the 'cross bike, a new 'cross bike for Alastair, and enough stuff to cobble together a 2nd trainer setup so Alastair and I could race on Zwift side-by-side in the garage. Aside from those costs, I had no tire purchases, only a couple of tubes, a whole mess of chains, and a couple sets of cables. Once the lockdowns started, and it became clear the Blue would get all the attention, I kept things hyper simple, buying just a handful of additional bike upgrades all year: a shorter crankset for the mountain bike (LOVE LOVE LOVE) that was on deep clearance, and new Time ATAC XC8 pedals for both the mountain bike and cyclocross bike, which in turn allowed me to move my old SPD pedals to Alastair's off-road stable.

So the moneys were lower, the trainer was up, the racing was basically indoor or non-existent, but in spite of it, I still had my 2nd best mileage & time year ever, my best elevation year ever, my biggest training load by leaps & bounds. I managed to burn just over 288,000 calories and compete in 47 races.

But did I gain or lose fitness? The charts at the top seem to indicate I did, but Garmin's largely un-scientific VO2 Max calculations tend to disagree, putting me back at 60 in December after a year spent mostly at 59:

And all of us cyclists obsess over FTP (functional threshold power), or the theoretical maximum value of power, measured in Watts, we could hold over the course of an hour. That value seems to be down, slightly, from a measured value of 282W in July to 275W, though that may simply indicate I haven't gone full-tilt boogie for a full hour in the past 6 weeks. Strava seems to think that may be the case, too, as it currently estimates my FTP at 288W:


That 282W measurement was from a climb of the virtual Mont Ventoux, a climb that took just over 75 minutes without letting up, so while it's a measured value, it's probably not a theoretical limit for a 60-minute effort.

So in spite of the dip in "fitness", I've gained back my pre-2020 VO2 Max, and my FTP seems to be stable or possibly slightly higher, but that FTP graph above also shows an interesting thing at the 2h mark, a thing that happened just yesterday in 2021: a 13W or 5% increase in my maximum 2-hour power. That's a huge gain for un-structured training, and I'll take it, as it implies I'll be better prepared for a return to outdoor racing...as long as I don't have to sprint, because that's way off from 2019. Like let's not even talk about it kind of bad (-13% @ 15 seconds... oof).

And while the hours on the bike and the corresponding "fitness" numbers have tapered, I've been fortunate to keep my weight pretty stable throughout the year, again with a slight corresponding increase in the back half:


Again, not 2017 death-skinny sub-140, but also not dizzy all the time.

And while the numbers have remained fairly consistent, the results steadily improved! The Saturday morning race series had 4 "seasons" through the year, and in the 3 in which I participated, my overall finishing position went from 3rd to 2nd to 1st.

So, to tie it all up, here's a pretty infographic showing my major stats of 2020: