top of page

Data quality in logistics: why your delivery times never add up

Jul 29
14 min read

Updated: Aug 26


logistics managers working with data

In short: delivery times fail to add up because a transit time is not a figure anyone hands over. It is the difference between two events that originate in separate systems, owned by separate parties, arriving with separate latencies. Seven failures break that arithmetic — timestamps without time zones, milestones that arrive late or never arrive, status codes that were never normalized, dirty location master data, working calendars and appointment windows treated as transit, duplicates and out-of-sequence events, and a commercial promise that was never validated against the operation. None of them is fixed in the dashboard. All of them originate upstream, at the point where data enters the organization.


There is a scene that repeats itself across virtually every mature logistics operation. The monthly report shows 94% on-time delivery. The buyer at the largest account insists there were three late deliveries in the past four weeks. Both parties are looking at the same shipments, and neither of them is lying.


When this happens, the instinct is to inspect the dashboard: the KPI formula, the date filter, the prediction model. It is almost never there. Data quality in logistics breaks long before visualisation, at the moment a shipment event is recorded late, recorded in the wrong time zone, recorded twice, or simply not recorded at all. And the further a network extends across borders, modes and carrier tiers, the more opportunities exist for a timestamp to be corrupted before anyone looks at it.


This article walks through the seven failures that most often break a transit time, indicates in each case how to detect it in your own data, and explains why fixing them upstream is the only remedy that does not break again the following quarter.


What is data quality in logistics?


Data quality in logistics is the degree to which supply chain events — pickup, transit, arrival, delivery — are recorded accurately, completely, promptly, consistently, validly and without duplication, so that they can be used to measure performance and make operational decisions without manual correction first.


The six classic dimensions become very concrete once applied to a transport operation. Accuracy means the delivery timestamp corresponds to the actual moment of unloading, not the moment somebody keyed in the POD. Completeness means the defined milestones exist across all shipments, not across two thirds of them. Timeliness means the event arrives within minutes rather than eight hours after the fact, because an ETA recalculated on a stale event is a false ETA. Consistency means the TMS and the carrier portal report the same arrival time; Gartner identifies inconsistency across sources as the single hardest data quality problem organizations face, precisely because it originates in siloed systems with overlaps and gaps (Gartner). Validity means the status code received exists in the catalogue and means what it is assumed to mean. And uniqueness means the plant arrival appears once, not three times, each with a different hour.


The pattern is worth noting: five of the six dimensions depend on a third party. The carrier, the supplier, the yard operator, the driver with a phone in hand. That is the underlying problem, and it explains why cleanup initiatives confined to the data team's own boundaries so rarely sustain their gains.


The root of it: a transit time is a calculation, not a data point


No source delivers a transit time. Sources deliver events, and the transit time is the difference between two of them. When those two events come from different systems — which is the norm — the discrepancy is not an accident. It is the expected result of subtracting two numbers generated under different rules.


Source

Who generates it

Typical latency

Most common failure

Own TMS / ERP

Internal team

Immediate

Late manual entry; planned date used as actual

EDI 214

Carrier

Minutes to hours

Missing milestones; codes mapped differently per carrier

ASN / EDI 856

Supplier or shipper

Before departure

Holds the promised date, not the actual; never updated

Carrier web portal

Carrier

Variable

Fragile scraping; manual capture; no history

Telematics and geofences

Carrier or fleet operator

Seconds to minutes

Poorly drawn geofence; intermittent pings

POD (driver app or paper)

Driver

Minutes to days

Paper signature digitized 48 hours later

Regulatory filings

CFDI, eFTI, customs declarant

Before the move

Declared and estimated times, never reconciled against actuals


The EDI 214 is the workhorse in road freight: the X12 message a carrier uses to report shipment status — dates, times, locations, identifiers — and precisely what many shippers use, comparing the first status against the last, to determine whether the carrier met its committed transit time. It should not be confused with the ASN. The EDI 856 is sent by the shipper before the freight leaves and communicates what is planned for dispatch and when it is expected to arrive, whereas the 214 is sent by the carrier in transit and communicates what is actually happening. Measuring real transit against the ASN amounts to measuring a promise against a promise.


Regulatory data deserves particular attention, because it creates a false sense of coverage. Compliance filings are becoming genuinely structured and machine-readable: in the European Union, Regulation (EU) 2020/1056 on electronic freight transport information applies in full from 9 July 2027, at which point authorities in every Member State must accept freight transport information submitted electronically through certified eFTI platforms, with a common eFTI data set defined by delegated acts and platforms able to begin operating from January 2026 (European Commission).


