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.
A few changes to Flexicharts have been made:
chart()
instead of rides
.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
It’s been a while, but some new features have landed today.
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.
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:
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.
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:
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.
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
For a while it’s been possible for a coach to link their account with their athletes so that they can easily see what riding they’re doing, specify training and provide feedback. Today’s introduction of premium coaching accounts goes a step beyond this by allowing coaches to create and pay for their athletes’ accounts.
Accounts created by coaches for their athletes are free to use as far as the athlete is concerned, but premium coaching accounts have a different billing model for the coaches. They cost AU$5 per month for each account controlled by the coach, including their own, with a minimum monthly spend of AU$25. For example, two athletes cost AU$25/month, ten athletes cost AU$55/month, and twenty athletes cost AU$105/month.
Any account can be upgraded to a premium coaching account. First, coaching must enabled by activated coach mode. Then, on the coaching page, there’s a button to upgrade the account. Once upgraded, there is a Create new athlete button on the coaching page, which allows new athlete profiles to be created.
Accounts that have been created through this can’t be deleted, but they can be disowned. This causes them to turn into regular accounts, which are no longer linked to or paid for by a coach.
There are a handful of updates today, with the biggest being the introduction of summaries for weeks and months on the rides calendar.
By default, summaries for weeks and months are both shown, both of which consist of the total time, distance and training load. The training load sums use the same source as the training load chart, which by default is power based data (with heart rate based TRIMP scaled to equivalent values), but the source can be set manually in your profile settings.
Plans are also included in summaries when they are on today’s date or later. The training load chart has also changed to behave in the same way, so it now only includes training plans that are on the current date or later. The duration of plans is also used in summaries. It magically guesses the time to use based on what’s entered, and uses the average if a range is given, so the following are all 90 minutes: 90, ~90mins, 1.5, 1.5Hrs, 1:30, 1:30:00, 1h30, 1-2, and 1 to 2 hours (hover over the duration once the plan is saved to see how it is interpreted).
The background colour of the weekly summaries is based on the training load, where more intense weeks get a more intense colour… continue reading
In addition to the new training load chart, there have been an assortment of updates and improvements recently. Flexicharts now have access to training load data and a bunch of date based filters, which makes it possible to create a variety of new charts (and tables). But firstly, here’s a handful of other assorted updates:
The rest of this is about Flexicharts, so you can stop reading now if you don’t use them. To start with, here is an approximate recreation of the new training load chart, using Flexicharts:
The commands used are as follows (note that the y-axis limits have to be set manually):
rides.lts().line({yAxis: {min: -70, max: 100}, color: '#69b6fe… continue reading