The inventory turnover ratio formula is cost of goods sold divided by average inventory, both for the same period and both at cost. A result of 6 means the shop sold and replaced its stock six times. Most small shops have no income statement, so this article builds both numbers from stock counts and purchases.
The formula, and where each number comes from
Inventory turnover = cost of goods sold ÷ average inventory. Corporate Finance Institute gives the same formula, with average inventory worked out from the opening and closing stock.
| Input | What it means | Where to find it |
|---|---|---|
| Cost of goods sold | What the stock you sold cost you, not what you sold it for | Opening stock + purchases − closing stock, all at cost |
| Opening stock | Stock at cost on the first day of the period | The last period's closing count |
| Closing stock | Stock at cost on the last day | A stock count, or your POS's stock value at cost |
| Average inventory | The stock you carried on a typical day | (Opening + closing) ÷ 2, or the average of month-end values |
| Period | Usually a year; a quarter or a month works too | The same dates for every number |
The days stock sits on the shelf come from the same figures: 365 ÷ turnover. The days inventory outstanding formula covers that measure on its own.
A worked example, step by step
For example, take a provision store in Lagos with one year of figures. The numbers are illustrative, in naira, and every one is at cost.
| Step | Calculation | Result |
|---|---|---|
| 1. Cost of goods sold | 18,000,000 opening + 150,000,000 purchases − 22,000,000 closing | NGN 146,000,000 |
| 2. Average inventory | (18,000,000 + 22,000,000) ÷ 2 | NGN 20,000,000 |
| 3. Inventory turnover | 146,000,000 ÷ 20,000,000 | 7.3 times |
| 4. Days in stock | 365 ÷ 7.3 | 50 days |
Step 1 is the one most guides skip. A shop without accounts gets cost of goods sold from its counts and its purchase records. That figure also includes stock that was stolen or spoiled, because it left the shelf too.
Copy the four rows into a spreadsheet and replace the numbers with yours. Keep every figure at cost, from the same dates.
Why opening and closing stock are not enough
A two-point average misleads any shop whose stock swings during the year. In the example, the owner stocked up for Christmas, so the closing NGN 22 million is the year's highest figure.
The store's 13 month-end values, opening included, were 18, 16, 15, 16, 15, 14, 14, 15, 16, 15, 16, 19 and 22 million naira. Their average is NGN 16.2 million, not 20 million.
| Method | Average inventory | Turnover | Days in stock |
|---|---|---|---|
| Opening and closing only | NGN 20,000,000 | 7.3 | 50 |
| 13 month-end values | NGN 16,230,769 | 9.0 | 41 |
The shop turns its stock nine times a year, not seven. The two-point figure would push the owner to cut stock that was high for one month only. Use month-end values whenever your system can give them.
Turnover by product group shows where the money sleeps
One figure for the whole shop hides the groups that don't move. Split the same year by category and the picture changes.
| Group | Cost of goods sold | Average stock | Turnover | Days in stock |
|---|---|---|---|---|
| Rice, beans and garri | 52,000,000 | 4,000,000 | 13.0 | 28 |
| Noodles, pasta and seasoning | 34,000,000 | 2,700,000 | 12.6 | 29 |
| Drinks | 30,000,000 | 2,000,000 | 15.0 | 24 |
| Toiletries and soap | 24,000,000 | 4,000,000 | 6.0 | 61 |
| Phone accessories | 6,000,000 | 3,500,000 | 1.7 | 213 |
| Whole shop | 146,000,000 | 16,200,000 | 9.0 | 41 |
Phone accessories hold over a fifth of the stock money and account for 4% of the cost of sales. Halving that group's stock frees NGN 1.75 million without touching a single food line.
Rank your groups this way every quarter. The 80/20 rule in inventory does the same ranking product by product.
Never use sales in place of cost
Dividing sales by inventory overstates turnover by your markup. Stock is carried at cost, so the top of the fraction must be at cost too.
In the example, sales at a 20% markup come to NGN 175,200,000. Divided by the NGN 20,000,000 average, that gives 8.76 turns instead of 7.3. AccountingCoach shows the same error with its own figures: 3 turns that look like 4.
Rising supplier prices distort the ratio in a similar way. When the naira falls and costs climb, closing stock is valued at newer, higher prices than the goods you sold early in the year. That lifts the average and makes turnover look lower than it is.
For a single product, count in units instead: units sold ÷ average units on hand. For the whole shop, value opening and closing stock with the same method every time. The guide to inventory valuation methods explains FIFO and weighted average cost.
What is a good inventory turnover ratio?
No single number is good for every shop: the right figure depends on what you sell. Bread and milk should turn in days, while hardware and phones take months. CFI makes the same point: turns vary widely by industry.
One African reference point is Shoprite Holdings. Its 2025 results presentation reports sales of R252.7 billion (South African rand), gross profit of R61.4 billion and closing inventories of R29.7 billion.
From those figures, cost of sales is about R191.3 billion. Measured against closing stock, Shoprite turned its inventory about 6.4 times, once every 57 days. That is a supermarket chain with its own distribution centres, so treat it as a marker, not a target.
Your own trend is the better test: compare each group with the same quarter last year. A rising figure with no extra stockouts is progress. A rising figure with empty shelves means lost sales, which avoiding overstocking and stockouts deals with.
How to raise turnover without running out
- Buy smaller, more often, from nearby suppliers. A wholesaler two streets away doesn't require a month of stock on your shelf.
- Clear what hasn't sold in 90 days. Discount it, bundle it with a fast seller, or agree a return with the supplier. See dead stock.
- Set a reorder level on every fast seller. Make it part of your routine for managing inventory day to day.
- Make one person responsible for entering deliveries and counts. Unrecorded deliveries make turnover look worse than it is. Write the duty into the person's role: see HR management for a small business.
- Sell through a POS that deducts stock at each sale. A point of sale system keeps a running stock figure, so month-end values need no count.
How to calculate inventory turnover in ArmPOS
- Open Reports › Analytics Report. Pick the period and the warehouse. It shows Opening Stock and Closing stock by purchase price, and Total Purchase. See Sales reports.
- Work out cost of goods sold: opening stock + total purchase − closing stock.
- Collect month-end values. Run the same report one month at a time and note each Closing stock.
- Divide and keep a copy. Most reports have an EXCEL button, so the figures go straight into a spreadsheet.
- Find the slow groups. Sales by Category splits the sales; the Dead Stock Report and the Stock Aging Report show what sits still. See Stock reports.
- Keep closing stock true. Count a warehouse from a count sheet and correct it with an adjustment, as in Count and adjust stock.
Frequently asked questions
Is a higher inventory turnover always better?
No. Past the point where shelves go empty, a higher figure means lost sales. Watch stockouts alongside turnover.
How do I calculate average inventory?
Add opening and closing stock at cost and divide by two. For a seasonal shop, average the month-end values instead.
What is the difference between inventory turnover and DIO?
Turnover counts how many times stock sold in a period; DIO counts the days it sat. DIO equals 365 divided by turnover.
Can I calculate turnover in units?
Yes, for one product: units sold divided by average units on hand. Units ignore price changes, so they help when costs move with the exchange rate.
How often should I calculate it?
Monthly for the whole shop and quarterly by product group. A yearly figure arrives too late to change the year's buying.
ArmPOS keeps opening and closing stock at cost for any period, so the formula takes minutes, not a weekend of counting. Create a free ArmPOS account: the Starter plan needs no card. Shops in Nigeria can start from ArmPOS in Nigeria.