Equivalent regimes exist elsewhere, and in several markets they already produce the most complete structured record of goods movements a company holds. The catch is that these datasets carry declared and estimated times, captured before the move for compliance purposes, and they are almost never reconciled against what actually happened. The result is a valuable data asset going unused for performance measurement — and occasionally used incorrectly, as though it were the actual.


The seven failures that break transit times


1. Timestamps without time zones, in a world with inconsistent clocks


This is the most common failure and the most consistently underestimated. The origin event arrives in UTC, the destination event in local time, and a six-hour transit shows up as negative. Or worse, it shows up as a plausible twenty-two hours that nobody questions.


Cross-border lanes make this considerably harder than most pipelines assume, because the offset between two facilities is not a constant. Clock changes are not globally coordinated: the UK and continental Europe move their clocks on the last Sunday in October, while the United States and Canada wait until the first Sunday in November, so for that intervening week the gap between London and New York is one hour narrower than usual — and in spring the divergence runs for roughly three weeks in the other direction, since North America springs forward well before Europe does (Associated Press, via ABC). Layered on top of that, a growing list of countries has abandoned seasonal clock changes altogether while their trading partners have not. Any system with offsets hard-coded rather than derived produces predictable one-hour errors several weeks a year, concentrated in exactly the international lanes that carry the highest value per shipment.


How to detect it: look for negative transits and for distributions with two modes separated by exactly one or more hours. Check whether the error appears and disappears around the clock-change dates of the relevant jurisdictions. If the pipeline does not require an explicit UTC offset at ingestion, the error is not likely — it is certain.


2. Milestones that arrive after the fact, or not at all


An ETA is only as good as the last event that fed it. If the terminal departure milestone arrives six hours late, the ETA was wrong for six hours and the team made decisions on it without knowing.


Visibility providers are transparent about this. project44 lists gaps in ping coverage, low-quality location signals and incomplete milestone updates among the causes that degrade the reliability of an ETA prediction, alongside lane variability and operational differences between carriers and facilities (project44).


How to detect it: measure milestone completeness segmented by carrier and by lane, never in aggregate. The global figure almost always conceals one or two carriers that report sparsely and a handful of routes with no coverage at all. Measure actual latency as well — the gap between event time and system receipt time — at both the median and the 90th percentile.


3. Status codes that every carrier maps its own way


Three carriers, three different ways of communicating that the unit left the cross-dock. Without a normalization layer, the same event lives in the table under three labels and the count of shipments with a departure milestone comes out artificially low.


Ocean freight illustrates both the problem and the direction of travel. The Digital Container Shipping Association was founded by major container lines to publish common track and trace standards, organizing a shipment into five phases and defining event codes that pair an event type with a classifier distinguishing actual from planned and estimated. That classifier is worth dwelling on, because it encodes at the standard level the exact distinction most internal data models blur. Adoption, however, remains uneven: carrier APIs may emit standard codes while the customer-facing portal still shows proprietary labels, and several sizeable lines are not members and use entirely proprietary naming (Tradlinx). A canonical dictionary remains necessary whether or not a standard exists on paper.


How to detect it: review the catalogue of received statuses and count how many values carry marginal frequency. A catalogue with dozens of rarely used codes signals the absence of a canonical dictionary. Another signal: one carrier showing apparently superior compliance with no operational explanation.


4. Dirty location master data


This is the failure that contaminates the most downstream and receives the least attention, because it does not present itself as a timing problem. The same distribution center registered under three identifiers, addresses that were never normalized, and above all geofences drawn badly — too small, or misaligned with the actual gate the vehicle uses — which never trigger the arrival event.


Worth noting that regulatory filing requirements often impose discipline here first, since they demand complete origin and destination addresses. Where that cleanup has already happened for compliance reasons, it can be reused for operational purposes.


How to detect it: look for shipments that show no arrival but a confirmed delivery, and for facilities where dwell time is impossible to calculate. Validate the catalogue's geocoding against verified coordinates and check each geofence radius against the real geometry of the access point.


5. Working calendars and appointment windows treated as transit


Counting weekends and public holidays as transit time inflates the average and destroys comparability between lanes. The sibling error is confusing appointment time with arrival time: if the unit arrived at 06:00 against a 10:00 appointment, there are four hours of waiting that are not transit and that carry a direct cost.


