I’ve completed exactly one training session on my Wahoo Kickr. During my research, I had seen mixed reports about the comparisons of power reported by Kickrs (all trainers, really) and crank based power meters. As this is my new training tool of choice for my structured, indoor sessions, I thought it would be important to understand the delta between what I am seeing on the Kickr app and on my Garmin head unit.
The reality is, however, that since my Garmin is putting out it’s data to a head unit, and that’s what I will have on race day, unless I am doing ERG workouts on the trainer, I can use the Garmin power data and be just fine. Once I realized that, this turned into a mental exercise of “how can I go about comparing the data.”
So what follows is a what I did and not conclusive statements about the differences between the two. I wanted to geek out on the data a bit. The first step was to figure out what my data pipeline looked like. I am not sure I did this in the best way, but I exported the TCX data from Connect Garmin, and shared the XML file from the Kickr app on my phone to email export. As I haven’t set up the Kickr with any PC based software yet (nor have I registered the unit – shame to me), this was the only way to get the data off the Kickr. Strava would not dump a file with the power data in it. From some of the posts on Strava, it seems other customers would like to have this ability as well.
After I got both files on to my computer, the difficulty began. First, the one file from the Kickr was very nicely formed XML which Excel had no problem opening up. [note: I used Excel for this first round of the exercise, because I didn’t know what the data would be, and knew Excel would save a ton of time with file parsing and visualizations in the short run]. Second, the one from Connect Garmin was also easy to parse. The trick with these two files was how to line them up. Since they had slightly different start and stop times, I needed to figure out a smart way to get close to lining up the files.
At this point, I had two sheets in Excel, and each of them had different time codes. The Connect file had a time stamp for the start of the lap in the form of “2015-01-21T13:37:51.000Z”, and the Kickr file had time stamps in the form of epoch time, in the form of “1421847320684”. To get reasonably close to the right parsing of the data, I used the following algorithms:
- For the lap start time code, I figured out where the laps started for my main set (5x 8 minutes with 2 min rest between each) and added a column for the “lap” number. Now I had laps 1-5.
- For the epoch time codes, I first tried to build a formula to find the rough time-in-workout associated with each reading. It mostly worked, but then realized there was a column which had total lap time. That made it easy to filter down to those laps which were around 480 seconds.
That gave me laps and power readings, but now I had to ensure that I had the same number of power readings per lap. I was surprisingly close with my first pass filter, as I only had to trim roughly 4 or 5 from either end of the column of data for one or the other sets of data.
I then created a new sheet with <lap><Quarq W><Kickr W> as my fields. Then I made a simple graph.
There’s quite a bit more noise in the chart from the Quarq. Loads of variability. However, it’s clear that there is a delta between the two readings. To make this a little easier to read, I applied a 20 sample moving average to smooth out the Quarq curve.
That might have smoothed it a bit too much, but it serves my purpose. The smoothed Quarq reading is about 9% lower than what the Kickr is reported (again, subject to my caveat of my accuracy lining up the power readings).
I want to be explicit about something: this would not stand up to scientific scrutiny. There are variables which could come into play here, such as RPMs (though this was a 70-80RPM main set), whether I did the cool down correctly on the Kickr, and whether I did a reasonable job lining up the data points (it looks like I did).
More than anything, I enjoyed the geek exercise of trying to pull the data, sanitizing it, visualizing it, making sense of it, etc.
Now that the geek fun is out of the way, I’m sure some of you are wondering what do I think of the unit. Put simply?
I really like the ride. It felt like being outside. I didn’t feel like the power curve of the unit was unfairly punishing me, or chewing through my energy reserves to keep the flywheel rolling. My time on the test unit with the Apex guys at Rally Sport was not colored by the fact that I had already pretty much decided I wanted one. I am as impressed after this session as I was at Rally Sport. Next up will be getting the PC hooked up correctly so I can start using some real course rides.