Recent updates

29 October, 2018 by David Johnstone

There have been a few noteworthy updates to this site recently.

The histograms chart has been rewritten to be better and more flexible. Most notably, the bucket width can now be modified.

A number of changes have been made to training plans. Intensity, distance and climbing can now be specified for workouts, and when any two of duration, training load and intensity are specified, the other is calculated automatically. If all three are entered, the one entered least recently is changed.

continue reading


Upload rides from Zwift

16 October, 2018 by David Johnstone

Here’s a bookmarklet that makes it possible to upload rides directly from Zwift to Cycling Analytics. When run, a button is added to the Zwift interface to upload rides.

The first step is to create an authentication token so that the bookmarklet will have permission to upload rides. Go to the API console and enter the following and hit “enter”:

POST /tokens {permissions: 'create_rides'}

(This token will then be displayed on the apps page and can be deleted there.)

Copy and paste the token here (just the part that looks something like EFS4Ef5wfDC8pmYbmpM3vITbjZY8wDWD) and click “create”:

Zwift to CA


How does your cycling power output compare?

7 June, 2018 by David Johnstone

It’s common to be curious about how your power output or FTP compares with other people, or to wonder what counts as “normal”. This post should answer some of those questions based on data from thousands of people who have used Cycling Analytics.

In this post, we’ll look at what people say their FTP is, and then look at the best efforts that people have actually achieved for a handful of durations. All data is shown for males and females in watts and watts per kilogram. Be prepared to see a lot of charts and tables and numbers.

It’s worth saying a few words about Cycling Analytics users, because they aren’t a perfectly random sampling of cyclists or people overall. The best term that I can think of is that Cycling Analytics users are “serious cyclists”. All the data here comes from people with power meters, and about half of Cycling Analytics users race regularly.

What people say their FTP is

Firstly, let’s look at what people say their FTP is. FTP, or functional threshold power, is nominally the power output that can be sustained for one hour. All the data below and more is shown to Cycling Analytics users in interactive charts on the athlete statistics page, so consider creating an account if this is interesting.

FTP in watts for males

continue reading


Ideas, gears, and other things

18 April, 2018 by David Johnstone

There have been a number of updates recently.

There is now an ideas section for submitting new ideas for the site and voting on them. If you have any ideas for new things this site could do, or ideas for how existing features could be improved, feel free to submit them, and also vote on existing ideas that you are interested in. You can “supervote” on your favourite item, which is worth five points instead of the usual one. (You can only have one “supervote” at a time, but you can change which item you’ve “supervoted” for.)

Gear shifting data is now read from FIT files and this can be shown on the main ride chart and on the Gear shifts chart near the bottom of the page. This chart shows the time spent in each gear, and a histogram of cadence for any gear.

continue reading


Training plan sequences and zones on charts

12 February, 2018 by David Johnstone

A couple of new features were added to Cycling Analytics today. The main one is the ability to create training plan sequences, which means a sequence of workouts can be saved to the training plan library that can then be added to athlete calendars. This can make creating training plans much simpler when there is repetition.

There are now two tabs in the training plan library. The first is for workouts, which is the only thing that has been in the training plan library until now. The second is for sequences. Sequences can be constructed in the training plan library, or copied from the calendar when the workouts on the calendar also exist in the plan library. For coaches, the calendar that workouts are copied from is the one for the athlete whose calendar they are looking at when they bring up the training plan library.

Once added to the library, sequences are shown at the top of the list of training plans and can be drag-and-dropped onto the calendar, just like workouts. (And there’s an undo button to make life easier if you accidentally add fifty plans starting on the wrong day.)

The training plan library can be exported and imported as a CSV file. This makes it possible to export the library, edit it in Excel, use… continue reading


Power history chart and other updates

10 August, 2017 by David Johnstone

There have been a few noteworthy changes recently beyond the integration of Garmin Connect. In one sentence: The power history chart has been added, laps can now be edited, Garmin Connect users can choose to only have cycling activities imported, and there is an option for the calendar to show plan titles rather than ride titles when they’re linked.

The power history chart shows the best efforts and how they vary over time. By default, it shows the best three five minute efforts (in terms of average power) for each month. It’s quite flexible and isn’t hard to configure to show, for example, the best five efforts of ten minutes for each 60 day period.

