It seems to me that your time behind/ahead math doesn’t use the logically correct approach. Based on my observations, I believe when it is showing that I’m, for example, 45s behind someone, this is saying that I’ll get to where he is in 45s if I maintain my current speed. It’s pretty easy to see that this is the way the formula is implemented, because the time-behind yo-yos considerably as I (and the guy I’m chasing) change speeds (primarily due to changing gradients). While this seems OK, it is entirely counter-intuitive to anyone that that has asked this question on a ride: “how far behind Joe Blow am I?”. In reality, when we get that feedback from our stationary fans and support, they tell us how long ago Joe Blow passed this point in space. It may sound like it’s splitting hairs, but it really isn’t. Let’s assume Joe Blow is 45s ahead of me, and we’re going at exactly the same speed at any give point on the course (i.e. assume constant power/constant wind/no draft) - then the time-behind will always report 45s, which is true. If, on the other hand, my current speed is used to calculate time behind, then even though we are going exactly the same speed at any give point on the course, the time-behind will yo-yo, making it seem like I’m sometimes catching, and sometimes losing, ground. Honestly, to me, the approach of (time_behind = distance_behind / current_speed) is almost useless. What I would expect to see is that, given equal input powers, distance_between is constantly varying based on gradient, but time_behind is constant.
TLDR: Please don’t use speed to calculate time_behind or time_ahead! If you just use time, it will provide a much more stable metric, and a much much more useful feedback.
I can see that this will screw up the calculation for guys that are not moving; in theory, they haven’t yet passed any given point in space, so time_behind or time_ahead can’t be calculated. For truly stationary points of reference, it makes sense to use speed to predict when I’ll reach those fixed points in space. However once they are moving (and thus leaving breadcrumbs of what time they passed a certain point), then it should not use my speed to report time_behind.