Insights · Supply chain

Late against what?

Three years of a retailer’s shipments, four shipping modes and a late rate of 57%. The premium mode is late on every single order, and the dearer of the other two delivers no faster than the cheaper one. The warehouse is not the problem. The promise table is.

See the build All insights

An on-time rate looks like a measure of delivery. It is not quite. It is a comparison between two things — how long an order took, and how long it was promised to take — and a report that shows only the rate hides which of the two is doing the work.

I rebuilt three years of a sports and outdoor retailer’s orders as a Power BI model: 65,752 orders to 164 countries, each carrying the lead time its shipping mode promises and the days it actually took. The late rate is 57%. Split by mode, it tells a different story.

100%First Class orders delivered late
80.0%Second Class late
39.8%Standard Class late
57.3%All 62,897 shipped orders

The premium mode is late by design

First Class promises delivery in one day. Every one of its 9,602 shipped orders took two. Not most of them — all of them. A late rate of 100% is not a warehouse having a bad year; it is a promise the network cannot keep on any order, recorded as a failure on every order.

The customers who paid most for speed are the only ones who were never told the truth about it.

Two modes, one network

Second Class promises two days. Standard Class promises four. Here is how long their orders actually took.

Days taken23456 OrdersLate
Second Class, promises 22,4532,4222,4732,4522,45612,25680.0%
Standard Class, promises 47,6107,5177,5107,4587,53737,63239.8%
Shipped orders only. Both modes take two to six days, about a fifth of their orders on each day. The distributions are the same; only the promise differs.

The two rows are the same distribution. An order sent Second Class is no more likely to arrive in two days than one sent Standard. What changes is the line it is judged against: promise two days and 80% of orders miss; promise four and 40% do. The late rate of each mode is set entirely by its promise.

Paying more for Second Class buys a stricter promise, not a faster parcel.

A rate that never moves is telling you something

The late rate stays between 55% and 60% in every one of 37 months. It is 56.5% to 57.7% in every one of the five markets. It does not move with the season, the destination, the product or the customer.

In fairness to the retailer, this dataset is synthetic, and the days taken were generated without regard to the mode — which is exactly why the pattern is so clean. But it is a clean version of something real. When a rate refuses to respond to anything operational, the cause is usually structural, and the most structural thing in an on-time measure is the promise itself.

What to put in the report instead

The on-time rate belongs in the report. It just should not be alone.

  • The promise, beside the rate. The report’s delivery page shows what each mode promises and what it delivers in the same table, so a 100% late rate arrives with its explanation attached.
  • The distribution, not just the verdict. Orders by mode and by days actually taken is the chart that makes the Second-versus-Standard point in one glance. A late rate throws that information away.
  • How late, when late. Late First Class orders are one day late; late Second Class orders average two and a half. The same late rate can hide very different customer experiences.
  • Cancellations kept out, and shown to be kept out. 2,855 orders were cancelled but still carry shipping dates, and 1,650 of them would count as late by those dates. Letting them in moves no mode’s rate by a tenth of a point here — so the rule is about correctness rather than the headline, and the report shows both counts so that nobody has to take that on trust.

One more trap, because it sits in the source rather than the analysis. The file has a column called Late_delivery_risk. It sounds like a prediction. It is not: it is 1 exactly when the delivery status says the order was late. A model trained to “predict late delivery risk” from it would be predicting the outcome from the outcome.

The cheapest improvement to an on-time rate is often a change to the promise table — which is why the promise table belongs in the report.

Data: Constante, Silva & Pereira (2019), DataCo Smart Supply Chain for Big Data Analysis, Mendeley Data V5, doi:10.17632/8gx2fvg2k6.5, CC BY 4.0, cleaned and remodelled. The full build and the pandas cross-check behind every figure are in the supply chain delivery case study and its repository.

All insights