Segments and more

15 April, 2016 by David Johnstone

Here’s a long overdue update to the site. The major new feature is segment tracking with automatic interval detection.

Segments are parts of a ride. They are given a name, and all segments of the same name can be compared against each other. The main use of segments at the moment is tracking intervals over time, as it provides a very easy way to see, for example, how all of those twenty minute intervals are going.

Segments can be created on ride pages, using the tools there to find and save segments. Alternatively, segments can be created automatically for intervals recorded with a power meter. To do this, you first need to set it up by specifying what duration intervals you do and a couple of other things so that the site knows what to look for. Intervals are then searched for in all existing rides, and all rides uploaded in the future.

There’s quite a few more updates too, including:

  • Trend lines can be shown on the “power vs. L/R…” chart, which shows L/R power balance and other advanced power metrics.
  • Trend lines can be created on Flexicharts using the .trendline() function. This uses the Loess method for estimating the trend.
  • Duplicate rides can be uploaded.
  • HTTPS is always used, as opposed to being optional… continue reading

Strip power data from Strava uploads

6 April, 2015 by David Johnstone

If you don’t want to share your power data with the world, it’s now possible to have the power data of your rides stripped from the ride files that are uploaded to Strava. There are also options to remove heart rate and cadence data. These new options can be found on the linked accounts page.

This works by creating a new TCX file based on the ride file was uploaded and uploading that to Strava. If none of the data stripping options are enabled and your ride is a FIT, TCX or GPX file, then the original ride file is uploaded to Strava. If your ride is one of the other file formats that Cycling Analytics supports, a converted TCX file will be uploaded. TCX files don’t support temperature data, so that is lost in the process.

On the topic on importing and exporting rides, a number of people have asked about automatic importing from Garmin Connect. This isn’t yet supported, and the main issue is that Garmin charges US$5000 to access this. When this doesn’t seem like so much money, I imagine that this will be added to the site.


A small collection of changes

4 April, 2015 by David Johnstone

In one sentence: Two new Flexicharts commands, coaching UI improvements, some more calendar options for showing day names and week numbers and changing the first day of the week, and Pioneer ride files are now supported.

There are two new commands for Flexicharts. rebase_dates allows the dates to be shifted so that multiple data sets can be shown on top of each other on the same chart, which means it’s possible to compare the long-term stress of multiple years on one chart (as shown below). accumulate causes the chart to show cumulative data, so you can see how distance accumulates throughout the year. There are a couple of examples of this in the default Flexicharts library.

rebase_dates works by giving it a date, and then it shifts the x-values (when dates) so that the date provided is day 0, the next day is day 1, and so on. The Flexicharts documentation has been updated with more details and examples of the new commands.

Coaches will notice that, when looking at one of their athlete’s pages, there is now a dropdown menu in the header to provide access to the analysis and athlete configuration pages. The URLs for the athlete pages have also changed to make this possible, and coaches can use these pages for their athletes without using… continue reading


Improved comparative statistics

27 March, 2015 by David Johnstone

The colourful chart that shows how your power curve compares with all other Cycling Analytics users has always had a problem with faulty power readings skewing the data high, especially for short time periods. This issue has now been fixed with the help of some smarter filtering algorithms.

Here’s what it looked like before today’s update. It turns out that 5% of Cycling Analytics users don’t have a maximum power output of over 2000W.

continue reading


Flexicharts library and other changes

5 March, 2015 by David Johnstone

A few changes to Flexicharts have been made:

  • All commands now start with chart() instead of rides.
  • Flexicharts can now be saved so that you don’t have to continuously retype the same commands.
  • Multiple commands can be given at once (separate with semi-colons).
  • Time in a power or heart rate zone can be used in charts with power_zone(index) and hr_zone(index) functions.

Commands now start with chart() instead of rides because this change was necessary to allow for multiple commands at once (which also means charts saved in the library can contain multiple commands for multiple charts). There have been some big under-the-hood changes, but everything else should work the same as they used to.

