Comparative statistics

10 June, 2013 by David Johnstone

This post might have a complicated sounding title, but most of this is pretty straight forward. One of the nice things about having a lot of data from a lot of people is that interesting things can be done with that data. Therefore, there are now a few simple charts that show Cycling Analytics users how they compare with the rest of the users. Head over to the statistics page and take a look.

The first few charts show how the user’s resting and maximum heart rates, weight and FTP compare with those of everybody else. They look something like:

This chart shows a histogram of all users’ resting and maximum heart rates, and the solid thinner lines show where this particular user (me!) lies. In the chart legend it says that 34% of users have a lower heart rate than me and 43% have a higher resting heart rate. This probably means that 23% have the same resting heart rate (that is, it’s in the same 50–54BPM grouping), except rounding errors mean these numbers don’t always add up to exactly 100%. If you hover over the chart with your mouse (on the actual page, not this picture), it shows what proportion of the users have a resting heart rate lower than where the mouse is… continue reading


Heart rate vs. power chart

8 June, 2013 by David Johnstone

Power output and heart rate have a complicated relationship. When you ride hard, your heart rate goes up. When you get tired, you find it harder to produce the same amount of power, and when you’re tired enough, you find it hard to raise your heart rate. And, all else being equal, the fitter you are, the more power you can produce at the same heart rate. Looking at power and heart rate data together can reveal more than either alone.

There is a concept in exercise science called physical working capacity (PWC), which refers to the amount of power that is produced at a specific heart rate. PWC130, PWC150 and PWC170 are the the power produced when the heart rate is raised to 130BPM, 150BPM and 170BPM. Ideally, these numbers are worked out by doing a specific test, but it’s also possible to work some things out by looking at power and heart rate from a normal ride.

Cycling Analytics now has a new chart that shows how heart rate and power are related. It is found on the pages for all rides that have power and heart rate data, and it looks something like:

Your first impression might be “that’s a big, colourful, messy set of lines and dots”, but it does… continue reading


Heart rate and weight history

14 May, 2013 by David Johnstone

Rather than having a single weight and a single resting and maximum heart rate, as of today, these numbers now have dates associated with them, so an entire history of them can be stored. They can be shown on a chart too:

Image showing weight history chart

Charts appear on the FTP, heart rate and weight pages when there are more than five of the relevant value.

This is useful for people who measure their resting heart rate frequently (a higher than normal resting heart rate often occurs when overtraining), and also for those who want to keep track of their weight.

This also means that these three parameters (weight, resting and maximum heart rate) are now treated in conceptually the same way that FTP is — they’re histories of a value, and provided at least one value exists, the value for any day can be given according to the following rules:

  • If the date is before any entries, the value of the first entry is given.
  • The value of the most recent entry on or before the date is given. No interpolation is ever done, and this is why the chart above looks “stepped”.

Finally, this also means that FTP, weight, resting and maximum heart rate have a consistent interface on the API that is being developed. Let me know if you want early… continue reading


Privacy controls

24 April, 2013 by David Johnstone

Users can now choose what aspects of their data they want visible to others on the privacy settings page. It looks something like this:

Image showing privacy settings

Hiding power and heart rate data prevent all data about power and heart rate from being revealed (including averages and maximums and the data stream for the ride). Hiding power and heart rate metrics prevents information that could be used to directly work out the FTP and heart rate zones used to be displayed (including intensity and training load).


Recent changes (and fixes)

18 January, 2013 by David Johnstone

Here is a short update about a few recent changes and other things.

Normalised work is now calculated as intensity2 × time riding, rather than as intensity × time riding. (This is how it was always meant to be calculated.) This has caused all normalised work values to be changed, and consequently all short-term stress and long-term stress values have also changed (I suppose it’s possible that some haven’t, but generally they will have changed).

Ride uploads were mostly broken for a day or so a couple of days ago (so if you tried to upload a ride earlier this week, but it didn’t work, try again now). Thankfully a number of people let me know, and I worked out that it was caused a minor change I made that had nothing to do with ride uploads, but caused some other things to be updated, which in turn caused most ride uploads to fail. Since then I’ve added some more monitoring so I am alerted when things go wrong (it lets me know when file uploads fail, and when “Something went horribly wrong” errors occur), so hopefully now I will learn of major problems very quickly, and find bugs that my testing hasn’t picked up.

One more thing: One of the things I’ve come to appreciate in running this site is that ride files can contain all sorts of things that you don’t expect. My favourite example so far is from a FIT file that a user of this site was having difficulty uploading. It turned out that halfway through, the timestamps jumped ahead exactly 4599 days, to July 2025.


Heart rate zones

13 November, 2012 by David Johnstone

Cycling Analytics now supports heart rate zones.

Image showing heart rate zones

This chart shows the time I spent in each heart rate zone for each week in the last six months. If this was the real chart you could hover over it with a mouse and see more information. You could also have rides grouped by month or by day instead of by week. And, you can hide zones, which makes it much easier if you just want to focus on one zone, .

If you want one of these for yourself, you first need to add heart rate zones. The easy way to do this is to go to the heart rate management page and click “Set zones automatically” and five heart rate zones will be generated automatically based on your maximum heart rate (so make sure that’s set first). However, there are lots of different approaches to making heart rate zones, so this is very flexible — you can tell it how many zones you would like, and then specify your preferred heart rate range for each zone (and you can even specify their names).

Image showing monthly summary with heart rate data

