Definition: Inventory turnover measures how many times a business sells and replaces its entire stock in a given period. A higher ratio means stock is moving faster and capital is being used efficiently.
Inventory turnover is one of the most useful single numbers in ecommerce operations. It tells you whether your buying decisions are translating into sales efficiently, whether you are over-stocked relative to your demand, and how much working capital is sitting idle on your warehouse shelves. Most Shopify brands do not know their turnover rate - and those that do often calculate it incorrectly by using revenue instead of cost of goods sold. This calculator gives you the right formula, the right benchmarks, and the practical context to act on the number.
Inventory Turnover Calculator formulas
COGS-based (recommended)
Use when: Always preferred. COGS-based turnover is a true measure of how quickly you sell through stock at the cost you paid for it. Enables fair cross-category and industry comparison.Inventory Turnover = COGS / Average Inventory Value
Inventory Turnover = Cost of Goods Sold ÷ Average Inventory Value (at cost)
| Symbol | Variable | Description |
|---|---|---|
| COGS | Cost of Goods Sold(£ / $) | The direct cost of inventory sold in the period. Found in your Profit & Loss statement. In Shopify, enter unit costs to get COGS from reports. |
| Avg Inventory | Average Inventory Value(£ / $) | Mean value of inventory held during the period, at cost. Calculate as (Opening inventory value + Closing inventory value) / 2. Using a 12-month average of monthly inventory values is more accurate. |
Limitation: Requires accurate COGS data. Many Shopify merchants do not enter unit costs, making COGS reporting inaccurate.
Revenue-based (approximate)
Use when: Use when COGS data is not available. Produces a higher ratio than the COGS method because revenue includes your gross margin.Inventory Turnover = Revenue / Average Inventory Value
Inventory Turnover = Net Revenue ÷ Average Inventory Value (at cost)
| Symbol | Variable | Description |
|---|---|---|
| Revenue | Net revenue(£ / $) | Total sales net of returns and discounts. Easier to pull from Shopify than COGS. |
| Avg Inventory | Average Inventory Value(£ / $) | Mean inventory held at cost during the period. |
Limitation: Not comparable to industry benchmarks, which are almost always COGS-based. Makes high-margin brands look more efficient than they are.
Days of Inventory Outstanding (DSI)
Use when: DSI is often more intuitive than the turnover ratio - it tells you how many days of sales your current inventory covers. A DSI of 60 means you have 60 days of stock on hand.DSI = 365 / Inventory Turnover
Days Sales of Inventory = 365 ÷ Inventory Turnover Rate
| Symbol | Variable | Description |
|---|---|---|
| 365 | Days in a year(days) | Use 30 for a monthly DSI, 90 for quarterly. |
| Inventory Turnover | Your calculated turnover rate(×) | From the COGS-based formula above. |
Step-by-step examples
Scenario: “A Shopify fashion brand. Annual COGS: £600,000. Opening inventory value: £90,000. Closing inventory value: £110,000.”
- 1Average inventory = (£90,000 + £110,000) / 2 = £100,000
- 2Inventory turnover = COGS / Avg inventory = £600,000 / £100,000 = 6×
- 3DSI = 365 / 6 = ~61 days
Interpretation: This brand turns its stock 6 times per year, holding roughly 61 days of inventory at any time. For fashion, a target of 8 – 10× is strong; 6× is decent but suggests room to reduce average stock or improve sell-through.
Scenario: “A Shopify electronics brand. Annual COGS: £1,200,000. Monthly average inventory: £250,000.”
- 1Inventory turnover = £1,200,000 / £250,000 = 4.8×
- 2DSI = 365 / 4.8 = ~76 days
Interpretation: Electronics benchmarks sit at 4 – 8× per year. At 4.8×, this brand is within range but toward the lower end - suggesting it could reduce stock levels or push through slower-moving SKUs more aggressively.
Industry inventory turnover benchmarks
| Category | Benchmark | Note |
|---|---|---|
| Fast-moving consumer goods (FMCG) | 10 – 15× | Very high velocity. Grocery, personal care, consumables. |
| Fashion and apparel | 6 – 12× | Seasonal nature means turnover varies widely by quarter. |
| Electronics | 4 – 8× | Rapid obsolescence makes high turnover desirable. |
| Home goods and furniture | 2.5 – 5× | Larger, less frequent purchases lead to lower turnover. |
| Luxury / high-price items | 2 – 4× | Deliberate buying patterns. Low turnover is acceptable. |
| General DTC ecommerce target | 6 – 8× | Aim for at least 6× before investigating individual SKU performance. |
Below 4× for a non-luxury brand almost always indicates overstock. Above 12× may signal under-stocking risk - check your fill rate and stockout frequency alongside turnover.
Critical pitfalls to avoid
Using revenue instead of COGS
Calculating turnover as Revenue / Inventory produces a higher number that is not comparable to industry benchmarks. A 60% gross margin brand appears to turn stock 2.5× faster than it actually does.
Using ending inventory instead of average inventory
Taking stock value on December 31 as your 'inventory' for an annual calculation misrepresents your average holdings - especially if December is a low-stock month after peak sales.
Calculating a single turnover for the whole catalog
A business-wide turnover of 6× could hide a hero SKU turning 20× and a dead SKU turning 0.5×. The aggregate masks where the problem is.
Including negative inventory in Shopify
Shopify allows negative inventory (oversells, bundle mismatches). Including negative stock values distorts average inventory and inflates the apparent turnover rate.
Not accounting for seasonality
A brand with a big Q4 peak will show a very high turnover in that quarter and low turnover in Q1 – Q3. Annual averages can mask both over- and under-stocking issues.
Shopify-specific tips
- Shopify does not display inventory turnover natively. Pull COGS from Shopify Analytics (requires cost per item to be set on each product variant) and inventory value from the Inventory by location report.
- To get average monthly inventory, export 'Inventory at the end of month' reports for each month and calculate the mean.
- If COGS is unavailable in Shopify, use Net Sales × (1 − gross margin %) as an approximation - but note this is less accurate.
- Use Shopify collections or product tags to segment turnover by category. This is far more actionable than a store-wide average.
- Shopify's built-in ABC analysis (available on some plans) groups products by revenue contribution - use this alongside turnover data to identify slow-movers in your A-tier.
Frequently asked questions
Related resources