That cost is quantifiable. ATRI puts average driver wait time at shipper and receiver facilities at roughly 3.5 hours, and the FMCSA estimates detention costs the US trucking industry between $1.1 and $1.3 billion annually in lost productivity. The most revealing figure for this discussion is a different one: 94.5% of fleets charge detention, yet fewer than half succeed in collecting it, with poor documentation and disputes over arrival time among the leading reasons (O Trucking, citing ATRI and FMCSA). Translated: half of a legitimate invoice is lost to a timestamp that cannot be defended. The same dynamic governs demurrage and detention disputes in ocean freight, where the evidentiary burden falls on whoever has the cleaner event record.


How to detect it: compare the distribution of transit times calculated with and without non-working days excluded. Separate the arrival-to-appointment and appointment-to-first-move intervals explicitly.


6. Duplicates and out-of-sequence events


Delivered before picked up. The same arrival loaded three times through integration retries. And the silent offence: when records conflict, the system takes the last one written rather than the correct one.


How to detect it: validate that milestone sequences respect logical order across 100% of shipments, and count how many violate it. Verify that a deduplication key exists on shipment, event type and timestamp. If it does not, duplicates are present whether or not anyone has seen them.


7. A commercial promise never validated against the operation


The service commitment the commercial team sells was set three years ago, under a different route mix and a different congestion profile, and nobody has tested it against the data since. When that is the case, the failure to comply is not an execution problem but a miscalibrated commitment, and no operational improvement will resolve it.


How to detect it: systematic, stable non-compliance on specific lanes rather than random failure is the signature. If the committed time was never derived from the observed distribution per lane, it is time to recalculate it.


What this costs, and why the dashboard does not show it


It is worth being direct here: the dashboard does not show the problem because the dashboard is part of the problem.


A recent analysis makes the point precisely. The roughly 90% ETA accuracy figure that circulates as an industry standard carries an institutionalized survivorship bias, because it measures only the shipments that do report data — those moving on main lanes, with mature carriers, via well-instrumented modes — and excludes from the calculation those that go dark: transshipped cargo, consolidated loads, handoffs between smaller regional carriers, or cross-border movements where data sharing stops. Those are precisely the shipments carrying the highest financial exposure per container. The metric, in the authors' words, flatters exactly where the flattery costs least (The Loadstar). The same analysis notes that coverage remains the bottleneck: in McKinsey's 2024 survey of supply chain leaders, tier-1 visibility reached 60% of respondents while tier-2 and beyond stood at 30%, seven points down year on year.


The cost of that blindness is paid in five places. In avoidable premium freight and expedites, because the reaction comes late when the event came late. In retail compliance penalties: Walmart deducts 3% of the cost of goods for every case that misses its On Time In Full program, with 2025 targets at 90% on-time and 95% in-full for prepaid suppliers and 98% collect-ready for collect (5G Sales), while Target measures On Time Fill Rate and Kroger uses ORAD, each with its own deduction scheme (Vendormint) — and disputing an improper deduction requires defensible arrival evidence. In safety stock inflated to cover variance that is partly not operational at all, but data noise. In customer promises built on an average transit that does not describe the real operation. And in forecasting and planning models trained on the wrong dates, where the error does not sit still: every downstream layer amplifies it.


That mechanism explains the figure Gartner has held to since 2020: poor data quality costs an organization an average of $12.9 million a year (Gartner). It is not lost in one stroke. It is lost in small decisions made on bad data, every day.


It is worth adding that the issue is not purely financial. Research by the FMCSA and the US Department of Transportation's Office of Inspector General estimated that each additional 15 minutes of dwell time at a facility raises the expected crash rate by 6.2%, on the hypothesis that drivers paid by mile or by load tend to speed in order to recover lost time (FreightWaves). Measuring yard time correctly is also a safety matter.


How to diagnose transit time data in 30 days


A year-long program is not required to establish the scale of the problem. Five steps and a willingness to look at the numbers unfiltered will do.


The first week goes to inventorying sources and measuring their real latency rather than their contractual one. For each source, record the difference between event time and system receipt time; the median and the 90th percentile tend to surprise anyone who has never measured them.


The second week covers milestone completeness, calculated as the percentage of shipments holding each milestone, always segmented by carrier, by lane and by mode. It is in that segmentation that the gaps hidden by the aggregate figure surface.


The third week measures ETA error with two numbers: mean absolute error in hours, and the share of shipments falling inside a defined window. Both must always be reported alongside coverage — the proportion of total volume on which they were calculated. Accuracy of 92% measured across 40% of volume is not 92%. In parallel, reconcile a sample against an independent source of truth — telematics, geofence or POD — to estimate each source's systematic bias, which is usually correctable once quantified.


