Inventory turnover calculatorratio and days in inventory
Enter your cost of goods sold and your inventory value at the start and end of the period to see how many times you sold through your stock, and how many days it sits before it sells.
The starting numbers are example values, not Spark data. Replace them with your own.
Inventory turnover
6turns per year
Stock sits about 61 days before it sells.
Days in inventory
61
Average inventory
$100,000
Turnover = cost of goods sold ÷ average inventory. Days in inventory = days in the period ÷ turnover.
The inventory turnover formula
How fast your stock turns into sales
Turnover counts how many times you sold through your average inventory in a period. Higher turnover usually means less cash tied up in stock. Too high can mean you are running out and losing sales.
Inventory turnover = cost of goods sold ÷ ((beginning inventory + ending inventory) ÷ 2)
To act on it, set when to reorder with the reorder point calculator and how much with the EOQ calculator.
Worked example (illustrative numbers)
- 1. Average inventory. The year starts with $120,000 of stock at cost and ends with $80,000: (120,000 + 80,000) ÷ 2 = $100,000.
- 2. Turnover. Cost of goods sold for the year is $600,000: 600,000 ÷ 100,000 = 6 turns.
- 3. Days in inventory. 365 ÷ 6 ≈ 61 days. On average, stock waits about two months before it sells.
At a 24% yearly holding rate, carrying that $100,000 of average stock costs about $24,000 a year. Six turns can still hide items with a year of stock next to items that keep running out.
Demand ESP
Turnover looks back. Demand ESP looks ahead.
A turnover ratio tells you how last period went. Demand ESP, Spark’s forecasting engine, tells you how many days each SKU’s stock will last from here, and it goes well past a basic forecast to get that number right.
A model picked for each SKU
Demand ESP sorts every SKU as steady, trending, seasonal or intermittent, backtests several forecasting models on that SKU’s own history and keeps the one that predicted best. A slow spare part and a fast seller are not forced through the same math.
Stockouts do not shrink the forecast
Sales lost while an item was out of stock are added back before forecasting, so running out does not teach the system to buy less next time.
Seasonality, promotions and new items
Seasonal curves per SKU, borrowed from similar items when a SKU has less than a year of history. Demand Calendar events lift or lower the forecast for a set window. New products start from look-alike items.
A trust grade on every forecast
Each forecast gets a grade from A to D based on how accurate its past forecasts turned out, with the reasons behind the grade and what would improve it.
Forecast misses become safety stock
Safety stock is sized from how far the forecast has actually missed over each supplier’s real lead time, so predictable items carry less buffer and erratic ones carry more.
Days on hand that admit uncertainty
Days on hand is hidden when there is no real demand signal, shown as a range for lumpy demand and labeled when it rests on your own estimate instead of sales.
Beyond the ratio
One ratio hides the items that cost you money
Spark Inventory scores every item’s health from 0 to 100, finds overstock and dead stock, and puts a dollar figure on what the excess costs to carry.
Level of detail
Turnover ratio: One number for the whole business.
Spark: Every SKU and warehouse, so a few fast sellers cannot hide a shelf of slow ones.
Direction
Turnover ratio: Looks back at last period’s sales.
Spark: Looks forward: days on hand is available stock ÷ the planning rate, the higher of the Demand ESP forecast and recent sales.
Overstock
Turnover ratio: Blended into the average.
Spark: Stock beyond 180 days of supply counts as excess by default (you can retune the bands). It lowers the item’s health score and is priced as a monthly carrying cost.
Dead stock
Turnover ratio: Drags the average down, unnamed.
Spark: Units on hand with no demand at all are flagged as dead stock by item.
Which items matter
Turnover ratio: Every dollar counts the same.
Spark: Each item gets an ABC class by revenue contribution, which feeds its health score.
Over time
Turnover ratio: Whenever you rerun the numbers.
Spark: Health is captured nightly with a daily trend. When it drops week over week, Spark alerts you with the weakest factor and the excess carrying cost behind it.
From number to action
Turnover improves when buying follows demand
Every score explained
Each item’s 0 to 100 health score breaks down into stock level, stockout risk, return rate, ABC class and dead stock, so you see what to fix first.
Buy to the forecast
A reorder rule drafts purchase orders from Demand ESP, netted against stock you already have and on order, so overstock stops building. Run it in Observe, Propose or Autopilot mode from the Automation page.
Text with Sparki
Text Sparki to ask what is overstocked or about to run out, and approve the drafted purchase order with one reply. Included on Solo ($99/mo) and up.
Spark MCP
Ask Claude, ChatGPT or any MCP client which SKUs are dead stock or tying up the most cash. Spark answers from your live stock, health scores and Demand ESP forecasts.
Inventory turnover FAQ
Inventory turnover questions
What is the inventory turnover formula?+
Inventory turnover = cost of goods sold ÷ average inventory, where average inventory = (beginning inventory + ending inventory) ÷ 2, both valued at cost. It tells you how many times you sold through your average stock during the period.
How do I convert turnover into days?+
Days in inventory = days in the period ÷ inventory turnover. A yearly turnover of 6 means stock sits about 61 days on average before it sells. This is also called days sales of inventory (DSI) or days inventory outstanding (DIO).
What is a good inventory turnover ratio?+
It depends on what you sell. Perishable and fast-moving consumer goods turn much faster than furniture, spare parts or luxury items. Compare against your own history and similar businesses, and look at it per product: a healthy overall ratio can hide fast sellers that keep stocking out next to slow ones tying up cash.
Should I use cost of goods sold or revenue?+
Use cost of goods sold, because inventory is valued at cost. Dividing revenue by inventory at cost mixes in your markup and makes turnover look higher than it is. If you only track units, units sold ÷ average units on hand gives a similar answer for a single product.
How do I improve inventory turnover?+
Buy closer to real demand: order smaller quantities more often where ordering costs allow, cut reorder points on slow sellers, clear dead stock, and stop seasonal buys from carrying into the off season. Raising turnover by simply holding less can cause stockouts, so check days on hand per product before cutting.
How does Spark Inventory track turnover?+
Spark looks forward instead of back. It shows days on hand for every SKU and warehouse from Demand ESP’s forecast, scores each item’s health on overstock, stockout risk, returns, revenue class and dead stock, and puts a monthly carrying cost on excess stock. When portfolio health drops week over week, it alerts you with the reason.
