ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides12 min read

Inventory KPIs for small Shopify stores — the handful that matter at 500 SKUs

Eight inventory KPIs worth tracking at 500 SKUs — formulas, worked examples, what each hides — plus the enterprise metrics you can safely ignore.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

Enterprise inventory KPI lists run to 33 metrics — NetSuite's inventory KPI guide is the canonical example, and it was written for companies with planning departments (netsuite.com, accessed Oct 2026). At 500 SKUs and a team that includes you, a planning department, and whoever ships on Fridays, tracking 33 numbers means tracking none of them. Eight is the honest count — each tied to a decision you actually make.

Each KPI below gets four things: the formula, a worked mini-example, what it hides (every metric lies about something), and where the inputs live in Shopify. At the end: the enterprise metrics you can skip without guilt, and a 15-minute Monday routine that makes the whole set stick.

The eight KPIs worth your time

1. Days of cover

Formula: units on hand ÷ average daily units sold.

Mini-example: 540 mugs on hand, selling 18/day → 540 ÷ 18 = 30 days of cover.

What it hides: lead time. Thirty days of cover on a SKU with a 45-day supplier lead time is not healthy — it's already late, because you'll go dark before any order you place today arrives. Cover only becomes a decision when compared against lead time, SKU by SKU.

Where to get it in Shopify: current stock from the inventory report, daily velocity from the sales report — divided in a sheet. Not computed natively as of October 2026. Full worked example and reading guidance in the days of cover guide.

2. Sell-through rate

Formula: units sold ÷ units available × 100.

Mini-example: began October with 400 candles, sold 310 → 310 ÷ 400 = 77.5%.

What it hides: supply limits. A SKU that was out of stock for two weeks shows flattering sell-through — "everything we had sold!" — when the truth is demand was larger and you under-bought. Read it alongside out-of-stock days (next metric) before drawing any conclusion.

Where to get it in Shopify: units sold from sales reports; the denominator from your own snapshot sheet, since there's no native received-units report. Formula variants, the denominator trap, and baseline-setting are in the sell-through rate guide.

3. Out-of-stock days per SKU

Formula: count of days in the period with zero sellable stock. Optionally as a share: OOS days ÷ days in period.

Mini-example: a best-seller was dark 11 of the last 90 days → 11 days, or 12% of the period unsellable. No averaging, no modeling — a fact.

What it hides: money. Days are facts; the dollar conversion to lost revenue is an estimate that depends on assumed velocity and price — useful for ranking which dark periods hurt most, but never treat the dollar figure as measured. It also hides why — late supplier, under-forecast, or a count error all look identical in the ledger.

Where to get it in Shopify: nowhere natively. Shopify's changelog shipped no stockout or lost-sales analytics through October 2026, so you either keep a daily inventory snapshot and count zero-days, or use an app that maintains the ledger. This metric is the foundation for most of the others — if you build only one tracking habit, build this one.

4. Inventory turnover

Formula: COGS ÷ average inventory value (annualized: cost of goods sold for the year ÷ average of inventory value across the year).

Mini-example: $310,000 annual COGS, inventory averaging $77,500 → $310,000 ÷ $77,500 = 4.0 turns per year.

What it hides: composition. A 4.0 blended ratio can coexist with best-sellers turning 8× and a dead-stock layer turning 0×. It's a store-level finance lens, not an operational tool — you can't order anything with it.

Where to get it in Shopify: COGS from profit reports (native, cost-per-item based — Shopify Help Center, accessed Oct 2026); average inventory value from your monthly valuation snapshots. Treat it as the finance-lens cousin of sell-through — same underlying motion, expressed in dollars across the whole catalog rather than units per SKU.

5. Dead stock as a % of catalog value

Formula: inventory value of SKUs with zero sales in 90+ days ÷ total inventory value × 100.

Mini-example: $18,400 of stock hasn't sold in 90+ days against a $96,000 total valuation → 18,400 ÷ 96,000 = 19.2% of your inventory investment is dead.

What it hides: the slow-but-alive layer. This metric only catches SKUs that have crossed into total silence; the ones decaying at 2 units a month stay invisible until they join the 90-day club. Pair it with sell-through and cover to catch the drifters earlier — the definition, the monthly-burn math, and detection steps are in the dead stock guide.

