G'day
As a part of a work project and secondly through interest, I've been looking at PWR vs HR vs Bike vs Cranks. It seemed sensible to think that on any one ride it would be hard to see correlations. However what about if you looked at lots of rides ie applied some BigData to the problem?
Well, I converted all the Garmin .fit files for every ride with my power meter (I wrote a script to use GPSBabel), and uploaded into Google Cloud Storage* and BigQuery. The result is about 2,000,000 rows of data, each row having HR, PWR and Cadence. I denormalized the data to add bike and crank length ie flattened the tables. Then I used Big Query to analyse the data.
The basic query is
SELECT
Bike,
AVG (Heartrate) AS HR,
AVG (Cadence) AS Cad,
Power AS Pwr,
Cranks as Cranks
FROM RideData.Rides_at_18_08_2016
WHERE Bike IN ( "Bike2", "Bike1")
GROUP BY Bike, Pwr, Cranks
This query gives about 1.3M rows. Its less than the ~2M total because I have other bikes that also have a power meter. Still 1.3M data points is quite a bit right?
So what do I see? Well not always what I expected... which is fairly good I suppose! Here's the chart for Power and HR for 2 bikes. NB on the Cannondale I swapped to shorter cranks about half way through its life, and each data set is about 450k rows.

What I expected to see was the switching to shorter cranks on the Cannondale would mean less HR for the same power, and thats what we see. What I was not expecting is that power for power my heart rate would be so much higher when on the Cervelo!
My working hypothesis for the shape of these charts, which I put forward for discussion is that as the power required approaches and then becomes greater than VO2Max (approx 410W for me) my energy systems switch and become less oxygen / HR dependent. Below about 200W I'm probably not working hard eg after a sprint or the top of a climb when my heart rate is still recovering.
Does that sound sensible?
Then I looked at Cadence vs HR, and HR vs Pwr/Cad (which I think equals Torque?) and it doesn't seem enlightening... looks like it just gives behaviour more than insight.


Cheers!
Steve
* I cleaned up the data by removing any rows with:
- cadence and power less than 50 since that would be noise
- HR less than 100 - since I'm looking for actually working
- HR greater than 173 since that would be bogus data - might heart won't beat faster