Seasonal report can now be analysed by Sport

The Seasonal tab enables you to see how much time you spend in each heart rate zone by Year/Quarter. The heart rate zones are estimated adaptively and change in line with your prevailing fitness. This report has been in place for a long time. What is new is that you can now break it down by Sport.

Sport defaults to TOTAL, and so long as this is selected the report is unchanged from how it has always been:

However you now pick a single sport from all of those that you have recorded on Strava for which you have heart rate data:

This will then show you the time that you’ve spent in each heart rate zone for that Sport. You may see that there are fewer Quarters showing if you only occasional engage in that sport or if you often don’t use a heart rate monitor for it.

This new feature gives you the ability to see the differences in the nature of your training effort across different sports. For example, you can isolate and compare Rides or Runs and ensure that the amount of Zone 1 time shown on the charts doesn’t include any time you spent doing Yoga or Walking.

(Note that this tab also still has controls to select a Date range and a Group but these have no effect on this report.)

CSS Factors

This is a new page in the Navigator that gives you a comparison of how your cumulative Cardiac Stress Score compares to that of your peers on Crickles. By default, the period over which the sum is taken is the last six weeks and your “peers” are those who are closest in age – both the period and the comparison group can be changed in the sidebar.

Here’s what it looks like:

The uppermost bar, labelled Total_CSS, shows where your summed Cardiac Stress Score ranks relative to peers. The midline represents the median value; values to the right are relatively higher and to the left are relatively lower. If you hover over one of the bars you can see your value alongside the highest and the lowest from your peers:

In this example, the athlete’s CSS is amongst the higher ones. The hover tip shows that at 4,217 it’s well above the median of 2,305 although far lower than the highest value of 7,715. You can see the exact distribution of the CSS values for all athletes in the peer group by looking at the Relative CSS tab. You can see which of your activities contribute most of the CSS from the Activities tab and the Timeline tab. If you do more than one type of sport, you can get a breakdown of the CSS total as well as insight into the hourly cardiac stress rate on the CSS by Sport tab.

The other three bars on the chart above show the relative levels of the factors that go to make up CSS, which are:

  1. The weighted average cardiac intensity for your activities over this period
  2. The number of activities that you’ve logged in the period
  3. The average duration of those activities.

In this example, you can see from the chart that the athlete has done many more activities than most peers, although the activities are, on average, shorter. The exercise intensity is just a shade higher than the peer average. In all cases, the hover tips show the relevant values, so, for example, the athlete’s average activity duration is 1.3 hours, which is below the median value of 1.5 hours and well below the maximum average value of just under 4 hours. (Duration actually captures moving time, not elapsed time.)

Lower values are coloured to be progressively more blue and higher values are progressively more red.

As with much of the analysis on Crickles, the purpose of this tab is to enable you to understand how your exercise load compares to that of other keen endurance athletes. In the absence of established levels for how much exercise might be “too much”, you can at least see whether you’re doing more or less than other people of a similar age, using a methodology that is consistent across different sports.

8 facts about Crickles

If you’re new to Crickles and maybe haven’t signed up yet this is for you.

  1. Crickles is free. Please repay us by completing our extremely short survey.
  2. We never give your data to advertisers or in any other way seek to make money from it.
  3. The main purpose of Crickles is to estimate the cardiac stress that you accrue from endurance sports. We summarise this in our Cardiac Stress Score and it gets rolled up into cumulative Fitness and Fatigue measures.
  4. There is no accepted medical consensus for determining how much exercise is too much. However, with Crickles you can accurately compare how much Cardiac Stress you’re accruing compared to other people of your age and gender. If you’re doing more than everyone else then that’s a lot, right?!
  5. Crickles is consistent. For example, if you exercise without a heart rate monitor or a power meter it won’t rate your exercise load as zero. Also, if you switch between using a heart rate monitor and a power meter you’ll generally get similar numbers. Also, as you get fitter and exercise at a lower heart rate for the same “effort”, Crickles will automatically detect this and recalibrate your Cardiac Stress Score adaptively.
  6. Crickles detects strap errors and some forms of irregularity in heart rate data. To continue to improve this, please complete our short survey if you haven’t done so already.
  7. We get data from your Strava account, once you’ve authorised us to do so. You’ll need your Strava ID, which is a number like 301194 – instructions for finding this are given here.
  8. The sign-up process is a bit more complicated than we’d like – we used to email you as soon as you signed up with some help on how to proceed but we can no longer get your email address from Strava. The procedure is given here.

