Strava ignores time where it thinks you are stopped if, for example, the GPX/FIT file uploaded doesn't have GPS positions for some timestamps. So if it loses signal for 5 seconds but the next GPS fix is 5 seconds worth of running away it will still think you are stopped for those 5 seconds.
Using the 'Race' flag in Strava stops it doing this and takes elapsed time as running time, but doing so does a few other things differently.
But, in general, everything (both hardware and software) will be interpreting the data it has slightly differently, which leads to different results.
The trick is to pick one thing and stick with it. If you compare many then you're just going to drive yourself mad with the discrepancies.
If anything then pick the slowest as most things shave off time (through thinking you are not moving some of the time) or have moved further than you have (through GPS jitter). So, unless the GPS track misses off a huge chunk, take the lowest speed given.
Strava ignores time where it thinks you are stopped if, for example, the GPX/FIT file uploaded doesn't have GPS positions for some timestamps. So if it loses signal for 5 seconds but the next GPS fix is 5 seconds worth of running away it will still think you are stopped for those 5 seconds.
Using the 'Race' flag in Strava stops it doing this and takes elapsed time as running time, but doing so does a few other things differently.
But, in general, everything (both hardware and software) will be interpreting the data it has slightly differently, which leads to different results.
The trick is to pick one thing and stick with it. If you compare many then you're just going to drive yourself mad with the discrepancies.
If anything then pick the slowest as most things shave off time (through thinking you are not moving some of the time) or have moved further than you have (through GPS jitter). So, unless the GPS track misses off a huge chunk, take the lowest speed given.