Blog · Data quality and reconciliation · Supply chain
Supply chain visibility metrics measure milestone completeness and status freshness in operational records. Work through shipment coverage, missing events and stale status checks by supplier and lane.
Supply chain visibility metrics measure whether operational shipment records are complete and current enough to support a decision. Start with the shipments you expected to monitor, then test the events and status information available at a fixed cutoff. A record with a reassuring status label can still have missing evidence underneath it.
An on-time delivery measure asks whether the shipment met its commitment. A visibility measure asks whether the records let you establish where the shipment stands and what has happened. A late shipment can be well documented; a shipment that arrived on time can have missing records.
GS1 US describes visibility event information in terms of what happened, when, where and why. Those questions are useful checks on a business export: a milestone name without a shipment identifier, event time or location may not support the intended decision.
Use the supply chain KPI guide for service and inventory measures. Use SCOR metrics to organize the wider performance framework. Keep information quality visible beside those results so missing evidence does not disappear inside a favorable average.
Begin with the shipment register, rather than a file containing only events received. Otherwise, shipments with no events disappear from the denominator.
For each shipment, retain its identifier, supplier, lane, site, stage and whether it is active at the cutoff. Add expected milestone times, actual milestone times and the latest confirmed operational status time. Preserve the reporting cutoff as a separate field so rerunning the same file does not change its meaning.
Agree these rules with transportation:
The GS1 explanation of EPCIS events distinguishes the event's time, location and business context. Apply the same discipline to the exported fields without assuming your file uses that standard. A file modification time does not establish when a physical event occurred.
For this review, freshness means that an active shipment has a confirmed status no more than 24 hours old. That threshold is an example of an owner-approved operating rule, not an industry benchmark.
An illustrative Wisconsin distributor reviews active inbound shipments at noon UTC on October 23, 2026. Pickup, terminal departure and destination arrival are all due for every shipment below. Shipments with recorded arrival remain active while the receiving team completes final acceptance.
The milestone flags are 1 when a valid actual event is present and 0 when it is missing. Status age measures time since the latest confirmed operational update, which can be different from the last physical milestone time.
| Shipment | Supplier/lane | Pickup | Departure | Arrival | Latest status confirmation (UTC) | Age (hours) |
|---|---|---|---|---|---|---|
| WI-101 | Supplier A / North | 1 | 1 | 1 | October 23, 08:00 | 4 |
| WI-102 | Supplier A / North | 1 | 1 | 1 | October 23, 06:00 | 6 |
| WI-103 | Supplier A / North | 1 | 0 | 0 | October 22, 06:00 | 30 |
| WI-104 | Supplier A / North | 1 | 1 | 1 | October 23, 07:00 | 5 |
| WI-105 | Supplier B / South | 1 | 1 | 1 | October 23, 10:00 | 2 |
| WI-106 | Supplier B / South | 0 | 1 | 1 | October 22, 08:00 | 28 |
| WI-107 | Supplier B / South | 1 | 1 | 1 | October 22, 04:00 | 32 |
| WI-108 | Supplier B / South | 1 | 1 | 0 | October 23, 11:00 | 1 |
All dates in this table are in 2026. For example, the interval from October 22 at 06:00 UTC to the cutoff is 30 hours. Use full timestamps with a consistent time basis in the working file, not text labels that omit the year or zone.
Shipment milestone coverage = Shipments with all due milestones / Eligible shipments × 100
Milestone completeness = Valid recorded due milestones / Expected due milestones × 100
Current-status coverage = Active shipments within the freshness threshold / Eligible active shipments × 100
| Result | Calculation from the shipment rows | Value |
|---|---|---|
| Shipments with all due milestones | WI-101, WI-102, WI-104, WI-105, WI-107: 5 / 8 × 100 | 62.5% |
| Milestone completeness | 20 recorded / (8 shipments × 3 due milestones) × 100 | 83.3% |
| Current-status coverage | WI-101, WI-102, WI-104, WI-105, WI-108: 5 / 8 × 100 | 62.5% |
| Shipments missing at least one milestone | WI-103, WI-106, WI-108: 3 / 8 × 100 | 37.5% |
| Stale active shipments | WI-103, WI-106, WI-107: 3 / 8 × 100 | 37.5% |
Round percentages to one decimal after calculating from the counts. The first check is 5 complete + 3 incomplete = 8 shipments. The milestone check is 20 present + 4 missing = 24 expected milestones. Current and stale counts also reconcile: 5 + 3 = 8.
The two exception lists overlap at WI-103 and WI-106. There are 3 + 3 - 2 = 4 distinct shipments needing either kind of follow-up. Do not add the missing and stale percentages and call that the overall exception rate.
If the latest confirmation timestamp is in G2 and the cutoff is in L1, status age in hours is:
=IF(G2="","",($L$1-G2)*24)
Keep a blank confirmation time as missing evidence. Flag negative ages for review because they imply an update after the cutoff or an inconsistent time basis. Neither should become a valid current record without investigation.
North has 3 / 4 × 100 = 75.0% shipment milestone coverage; South has 2 / 4 × 100 = 50.0%. The overall result still comes from the complete and eligible counts. If lane sizes change, averaging lane percentages will no longer give the correct company figure.
The missing pickup on WI-106, despite later events, calls for an evidence check with the source owner. WI-108 has a fresh status but lacks an arrival milestone, so the transportation owner must distinguish an actual arrival delay from an unrecorded event. WI-107 has complete milestones but needs a current confirmation while acceptance remains open.
Transportation owns the milestone rules. Supplier or carrier relationship owners follow up the missing records, and receiving confirms arrival and acceptance evidence. A reporting owner checks the population and duplicate identifiers. Put those responsibilities beside the exception list before choosing a supply chain dashboard layout.
Bring your shipment register, exported milestones and agreed cutoff and freshness rules to Covirage. Covirage maps the columns; its tools compute and check coverage and exception counts, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, set up your business and bring a sample of your own data.
See Covirage for supply chain teams for the supporting operating context.
It measures how well operational records describe the shipments or orders being monitored. Examples include the share with all due milestones recorded and the share with a recent confirmed status. These measures assess information coverage rather than delivery performance itself.
Define the shipments in scope and which milestones should exist by the cutoff. Divide shipments with every required milestone recorded by all eligible shipments. Keep shipments with no records in the denominator, and show which milestones are missing.
The appropriate interval depends on the lane, shipment stage and operating decision. Agree the freshness threshold with the transportation owner rather than assuming a universal target. Closed shipments and movements awaiting a future milestone may need different treatment from active exceptions.
Missing information means the record cannot establish the expected event. The physical shipment may have moved without the event being recorded, or the event may not have happened. Confirm the situation with the responsible owner before labeling it a service failure.