If you get stuck or confused or have any thoughts about Crickles, please get in touch through the Contact page or by email to admin@crickles.org.

Analysis by Sport

A major advantage of Crickles is the consistency of the Cardiac Stress Score (CSS) across different types of sport or activity. If you don’t wear a heart rate monitor Crickles still gives you a meaningful CSS value – and not zero – that is consistent with the activities for which you did wear a heart rate monitor. For the most common types of activity (running and road cycling) when you don’t have a heart rate monitor Crickles now estimates CSS using a machine learning algorithm that tracks very nicely to the CSS you’d get if you did use a heart rate monitor.

Also, if when cycling you sometimes use a heart rate monitor, sometimes use a power meter and sometimes use both, the CSS values you get do not swing wildly according to how you were instrumented on each day.

This consistency is crucial for aggregating CSS over many activities, as shown on the front page of the Navigator. It is equally essential when calculating Fitness/Fatigue curves.

There is a new report called CSS by Sport that leverages this consistency in a new way. It looks like this:

crickles_by_sport

The left hand chart breaks down your CSS by Sport, or activity type. The period over which this is summed is defined by the Date range in the side panel, which defaults to the past six weeks. You can change this to be any period for which Crickles has your activities.

The right hand chart shows the hourly rate at which you accrued CSS during activities over the same period.

In the example shown, the athlete incurs more CSS per hour when running than cycling but nonetheless generated a lot more CSS over the period while cycling due to the number of hours in the saddle. This is detailed in tooltips that appear when you hover over the bars. For example, hovering over the Run bar in the left hand chart shows this:

by_sport_left

We see that there were nine runs in the period, the total CSS from these was 451 and that this comprised 10% of the athlete’s CSS in this period.

Hovering over the Run bar of the right hand chart shows this:

This shows that in the period while running the athlete was generating 83.5 units of CSS per hour and ran for 5.4 hours. Hovering over the Ride bar would show a lower hourly rate (actually 74.9) but a far higher number of hours (47.1).

The CSS by Sport report is (only) interesting as and when you engage in multiple different types of activity.

When you don’t want to wear a HR monitor… With improvements!

A distinctive feature of Crickles is that it will estimate your Cardiac Stress even when you’re exercising without monitoring your heart rate with a chest strap or sports watch. This is critical if you want to track your Fitness, Fatigue and Form since these are cumulative measures and if you leave out chunks of your exercise regime they’ll be wrong. Herein lies a weakness of  most  of the non-Crickles sites that claim to show you this. For example, when you can get it to work, Strava’s intensity metric (Relative Effort) has improved (and thus become a little more like the Crickles CSS) over the last couple of years since it replaced Strava’s Suffer Score. Although there is very little consistency between Relative Effort and Power, you can now at least combine them on Strava’s Fitness & Freshness chart. However, if you go for a swim during which you don’t measure your heart rate, or you do a run or a bike ride without a HR monitor or a power meter, then those activities have absolutely no impact on Strava’s fitness and fatigue curves.

Crickles does not have this flaw. Moreover our Cardiac Stress Score tracks as well to the standard Training Stress Score derived from a power meter as you would expect it to. For example, if you do a triathlon with no heart rate measurement on the swim, a power meter on the bike leg and a heart rate monitor on the run you’ll get a sensible Cardiac Stress Score for each leg of the event and they will feed into your Fit-Fat curves.

