One ETA, not five

Why carrier portals disagree on the same shipment's ETA, and what to do about it. A practical look at the data model behind a single-source ETA.

Every dispatcher has lived this: the same container, five carrier portals, five different ETAs. The customer wants one number. The dispatcher picks one and hopes.

The disagreement is not a bug. It is the cost of running on systems that were never built to talk to each other. Each carrier’s portal computes its own ETA from its own data, on its own schedule, with its own model. The Maersk portal does not know what the BNSF portal said. Neither knows what the Samsara telematics in the truck on the last mile said.

The five ETAs

A single international shipment, in practice, generates ETAs from at least five sources:

  1. The ocean carrier’s published vessel schedule.
  2. The ocean carrier’s actual vessel position, updated every few hours.
  3. The rail carrier’s intermodal ETA from the destination port to the inland ramp.
  4. The drayage carrier’s GPS-derived ETA from the ramp to the warehouse.
  5. The warehouse’s dock schedule, which has its own slot-based ETA.

Each of these is correct, in its own context. None of them is the answer to the customer’s question: when will my container arrive?

The single-source ETA

The single-source ETA is not a new estimate. It is a merge of the five, weighted by recency and source reliability, recomputed every time a new event arrives. The output is one number, with a confidence interval, that the dispatcher can give the customer.

The merge is not magic. It is a model. The model says: trust the most recent event from the most reliable source for the current leg of the journey. When the container is on the ocean, trust the vessel position. When it is on the rail, trust the rail carrier. When it is on the truck, trust the GPS. When it is at the warehouse, trust the dock schedule.

What this looks like in practice

A dispatcher opens the shipment timeline. The ETA at the top is the single-source ETA. Below it, the timeline shows every event that contributed to it, with the source and the timestamp. The dispatcher can see, at a glance, why the ETA is what it is.

If the dispatcher disagrees with the model, say, the GPS says the truck is 30 minutes out, but the dispatcher knows the gate is locked until morning, they can override the ETA with a note. The override is logged. The model learns from the override.

The takeaway

A single-source ETA is not a feature. It is a data model. The model is the product. The dispatcher’s job is to act on the ETA, not to compute it. The customer’s job is to plan around it, not to chase it. The five carrier portals were never going to give you that. The control tower does.