Skip to main content

Predictive ETA

How is Predictive ETA calculated?

Written by Param
Updated over a week ago

Chain's Predictive ETA gives you a real-time estimated arrival for the driver's current destination. It updates automatically as new location data comes in.

How the next stop is determined

Chain evaluates stops in their scheduled sequence and identifies the first stop that hasn't been completed. A stop is marked complete when:

  • The driver has both an arrived and departed time recorded, or

  • Geofence data confirms the driver has left that location (even if the TMS hasn't been manually updated)

This means the ETA always reflects where the driver is actually headed next β€” not just what the schedule says.

How the ETA is calculated

Once the next stop is identified, Chain calculates the distance from the driver's current GPS position to that stop and estimates drive time.

For solo drivers, the calculation accounts for FMCSA Hours of Service requirements:

  • 11-hour driving limit

  • 14-hour on-duty limit

  • 30-minute break after 8 hours of continuous driving

  • 10-hour reset after hitting drive or on-duty limits

For team drivers, no HOS limits are applied since teams can drive continuously.

Predictive ETA is an evolving model. In addition to live location and HOS rules, we are actively experimenting with historical patterns, including dwell times at specific locations and historical route times, as additional signals. This feature is experimental, and we are continually iterating on the weights and factors that influence the model.


Once a predictive ETA is determined, we further apply the following logic:

  • If the predicted ETA is before the stop's earliest appointment window, the ETA will show the appointment start time.

  • If the driver is running late based on the predicted ETA, the ETA reflects the predicted ETA.

Note: Predictive ETA applies to over-the-road shipments with active GPS tracking. Ocean container ETAs come directly from carrier vessel data.

Did this answer your question?