Position on the watch seems to lag behind an actual position quite a bit

Here is something I have been observing quite often when trail running. It seems the position recorded by the watch at any given moment lags behind by 10+ second, which means it reflects the position where I was 10+ seconds ago. Perhaps that is done by distance rather than time because the delay may be different depending on speed and/or quality of GPS signal.

The effect is easiest to observe with Strava Live Segments and and with Climb Pro.
With live segments the watch starts a segment quite a bit later than the actual segment start (I'd say by 15-20 meters at least), and the same applies to finishing a segment. An interesting effect of that is that if I make a sharp turn right at an actual finish of a segment (e.g. turn into another trail), the watch often can't finish that segment. The position lagging behind cuts the corner and misses the actual segment finish, so it never finishes it and goes off segment after a while.

A couple of weeks I was running across a segment that was starting on a perpendicular trail. It was interesting that the moment I was right at the segment start the watch notified me I was 100+ feet before the segment (that is 33+ meters). Then as I was running away from that segment start, the distance to the segment actually kept decreasing by probably close to 10 seconds until the watch told me I was off the segment.

In the case of Climb Pro, I notice the watch always has some climb remaining as I crest the top of a climb. Then as I begin to go downhill the remaining amount of climb keeps decreasing for another 10 seconds or so, at which point it tells me I've finished the climb.

Here is another evidence that I filmed a few days ago - sorry for the blurry video.
Here is the timeline:

1) At 12 seconds into the video you can see the watch showing 29:02 elapsed time.
2) At around 22 seconds you can see me crossing the yellow curb - that is where the segment actually starts. That is 29:12 into the activity.
3) After going off segment and back on segment several times the watch finally starts the segment at 46 seconds into the video which is 29:36 into the activity. That is more or less consistent with Strava which matched the segment start at 29:34 into the activity. However on the map Strava shows the correct segment start position - the position where I physically was at 29:12.


 

I wonder if this delay of position makes the watch so wonky at a start of each segment, especially if I move slowly - I mean the watch going off segment and back on segment multiple times. Sometimes it goes off segment right at a start of an actual segment, then some time later it goes on segment again and starts matching it. I don't see that wonkiness often when running at higher paces on open terrain, but it is quite frequent when trail running, and especially when starting a steep uphill segment.

I think one other side effect of this delayed position is that the watch is quite likely to go off segment or off course at very sharp turns - that is something that happened to me multiple times. It seems that the orientation of direction of travel gets updated more promptly than the position which lags behind. As a result of that the position on the watch fails to reach the tip of that sharp corner - it start turning too early. And often as I make that turn, right at that moment, the watch tells me I am off segment (or off course). 

  • There is appears to be an inherent assumption here that the location of the segment is correct and the watch is wrong. The segment could have been created from a map so there are no guarantees that the map relates precisely to the GPS coordinates from the watch at the time the segment is in use. If the segment has been created from a recorded GPS track there is no certainty that the device used to create the track has recorded the track properly. And then there is the difficulty of precisely locating position under tree cover, rapidly changing direction  etc.

  • I created that particular segment, and I know where it starts on the map. Strava does show the segment start location correctly.

    But as I mentioned, I observed multiple other examples of the position lagging behind, mostly when either tracking segments, which I use a lot, or looking at Climb Pro.

  • Yes, your observations of the delay and the related things are right.

    If you suddenly stop during a running activity (e.g. traffic light), the instant pace needs some seconds to slow down the pace and show "--:--".

    I assume this delay is caused due to something like unweighted moving average. For an unweighted moving average of speed for a time period of e.g. 11s, the mean value of speed is assigned exactly to the center of the time period, i.e. 6s. This means that there is a delay of 5s.

    And the position is assigned to the time of the speed and in this case has also a delay of 5s.

    It is also possible to use a weighted moving average, with greater weights for the more current speeds. In this case the delay is reduced. But if the weights shift to the end of the averaging time period (current time), the average speed may react to fast and wonky for changes of the current speed. And if the weights shift to the start of the averaging time period (old time), it results in to lazy reaction to changes of the speed and large delay.

    For running with constant speed, there is really no problem. But it should always be considered and programmed the worst case, running with variable speed (intervals).

    There are some formulations of moving averages and I don't know which kind is used.

    https://en.wikipedia.org/wiki/Moving_average

  • Appendix:

    From the wikipedia about SMA:

    "If the data used are not centered around the mean, a simple moving average lags behind the latest datum point by half the sample width."