Where to get it in Shopify: export inventory value, sort by last-sold date (available via sales reports), sum the 90+ day tail in a sheet. Ten minutes a month.

6. Fill rate The full measurement — order fill vs line fill vs unit fill, computed from your own order data — is owned by the fill rate guide; this is the dashboard version.

Formula: order lines shipped complete ÷ order lines ordered × 100.

Mini-example: last month customers ordered 450 order lines; 412 of them shipped complete in one go → 412 ÷ 450 = 91.6%.

What it hides: which SKUs caused the miss. A 91.6% aggregate can be one chronically dark SKU or a catalog-wide spread — the fix is completely different in each case. Always read it next to out-of-stock days, which names the culprits.

Where to get it in Shopify: derivable from order data (unfulfilled or partially fulfilled line items over the period) — not a native one-click report. For a single-location store shipping its own orders, a simpler proxy works: count orders you split-shipped or apologized for.

7. Carrying cost (assumption-based — label it)

Formula: inventory value × assumed annual carrying rate. A common planning convention runs 15–30% per year — treat it as an assumption, not a law (the full build-up is in the carrying cost guide), covering capital, storage, insurance, and obsolescence risk.

Mini-example: $96,000 average inventory × 22% ≈ $21,120/year to hold that stock — before a single unit is sold.

What it hides: everything, honestly. The rate is a planning assumption, not a measurement — your real number depends on your capital cost, your storage, your category's obsolescence risk. Use it for sizing decisions (what would $10K less inventory free up?), never for accounting. It's still worth keeping, because it's the only metric that makes over-buying feel like what it is: spending.

Where to get it in Shopify: inventory valuation from your snapshots; the rate from your own judgment. Ten minutes, once a quarter.

8. Forecast accuracy

Formula: average of |actual − forecast| ÷ forecast across the SKUs you forecast. (Plain mean absolute percentage error, minus the jargon.)

Mini-example: last month you forecast 300 / 200 / 160 units for three SKUs and sold 270 / 240 / 152. Errors: |270−300|÷300 = 10%; |240−200|÷200 = 20%; |152−160|÷160 = 5%. Average: (10 + 20 + 5) ÷ 3 = 11.7% average error.

What it hides: intermittent SKUs. On a SKU selling 2 units a month, a 50% "error" is one unit — percentage accuracy is meaningless below some volume floor; only run this on your steady sellers. It also hides direction: track whether you over- or under-forecast separately, because systematic under-forecasting usually means stockout-poisoned history feeding the model.

Where to get it in Shopify: wherever your forecasts live — if you run the monthly spreadsheet review described in the forecasting guide, the comparison is one column wide.

The enterprise metrics worth knowing anyway

Two metrics from the enterprise toolkit are worth graduating to once the eight above are habit: GMROI tells you whether a category's margin and turnover combination is actually earning money on the cash it sits in, and the stock-to-sales ratio is a quick monthly check on whether the shelves are carrying too much or too little relative to sales. Both are spreadsheet calculations from exports you already have — run them monthly on categories, not weekly on SKUs, and only after you trust your cost data.

The enterprise metrics you can safely ignore

Skip these without guilt until your store has a planning function:

  • DSI (days sales of inventory) — turnover inverted and re-expressed in days. Adds a second name and no new information; keep turnover.
  • GMROI — gross margin return on inventory investment. Genuinely useful, but it needs reliable margin data and buying discipline you can establish with the eight above first — which is why it's framed as a graduation step above, not a week-one metric.
  • Service-level Z-scores — the statistical machinery behind formal safety stock. The buffer-sizing logic you need is covered without the normal distribution in the safety stock guide.
  • Perfect order rate — a 3PL and fulfillment-ops metric. Your fill rate plus on-time shipping covers the substance.
  • Inventory accuracy % — it's not a metric to track, it's a practice to run: cycle counts in Shopify are how you create accuracy, and counting the misses weekly beats reporting the average monthly.
  • EOQ — textbook-optimal order sizes assume costs you can't measure precisely at this scale. The reorder point plus a sanity check gets you orders that are nearly as good and infinitely more explicable.
  • Weeks of supply — days of cover with the denominator relabeled. Enterprise planning stacks use both because different departments report in different units; you don't need two names for one number.
  • Shrinkage — the gap between book stock and counted stock. It matters, but it's a finding, not a KPI you trend weekly: cycle counts surface it where it happens, and a rising shrinkage rate is a security problem before it's an inventory one.

