Pre-Calculated Travel Statistics

Travel statistics are based on the actual durations reported by field resources. As such, new customers and existing customers expanding into new operating areas will not have actual durations in the application. The application uses pending and completed activities to derive estimated durations using point-to-point estimations. Using this method improves travel durations at the time of optimizing routes and moving activities.

Oracle Field Service performs this process once a day:
  • Get the list of activities and their locations.

  • Estimate the probability of travel in future between each pair of ’Activity travel stats fields' (Travel Keys). The travel probability is calculated for all Travel Key pairs, based on the relative distances between them.

  • Sort Travel Key pairs in descending order, based on distance.
    Note: Travel Keys that have existing learned travel are excluded from the estimation process.
  • Estimate the travel duration using point-to-point estimations for a maximum of 12,000 pairs based on the sorted list.

After performing the process, the application has additional travel duration data. The next time Routing runs, or a user moves an activity, the application uses the pre-calculated travel values. Calculating probability and sorting Travel Key combinations:
  • Activities that have valid coordinates with an accuracy value of either 8, 9, or 0 are considered. Travel coordinates with an accuracy value of ‘0’ are provided by customers.

  • Travel Keys that have at least one activity with valid coordinates are considered for estimation.

To find out the relative distances between pairs of keys, the application calculates the median coordinates for each key. This is done based on the median values of the latitudes and longitudes of all activities that belong to the travel key. The median values of latitude and longitude are calculated separately.

The application also finds the coordinates of the two closest activity locations to the calculated median for each key. The coordinates of these medoids are used when sending pairs of locations between keys.

Algorithm

The general rules of the algorithm are as follows:
  • Travel keys are sorted based on the number of activities corresponding to the key. Pending Activities carry higher weights than completed ones.
  • The algorithm starts from the most popular key in the list that does not have learned duration to at least one other key within 150 kms. After the request is started from that key, the algorithm moves to the next most popular key and repeats the process.
  • If there is no travel data from a key to itself, the application sends two pairs of coordinates within that key as a part of the request.
  • Between the keys, the application prioritizes the travel between nearest keys, based on the distances calculated between the medians.
  • The algorithm ensures that there is always at least two pairs of locations between any two keys. The final travel estimation is the average of the two travels.
  • Keys that are more than 150 kms apart are not considered as a part of the request.

    Example

    Consider a geographical location, where each cell represents a Travel Key. Keys in lighter shades denote keys that do not have travel estimations from that key to itself. The request starts from the most popular key that is not connected to at least one key within 150 kms. The request traverses 13 unique keys and comes back to the original key. Thus, each request contains 24 travels. The final request would be A-G-H-I-J-E-I-K-L-K-J-M-N-O-N-M-J-K-I-E-J-I-H-G-A:
    This image shows a request that has traversed 13 unique keys and returned to the original key.
    The request then moves on to the next most popular key, say V and repeats the same process. On the way if there is a key that is not connected to itself, the application includes two travels within the key. Whenever such a case is encountered, the key is counted twice when counting 13 unique keys. The next request would be V-Q-P-P-P-O-R-T-S-S-S-R-U-U-U-T-U-R-S-T-R-O-P-Q-V:
    This image shows the next request.

    This process continues till 1000 requests are sent on that day or no more non-connected neighbouring pairs are left to be sent. After the entire process completes for enough number of days, the learned travel estimations from every key to every other key within 150 kms of itself will be available.