How reliable is Strava?

Strava is a mobile app and website widely used by bicycle riders to track their riding. The app logs GPS position coordinates and timestamps. Strava Metro is a data product that provides counts of bicycle trips by time of day (in one-minute bins) and direction of travel by location. The Metro product assign trips to any GIS road layer, often an OpenStreetMap network, facilitating queries by link and node. The data as provided by Strava does not facilitate select link analysis; it is understood for privacy reasons only aggregated data is provided, or data with the final 100 m truncated from origins and destinations. Origin-destination matrices can be provided for user-provided zones (e.g. BSTM travel zones, ABS Statistical Area geographies).

Importantly, there is no sample control in Strava - the sample is entirely self-selected and there are no limitations on how many trips a rider can enter into the app. The sample is not weighted to any target population. Moreover, Strava promotes itself heavily as a means for sport cyclists to track their riding activity. It is portrayed as a training log, and refers to users as athletes.

There is no question that Strava ticks many boxes: it’s spatially comprehensive, cheap (well, insofar as the users providing the data cost “nothing”), and perhaps most importantly of all the data can look very pretty. What’s more, it meets all the buzzwords - it’s all about data analytics, big data and the cloud. So far, so good. But I’d like to take a somewhat more critical approach; let’s get beyond the superficial and into the detail. Specifically, does Strava provide a useful insight into cycling activity in an area? I’m not going to try and define useful here, what is fit for purpose will vary by the application. Suffice to say, I’m not looking for perfection but rather some confidence that Strava is more likely to guide us towards “truth” than down the garden path.

Purpose of this analysis

I confine this analysis to attempting to ascertain how useful Strava is at identifying “busy” and “quiet” cycling routes in Brisbane. Specifically, I’m interested in how reliably Strava can be used to compare two links. Put simply, if Strava indicates location A is, say, 50% busier than location B, can I trust this indication?

Methodology

I’ve compared Strava against automatic cycling counts data available from Brisbane City Council (BCC) and the Department of Transport and Main Roads (TMR). I’’ve assumed the automatic counters accurately represent the cyclist count along these links.1 This seems to be a generally reasonably assumption, as both counting technologies have been previously tested in realworld conditions and demonstrated count accuracy exceeding 95% (the TMR counters are Q-Free piezoelectric-based devices while the BCC counters are Eco-Counter inductive loops). The caveat on this assumption is to note that site-specific validation has not been performed; it is assumed the counters have been installed correctly and are operating satisfactorily. Sense checks of the average daily counts, seasonal and time-of-day variations suggest this assumption is reasonable.2

Strava

Records were provided by TMR from Strava Metro for the links nearest the automatic bicycle counters. The data was provided as counts by direction of travel in one-minute bins for 2016.

Automatic counters

Automatic cyclist counts data is provided by both BCC and TMR. The data for 2016, as available on their respective open data portals, was used for this analysis. Data was downloaded on 20 December 2017. In both cases the data was provided partially aggregated:

  • The TMR data is provided as montly averages by day of week and hour of day
  • The BCC data consists of daily counts

The data was aggregated to Average Annual Daily Traffic (AADT) using the averages-of-averages approach recommended by AASHTO. This approach reduces the impact of missing values and outliers compared to naive averages.

Comparisons were made using AADTs, by month (to assess seasonal variation) and by time of day. For the latter only the subset of TMR counter sites was used given that time-of-day data was unavailable for the BCC sites.

Initial inspection of the TMR data suggested the time of day counts provided by TMR was offset +1 hour from the correct values. This observation was made following initial inspection of the raw data, and plots of the time of day distributions against the Strava data. Both comparisons suggested that, for example, the weekday AM peak hour was 8-9 AM. Experience would suggest this is not the case, and that the peak hour for commuter-oriented sites in Brisbane is in fact 7-8 AM. Assuming this is a simple data error (or that the hour code is for the hour ending rather than starting as stated in the metadata) I have shifted the TMR counts data back one hour to compensate.

Results

Average Annual Daily Traffic (AADT)

The AADT estimates provided by the automatic counters are shown below, as is the equivalent measure from the Strava data. Note that the scale of the Strava count is largely meaningless - it represents the average number of Strava trips per day at the site, and would be expected to only be a small fraction of the true number of cycling trips. What is more relevant than the magnitude is the relative size of each count. In this vein the Strava data appears to correctly measure the Bicentennial Bikeway as the busiest of all the sites. Equally, sites such as Sandgate Rd and Norman Park are low in both datasets. However, in many instances the correlation between Strava and the automatic counters is fairly weak.

Figure 1: Average annual daily traffic estimated by the automatic counts (left) and Strava “AADT” on the right

