Is your new bike faster?

If you make an equipment change – and the most exciting example is getting a new bike – you usually want to know whether it makes you faster. This can be hard to establish. The best way is to ride exactly the same course a few times, putting out exactly the same power all the way round on both the old and new equipment/bike and to compare the average times. However, conditions vary – notably including your own condition – making it hard to conduct a good test. The new X Factors page in the Navigator can help. To understand what this does and how it works, consider the factors that affect your speed on a bike ride. The primary factors are:

  • Parcours – the hills up and down, which shape the energy demand needed for the ride;
  • Power – what you put into it.

Beyond these primary factors, there are secondary factors that affect your speed. Some of these are uncontrollable, such as:

  • Wind speed and direction;
  • Air pressure;
  • Terrain – are you riding on smooth asphalt or loose gravel?

And there are other secondary factors that often are controllable, such as:

  • Tyre pressure;
  • Chain condition;
  • Your frontal cross-sectional area (CSA);
  • Drafting, if you’re cycling with others;
  • Your current weight;
  • Your bike;
  • Other kit such as your wheels, clothes and helmet.

The key idea of the X Factors page is to separate the impact of the primary from the secondary factors on your speed. The way it does this is as follows…

First, you need to select a target ride that you want to analyse. Then you select one or more reference rides that you want to use as a baseline for predicting your speed; you can choose up to six (any more than six will be ignored):

Here, three Reference rides have been chosen. From these, Crickles will dynamically generate a machine learning model to predict speed from parcours and power. The quality of this model depends upon the consistency of the rides – if the secondary factors vary a lot and affect speed a lot the model will perform less well. Model building is also affected by technical factors aiming to ensure that the model runs quickly in real time. The quality of the model is shown on the top of the chart:

The quality varies between Poor and Excellent (as shown here).

From this model, Crickles predicts the speed of the target ride. This is graphed alongside the actual speed:

If there is no statistically significant difference between the predicted and actual speed, the text at the top of the chart will tell you so; otherwise it will tell you the average difference – 1.4 kph in this example. The elevation profile of the target is shown at the bottom of the chart. As on many of the other pages, it’s possible to zoom in on areas of the chart and to see/compare values using hover information:

Any stand-out gaps between the pink (predicted) and blue (actual) graphs are probably due to the effect of a head/tail wind or drafting or having to stop and start. To make these easier to pick out you can see a smoothed version of the charts by using the Smooth lines on graph? checkbox in the sidebar; this transforms the main chart above to this:

If you want to know whether your new bike is faster you need to ride it outdoors in the real world. Virtual rides cannot be selected and the analysis will not work on turbo rides as there is no (real) parcours. This analysis also requires the use of a power meter. Given that, if you choose rides where the uncontrollable factors are minimal and the only ‘X factor’ is isolatable such as a new bike or wheels, this page gives you an answer to the question of whether you’re faster, and by how much.

effort spots

Effort Spots is a new feature in Crickles that is extremely useful for tracking fitness. This powerful tool can offer insights on real and virtual bike rides whenever a power meter and heart rate monitor have both been used. For such activities, the Effort Spots report gives a heat map showing the proportion of time spent at each heart rate and power level. Intuitively, this is what we most want to know from a fitness perspective yet, as far as I’m aware, it’s not available on any other platform.

The “spots” with deepest coloration are where most time is spent. In this example, this main spot is at around 165 bpm and 275W, with a secondary spot at around157 bpm and 200W and a third, off to the left, at around 130 bpm and 180W. Exact values on the plot can be explored by hovering to see (heart rate, power) coordinates – 165 bpm and 271W in this example:

It is particularly useful to compare Effort Spots for two different activities, especially when the same ride or turbo workout has been done at two different times. To see this, select a Reference Activity in the sidebar. A simplified plot in blue for the reference activity will be overlaid on the main plot:

In this example the main plot, in reds, has similar contours to the reference plot in blue but the spots are relatively leftwards in the main plot, indicating that more time was spent at lower heart rate levels, and higher, indicating that more time was spent at high power levels. We can conclude that the cyclist enjoyed a higher level of fitness at the time of the primary plot than at the time of the reference plot.