From this weekend, the estimation of cardiac stress when you have neither a heart rate monitor nor a power meter is significantly improved in Crickles. This has been achieved in two ways:

  1. For (non-virtual) bike rides and runs, we have a sophisticated new statistical model for estimating Intensity in the absence of heart rate data. You can now see this explicitly for each ride or run on the Activities tab of the Navigator in the Intensity column.
  2. For all other activities, the current model has been improved and re-calibrated using the very large amount of data that Crickles athletes have made available to us over time. Rather than giving an Intensity reading for each activity, this generates a Cardiac Stress Score for each activity. CSS for these activities is now shown on the Activities tab. It can also be inferred on the Timeline, where the y-axis position indicates CSS. You can also see the daily sum of CSS values in the hover tips on the Fit-Fat curves where it is called Stress Load.

Historical activities have all been re-calculated according to the improved model. If you always use a heart rate monitor you won’t notice any change. However, to the extent that non-measured activities make up a meaningful portion of your overall exercise load, you may notice. None of the metrics should be hugely different as the prior model wasn’t terrible! In my personal case, I’ve been doing swims and pilates regularly over the past several weeks alongside cycling and running with a heart rate monitor. I can see that the new model assigns a lower CSS to the swims and the pilates than the old one and so my Fitness and Fatigue levels are now marginally lower than they were before the change.

Please do get in touch if you have any comments.

Ian

Joining Crickles

The Crickles community is essentially defined by the athletes who can see analysis of their activities on the Crickles Navigator. The sign-up process is relatively simple, although a little less simple than it used to be before Strava stopped making user email addresses available to Strava Apps. Here’s what you need to do:

Step 1

Go to http://signup.crickles.org and authorise Crickles to access your Strava data.

This is the same as hitting the orange “Connect with Strava” button on this website. You need to do one or the other but there’s no need to do both.

Step 2

Wait 24 hours.

In the past we could email you a notification of when your activities have been downloaded together with a reminder of your Strava ID. This is no longer possible.

Step 3

Go to the  Crickles Navigator, which you can access either through the menu bar on this page or through this link.

You’ll be asked this first time to supply your email address and Date of Birth and to request a password. A password will be then generated and emailed to you; this should only take a few seconds.

Step 4

Log into the navigator (same link as above) using the new password.

If you wish you can change this to a password of your choosing using the Change password? checkbox in the sidebar.

Step 5

Please take our very short survey here.

That’s it! Email me if you have any problems at ian@crickles.org.

Enhanced FTP charts

For cyclists who use a power meter, the FTP chart on the Navigator now explicitly states your estimated Functional Threshold Power (FTP) at the start and end of the chosen Date Range. By default, the end of the Date Range, and hence the date of the second FTP level shown, is today. This enables you to see at a glance your current FTP and how it has changed over the period. You can also reset the Date Range to see your FTP at the start and end of different periods.

We are occasionally asked about differences between the FTP estimates on Crickles and on Strava or other sites. Usually they’re all close but occasionally estimates can differ materially. There are two known reasons for this:

  1. Short protocol FTP tests – for example, some sites form an FTP estimate from an 8 minute burst. In contrast, Crickles infers FTP from efforts lasting 20 minutes or more since the definition of FTP is the power level that can be sustained indefinitely (or for an hour, depending upon what you read). Strava appears to give more precedence than Crickles to short duration power and you can see a difference in FTP estimates if you’re going full gas over that kind of timeframe.
  2. There can also be temporary differences in the time it takes for different sites to reflect an outstanding performance or set of performances in their FTP estimates. The Crickles FTP estimate shown on the chart incorporates information from all rides except the latest one.

Crickles (and privacy) in 2019

It’s been a little while since the last noticeable change to the Crickles Navigator. From the feedback we get it seems that people find the Fitness and Fatigue functions to be particularly useful, and truer to actual feelings of fitness and fatigue than the alternatives available elsewhere. This supports our belief that the Cardiac Stress Score (CSS) is a decent functional measure of the cardiac stress incurred during exercise.

There are a number of changes that I’d like to make in 2019. First, I plan to update the analysis of data from the Crickles survey. Last time I checked there were suggestive relationships between reported cardiac health and CSS-based measures on Crickles. Now that we have materially more responses, I’m curious to see whether these relationships attain a level of robust statistical significance.

