Lessons · Lesson 3 of 5
An average is a price only when the cost is straight
Turn a lateness figure into money using the breaks in your buyer's own terms, and stop reporting an average where the cost has steps in it.
Lesson 3 of 5 · 20 min
A number that reads like nothing
The line in Velanthur's monthly pack said: average lateness against confirmed date, Palliser, quarter three: 1.9 days.
Kemal Gubran read past it for four quarters. Two days is a normal Tuesday in a shipping office. It sits below the three working days of slack that Palliser's own booking window carries. On the face of it, it is the least alarming number on the page.
The quarter it described cost Velanthur USD 68,917.20.
The distribution the average came from
81 delivery lines shipped, with 154 late-days between them. 154 divided by 81 is 1.9. Here is where those 154 days actually sat.
| How late | Lines | Late-days | What Palliser's terms allow |
|---|---|---|---|
| On time | 60 | 0 | — |
| 1 to 3 days | 8 | 16 | Nothing. The goods make the booked vessel |
| 4 to 7 days | 6 | 33 | Velanthur pays to re-book the missed sailing |
| 11 to 24 days | 7 | 105 | Palliser may require air freight, or take a markdown allowance |
Two things about that table, before the money.
Nothing landed between 8 and 10 days. The distribution has a hole in it, and the hole is not statistical. The two groups have different causes. A line one to seven days late is a line that slipped: an operator absent, a size run out of sequence, a machine down for a morning. A line eleven or more days late is a line where something did not arrive: a fabric, a trim approval, a shade the mill failed twice. The tail is not the same event happening harder. It is a different event.
The tail is small, and the average cannot see it. 7 lines out of 81 is 8.6% of the quarter and 68.2% of the late-days. None of that is visible in the figure 1.9, because an average is built to make a tail small.
The money, which is not proportional to the days
Palliser's terms do not charge by the day. They change at two points. These terms are Palliser's own, negotiated with Velanthur; every other buyer's are different.
| Group | What happened | USD |
|---|---|---|
| 8 lines, 1 to 3 days | Made the booked vessel. No consequence | 0.00 |
| 6 lines, 4 to 7 days | Missed the sailing, re-booked to the next one | 6,840.00 |
| 4 lines of the tail | Palliser required air freight, 21,400 pieces at a differential of USD 2.34 | 50,076.00 |
| 3 lines of the tail | Palliser took a markdown allowance, 14,600 pieces at 12% of an FOB of USD 6.85 | 12,001.20 |
| Total | 68,917.20 |
FOB is the price of the goods loaded on board at the port of departure. The seven tail lines carry 90.1% of the cost and 8.6% of the lines. The sixteen late-days in the first group carry none of it at all.
This is the whole lesson, and it is not that averages are bad. It is that an average is a fair description of a distribution and a completely unreliable price for it. The two uses get swapped, because they are the same number. You can turn an average into money by multiplication only when the cost rises in a straight line with the thing you averaged. Palliser's cost does not rise in a straight line. It rises in two steps, at three days and at ten, and between the steps it is flat.
The improvement that saves nothing
Now the part that decides what a factory does on Monday.
Suppose Velanthur runs an improvement programme against the reported figure. Which lines does a team naturally attack? The eight that were one to three days late. There are more of them, the causes are ordinary and internal, and every one is fixable with better sequencing. Fix all eight:
- average lateness falls from 1.9 days to 1.70 days
- that is a 10.4% improvement in the number Kemal reads
- it saves USD 0.00
Attack the seven in the tail instead. That means chasing mills, second-sourcing two fabrics, and moving a trim approval earlier:
- average lateness falls from 1.9 days to 0.60 days, a 68.2% improvement
- it saves USD 62,077.20
Report into the buckets the contract creates
Velanthur replaced one line in the pack with three. The three are not a distribution. They are the contract, counted.
- Lines late enough to miss the booked vessel (more than 3 days): 13.
- Lines late enough to trigger a remedy (more than 10 days): 7.
- The cost of both, in dollars: USD 68,917.20.
The method works for any buyer and any measure. Read the terms. Find the points at which what the buyer is entitled to do changes. Count into the intervals those points create. The intervals will not be tidy, and they will not be the same for two buyers. That is the point. A bucket boundary you invented for neatness measures nothing. One you took out of a contract measures money.
Where the average is the right number
Be fair to it. A course that leaves you distrusting every average has made you worse at this.
An average is the correct number for a comparison over the same cost structure: this quarter against last quarter on the same buyer, or line 6 against line 9 in the same plant. It compresses honestly, it is stable, and the alternative — comparing two distributions by eye — is worse. Velanthur kept the 1.9 days in the pack for exactly that, beside the three numbers above it.
What an average must never do is get multiplied by a rate to forecast a cost, or become the target an improvement programme is scored on.
The same trap sits in one more place, in the other direction. Velanthur's quoted lead time averaged 44 days that year, and its ninetieth percentile was 61. A buyer planning a range does not plan on your average lead time. A range has one launch date, so the buyer plans on the number your slowest orders hit. You are judged on your average and bought on your tail, and the gap between those two numbers is the part of your reputation that never appears in your own reporting.
Prompt · Turn my lateness into money
When an average that reads like nothing is sitting on a page beside a buyer's complaint.
Act as a merchandising manager who has paid air freight out of a factory's own margin and reads contracts before averages. I want my lateness turned from days into money, using my buyer's own terms. Here is every delivery line for [PERIOD], with the date promised, the date shipped, the quantity, and the FOB price - the price of the goods loaded on board at the port of departure: [PASTE IT]. Here are the relevant clauses of my buyer's terms, quoted rather than summarised: [PASTE THE CLAUSES ABOUT LATE DELIVERY, MISSED SAILINGS, AIR FREIGHT, MARKDOWN OR DISCOUNT ALLOWANCES, AND CANCELLATION RIGHTS]. Where a clause gives the buyer a choice, tell me and ask which one it actually took: [RECORD WHAT IT TOOK, LINE BY LINE, IF YOU KNOW]. Do the following. First, give me the mean and the median lateness, and say how many lines each is computed over. Second, read the clauses and list the exact thresholds in days at which what the buyer is entitled to do changes. Do not invent a threshold, and if a clause is vague, say so. Third, put the lines into the intervals those thresholds create, and give me the count, the pieces and the late-days in each. Fourth, price each interval using the clause that applies to it and my FOB prices, and total it. Fifth, tell me what share of the total money sits in each interval, and what share of the lines and late-days sits there, so I can see the mismatch. Sixth, model two improvement programmes: fixing every line in the interval with the most lines, and fixing every line in the interval with the most money. For each, show the new mean lateness, the percentage improvement in the mean, and the money saved. Seventh, tell me which three numbers should replace the mean on my monthly page. Do not recommend a target on the mean.
AI can make mistakes — check anything you act on.
Check yourselfYour average lateness has halved. What do you check before reporting it as an improvement?Show the answer
Whether the count of lines past your buyer's contractual break moved. An average halves very comfortably by fixing a lot of small slippages that cost nothing, and it also halves by fixing a few large ones that cost everything. The number looks the same in both cases. Count over the break, and report the count beside the average permanently, so nobody has to ask the question twice.