Inventory management KPIs are the few numbers that show whether your stock earns its keep. Eight cover a small shop: inventory turnover, GMROI, dead stock share, stockout rate, sell-through rate, record accuracy, shrinkage and holding cost. Together they answer four questions: is money sitting still, do customers find what they want, are the records true, and what does stock cost?
This page gives each formula and works all eight from one Johannesburg shop's year, in rand. It names the published figure each can be compared with, where one exists, and shows which popular KPIs are the same number in disguise.
The eight KPIs at a glance
Each KPI below answers a different question, which is why eight are enough. The last column gives a published reference point only where a named study offers one.
| KPI | Formula | The question | Check | Published reference point |
|---|---|---|---|---|
| Inventory turnover | Cost of goods sold ÷ average inventory at cost | Is money sitting still? | Monthly | None that fits every shop: compare within your trade |
| GMROI | Gross profit ÷ average inventory at cost | Does stock earn its keep? | Quarterly | Above 1 covers the stock's cost; a retail rule of thumb says 3.2 or more (Investopedia) |
| Dead stock share | Stock at cost with no sale in 90 days ÷ all stock at cost × 100 | How much money is stuck? | Monthly | None published: track your own trend |
| Stockout rate | Products at zero ÷ products stocked × 100, and the same for best sellers | Do customers find what they want? | Weekly | 8.3% of products out of stock, a worldwide grocery average (Gruen, Corsten and Bharadwaj) |
| Sell-through rate | Units sold ÷ units received × 100, for one delivery or season | Did we buy the right amount? | Each season | None published: set your own by product line |
| Record accuracy | Lines where the count matches the record ÷ lines counted × 100 | Can I trust the records? | Each count | 65% of records wrong at one US retailer (DeHoratius and Raman) |
| Shrinkage rate | Shrinkage at selling price ÷ sales × 100 | How much stock leaks away? | Each count | 1.6% of sales, US retail, 2022 (National Retail Federation) |
| Holding cost rate | (Capital + storage + service + risk costs) ÷ average inventory × 100 | What does keeping stock cost? | Yearly | None from a study: the 20% to 30% often quoted comes without one |
One shop's year, all eight worked
For example, take a hardware and household store in Johannesburg with 900 products. These are one year's illustrative figures in South African rand, not a real shop's.
| Input | Figure |
|---|---|
| Opening stock at cost | 1,100,000 |
| Closing stock at cost, after the year-end count | 1,300,000 |
| Purchases at cost | 5,000,000 |
| Cost of goods sold (1,100,000 + 5,000,000 − 1,300,000) | 4,800,000 |
| Net sales | 6,400,000 |
| Gross profit (6,400,000 − 4,800,000) | 1,600,000 |
| Stock with no sale in 90 days, at cost | 156,000 |
| Products at zero on the check day | 27 of 900; 6 of the 90 best sellers |
| Garden hoses received for spring, and sold by the season's end | 300 received, 210 sold |
| Lines counted at the last count, and lines that matched | 60 counted, 51 matched |
| Stock the records showed before that count, at cost | 1,330,000 |
| Holding costs for the year: interest at 12% on average stock, storeroom rent, insurance, staff time and losses | 342,000 |
| KPI | Calculation | Result |
|---|---|---|
| Inventory turnover | 4,800,000 ÷ 1,200,000 average stock | 4.0 times |
| GMROI | 1,600,000 ÷ 1,200,000 | 1.33 |
| Dead stock share | 156,000 ÷ 1,300,000 × 100 | 12% |
| Stockout rate, whole shop | 27 ÷ 900 × 100 | 3% |
| Stockout rate, best sellers | 6 ÷ 90 × 100 | 6.7% |
| Sell-through, garden hoses | 210 ÷ 300 × 100 | 70% |
| Record accuracy | 51 ÷ 60 × 100 | 85% |
| Shrinkage rate | 40,000 at selling price ÷ 6,400,000 × 100 | 0.6% |
| Holding cost rate | 342,000 ÷ 1,200,000 × 100 | 28.5% |
Average stock is (1,100,000 + 1,300,000) ÷ 2 = R1,200,000. The count found R30,000 at cost missing; at the shop's markup of one third, that is R40,000 at selling price.
Read record accuracy first. At 85%, about one line in seven is wrong, so every other figure carries some of that error.
The rest point to two jobs. Stock that hasn't sold in 90 days holds 12% of the money, and 6 of the 90 best sellers are missing while the whole-shop rate of 3% looks fine.
Three popular KPIs are one number
Inventory turnover, days inventory outstanding and the inventory to sales ratio divide the same stock by the same year's trade. Track one of them, and the other two follow.
| Measure | Formula | Result | From turnover |
|---|---|---|---|
| Inventory turnover | Cost of goods sold ÷ average inventory | 4.0 times a year | Itself |
| Days inventory outstanding, also called days sales of inventory | Average inventory ÷ cost of goods sold × 365 | 91 days | 365 ÷ turnover |
| Inventory to sales ratio | Average inventory ÷ net sales | 0.19 on a year's sales: 2.25 months of sales | (1 − gross margin) ÷ turnover |
The gross margin is 25%, so (1 − 0.25) ÷ 4.0 = 0.1875, the same 0.19. Choose turnover if you think in times a year, and the days inventory outstanding formula if you think in days.
Days sales of inventory (DSI) is the same measure under another name. The inventory to sales ratio is the one to use when you have no cost of goods sold, or to compare with published retail ratios.
How to read each KPI
Each KPI below comes with the one thing to watch when you read it, and the guide that works it in full.
Inventory turnover
A rising turnover with no extra stockouts is progress. One figure for the whole shop hides the groups that don't move, so the turnover guide splits it by product group.
GMROI: gross margin return on inventory investment
GMROI joins margin and speed in one figure: rand of gross profit per rand of stock, per year. Investopedia treats 1 as the floor and reports a retail rule of thumb of 3.2 or more, credited only to "some sources".
A thin margin can still earn a high GMROI if the goods sell fast. Cooking oil at a 10% margin turning 20 times a year earns 2.2, while a power tool at a 35% margin turning twice earns 1.1.
Dead stock share
This is the KPI that gives you a task this week. Price the old stock down, bundle it with a fast seller or agree a return, as the dead stock guide sets out.
Stockout rate
Measure your best sellers, not just the whole shop. In the example, 3% of all products are at zero, but 6.7% of the best sellers are, and those are the gaps that cost sales.
A worldwide grocery study by Gruen, Corsten and Bharadwaj put the average at 8.3% of products out of stock (as cited by Grubor and colleagues). Compare it with your whole-shop rate, since it counts products at zero.
Sell-through rate
Sell-through judges one buying decision: what share of a delivery sold in its season. At 70%, the store has 90 garden hoses to carry for a year or to sell at a discount.
Record accuracy
Read it first, because every other KPI is built on the records. In a study of nearly 370,000 records at 37 stores of one US retailer, 65% were wrong (DeHoratius and Raman, 2008).
Set a tolerance for each class of product before you count. The cycle count guide adds unit accuracy, which a single line count can't show.
Shrinkage rate
Two shrinkage rates exist, and only the share of sales compares with published figures. The National Retail Federation put US retail shrink at 1.6% of sales in its 2022 financial year.
The store's R30,000 at cost is 2.3% of the stock its records showed, but 0.6% of sales. Track the first count after count; quote the second when you compare. The inventory shrinkage guide works both.
Holding cost rate
Holding cost turns slow stock into a monthly bill. The example's 28.5% assumes a 12% overdraft rate; the holding cost guide shows a Kampala shop near 40%, because loans there cost about 17%.
Other measures, and when to add them
Add a measure when the question it answers becomes yours. These five matter to some shops and not to others.
| Measure | Formula | Add it when |
|---|---|---|
| Inventory to working capital ratio | Inventory ÷ (current assets − current liabilities) | You borrow or buy on credit to stock up |
| Order cycle time | Sum of each order's days from order to delivery ÷ orders delivered | You deliver to customers |
| Backorder rate | Orders not filled from stock on time ÷ all orders × 100 | Customers order now for delivery later |
| Supplier lead time | Days from your order to the goods received, for each supplier | You import, or suppliers are far away |
| Inventory to sales ratio | Average inventory ÷ net sales | You have no cost of goods sold figure |
The measures that check your controls, such as the adjustment rate and order accuracy, sit with inventory control. The inventory optimization strategies page ties a measure to each strategy.
Which KPIs to start with
Start with four, one for each question, and add the rest once these are a habit. A shop with two or three staff can keep this list in one spreadsheet.
- Best-seller stockout rate, every week. It shows lost sales while you can still fix them.
- Dead stock share, every month. It shows where the cash is stuck.
- Inventory turnover or DIO, every month. One of the two, never both.
- Record accuracy, at every count. It decides whether the other three can be trusted.
Act on the numbers with reorder points, which avoiding overstocking and stockouts sets for each product. Let the system collect the inputs as you sell, as in how to automate inventory management, and keep the decisions yours.
How to get each input from ArmPOS
ArmPOS has no KPI screen that works out these ratios. The dashboard shows sales, best sellers, low stock, purchases, and profit with its margin. The reports below give every input, and a spreadsheet does the division.
| KPI | Report | What to read |
|---|---|---|
| Turnover, DIO, GMROI | Reports › Analytics Report, and Reports › Profit and Loss | Opening Stock and Closing stock (By purchase price) and Total Purchase; Revenue, which is sales minus returns |
| Dead stock share | Dead Stock Report set to 90 days, or Zero Sales Products Report, and Inventory Valuation | The products that haven't sold, valued at cost, against the valuation's total |
| Stockout rate | Stock Report exported to Excel, and Top Selling Products | Rows at 0 against all rows; your best sellers at 0 |
| Sell-through rate | Product purchases report and Product sales report | Units received and units sold of one product, for the same dates |
| Record accuracy | Products › Count Stock sheet | Lines where your count equals the sheet's Quantity |
| Shrinkage rate | Stock Adjustment Report and the Damages list | Qty removed and its cost |
| Holding cost rate | Expense Report, and your loan statement | Storeroom rent, power and insurance; the interest you pay |
Three guides explain most of these reports: Sales reports, Stock reports and Reports to check every day. The rest are in Customer and supplier reports, Count and adjust stock and Payments, cash flow and tax reports.
Most reports can be narrowed to one warehouse, so each branch gets its own scorecard. AI Reports, on some plans, answer a fixed list of questions about sales, profit and payments, not these stock ratios.
Frequently asked questions
What are the most important inventory KPIs for a small shop?
Best-seller stockout rate, dead stock share, inventory turnover and record accuracy. They cover lost sales, stuck cash, speed and whether the records can be trusted.
How many inventory KPIs should I track?
Four to eight, one for each question you need answered. Ten measures of the same thing tell you less than four of different things.
Is DSI the same as DIO?
Yes. Days sales of inventory and days inventory outstanding are two names for average inventory ÷ cost of goods sold × days in the period.
What is a good inventory turnover ratio?
No single figure fits every shop: bread turns in days, hardware in months. Compare each product group with the same quarter last year.
How often should I review inventory KPIs?
Best sellers weekly, turnover and dead stock monthly, GMROI and holding cost each quarter or year. Record accuracy and shrinkage come with each count.
Pick your four KPIs this week and write last month's figure beside each. Create a free ArmPOS account to pull every input from its reports; shops in South Africa can start from ArmPOS in South Africa.