It’s now possible to edit laps. This can be done with the “edit ride” page. New laps can be added, unwanted laps can be deleted, and lap times can be adjusted.

There is now an option to only import cycling activities with Garmin Connect. This option is found on the “linked accounts” page. When used, Cycling Analytics ignores FIT files coming from Garmin Connect that are tagged as anything other than cycling, such as running and golf. (Someday, Cycling Analytics will be able to properly handle other activity types.)

Finally, there is a new option for the calendar to always show… continue reading


Garmin Connect

25 July, 2017 by David Johnstone

Cycling Analytics now works with Garmin Connect. Rides uploaded to Garmin Connect are automatically imported to Cycling Analytics when users link their Cycling Analytics accounts with their Garmin Connect accounts. Many Garmin devices are able to automatically import activities to Garmin Connect, making this a very easy way to get rides into Cycling Analytics.

To use this, head over to the Linked Accounts page and click the “Connect” button for Garmin Connect. Once this process is completed, rides will be automatically imported to Cycling Analytics.

Note that the first time a new ride is added to Garmin Connect after linking accounts, this ride and all others from the previous thirty days will be imported into Cycling Analytics. This may result in duplicates, especially if rides were imported from Strava. If so, these can be easily deleted from the rides table.


Recent changes

25 May, 2017 by David Johnstone

A handful of changes have been made to this site recently. Here’s a quick summary:

  • Added highlight option to searching rides table (instead of search only filtering)
  • Added CSV export for rides table
  • Allow clicking on power curve chart time labels
  • Moved training load chart settings to training load page
  • Changed plan text rendering to faster and simpler HTML converter instead of Markdown
  • Show HR and cadence peaks on ride edit page
  • Added support for ThB and SmO2 sensor data in FIT files
  • Raw file download via API
  • Added PWC130 to Flexicharts

In more detail:

The recently introduced table of rides has two new features: Searching can now highlight rides that match the search instead of only showing rides that match the search, and a CSV representation of the data can be shown with the click of a button.

When showing CSV, the data can be separated by either commas or tabs (TSV). Tab separated data can be copy and pasted directly into Excel or other spreadsheets, while comma separated data can be saved in a plain text file and consumed by programs.

The power curve chart has been updated so that the time labels can be clicked on, which is equivalent to clicking on the chart at that time (so it “freezes” the chart at the given… continue reading


Drag and drop training plan creation

12 April, 2017 by David Johnstone

Here’s an easier way to make training plans. Plans can now be dragged directly from the training plan library and onto the calendar.

Clicking on “plan library” now reveals a list of training plans, which can be dragged and dropped onto the calendar. It’s normally taller than in the screenshot above, but I wanted a picture that includes the top and bottom. Holding the mouse over a plan for a moment reveals the details of the plan. Typing something into the “filter” searches for plans by title or group. Clicking on “show full editor” brings up what clicking on “plan library” used to.

The complete list of drag and drop operations supported on the calendar is:

  • Drag from the plan library to the calendar: adds the training plan to the day.
  • Drag a plan from the calendar to another day on the calendar: move the training plan to the new day.
  • Drag a plan from the calendar to another day on the calendar while holding down control/alt/option/command: copy the training plan to the new day.
  • Drag a plan from the calendar to the “rubbish” area at the bottom of the plan library: delete the training plan from that day.

If you don’t see the “plan library” button, it’s probably because you haven’t… continue reading


A big update

7 April, 2017 by David Johnstone

This update has been in the works for a while, but it’s finally ready. And it’s a big one. Here’s a summary of what’s new and improved:

  • Rides views
    • New searchable and sortable table
    • Calendar now shows more summary info
    • Plans can be dragged and dropped on calendar
  • Power curve chart
    • “New” power curve chart is now default power curve chart
    • Power curve chart library
  • “Drawing” on training load chart
  • RPE
  • Virtual rides
  • A handful of other things

Rides views

Previously, there was the “new” calendar and the “old” list of rides. Now the calendar shows monthly power curve and training load summaries, the old list has been updated so it’s going to stay around, and there’s a new sortable and searchable table that is also useful for mass editing and deleting. The interface has been updated to make all these views easily accessible, and any can be set to the default view.

For touch screen users, the arrows in the header can now be clicked/touched without navigating to the top-level link (which affected the coaching menu and would have affected the rides menu.)

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.