It is sometimes helpful to locate the effort spots with reference to training zones for heart rate and power. The checkbox in the sidebar enables you to see these:

With the box now checked, gridlines divide the plot into five heart rate zones based on an estimate of current Lactate Threshold Heart Rate (LTHR), and six power zones based on an estimate of current Functional Threshold Power (FTP). For example, the main/reddest spot is located in heart rate zone 5 (out of 5, counting from the left) and power zone 5 (out of 6, counting from the bottom). The zone lines can be used with a reference activity too: they always show zones based on current LTHR and FTP values, not zones at the time of the activity.

The screenshots above were based on a turbo session. Out on the road there is also (except on a fixie) freewheeling, and a corresponding amount of time spent at or near zero power:

In this example, the coloured areas rising from the x-axis where power is close to zero represent time spent coasting.

On some plots you will see shapes having straight edges and other non-natural patterns in the “cool” areas. These are not “wrong” but simply represent a limitation of the plotting method where the data is sparse. Similarly, in some areas of white space – say at 140 bpm in the first example above – there will have been some activity but just not as much as in the areas that are coloured.

Effort Spots are not currently available for activities that you marked as Private on Strava.

crickles model update

This week a revision to the Crickles model for cardiac stress is being rolled out. This retains the same characteristics as the current model so that Cardiac Stress and related metrics such as Fitness and Fatigue remain consistently calculated – unlike with some other sites, you won’t find that training load and fitness measures vary dramatically according to whether you use a power meter, a heart rate monitor or both or neither.

The main driver for the revision is that we originally relied on information from papers and public sources pertaining to the shape of critical heart rate and power curves. In this revision those curves have been now determined from hard data, using orders of magnitude more observations than most, if not all, published sources.

The changes will filter in over the coming weeks. In general, more weight is now given to shorter activities as well as to activities that break prevailing intensity levels. You may notice that CSS scores tend to rise a little, especially if you do a lot of short, intense activities. Conversely, LTHR estimates may tend to reduce. These are average population effects and your particular data may be different; it is also likely that you won’t notice any change. FTP estimates are somewhat problematic due to the de facto quasi-standard of reporting FTP as 95% of 20 minute critical power (CP20) rather than proven 60 minute critical power (CP60). To side-step this, as the new calibration plays through we will replace FTP curves with CP20 curves.

Please do let me know if you see anything that looks wrong or that you would like to discuss regarding this update.

Fictional threshold power

While the majority of analysis in Crickles is based on heart rate data, we do also do some proper analysis of power data. This is mainly to inform various Crickles models but FTP curves are also shown. I hesitate to include much more in the Navigator about power because people’s strength of feelings about their FTP tends to exceed the quality of the science. Books and websites that advise on FTP estimation offer a number of protocols that virtually all boil down to one of two methods:

  1. Ride as hard as you can for an hour. Your average power is then your FTP. This method is faultless. However, it’s far less commonly advocated than…
  2. Ride for a shorter period and multiply your average power by a factor to adjust for the difference.

Typically the shorter period is 20 minutes and the multiplication factor is 95%. Method 2 is so much more common than method 1 that we might say that the de facto definition of FTP is your best 20 minute power multiplied by 0.95.

There must be an evidential basis for the use of 0.95 somewhere but I can’t find it. Whenever I look at actual data I come up with a different number. Again just recently, I’ve taken a sample of Crickles data using the activities over the year-long period 2020 Q2 through to 2021 Q1 of 276 athletes who regularly cycle (on the road or on a trainer or both). On average, these athletes had 176 qualifying rides during the year. For each of the four quarters (2020Q2, 2020Q3, 2020Q4, 2021Q1) separately, I looked at the highest 20 minute power and the highest 60 minute power that each athlete sustained. The ratio of the best 60 minute power to the best 20 minute power gives a number that can justifiably be used to scale a 20 minute all-out effort into an estimate of power for an effort over an hour. For each athlete, I averaged the ratio over the four quarters . Thus I have an estimate of what the weighting factor should be from each of 276 athletes.