As an aside, it’s been interesting to see the response to Flexicharts. For some, it provides a powerful interface to their cycling data, but to others, it’s opaque and unfriendly. Command line interfaces aren’t popular in general, and I understand why, but I think it’s overall useful that this functionality exists.

Finally, the new power curve chart now supports custom colours for series. Click on the colour bar in the legend to change them, and then enter any valid CSS colour (i.e., #000, #000000, black, rgb(0, 0, 0), and hsl(0, 0%, 0%) are equivalent). It’s… continue reading


Manual rides and heaps more

25 February, 2015 by David Johnstone

It’s been a while, but some new features have landed today.

Manual ride entry

First up, manual ride entry, which means you can create rides without having recorded them with a bike computer.

To create a ride, click on the day you want to create the ride for on the calendar, and then click “add manual ride” and fill in as much of the form as you want. These rides can be linked to a training plan. If a duration and training load or intensity is provided, intensity or training load (if not provided) and effective power is automatically calculated because they’re all mathematically related.

Ride summary editing

It is also now possible to edit the summary data of all rides. This can be done on the page found via the menu next to the date on ride pages:

continue reading


A little update

1 December, 2014 by David Johnstone

It’s been a bit quiet around here recently, mostly because I had some surgery a few months ago and was busy recovering from that. There’s still a long list of features to add and things to do with this site, and it shouldn’t be long before some noteworthy changes happen.

Also, the Best Bike Split tool has been removed as their API has just been shut down. Hopefully it will return in the future.


Segments

21 April, 2014 by David Johnstone

According to a recent survey, segments were one of the most anticipated upcoming features. Segments now exist as a way to gain deeper insight into a particular ride, and they will be used in the near future as a way to track performance over time. As a concept, segments are very simple. They are just parts of a ride, and are listed under the list of laps.

Segments can be created using the following tools:

  • Find intervals — Given an interval duration and the number of intervals to find, this uses power data to find segments with the highest average power in the ride. This will be more useful in the future, when there are ways to compare segments over time.
  • Find efforts — Given a minimum duration and average power, this finds all segments that are at least as long and with an average power at least as high. At the moment, this finds the longest segments possible, while still remaining above the average power threshold.
  • Find climbs — Finds all climbs given a height and minimum gradient. The minimum gradient is used to determine when the climb should start and finish, so it’s normally best to have it as a low number (the default is 2%).
  • Add selection — Adds an arbitrary selection, which can be entered manually, or made by… continue reading

Improved coach–athlete communication

17 April, 2014 by David Johnstone

The way coaches and their athletes communicate through this site has been significantly improved, with the addition of a commenting system and notifications for key events.

Notifications are show in the top menu bar.

Clicking on it brings up a list of new notifications.

continue reading


Torque effectiveness and pedal smoothness

11 April, 2014 by David Johnstone

Cycling Analytics now supports the new torque effectiveness and pedal smoothness metrics. What these metrics measure is a bit complex, so we’ll first look at what they mean.

This chart shows the power being applied to a pedal by a leg in a typical rotation of the cranks. It starts off positively on the downward movement, but there is a negative component in the second half of the rotation if the pedal isn’t completely unloaded or lifted up.

P+ is the power pushing the pedal forward, while P− is the power pushing the pedal in the opposite direction. Pmax is the maximum power applied to the pedal during the stroke, while Pavg is the average power applied to the pedal in the stroke.

Torque effectiveness measures how much of the power delivered to the pedal is pushing it forward. It is calculated as (P+ + P−) / P+ and is normally displayed as a percentage (P− will be a negative value or zero). A value of 100% means that all of the power was pushing the pedal in a positive direction (therefore, P− was zero). Values of 60–100% are common.

Pedal smoothness measures how smoothly power is delivered to the pedal throughout the revolution. It is calculated as Pavg / Pmax and is normally displayed as… 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.