Why NEMT arrival times miss, and how to make them more accurate
NEMT arrival estimates miss for four main reasons: traffic that differs from the forecast, stops that take longer than planned, will-call returns and other changes added mid-route, and GPS positions that are stale or wrong. Make them more accurate by measuring your real stop times, recalculating as the day moves, checking how old each position is, and tracking predicted against actual arrivals.
On this page
What an arrival estimate is made of
An ETA is a chain of guesses added together. For a rider who is the driver’s third pickup of the morning, the estimate is roughly:
- Where the van is right now, from the last GPS position.
- The time left at the current stop.
- The drive time to the first pickup still ahead.
- The time spent at that stop and every stop before this rider.
- The drive time on each leg in between.
Every link can be wrong, and the errors add up. An estimate for the next stop has one drive and no unknown stops in it. An estimate for the fourth stop inherits the error of three stops and four drives. That is why estimates for later stops tend to miss by more, and why each link needs its own fix.
| Error source | How it shows up | What reduces it |
|---|---|---|
| Traffic | A leg takes longer or shorter than forecast | Traffic-aware drive times, recalculated as the leg gets closer |
| Time at stops | Boarding, securing, check-in, or a rider who is not ready | Stop times measured from your own trips, by level of service and place |
| Changes mid-route | A will-call return, an added trip, or a cancellation reshapes the run | Recalculating every later ETA the moment the change is made |
| Position | The van’s location is old, jumpy, or at the wrong entrance | Fresh positions, visible position age, correct pickup points |
Traffic and drive-time forecasts
Most drive-time estimates come from routing services that blend historical and live traffic. Google’s Distance Matrix documentation describes how this works: a request with a departure time returns a duration in traffic “based on current and historical traffic conditions”, and live traffic matters more the closer the departure time is to now. It offers three traffic models. The default gives the best estimate. The pessimistic model should come out longer than the real trip on most days. The optimistic model should come out shorter.
Two lessons follow for NEMT:
- Recalculate as the trip approaches. An estimate made at 6 a.m. for a 2 p.m. pickup rests almost entirely on history. By 1:30 p.m., live traffic can tell a different story. An ETA calculated once at dispatch and never refreshed gives riders a time built on traffic data that has already gone stale.
- Plan and quote differently. The Federal Highway Administration measures travel time reliability with a buffer index: the extra time, as a share of the average trip, that travelers add to arrive on time for 95 percent of trips. Its example: with a 40 percent buffer index, a 20-minute average trip needs 8 extra minutes. Build that kind of cushion into the schedule for known bad corridors and hours. Do not build it into the live time you tell a rider, or the van arrives early, sits in the pickup window, and your estimates lose credibility.
Routes also vary day to day in ways averages hide. FHWA suggests describing the 95th percentile travel time to non-technical audiences as the worst traffic day of the month. If a dialysis run is fine on 19 weekdays and late on the 20th, the average hides the one day that matters.
Time at each stop
Stop time moves estimates too, and it is the part under your control. The drive between two addresses is roughly the same for every rider. The time at the door is not.
Things that stretch a stop:
- Level of service. Securing a wheelchair takes longer than seating an ambulatory rider, and loading a stretcher takes longer still. A door-through-door pickup includes the walk inside.
- The place. A private home with steps, a large hospital campus, and a dialysis unit where riders come out on their own schedule all behave differently.
- Rider readiness. Some broker rules let the driver arrive early but not leave early. MTM Health’s Virginia Medicaid handbook (May 2026), which covers the fee-for-service trips Virginia sends to MTM for rides scheduled on or after October 1, 2026, treats any arrival within 15 minutes either side of the scheduled pickup as on time and lets drivers come early, but the member cannot be made to board ahead of the scheduled time. It also asks members to be ready 15 minutes early. An estimate that assumes a van arriving 12 minutes early will leave 12 minutes early is wrong by design.
- Drop-offs. Walking a rider to a check-in desk or waiting for staff to accept a resident adds minutes that a map never shows.
The fix is measurement. If your driver app records arrival and departure at each stop, group those stop times by level of service and by frequent location, and use the median for estimates and the 90th percentile for planning. For example, a standing dialysis center pickup that takes 11 minutes on a typical day and 19 minutes on a slow one is worth knowing by name.
Will-call returns and other mid-route changes
A will-call return is a trip with no known time until the rider calls, and brokers put a clock on it once they do. MTM’s Virginia handbook gives the provider 45 minutes from the ready call to have a vehicle at the door, and three hours for a hospital discharge. When dispatch drops that pickup into a driver’s run, every later stop on that run moves.
The same happens with same-day adds, cancellations, and no-shows. A no-show can make the driver early for everything after it, once the required wait ends. An ETA that only updates when the driver taps a status button misses all of this until the next tap. Recalculate every affected estimate the moment the schedule changes, and send new times to riders whose pickup now falls outside the pickup window.
Stale, jumpy, and wrong positions
Every ETA starts from where the system thinks the van is. Three things make that position unreliable.
The GPS fix itself. GPS.gov puts GPS-enabled smartphones at typically within 4.9 meters (16 feet) under open sky, with accuracy worse near buildings, bridges, and trees. Signals blocked indoors or below ground, and signals bouncing off buildings, cause the jumps dispatchers see in downtown streets and hospital garages.
Positions that stop arriving. Phones save battery by limiting location in the background. On Android 8.0 and later, apps in the background receive location updates only a few times each hour, even when they ask for more, unless they run a foreground service with an ongoing notification. Add dead zones and battery savers, and a van can look parked at a light for ten minutes. The rule for dispatch is simple: know how old a position is before you quote a time from it. A two-minute-old position is a fact. A twelve-minute-old position is history.
The wrong destination. GPS.gov notes that many errors blamed on GPS come from maps: missing roads, mislabeled businesses, and poorly estimated street addresses. In NEMT that shows up as the pickup pin placed on the wrong side of a medical campus. Save the correct entrance for frequent pickups and add it to the trip notes. A geofence around the real door also makes arrival records more accurate.
Late or early status taps cause the same problem in the records. MTM’s Virginia handbook wants location tracking running from the start to the end of each ride so every arrival, pickup, and drop-off is captured, and it grades providers on GPS compliance against a target above 90.01 percent.
Measuring ETA error
Only measured error improves. Save every ETA your system shows, with the time it was made, and compare it with the actual arrival.
For each estimate, error equals the actual arrival minus the predicted arrival. A positive number means the van was later than promised. Then track four figures:
- Bias: the average error with its sign. A bias of plus 4 minutes means your estimates run consistently optimistic, which usually points to stop times set too short.
- Typical error: the average size of the error, ignoring sign.
- Share within 5 minutes: the percentage of estimates that landed within 5 minutes either way. Riders feel this one.
- Worst cases: the 90th percentile of error size, which shows how bad your bad days are.
Compare estimates made at the same lead time, such as 60, 30, and 10 minutes before arrival. Error should shrink as arrival gets closer. If the 10-minute estimates are not much better than the 60-minute ones, positions or stop times are the problem, not traffic.
An example with five pickups, each estimated 30 minutes ahead:
| Pickup | Predicted | Actual | Error |
|---|---|---|---|
| 1 | 8:10 | 8:12 | +2 |
| 2 | 8:35 | 8:44 | +9 |
| 3 | 9:05 | 9:03 | -2 |
| 4 | 9:40 | 9:46 | +6 |
| 5 | 10:15 | 10:18 | +3 |
Bias is plus 3.6 minutes, typical error is 4.4 minutes, and three of five estimates (60 percent) landed within 5 minutes. The consistent lateness says the estimates are missing time somewhere, most likely at the stops. Split the same figures by driver, hour, level of service, and area to find where.
Track this alongside on-time performance. A company can be on time against the schedule and still send riders poor estimates, and riders judge you on both.
What riders and facilities need to hear
An accurate estimate matters most when it carries bad news, and some brokers write the duty to share it into their rules. MTM’s Virginia handbook tells providers to reach the affected member or facility, explain the delay, give a revised arrival time, and inform MTM, which then helps arrange another pickup when needed.
Keep late-ride messages to four parts: that the ride is late, the new time, what the rider should do, and who to call. For example: “Your driver is running about 20 minutes late. New pickup time is about 10:35. Please stay ready at the front entrance. Questions: 555-0100.” The company, times, and number are placeholders.
A few rules keep those messages useful:
- Send when the estimate moves outside the pickup window, not for every minute of drift.
- Give one new time and meet it. A second delay message costs more trust than the first.
- Round, and say “about”. A time promised to the minute an hour out is false precision.
- Tell facilities early. A dialysis unit needs time to rework chair time, and a clinic may still see a rider who arrives a few minutes late if it is warned.
For the full late-pickup routine, including when to move a trip to another driver and what to tell the broker, see the driver running late playbook. For reminder texts and tracking links, see the rider notifications guide.
Live arrival times in HealthRide
HealthRide follows every ride on the live map, and riders and facilities receive a text link showing when their driver will arrive. Each position on the map shows how recent it is, so dispatch can tell a live location from an old one. When a pickup runs late, the flag appears on the map, in the fleet list, and on the dispatch board together.
Frequently asked questions
- Why does the ETA for the next rider jump when the driver reaches a pickup?
- Because the estimate for every later stop depends on how long the current one takes. Before arrival, the system can only assume a typical boarding time. Once the driver is waiting on a rider who is not ready, or loading a wheelchair up a steep ramp, each minute at that stop moves every later arrival by a minute. Estimates built from your own measured stop times jump less.
- How accurate is the GPS in a driver's phone?
- Under open sky, GPS-enabled smartphones are typically accurate to within about 4.9 meters (16 feet), according to GPS.gov. Accuracy worsens near buildings, bridges, and trees, and indoors or below ground, where signals are blocked or bounce off walls. That is why a van in a hospital garage or a downtown street can appear a block away or stop moving on the map.
- Why does a driver's location freeze on the dispatch map?
- Usually the phone stopped sending fresh positions. Common causes are lost signal in a garage or rural stretch, the driver app being pushed into the background, and battery-saving settings. On Android 8.0 and later, apps running in the background get location updates only a few times an hour unless they run a foreground service. Always check how old a position is before quoting an arrival time from it.
- How do I measure whether our ETAs are accurate?
- Save each estimate with the time it was made, then compare it with the actual arrival time. For each trip, subtract the predicted time from the actual time. The average of those differences shows bias, meaning whether you run consistently late or early. The average size of the differences, ignoring sign, shows typical error. Compare estimates made at the same lead time, such as 30 minutes out.
- When should a rider be told their ride is running late?
- As soon as dispatch knows the pickup will fall outside the pickup window, not when the window has already passed. MTM Health's Virginia Medicaid handbook (May 2026) tells providers to reach the affected member or facility, explain the delay, give a revised arrival time, and inform MTM. Give one new time and meet it.
- Should an ETA include extra buffer time?
- Keep the two jobs separate. When building the schedule, plan for bad days: the Federal Highway Administration's buffer index measures the extra time travelers add to an average trip to arrive on time for 95 percent of trips. When quoting a live arrival time to a rider, give your best estimate and update it. Padding live estimates teaches riders that your times are not real.