It is not 95%. The average across all athletes is instead 88%. That means that an athlete who can push out 270W over 20 minutes with an all-out effort might expect to manage 238W over one hour; the 257W that a 95% weighting would imply does not correspond to what we see in real life. By the end of an hour 19W will seem like quite a difference.

The ratio is reasonably consistent across athletes with the majority of athletes having values between +/- 3% of the 88% average (i.e. in the range 85% to 91%). Of the 276 athletes, only three (1%) had values of 95% or more. The weighting is not materially correlated with either age or FTP. It may legitimately be thought that hard 60 minutes efforts are rarer than hard 20 minute efforts but taking the ratio of the highest 60 minute power to the highest 20 minute power for each athlete over the whole year rather than quarterly does not change the result.

I’m curious about what data the ubiquitous 95% figure is based on. Whatever it is, if you’re reading this the Crickles data is likely to be more representative for you.

CRICKLES reaches 1,000

Today we registered our 1,000th Crickles user. While we’re no threat to the likes of Strava, it’s quite a milestone for a free website with no budget that has spread entirely by word of mouth. Thanks to everyone who has been in touch with us to share ideas or encouragement, and to everyone who has completed our survey and participated in our research. (An especial thanks to those of you who have offered to contribute towards our costs – we lack the mechanisms and procedures to handle payments but the generous spirit is itself heartening.)

As our volumes have grown the performance of the Navigator has sometimes suffered a little, especially recently. I’ve upgraded our servers this week to handle the level of activity that we’re now enjoying.

Please keep checking in to see what’s new over the coming weeks and months and do stay in touch with your thoughts and feedback.


trainerroad workout for warwick study

Anyone who is participating in the current study for Warwick Medical School and who has a TrainerRoad subscription can find a workout for the session here.

