Spark Inventory
Free inventory tool

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.

Period

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. 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. 2. Turnover. Cost of goods sold for the year is $600,000: 600,000 ÷ 100,000 = 6 turns.
  3. 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.

Free for one user

See which SKUs are slowing your turns

Connect your sales history and Demand ESP forecasts every SKU, flags stock risk and builds a monthly reorder and buying plan from it. No spreadsheet to maintain.

  • Free: per-SKU Demand ESP forecasts and seasonal curves
  • Free: stock-risk reports and a monthly buying plan
  • Solo ($99/mo): continuous forecasts, live alerts and Text with Sparki