One meta-rule ties the eight together: cadence beats coverage. Eight metrics read every week tell you more than twenty metrics read quarterly — which is why the ritual below fixes the schedule before it fixes the dashboard.

The 15-minute Monday ritual

Metrics without a fixed time to read them are decoration. Fifteen minutes, every Monday, same order:

  1. Minutes 0–3: last week's out-of-stock days. Every SKU that went dark, even for a day. This is the week's damage report.
  2. Minutes 3–6: days of cover on your A-SKUs (the ~20% of SKUs driving most revenue), each compared against its lead time. Anything where cover < lead time becomes an order decision today.
  3. Minutes 6–9: buying list. For each flagged SKU: demand rate × coverage window − on hand − on order = quantity. Write the PO or the draft.
  4. Minutes 9–12: the edges. Dead-stock percentage (monthly check suffices), any SKU outside its sell-through band, fill-rate misses from last week.
  5. Minutes 12–15: one forecast check. Pick one SKU, compare last month's forecast to actual, log the error. One per week is enough to keep the habit alive and the forecasts honest.

This is the routine InventoryX is built to serve: the weekly digest delivers the ledger numbers — out-of-stock days per SKU, estimated lost revenue (labeled as an estimate, ranked so the big ones surface first) — and the weekly buying list already carries the days-of-cover-to-lead-time comparison and order-by dates. It doesn't execute markdowns, optimize across locations, or touch anything automatically; steps 2, 4, and 5 stay yours. The point of either version — sheet or app — is the same: fifteen fixed minutes beats four hours of quarterly dashboard archaeology.

Quick reference table

KPI Question it answers Formula Cadence
Days of cover How long until this runs out? On hand ÷ daily velocity Weekly
Sell-through rate Did the buy size match demand? Sold ÷ available × 100 Monthly
Out-of-stock days Where and how long were we dark? Count of zero-stock days Weekly
Inventory turnover How fast does inventory investment cycle? COGS ÷ avg inventory value Quarterly
Dead-stock % of value How much cash is frozen? 90+ day value ÷ total value Monthly
Fill rate Are orders shipping complete? Complete lines ÷ ordered lines Weekly
Carrying cost What does holding stock cost? Inventory value × assumed rate Quarterly
Forecast accuracy Is our forecast method any good? Avg of |actual − forecast| ÷ forecast Monthly

Common questions

What are the most important inventory KPIs for a small store? Eight carry their weight at a few hundred SKUs: days of cover, sell-through rate, out-of-stock days per SKU, inventory turnover, dead stock as a percentage of catalog value, fill rate, carrying cost, and forecast accuracy. Each ties to a decision you actually make — reorder timing, buy sizing, or cash recovery.

How is inventory turnover calculated? Annual cost of goods sold divided by average inventory value. A store with $310,000 of COGS and inventory averaging $77,500 turns 4.0 times a year. Read it as a store-level finance lens, not an ordering tool — a blended 4.0 can hide best-sellers turning 8× and dead stock turning 0×.

What is a good inventory turnover ratio? There's no universal answer, and anyone quoting one is ignoring category and price band. What's useful is the trend and the composition: compare your own ratio across quarters, and check whether best-sellers and dead stock are averaging into a number that describes neither. Rising turnover on stable margin is the healthy direction.

Which inventory metrics can small stores skip? Enterprise metrics: DSI (turnover relabeled), GMROI until you have two clean quarters of margin data, service-level Z-scores, perfect order rate, EOQ, and shrinkage as a trended KPI. They need planning departments or data you don't have; cycle counts and fill rate cover the substance at your scale.

How do you track inventory KPIs in Shopify? Partly native — stock levels, sales by product, inventory valuation with cost-per-item — but as of October 2026 Shopify computes no days of cover, no out-of-stock day count, and no dead-stock percentage. The working method is a monthly export into a spreadsheet, read on a fixed weekly cadence.

Next step: don't build all eight this week. Start the Monday ritual with metrics 1, 3, and 4 — cover, dark days, and the buying list — and add one more metric each month. The full first-habit instructions, including the snapshot sheet, are in the days of cover guide linked above. When you're ready to turn those metrics into a forward-looking number instead of a rear-view one, the inventory forecasting guide is the methods ladder.