The fourth week goes to prioritization, and the criterion matters: volume multiplied by cost of error, not degree of dirtiness. The dirtiest lane may be irrelevant, while the lane carrying the quarter may hold a two-hour error nobody has seen.


On closing the exercise, it is worth leaving a permanent dashboard in place with data quality indicators distinct from operational ones: milestone completeness, median and 90th percentile latency per source, duplicate rate, out-of-sequence rate, measurement coverage and ETA error. Where these indicators have no named owner, they degrade.


Fix it upstream, not in the report


Cleaning up in the dashboard is entirely possible, and it happens constantly. But every cleansing rule added downstream is technical debt somebody has to maintain, and it breaks the moment a carrier changes its mapping or a new provider is onboarded. The structural remedy sits upstream and consists of five pieces.


The first is data contracts with supply chain partners: which milestones, with which mandatory fields, in what format and within what maximum latency, treated with the same contractual seriousness as a transit time agreement. The second is validation at ingestion, rejecting or quarantining any event that arrives without a time zone, with an invalid code or out of sequence; correcting at the point of entry is cheap and correcting three layers later is not. The third is catalogue normalization, with a canonical event dictionary and a location master carrying validated geocoding and geofences. The fourth is continuous monitoring with feedback to the partner, through data quality reports that go back to the carrier carrying its own compliance rate, because what is not measured back does not improve. The fifth is lineage — the ability to answer, for any shipment, where each timestamp came from and when it arrived.


There is a useful framing worth borrowing from the ocean freight side of this discussion: events are evidence, not conclusions. A current status is derived by applying business rules to event history, and any team that treats raw events as perfect truth will over-alert, mispredict ETAs and miss the real exceptions buried in messy sequences (Tradlinx).

This is precisely the ground covered by our upstream data quality solution for logistics operations: designing the ingestion, the contracts and the monitoring so that data arrives correct the first time, without replacing the systems already running.


Ten minimum validations on transit time data


  1. Every timestamp carries an explicit time zone, expressed as an offset rather than a place name.

  2. No transits are negative or longer than a physically plausible threshold for the mode.

  3. Milestone sequences respect logical order across 100% of shipments.

  4. No duplicates exist on the combination of shipment and event type.

  5. Every status code received maps to a canonical event.

  6. Every location identifier exists in the master with validated coordinates.

  7. Milestone completeness by carrier and by lane exceeds the defined threshold.

  8. Latency at the 90th percentile per source falls within the agreed terms.

  9. Transit calculation excludes weekends, holidays and appointment waiting per a documented business rule.

  10. Every performance metric is published alongside its coverage.


Turning this into results


The thread running through all seven failures is unambiguous: visibility technology is available to anyone able to pay for it, and there are more than three hundred vendors selling it. What is scarce is the ability to feed it with events that are reliable, timely and comparable to one another. The organizations that achieve defensible ETAs are not the ones that bought the best platform, but the ones that put the data in order before connecting it.


If that question resonates, the first step is to diagnose the current state of your transit time data sources and quantify where the calculation is breaking. At Arkon we work with logistics organizations through a free data assessment that evaluates their sources, measures real latency and completeness, and maps the route to fixing the problem at origin. It is a short exploratory conversation to establish how far the operation sits from delivery times that actually add up.



Frequently asked questions about data quality in logistics


How is data quality measured in logistics?

Through metrics on the data itself rather than on the operation: milestone completeness, latency between event occurrence and receipt, duplicate rate, out-of-sequence rate, share of codes mapped to a canonical catalogue, and measurement coverage. All of them should be monitored segmented by source, by carrier and by lane, because the aggregate hides the gaps.

In most cases the problem is not the model but the input. An ETA is recalculated from the last event received, so if that event arrived late, incomplete or in the wrong time zone, the prediction was already wrong before it was calculated.

They serve as a starting point, not a source of truth. Filings typically carry estimated or declared times captured before the move for compliance purposes rather than the times actually observed. Their real value lies in the discipline they impose on location master data and in the possibility of reconciling what was declared against what was executed.

It depends on each partner's maturity. The EDI 214 remains the established standard and the most realistic channel with the majority of road carriers, while APIs and telematics offer lower latency and finer granularity. In practice they are combined, and what matters is normalizing every source into a single event model.

Diagnosis produces results within weeks. Normalization and ingestion validation fixes move the indicators inside the first month. What takes longer is anything dependent on third parties: renegotiating transmission terms and raising reporting rates among lagging carriers is typically a one- to two-quarter cycle.


 

 

 

 

 


bottom of page