Learning objectives
- Define the transactional records that supply chain analytics is built on and state the grain of each one
- Compute line fill rate, unit fill rate, on-time delivery, OTIF, and perfect order rate from raw order data
- Explain why aggregate KPI averages can hide the operational problem they are meant to expose
The grain of the data decides the answer
Analytics in a supply chain is almost always built on four transactional tables: purchase orders and receipts, production or work orders, inventory movements, and customer orders with shipments. Each table has a grain, meaning the thing that one row represents. A customer order header has one row per order. A customer order line has one row per order and item. An inventory transaction has one row per movement of a quantity into or out of a location at a timestamp. Confusing these grains can change the reported result. If you count late deliveries at the order-header grain you get one answer, and if you count them at the line grain you get another, because a single late line makes a whole order late. Neither is wrong, but a metric is only interpretable when its grain and its denominator are stated. Before computing anything, write down three things: the grain, the population included, and the time window. A fill rate that quietly excludes cancelled lines, or an on-time number that measures against a revised promise date rather than the original one, is not measuring what the reader assumes it measures. When two reports disagree, check their denominators before comparing the results.
The standard service metrics and what each one is blind to
Line fill rate is the share of order lines shipped complete from available stock. Unit fill rate is the share of ordered units actually shipped. These two diverge whenever shortfalls are small relative to line size: a line ordered at one hundred units that ships ninety fails the line fill test entirely but scores ninety percent on the unit test. On-time delivery is the share of orders or lines delivered by the committed date, and it says nothing about quantity. OTIF, meaning on time and in full, requires both conditions on the same order and is therefore always less than or equal to each component. Perfect order rate adds two more conditions, typically damage-free arrival and correct documentation or invoicing. Each additional condition can only lower the score, which is why perfect order rate is the metric that most reliably reflects what a customer actually experienced. The units matter: fill rates are dimensionless percentages, but the business consequence of a one point drop is measured in dollars of contribution margin at risk, so any service dashboard should carry a dollar translation next to the percentage.
Why multiplying component rates misleads
A common shortcut estimates perfect order rate by multiplying the component rates together, for example on-time times in-full times damage-free times documentation-correct. That product is the correct answer only if the four failure modes are statistically independent. They rarely are. When failures cluster on the same troubled orders, for example a chaotic shipment that is late and short and damaged, the true perfect order rate is higher than the product, because the failures overlap and consume fewer orders. When failures are dispersed across different orders, each failure spoils a different order and the true perfect order rate is lower than the product predicts. The direction of the error tells you something operationally useful. Dispersed failures point to several independent weak processes, each needing its own fix. Clustered failures point to a small set of problem customers, lanes, or items where one root cause is producing every symptom at once. Computing both the true rate and the independence estimate, then comparing them, is a cheap diagnostic that costs one extra line of arithmetic.
Worked example
Problem
Marlow Instruments shipped five customer orders in one week. Order A-101 has 3 lines for 50, 60, and 40 units, all shipped complete, delivered on time, undamaged, invoiced correctly. Order A-102 has 2 lines for 100 and 80 units; the 100-unit line shipped only 90 units, the 80-unit line shipped complete; delivery was on time, undamaged, invoiced correctly. Order A-103 has 4 lines of 25 units each, all shipped complete and undamaged and invoiced correctly, but delivered one day late. Order A-104 has 2 lines of 30 units each, shipped complete, on time, undamaged, but the invoice carried the wrong price. Order A-105 has 1 line of 10 units, shipped complete, on time, invoiced correctly, but arrived damaged. Compute line fill rate, unit fill rate, on-time order rate, OTIF order rate, and perfect order rate, then compare the perfect order rate to the estimate obtained by multiplying the component order-level rates.
Step by step
- Count lines. A-101 has 3, A-102 has 2, A-103 has 4, A-104 has 2, A-105 has 1, so total lines = 3 + 2 + 4 + 2 + 1 = 12 lines.
- Count lines shipped complete. Only the 100-unit line on A-102 was short, so complete lines = 12 - 1 = 11. Line fill rate = 11 / 12 = 0.9167 = 91.67 percent.
- Sum ordered units. A-101 = 50 + 60 + 40 = 150. A-102 = 100 + 80 = 180. A-103 = 4 x 25 = 100. A-104 = 2 x 30 = 60. A-105 = 10. Total ordered = 150 + 180 + 100 + 60 + 10 = 500 units.
- Sum shipped units. Everything shipped as ordered except A-102, which shipped 90 instead of 100 on one line, a shortfall of 10 units. Total shipped = 500 - 10 = 490 units. Unit fill rate = 490 / 500 = 0.98 = 98.00 percent.
- On-time orders: A-101, A-102, A-104, A-105 were on time; A-103 was late. On-time order rate = 4 / 5 = 80.0 percent.
- In-full orders (every line complete): A-101, A-103, A-104, A-105 qualify; A-102 does not. In-full order rate = 4 / 5 = 80.0 percent.
- OTIF requires both conditions on the same order: A-101 yes, A-102 no (short), A-103 no (late), A-104 yes, A-105 yes. OTIF = 3 / 5 = 60.0 percent.
- Perfect order adds damage-free and correct documentation. A-101 passes all four. A-102 fails in-full. A-103 fails on-time. A-104 fails documentation. A-105 fails damage-free. Perfect order rate = 1 / 5 = 20.0 percent.
- Independence estimate: damage-free order rate = 4 / 5 = 0.80 and documentation-correct rate = 4 / 5 = 0.80. Product = 0.80 x 0.80 x 0.80 x 0.80 = 0.4096 = 40.96 percent.
Answer. Line fill rate = 91.67 percent, unit fill rate = 98.00 percent, on-time = 80.0 percent, OTIF = 60.0 percent, perfect order rate = 20.0 percent. The independence shortcut predicts 40.96 percent, more than double the true 20.0 percent, because each of the four failures landed on a different order. The dispersion signals four separate weak processes rather than one systemic root cause, and it means a fix aimed at any single failure mode raises the perfect order rate by only one order in five.
Practice
Work each question before opening the solution.
-
The 100-unit line on order A-102 is re-picked and ships 95 units instead of 90. Recompute unit fill rate and line fill rate, and explain why only one of them moves.
Show solution for question 1
Shipped units become 495 of 500, so unit fill rate = 495 / 500 = 99.00 percent, up from 98.00 percent. Line fill rate stays at 11 / 12 = 91.67 percent because the line is still not complete. Line fill is a binary test per line and is insensitive to the size of the shortfall, while unit fill is proportional to it.
-
A dashboard reports 98 percent unit fill rate and leadership concludes service is excellent. Using this week's data, state the strongest counterargument in two sentences.
Show solution for question 2
At the order level only 20 percent of orders were perfect and only 60 percent were OTIF, so four customers in five experienced a defect of some kind. Unit fill rate is a weighted-by-volume measure that dilutes small failures across a large denominator, so it systematically understates how often a customer is inconvenienced.
-
For a different week the true perfect order rate is 62 percent while the independence estimate is 51 percent. What does that ordering imply about where to investigate?
Show solution for question 3
The true rate exceeding the independence estimate means failures are clustered on a small number of orders that failed several tests at once. Investigation should start by listing those specific orders and looking for a shared attribute such as one customer, one lane, one carrier, or one item, because a single root cause is likely producing all the symptoms.