Inventory turnover
Inventory turnover is cost of goods sold for a period divided by average inventory at cost; it shows how many times stock sold through and was replenished during the period.
Also calledstock turn, inventory turns, stock turnover ratio, inventory turnover ratio
Formula
Cost of goods sold (COGS) ÷ Average inventory at cost- Cost of goods sold (COGS)
- The cost value of products sold in the period; state which costing method was used.
- Average inventory at cost
- The average of month-end inventory values at cost. Averaging only opening and closing stock suits low-volatility businesses only.
- Days equivalent
- 365 ÷ Inventory turnover.
Calculator
Enter your own figures and the result updates instantly. The defaults are the figures from the worked example below.
Result4 times
Worked example
How to read it, and what good looks like
Inventory turnover tells you how many times the capital sitting on the shelf works. The detail of the formula, the choice of denominator and the reading order are in the inventory turnover guide; this page is for the quick calculation. Turnover rises in two ways: because sales grew or because stock fell. The second usually comes with stock-outs, which is why in-stock rate is tracked alongside turnover.
In grocery, turnover varies widely from department to department: fresh produce delivered daily, ambient grocery and non-food departments turn at very different speeds within the same chain. The chain total hides that difference. An approximate figure can also be calculated from a listed company's report by dividing cost of sales on the income statement by inventory on the balance sheet. Because the balance sheet gives only closing stock, the result is a basis for comparison, not a target.
The right level varies by category; decide by category, against your own quarterly history and alongside GMROI. A category with low turnover but high GMROI is not cut back. In Mindpera, Mind Stock calculates turnover, ageing buckets and GMROI from the same data; slow-moving stock is flagged against a defined day threshold and lands on the category owner's task list.
Where it misleads
- If numerator and denominator sit on different bases, for example net sales over inventory at cost, the result is inflated by the margin; build both sides at cost.
- Taking average inventory only from opening and closing stock overstates turnover in a department with seasonal swings; use the month-end average.
- If the report does not say whether goods in transit, consignment and reserved stock are in the denominator, the same category comes out differently in two reports.
- The chain total is for the management dashboard; decisions are made on turnover calculated by category and store.
Data you need
- Month-end inventory at cost, by location and category
- Cost of goods sold for the period and the costing method used
- Flags for goods in transit, consignment and reserved stock
Mindpera products that calculate this KPI
Mind Stock
Stop treating stock accuracy as something that waits for a count and a month-end close. See movements in and out, expiry dates and profitability on one screen.
Mind Cost
The cost of what you buy for the shelf and the cost of what your bakery, deli and kitchen produce are calculated on the same model; in both, where the gap comes from is visible line by line.
Frequently asked questions
- How do you calculate inventory turnover from a listed company's report?
- Divide cost of sales from the income statement by the inventory value on the balance sheet. The balance sheet gives only period-end stock, so the result is approximate and is written with a ≈ sign. Internal reports take average inventory from month-end values, and the result can differ from this approximation.
- Is a high inventory turnover always good?
- No. Turnover rises when sales grow and also when stock falls. A rise achieved by cutting stock comes with empty shelves, in other words lost sales, and that loss appears in no sales report. If turnover improves while in-stock rate falls, the improvement is not real; track both measures on the same dashboard.