Cluster One II: comparing cycling performance on similar courses

A short follow-up post. Previously, I looked at how to reproduce a Strava feature that compares performance over similar courses.

With a few modifications to the code, I was able to analyse a much larger dataset of cycling performance on similar courses. Two courses with the highest number of tracks are shown below.

I cycle these courses all the time. Well, I did until the pandemic struck. The density of the tracks is useful for looking at changes in performance over time.

Some interesting things emerge at-a-glance:

  • There’s an annual change in performance. Winter is slower than summer. The winter rides are done in the dark, in worse weather.
  • A general slowing down over the past few years (sad but true).
  • Increase in performance around 2016 when I bought a new bike. This change is more noticeable on one course than the other.
  • Less variability in speed on the second course compared with the first.
  • The gap in 2014 was due to a road closure.

At lower density it is hard to see changes in performance but at this density, patterns are clear enough to see using a simple plot of speed by date.

The code is here. My dataset contained >2200 tracks and compute time was a couple of minutes.

The post title is taken from Cluster One by Pink Floyd, as it was on the previous post.