This was kindly created by Mark – please contact him ( if you have any questions about it.

Good luck with the session!

crickles direct data upload

To improve the quality of analysis that we can offer on Crickles we conduct research and are keen to open source our methodologies and research findings. At present, we are collaborating with the University of Warwick on research into heart rate, power and fitness relationships in cyclists, and Mark and I also have a draft paper on the detection of heart rate irregularities using sports devices that we would like to publish. We are not currently permitted to do any of that using data that we obtain from Strava. A number of members of our Crickles community have been kind enough to help us by supplying us with their raw activity data, either for individual activities or for all historical activities in bulk. As well as helping us with research, this also opens up the possibility that we could backload and show interested Crickles users analysis of their full historical record in the Navigator rather than just the analysis of the most recent years as shown currently. Also we could upload individual activities that are missing or incorrect today.

If you are interested in this, or simply prepared to provide data that we could potentially use for published research, please get in touch through the Contacts page and we can guide you through the steps to send us your data. It goes without saying that any data you provide for research will be fully anonymised and rigorously stripped of all potentially person-identifying attributes. This process is not currently automated and so our ability to deal with kind offers to help will depend upon the level of interest we see.

The Crickles website will of course continue to operate as it does today, with the analysis of your data that you see in the Navigator updated every day with the latest information from your Strava account.


three new ‘thank you’ features for taking our survey

As a thank you to everyone who has taken the Crickles survey we have rolled out three Navigator features that are (only) available to survey respondents:

  1. A new Seasonal HR report. This is a more in-depth take on the Seasonal report.
  2. A new Irregularity Report. This gives you some insights into what we’re doing with the survey data and much more context for the Regularity column on the Activities tab.
  3. The re-introduction of Crickles Charts.

If you haven’t taken the survey yet and do so in future be aware that there may be a delay, potentially of some days, between completing the survey and these reports appearing in your Navigator menu bar.

Taken together, these reports offer a powerful suite of capabilities for evaluating your sports efforts, especially with respect to heart rate behaviour. Please let us know what you think!

Irregularity report

There is a new Irregularity report that is a successor to the old (and long retired) Regularity report. You will have seen on the Activities tab that a Diagnostic reading is available for most activities for which you recorded your heart rate. This can be especially useful as an early indication that your heart rate strap needs a new battery or is mis-performing or that there is an issue with your sports watch. If you a number of Check_Strap readings, this is likely to be the case.

For most activities that have a Diagnostic reading the value is Regular. You are also likely to occasionally see an activity flagged as either Irregular or Unclear. This relies on a Crickles algorithm that detects a particular kind of behaviour in the heart rate pattern. This is certainly not in any way a medical diagnostic nor does it aim to evaluate a range of potential cardiac irregularities. Nonetheless, analysis from Crickles survey responses show that respondents who report heart rhythm issues are more likely to have more “Irregular” readings in this specific sense than respondents who don’t, and the difference is statistically significant (p-value < 0.05). A large majority of Crickles users will see some Irregular readings but those with heart rhythm issues tend to see more.

The Irregularity report shows you how your “irregularity ratio” – the frequency with which Irregular readings crop up – compares to that for the all people who have responded to the Crickles survey. The report has the following elements:

  1. Box plots in black showing the distribution of irregularity ratios for all survey respondents. Crucially, these are split between those who report a heart rhythm issue (top boxplot) and those who don’t (lower boxplot). If you’re not familiar with box plots there’s a handy guide here. (Note that the boxplot on the report is horizontal whereas the link describes box plots shown vertically – this is purely presentational.)
  2. A diamond and vertical line in purple indicating your all-time Crickles irregularity ratio. The line makes it easy to situate the value relative to the two boxplots.
  3. A label next to the purple diamond giving your relative level based on the this ratio and the underlying statistical model.
  4. A blue diamond and vertical line showing your irregularity ratio over the dates chosen in the data range in the sidebar. This defaults to the past six weeks and can be changed so that you can explore how your ratio irregularity ratio has changed over time.
  5. An explanatory label next to the blue line/diamond – there is no relative level here akin to that for the all-time ratio.

This report is only available to users who have completed the Crickles survey. If you have completed the survey but see only an empty rectangle on this report it’s likely to be due to you having a high ratio of Check_Strap readings, suggesting that you have strap issues that mean your data may be unreliable in this context and is hence screened out of the analysis. If you haven’t taken the survey yet and do so in future be aware that there may be a delay, potentially of some days, between completing the survey and Irregularity appearing in your menu bar.

The box plot for all Crickles users (as opposed to survey respondents) is not shown but looks similar to the No box plot only with many more outliers at the high end.

There are a number of limitations to this analysis, including the fact that we only have a limited window of history for each subject and this may or may not overlap with any history of arrhythmia. Also there is a significant selection bias in our sample: people who are motivated to take the Crickles survey are more likely to have an arrhythmia diagnosis than the population at large. If you have any questions or observations about your data on the report please do drop us a line.

We would like to publish our methodology for open review in a medical journal with full anonymity of respondent data. This would enable any other parties with a research interest in this topic to examine our workings in detail and thus help us to validate and improve the methodology. To date, Strava have instructed us not to do this using a prohibitory right that they assert in their API agreement. We will continue to petition Strava for their permission to publish, probably in conjunction with an academic partner. Unless and until we secure Strava’s permission, this report is all we can offer.

Seasonal Heart Rate report

There is now a new Seasonal HR report that shows the relative amount of time you spent at each heart rate level quarter by quarter. This is a much more detailed version of the Seasonal report. For each quarter you get a mini density chart like this:

The x-axis represents your heart rate in beats per minute (BPM) and the y-axis shows the proportion of time spent over that quarter at that heart rate. Your current estimated lactate threshold heart rate (LTHR) is shown as the vertical dashed green line.

You may find that the charts are easier to read if you use the Autoscale tool in the upper right hand corner:

If you’d like to see how your heart rate distribution varies by sport, you can select or deselect all of the sports that you’ve engaged in using the multi-select Pick your sports: widget in the sidebar:

You can use tooltips to see exact values along each curve:

and you can also focus in particular parts of the curves using the drag/zoom feature, using the Reset Axes tool in the upper right corner too reset the display.

Unlike the Seasonal tab (which shows a maximum of 12 quarters), this report will show you a mini chart for each quarter for which Crickles has your history.

This report is only available to users who have completed the Crickles survey.