The service level looks fine. The inventory value has gone up again. And nobody in the meeting can say whether one explains the other. That is what inventory KPIs are for. Not to fill a monthly report, but to show where your inventory protects customers and where it simply ties up cash.
Here are seven metrics that give you that picture, the formulas behind them, and how to read them together to make better decisions.
A dashboard with 25 metrics that nobody looks at won't help you. These seven cover the four questions that matter: Is the inventory moving? Do customers get what they order? Can you trust the numbers? And where is the money?
| KPI | Formula or method | What it shows |
|---|---|---|
| 1. Inventory turnover | Cost of goods sold / average inventory | How many times inventory turns over in a year |
| 2. DIO | Average inventory / cost of goods sold × 365 | How many days products sit in inventory on average |
| 3. Service level / fill rate | Units supplied from inventory / units ordered × 100 (can also be measured on lines or orders) | How much of demand your inventory covers |
| 4. OTIF | Orders delivered on time and in full / all orders × 100 | Whether customers get the whole order when promised |
| 5. Inventory accuracy | Counted SKUs without discrepancy / counted SKUs × 100 | Whether the system matches the shelf |
| 6. Dead stock | Inventory value of products with no sales or consumption / total inventory value × 100 | How much capital is standing still |
| 7. Inventory value | Quantity on hand × unit cost, summed | How much cash inventory ties up, and where |
Throughout the article we use one fictional wholesaler as an example. The figures are made up for illustration: annual cost of goods sold of €8m, average inventory of €2m, of which €0.32m on average sits in products with no sales or consumption in the past year, and a service level of 97% measured on order lines.
Inventory turnover shows how many times your inventory is sold and replenished in a period, usually a year.
Inventory turnover = cost of goods sold / average inventory
Use cost of goods sold, not revenue. Inventory is valued at cost, and revenue includes your margin, so mixing the two inflates the result. You can calculate average inventory as (opening inventory + closing inventory) / 2, or as the average of monthly values if your inventory swings during the year.
For our example wholesaler, that gives 8 / 2 = 4. Inventory turns over four times a year.
Is that good? It depends on what is on the shelves. A spare parts inventory moves more slowly than one full of standard products, and raw materials move differently from finished goods. Track your own trend over time and compare product groups rather than relying on a generic industry benchmark. High turnover isn't automatically a good sign either. It may mean you are holding too little inventory to meet customer demand.
DIO (Days Inventory Outstanding) shows how many days products sit in inventory on average before they are sold or used.
DIO = average inventory / cost of goods sold × 365
In the example, the wholesaler ends up at 2 / 8 × 365 ≈ 91 days. It is the same movement as inventory turnover, seen from another angle: 365 / 4 also gives 91. Expressing the same movement in days makes it easier to relate to working capital. DIO is one of the three parts of the cash conversion cycle (DIO + DSO − DPO), which shows how long your capital is tied up in operations.
DIO looks backwards. When you need to decide whether to buy now or wait, you need the forward-looking measure: days of supply, or how many days your current inventory will cover expected demand (inventory on hand / expected daily demand).
Service level and fill rate measure how well your inventory covers demand. But the result depends on what you count:
The three can give very different results for the same inventory, and companies use the term service level in different ways. Some include delivery time, others don't. Write the definition down before you start comparing months, warehouses or departments.
The wholesaler's 97% in the example is measured on order lines. That looks reasonable. The next KPI shows why the customer may experience something different.
OTIF (On Time In Full) only counts an order as delivered if it arrives at the agreed time and in the full quantity.
OTIF = orders delivered on time and in full / all orders × 100
This is where the wholesaler's 97% gets tested. Assume each order has 10 lines, and each line independently has a 97% probability of being available from inventory. The probability that all 10 lines are available is then 0.97¹⁰ ≈ 74%.
Under those assumptions, only about three in four orders can ship complete straight from inventory. It is not the wholesaler's actual OTIF.
Delivery timing hasn't been considered, and missing items can sometimes be replenished before the promised delivery date. But it shows why a high line service level doesn't automatically mean a high share of complete orders.
In the same simplified example, reaching around 90% complete orders requires availability on each line to rise to about 99% (0.99¹⁰ ≈ 90%). That requires higher availability on individual lines, for example through more targeted safety stock, better reordering or more reliable supplier deliveries. It is a decision about which products should carry the extra availability, rather than one service level target for the whole range. In reality, order lines aren't always independent, so treat the numbers as an illustration of the mechanism.
Low OTIF can have many causes. The supplier delivers late, purchasing orders too late, the forecast misses, or the customer promise is more ambitious than your inventory can support. So measure OTIF on your suppliers too, as part of your supplier performance. Otherwise you can't tell whether the problem starts with you or one step earlier.
Inventory accuracy shows whether the quantity in your system matches the physical quantity. A common way to measure it:
Inventory accuracy = counted SKUs without discrepancy / counted SKUs × 100
A count is considered accurate when the recorded and physical quantities match within an agreed tolerance.
Inventory accuracy is an important foundation for the other KPIs. If the system says 100 units and there are 84 on the shelf, the reorder point triggers too late, sales promise a product that only exists in the system, and the service level looks better on screen than it does to the customer. Measure accuracy continuously through cycle counting. That way you find discrepancies while you can still see where they come from: goods receipt, picking or manual adjustments.
Dead stock refers to products with no sales or consumption over a defined period. Periods of 6, 12 or 24 months are common starting points, but the threshold should fit the product's normal sales pattern. A spare part that sells twice a year isn't dead after three months. Slow movers still move, but so slowly that they tie up cash and space for a long time.
Dead stock share = inventory value of products with no sales or consumption in the period / total inventory value × 100
Backorders make noise. Customers call. Dead stock says nothing. It just sits there.
For the wholesaler in the example, the share is 0.32 / 2 = 16% of inventory. This is where the average from KPI 1 stops telling the whole story. Those products have generated no cost of goods sold during the period, so if you exclude their average inventory value from the calculation, the remaining part of the inventory has a turnover of 8 / 1.68 ≈ 4.8, equivalent to around 77 days. The figure of 4 actually covers two very different parts of the inventory: one where products turn over, and one where they don't move at all.
Inventory value is the total value of the products you hold, measured at cost. It is the part of your working capital that sits on the shelves.
Inventory value = quantity on hand × unit cost, summed across all SKUs
Holding inventory isn't wrong in itself. You can't deliver without it. The question is what the money buys.
The total doesn't answer that. Instead, calculate each product group's, supplier's, location's and ABC category's share of the total inventory value. Then you can see where a change moves the most money, and whether the €2m protects your most important customers or sits in a few product groups, with specific suppliers that have high minimum order quantities, or in products nobody has reviewed for years.
Looking at each KPI in isolation can give you a misleading picture. The combinations tell you where to look:
The wholesaler is a good example. 97% looks fine, but under the example's assumptions only about three in four orders can ship complete from inventory, and 16% of inventory is standing still. The same business can have too much cash tied up in products that don't sell, while struggling to keep the right products available to fulfil complete orders.
That is why it makes sense to treat inventory KPIs as part of your supply chain KPIs. Inventory is shaped by the sales forecast and campaigns, by purchasing's minimum order quantities and lead times, and by which products product managers keep in the range. If you measure inventory in isolation, you risk blaming it for decisions made elsewhere.
You can calculate the formulas in this article in Excel. The hard part is breaking them down across thousands of SKUs and keeping them up to date, so you can see which products pull the service level down and which simply tie up cash.
That is what Inact's inventory optimisation solution is built for. It categorises your products, so you can see which ones deserve a place in inventory, and adjust service levels, safety stock and reorder points to the role each product plays in your business.