This lack of correlation between busy and quiet sites can be illustrated by ranking the sites from busiest to quietest as shown below. This illustrates dramatic differences between the datasets. For example, the automatic counter data would suggest the Kangaroo Point Bikeway is the second busiest site from the sample, but Strava suggests it is only the 13th busiest. Similarly, the automatic counts suggest Riverwalk is the 3rd busiest site but Strava suggests it is only the 15th busiest. Conversely, the automatic counters suggest the Jack Pesch Bridge is the 11th busiest site but Strava suggests it is the 2nd busiest. Overall, only two sites are ranked equally across the two datasets (namely, the Bicentennial Bikeway at 1st and Ted Smout Bridge at 20th). Many of the busiest Strava sites are along the River Loop, which tends to be heavily used by sport cyclists who are, we surmise, more likely to use Strava.

Figure 2: Site ranking

Another way of thinking about the over- and under-representation of the Strava data is to scale the sites together. This could also be done as a cordon or screenline; for example, using the Brisbane River crossings. However, simplistically I consider below the full sample of sites.3 Strava very accurately predicts that just over 15% of cyclist trips occurred at the Bicentennial Bikeway site. Similarly, it accurately predicts that only around 1% of trips occur at sites such as the PA Hosital (O’Keefe St) and at Ted Smout Bridge. However, the wildly different estimates at Jack Pesch Bridge, Kangaroo Point Bikeway and Northbank are particularly evident in this analysis.

Figure 3: Proportion of counts by data source

Seasonal variation

The monthly average daily traffic (MADT) was normalised by the sum of the MADT across the year and expressed as a percentage. In this way, if there were no seasonal variation each month would represent 1/12 = 8.3% of traffic. The Strava data appears to well capture the seasonal variation (or lack thereof) across most sites, as shown below. The few anomalies are Lambert Rd (Indooroopilly) and the Go Between Bridge. At least the latter of these appears to be related to an issue with the automatic counter rather than Strava - the counter appeared to be inoperational in January and for at least part of February.

Figure 4: Seasonal variation

Data licensed from Strava. Data is representative of Strava app users only. All data is the sum total for the year 2016 only.

Day of week

The day of week distribution is shown below. The Average Annual Day of Week (AADW) is presented as a percentage of the sum of AADW across the week; if every day of week had identical demand the AADW would be 1/7 = 14.3%. The Strava data appears to accurately represent the day of week distributions across most sites. However, it appears to somewhat underestimate weekend demand at Norman Park, severely underestimates weekend demand at Story Bridge West and overestimates weekend demand at Stanley Street and the Gateway Motorway.

Figure 5: Day of week variation

Data licensed from Strava. Data is representative of Strava app users only. All data is the sum total for the year 2016 only.

Time of day

Strava appears to reasonably capture the time of day distribution at most sites, as shown below. This analysis is split into weekdays and weekends, given they will have self-evidently different profiles. However, I have not further separated out public holidays and school holidays; these are treated naively according to the day of week on which they occur.

Interestingly, Strava appears to be under-represented during the middle of the weekday at Mowbray Park and Normanby West, and perhaps somewhat over-represents the AM peak travel at a few other sites. This latter effect may be an indication of a bias towards sport cyclists among the Strava data. Similarly on weekends, Strava appears to be biased towards the earlier morning riders (which I assume to be sport cyclists).

Figure 6: Time of day variation

Data licensed from Strava. Data is representative of Strava app users only. All data is the sum total for the year 2016 only.

Conclusions

In my view this analysis would suggest the following:

  • Strava does not provide spatially representative data; that is, it cannot be relied upon to identity “busy” and “quiet” sites

  • The over- and under-representation of Strava data by location does not appear to be consistent, and there is not a strong pattern (e.g. journey purpose) which would suggest some kind of clustering and factoring process could conceivably correct for these spatial biases

  • While the relative demand estimated from Strava appears to be very misleading, in many instances the seasonal variation, day of week variation and time of day variation appears to be well predicted by Strava.

I would however caveat these conclusions by noting that we are assuming here that the automatic counters are performing reliably; while I have no evidence to the contrary it would be prudent to perform checks upon the automatic counters before relying upon these conclusions. While well-installed and maintained counters by the main suppliers work well, there have been instances where counters have failed or paths have been resealed or realigned such that the count was wildly incorrect.

Based on this analysis I would have significant reservations relying upon Strava to provide an indication of where riders are travelling. However, that doesn’t mean I dismiss Strava entirely; maybe there are other uses to which it can be usefully deployed. One example I’ve heard of is that it can be useful to demonstrate that a path or road is indeed used by riders. Often this will come up in the typical “no one rides there” conversation.


  1. I’m treating the automatic counters as the ground truth, or the gold standard. While automatic counters certainly aren’t perfect, particularly when poorly installed or maintained, they do in general represent the best indication we have of cycling activity.

  2. However, a systematic bias would be less obvious - so an error in one or more of the automatic counters cannot be entirely precluded.

  3. There will be double counting here, as riders will often cross two or more sites on their journeys. But this won’t alter the comparison.

comments powered by Disqus