Routing results for past days not consistent

Hello.

We are using Routing API to get travel distances. Those distances are used to issue invoices to customers, when the travel has been completed. So it’s important to get some consistency in the results. But the results are differing according to when (hour of the day) we are making the request.

An example to be clear, regarding distance between two points, for last week.

  • Sunday 8am gives 20 km / 20 minutes
  • Monday 8am gives 20 km / 30 minutes
  • Tuesday 8am gives 20 km / 32 minutes
    Results seems good. But if I make the same request two hours later, with the exact same parameters, I don’t get the same results. I get similar ones, but they differ, in the number of km and minutes ; without being wrong results.

We’ve seen that results for past (and future) are evaluated regarding the day and the hour of the depart at or arrival at parameters… But here it seems that the moment used to make the request has an impact too. Can someone explain it please?

Thank you,

Jonathan

By default departAt is set to “now”. So it maters when the request is made (if departAt is not specified).

We’ve seen that results for past (and future) are evaluated regarding the day and the hour of the depart at or arrival at parameters…

So the question is still : how can the moment the request is made have an impact on the result when one of those parameters is filled?

It is about traffic that affects calculated route. It can change thru time, that is why routing engine can pick other path or return longer time to travel the same distance.

Please don’t answer me like if I did not know what a routing engine is, while we are on an routing API support forum. Trying to tell us self-evident facts we couldn’t figure by ourselves, while we have a small team that made a real case study of what we consider being a bad behavior from TomTom API, regarding evaluations in the past.

But OK, we get it. Sales are not answering our sales contact request too, so I guess it’s time to move on for us. Regards.

If I understand the question right, the expectation is that calculating a route is reproducible with the same result any time later as long as the same parameters are used including departAt or arriveAt with a date in the past.

This may not hold for the following reasons:

  • The map data that our routing service runs on is updated regularly. New roads are being introduced and travel restrictions being updated to better match reality. Note also that the map data is never perfect, so while new updates may bring the state closer to reality of a past point in time, it may not always work this way.

  • The statistical model of transition speeds on the route network is also updated constantly based on new data. So for crossing a hypothetical street block, what the service yesterday believed the travel time to be 30 seconds, today it might be 35 seconds for the same time of day, just because the data got more accurate. This difference could cause routing engine to choose a different path unless routeType=shortest is used.

  • Live traffic data, while capturing present state, has an influence on routing in the past for events that have a known start date before the route departure time. Think long-term road works where start and end date is known. The routing api however doesn’t keep all past and present live traffic information in memory forever. Only information relevant for the present. If there was such an event that has meanwhile resolved, it may affect results of routing in the past. Please consider using traffic=false if reproducibility is of higher importance than precision.

1 Like

Thank your for your answer. We understand the fact that calculating a route in the past can not be reproductible, globally. But we have seen that making a request for a past day give the same results each day… In our case it only depends on the hour the request is made. Even with traffic=false. The solution we applied is to store every call we made to the API to reuse it when needed.