As well as new features such as user-configured alerts, I’d also like to strengthen the Crickles technical platform. This requires a little more investment. To fund it, I’ve explored a number of collaborations with other health and fitness products to see whether the Crickles analytics could add value to them and generate enough income for our own improvements. In every virtually case I have so far found that these other products do not respect user data in anything like the way that Mark and I require and so collaboration is impossible.

One consequence of what seems to me to be widescale abuse of user data is that Strava themselves, whether on principle or in the light of the EU’s General Data Protection Regulation, have tightened up app access to Strava data. Last year they removed the ability for an app to identify a user’s Strava followers/friends. This meant that thereafter Crickles was unable to offer group selection based on your current Strava friends. This is sad but we can’t blame Strava: other apps were, to my knowledge, chaining through users through their follower relationships to trawl data without appropriate consents. At the start of this year, Strava removed the ability for apps to access users’ email addresses. This makes the Crickles sign-up process more difficult, but, again, Strava really had to do that to avoid inappropriate data harvesting by unscrupulous apps. (It also meant more work for me that I didn’t want to do!)

This is all frustrating but it’s the reality of the current social network landscape. Most applications base their business on non-transparent forms of “social listening”: offering functionality as a lure to gain personal user data that can be re-sold to advertisers. Crickles will never do this. What we may instead do is offer a premium tier and levy a modest charge for it. I have mixed feelings about this but it would help me cover my costs and fund the improvements to Crickles that we’d like to make. A premium service may include, for example, analysis of more/all of your activity history; email and/or text alerts; personalised reports; and new/advanced analytics.

Meanwhile, we’ll continue to support Crickles as it is now and occasionally add new features, as we have been doing. Also, I’ll report back on the findings from the survey when they’re in.

Anastasiia is not one of us

Some of you may have noticed this, or something like it, in your Strava feed:

Screenshot 2018-10-30 at 16.06.04

I had a similar “discussion” in my Strava feed from another club – Regents Park Cyclists – a few days ago. The more revealing photo in that instance apparently depicted someone called “Brian”.  It goes without saying that we must assume that these come from hackers and/or pimps, and that the photo is no more likely to bear a true likeness to the git who posted it than the message is to reflect an honest yearning for a connection of human warmth.

As far as I can see, there’s nothing to stop anyone from joining any club on Strava and “starting a discussion”: the only remedy is to make clubs invitation only, which would be a shame. If we get more Anastasiia’s, that’s what I’ll do. For now, I’ve booted “her” sorry ass out of the club, even though it’s a futile gesture.

The serious issues behind this, beyond the huge ones of cyber/identity theft/fraud and human trafficking, do impact us directly in smaller ways. At the end of this year apps like Crickles will no longer be able to obtain the email addresses of their members from Strava – presumably because the abuse of this facility is already a problem. This is certainly an inconvenience.

I’ll write more about this, and about data policy on Crickles, in due course.

For now, be aware that the Strava Crickles club has no meaningful relationship to Crickles as you know it from this website and the Navigator. It’s simply a bulletin board with, as it happens, quite a different membership from “true” Crickles. Your data as seen on the Navigator is held securely on the Amazon Cloud (like Strava’s data) and the appearance of Anastasiia in your feed does not imply that it has been hacked.

Major update to Fit-Fat charts

Fit-Fat charts on the Navigator have had a subtle but important upgrade. Initially, the tab looks unchanged:

ff_3_charts

The main difference at first is that by default all of your Crickles history now appears.

There is also a new drop-down in the side panel that enables you to chart just one of the fit-fat lines:

ff_dropdown

For example, if you choose Fatigue as here you’ll see this:

ff_fatigue

This makes it easier to see changes in each of the three charts.

Furthermore, if you hover over any of the charts you can see the Stress Load (i.e. the CSS) alongside the numerical value of the Fitness, Fatigue or Form on each day. Moreover, you can also draw a rectangle around any part of the charts to zoom in on that time slice – that’s why the Date Range on the side panel is no longer relevant for Fit-Fat. Here’s an example of a zoom in on the above chart to see the time around the end of 2016/start of 2017 in more detail:

ff_zoom

To unset the zoom just double click on the chart.