continue reading


Support for US units of measurement

9 November, 2012 by David Johnstone

Here’s something for everybody who prefers to think in terms of miles, feet, pounds and Fahrenheit — Cycling Analytics can now display distances, elevations, speeds, weights and temperatures using the US customary units.

To get this, simply go to your profile settings page and tell it to display US units. Then, distances will be displayed in miles, elevation in feet, speed in miles per an hour, temperature in degrees Fahrenheit, and weight in pounds (even though the only place weight is used at this time is for displaying power in watts/kg, and that remains in watts/kg when using US units — I doubt many people think of a cyclist’s power to weight ratio in terms of horsepower and pounds).


A thirteen minute 1 in 20

29 October, 2012 by David Johnstone

Have you ever wondered what it takes to ride a thirteen minute 1 in 20?

In 2002, one of our Aussie pros, Trent Lowe, did just that, clocking 13:02 before going on to win a Junior World Mountain Bike XC Championship title. Now, with the help of a video of the ride, a bit of physics and a lot of guesswork, I’ve had a go at reconstructing the ride.

The short answer is: you need to be able to put out about 6.2W/kg, which is 395W if you weigh 64kg. And, if you can do that, you’re probably being paid to ride a bike.

View the ride here.

For anybody who isn’t aware, the 1 in 20 is a very popular climb near Melbourne, named after its fairly constant gradient (although there’s a false flat in the middle). The current Strava KOM time is 13:20, which is based on about 16,000 ascents so far.

My approach to generating the data for this ride was to:

  • Ride the 1 in 20 myself with a helmet camera and a GPS.
  • Find places where both rides were in the same position, thus providing checkpoints for Trent’s ride (i.e., after 2:12, he had gone 1.142km).
  • Use a physics model to work out what constant power output would be needed to get to the each checkpoint in the required time (speed data was generated here).

There a number of caveats worth mentioning:

  • This heavily relies on the elevation and gradient data being accurate, but the data I have doesn’t appear to be as good as it could be. One issue is that the gradient is a lot spikier than it should be, which, in turn, causes the speed to be spikier than it should be. Compare the generated data with a real 1 in 20 ride.
  • The model is assuming that there was no wind on the day.
  • There’s no guarantee that the drag coefficient or frontal area (used to calculate wind resistance) is accurate.
  • The system weight (bike+rider+clothes+everything else) is modelled at 73kg. That’s not necessarily true.
  • I’m pretty sure the 15s drop to 215W starting at 7:40 wouldn’t match the real data.

All in all, take the data generated with a grain of salt, but I think that it would broadly… continue reading


Power and heart rate data on the training load chart, together

17 October, 2012 by David Johnstone

You normally ride with a power meter. Occasionally you only ride with a heart rate monitor. You want all your rides to be represented on the training load chart. Does this describe you? If it does, you’re in luck, because Cycling Analytics can now show rides with power or heart rate on the one training load chart.

At the end of the last blog post I pointed out the correlation between the heart rate and power metrics calculated to indicate the stress of the ride. Now, if you have rides with both heart rate and power (to calculate the correlation), as well as rides with just heart rate (or else this isn’t needed), the TRIMP score (from heart rate) is scaled so that it corresponds with training load (from power). Thus, TRIMP is used to estimate the training load for a ride. Traditionally, one would have to estimate the training load for a ride (it was two hours at 75%, therefore it’s 150), but automatically using heart rate is a lot easier.

If you are curious as to how well this actually works for your rides, you can look at a chart that shows how TRIMP and training load of all of your rides correlate. This chart is found at the bottom of the training load chart (and you have to click on the button to make it show).

One other recent change with the training load chart is that starting values for short-term stress and long-term stress are calculated automatically if custom values aren’t provided. The guess works well if the first week or two of your rides uploaded are representative of the riding you were doing previously, but it won’t be so good if you had an unusually big first week. If you know that the guess is inaccurate, custom values can be used instead.

One more thing: mini-training load charts are shown on the main “rides” page in the monthly summaries. These show the same information that the training load page shows when it loads. That is, it defaults to showing the same data (power and HR together if it can, else just power, else just HR) and uses the same initial values.


Better heart rate monitor support

11 October, 2012 by David Johnstone

Since a lot of “serious cyclists” don’t have power meters, I have received a number of requests to do more with heart rate data. Therefore, Cycling Analytics is now calculating the TRIMP score for rides, which, in turn, can be used to generate the training load graph for users who don’t use a power meter.

TRMIP, or training impulse, is a metric based on heart rate that is designed to capture the stress of an activity in a single number. The formula used (described below) relies on the sex, resting heart rate and maximum heart rate, so users must enter these values before TRIMP scores are calculated.

Once TRIMP scores have been calculated, Cycling Analytics uses TRIMP scores to generate training load charts. Therefore, a user’s rides page will contain more enlightening monthly summaries, and the main training load chart page is useable.

Image showing monthly summary with heart rate data

This is similar to what a user with a power meter would see, except there is a big gap in the middle where the power curve is shown. Do you have any suggestions for what could fill that gap?

Image showing monthly summary with power data

continue reading

Page 1 2 3 4 5 6 7 8

This is the blog of Cycling Analytics, a website that exists to help people manage their training and analyse their riding, with a special focus on power data.

You can follow this in your favourite feed reader, or on Facebook or Twitter.

Also, I'm on Twitter as @cyclist_dave.