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


Better ride navigation (for old rides)

8 October, 2012 by David Johnstone

Going back in time to look at old rides is now a whole lot easier. Rather than having to endlessly scroll down and repeatedly click “show more”, there’s now a list of years and months that can be used for navigation.

Image showing the improved ride navigation

Immediately underneath “Rides” on the left there’s now a list of years and months where rides exist. Clicking on the year collapses or uncollapses its list of months, while clicking on a month takes you to those rides. The number of rides in each month is shown when the mouse is over the month name. And, to make life easier, the list of years and months is always visible, regardless of whether you’re looking at the top, bottom, or middle of the ride list.

If you want to see this in action, take a look at my rides.


Improved timezone handling

4 October, 2012 by David Johnstone

The way timezones are handled has changed. Previously, dates and times were shown according to the timezone set in profile settings. Now, dates and times are shown according to the timezone that the ride starts in.

There were a few problems with the old approach, with the main one being that the date of a ride when it is shown may not be the same as the date that it was considered to have when the power profile was generated. Why? The best-for-the-month and best-for-the-year power profiles are calculated ahead of time, and since it doesn’t know what timezone to use (the user can change their timezone), it uses the UTC date, but it’s possible for this to be in the wrong month or even year. For example, if you went for a ride at 7AM on January 1, 2013 in Melbourne (and your timezone is set to Australia/Melbourne, which — including daylight savings — is 11 hours ahead of UTC), the UTC date will be used when adding it to power profiles, and that date is 8PM on December 31, 2012.

The new approach completely avoids this problem by always using the local date. There are a couple of potential problems. Firstly, the wrong timezone might be chosen. This shouldn’t happen, but get in contact if it does. Secondly, this doesn’t work when there is no GPS data for a ride. If this is the case, the user’s timezone (at the time the ride was uploaded) is used.

That’s all for now. Oh, for any software developers reading this, I’ll probably be releasing an open source latitude/longitude to timezone lookup library and a web API in the near future.


Ride cropping and data editing

26 September, 2012 by David Johnstone

Sometimes the data you get from your bike computer isn’t quite right. Sometimes you’ll see massive power spikes, and — if you’re like me — occasionally you’ll forget to stop the device at the end of a ride or forget to reset it before the next ride. Therefore, you can now chop off the start or end of a ride, and also edit the raw data. The controls are located in the menu next to the date.

Image showing the crop and edit menu

Ride cropping

Choosing Crop ride brings up something like the following, for a ride where I forgot to turn my bike computer off.

Image showing the crop control

continue reading


Trainer view, and lots of little things

25 September, 2012 by David Johnstone

When you’re riding on an indoor trainer, seeing a map of your ride probably isn’t very useful. Therefore, it isn’t shown any more.

Image showing the indoor trainer view

It works by detecting that the rider hasn’t gone far, so it might be confused if you ride to your next door neighbour’s house or if you do Fat Cyclist’s 100 Miles of Nowhere around the end of a cul de sac (or if your GPS drifts far more than I’ve ever seen), but it seems to work fine in practice. You’ll notice that the titles of these rides are more appropriate for rides done on a trainer.

Since the last post, many other things have changed:

  • It’s now possible to download individual rides in the format they were uploaded. This can be done by clicking on the cog icon next to the date of a ride and choosing download. (This is in addition to being able to download all the rides you’ve uploaded at once.)
  • Rides can be edited. This is also under the cog icon. This is useful especially if your power meter generates an unreasonably large value and you want to correct it. A more complete explanation of this feature will appear when ride cropping is available.
  • When making selections on the main ride… continue reading

More charts

6 August, 2012 by David Johnstone

There are now two more charts on ride pages to go with the power curve.

Image showing force vs. cadence chart

The first of these shows the relationship between the force on the pedals and cadence (and I think it’s the prettiest chart on the site). Each dot represents one second’s worth of data. This chart is divided by the grey lines into four areas (or quadrants):

  • The top right is high cadence and high force. Sprinting will put points into this area.
  • The top left is low cadence and high force. Accelerating from stationary in a big gear will get points here.
  • The bottom left is low cadence and low force. Recovery rides and soft-pedalling in a bunch will be largely in this area.
  • The bottom right is high cadence and low force. A time-trial will generally fall into this area, as will spinning on rollers.

This chart is useful to visualise the neuromuscular demands of a ride. Here’s a more thorough article about the interpretation of this chart.

The grey lines are drawn so that the vertical line is at a cadence of 80 RPM (by convention) and the horizontal line is at the force required to generate FTP (functional threshold power) at 80 RPM. The yellow line indicates FTP (which is why this line and the grey lines all meet… continue reading

Page 1 2 3 4 5 6 7

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.