Definition
Inventory turnover
How many times a business sells and replaces inventory in a period, commonly COGS divided by average inventory value.
Inventory turnover measures how many times you sell through and replenish stock in a period. The standard finance form is cost of goods sold divided by average inventory value for that window. High turnover can mean efficient merchandising and tight buying, or chronic stockouts and lost sales. Low turnover can mean deliberate depth for sparse demand, or dead stock freezing cash.
For ecommerce, the metric only helps when SKU identity is clean, inventory counts are true (including third-party logistics locations), and you read turns next to in-stock rate, margin, and cash. It is a health check on buying and demand match, not a trophy for “moving units” at any price.
The COGS and average inventory formula
The common formula is: **Inventory turnover = cost of goods sold (COGS) ÷ average inventory** for the same period, using inventory at cost, not retail price, so the numerator and denominator speak the same language. Average inventory is often (beginning inventory + ending inventory) ÷ 2, or a more frequent average if stock swings hard mid-period.
Example: COGS $600,000 and average inventory $150,000 → turnover of 4 for the year (roughly four sell-through cycles of the average stock pile). Days inventory outstanding is a sibling metric: roughly 365 ÷ turnover (or period days ÷ turnover). Both assume clean COGS and inventory valuation.
Shopify’s inventory reports and accounting exports help when cost is maintained on products; without cost, people wrongly divide retail sales by retail stock and invent a fake turn. Document whether you include inbound-in-transit, returns staging, and wholesale channels in the inventory average.
SKU identity underpins every turn calculation
Turnover collapses when a SKU is not a real unit of inventory truth. Duplicate SKUs, missing barcodes, bundle components that do not decrement correctly, and variant merges that orphan stock all make average inventory fiction. If “blue / M” and “Blue Medium” are two records, one will look like a ghost stockout while the other looks dead. Marketplace listings that do not map 1:1 to warehouse SKUs create the same fog.
Clean identity before fancy planning. One SKU per sellable unit of stock, barcodes at receiving, and BOM rules for kits that consume components. Align the commerce catalog, WMS, and any planning tool on the same IDs. When operators debate turnover, half the fights are really master-data fights. I will not trust a category turn chart until cycle counts and receiving variance on that category are under control.
Identity is boring; wrong POs from bad identity are expensive.
Dead stock, overstock, and the cash trap
Low turnover on a SKU or class usually means product is sitting. Cash is stuck on shelves (or in 3PL bins accruing storage). Dead stock is the extreme: little or no recent demand relative to on-hand. Overstock is broader: still some sell-through, but cover far beyond lead time and demand uncertainty. Both destroy return on capital and force discounting that trains customers to wait. Remedies differ.
Dead stock may need liquidation, bundles, wholesale exit, or donation, plus a buying rule so it does not reorder on autopilot. Overstock may need demand creation, channel shift, or PO cuts upstream. Track aging buckets (30/60/90/180+ days) beside turn. A store can show acceptable blended turnover while a long-tail of aged units eats margin in storage and eventual markdowns.
Prefer prevention: MOQ discipline, test buys, and kill criteria for new SKUs that miss sell-through gates.
Stockouts, false “high turns,” and service level
Very high turnover is not automatically healthy. If you turn inventory fast because you never hold enough depth, you will stock out on winners, suppress conversion, and pay rush freight. The adult pairing is turnover plus in-stock rate or fill rate on priority SKUs. A hero size that is always empty can make residual inventory look efficient while revenue and ads waste on “available” lies.
Watch lost-sales signals: waitlist volume, high demand with zero on-hand, and paid traffic to OOS PDPs. Safety stock and reorder points exist to trade a bit of turn for service level. Category economics differ: perishable or fashion may accept higher turns and markdown risk; spare parts may accept lower turns for availability. Set targets by segment, not one company slogan.
When leadership only rewards higher turns, planners under-buy; when they only reward in-stock, buyers over-buy. Balance both in the scorecard.
3PL accuracy and multi-location reality
Turnover math assumes the inventory denominator is real. With a third-party logistics partner, receiving delays, mis-picks, unposted returns, and slow adjustments make Shopify available-to-sell diverge from the warehouse floor. Multi-location retail plus DTC plus FBA-style nodes multiplies the problem: average inventory must specify which locations and ownership types count. Operational fixes beat spreadsheet gymnastics. Cycle counts, ASN receiving SLAs, barcode scan discipline, and daily reconciliation on A-items protect the denominator.
Returns should re-enter sellable stock only after grade-in. If you plan POs from a system that thinks you have 500 units when the 3PL has 50, your forecast “error” is actually a truth error. Community threads on 3PL mistakes often start with shipping; the deeper scar is inventory accuracy that makes every turnover and forecast report untrustworthy.
Forecasting, promotions, and AI caveats
Buying to a turnover target without a demand forecast is backwards. Forecast units, apply lead times and service targets, then observe the turns that result. Promotions, seasonality, influencer spikes, and stockout backfill distort naive moving averages. Returns lag sales and can re-inflate inventory after you already reordered.
AI and statistical tools help when history is clean, lead times are coded, and planners can override for known campaigns, not when the model is a black box on dirty data. I treat vendor “AI inventory” claims as assistants, not autopilots. Require explainability on outliers, human approval above cost thresholds, and post-mortems when overstock or stockouts follow model-driven POs.
Feed true available inventory, inbound POs, and marketing calendars. Measure forecast accuracy (for example, WAPE-style error) by ABC class, not only blended. Turnover will improve when demand planning, merchandising, and supply work as one system, not when a dashboard chases a benchmark from another category.
Common questions
Frequently asked questions
How do you calculate inventory turnover?
Divide cost of goods sold by average inventory at cost for the same period. Using retail dollars in only one side of the formula produces a misleading ratio.
What is a good inventory turnover ratio for ecommerce?
There is no universal good number. Targets depend on category, lead times, and margin. Compare against your history by product class and pair turns with in-stock rate.
Can high inventory turnover be a bad sign?
Yes. Extremely high turns can mean under-buying and stockouts that lose sales and waste ad spend. Read turnover next to service level on priority SKUs.
How does inventory turnover relate to dead stock?
Dead stock barely moves, which drags category and company turnover down and ties up cash. Aging reports help you find it before the blended ratio looks merely “a bit slow.”
Why do 3PL issues break turnover metrics?
If on-hand counts are wrong, average inventory is wrong, so turnover is wrong. Receiving, returns, and adjustment lag at a 3PL must be fixed before planning off the ratio.
Related terms
