Days sales of inventory (DSI): the days-on-hand number that explains your cash cycle.
DSI tells you the average number of days it takes to sell through your inventory. €18.000 of stock against €72.000 of annual COGS = 91 days on the shelf. The longer it sits, the longer your cash sits with it.
Days sales of inventory (DSI, sometimes "days inventory on hand") tells you the average number of days a unit of stock sits on your shelf before it sells. The formula is average inventory at cost divided by annual COGS, times 365. It is the inverse of inventory turnover — same information, expressed in days instead of turns. nouz shows COGS and inventory on the same daily P&L, so DSI is a number you read off the screen, not a year-end calculation.
TL;DR
Definition
Days sales of inventory answers "on average, how long does my stock sit before it sells?" If your DSI is 91 days, a unit landing on your shelf today will, on average, sell three months from now. Some units sell faster; some sell slower; 91 is the mean.
DSI and inventory turnover are the same calculation in different units. Turnover is an annual count (4 turns). DSI is the per-unit waiting time (91 days). Most retail owners find DSI more intuitive because "days" maps directly onto the cash cycle — how long between paying the supplier and recovering the money at the till.
The relationship is mechanical: DSI = 365 ÷ Inventory turnover. 4 turns = 91 days. 2 turns = 182 days. 6 turns = 61 days. If you know one, you know the other.
The formula
DSI = (Average inventory / Annual COGS) × 365
DSI = 365 / Inventory turnover (equivalent)
Both forms produce the same number. Use the first if you are starting from inventory and COGS values. Use the second if you already calculated turnover.
A note on units: inventory at cost, COGS at cost. Mixing in retail prices inflates DSI by your markup and breaks the comparison to category benchmarks.
Worked example
Same boutique as the turnover example: €72.000 annual COGS, average inventory at cost €18.000.
| Input | Value |
|---|---|
| Average inventory (cost) | €18.000 |
| Annual COGS | €72.000 |
| Days in period | 365 |
| DSI | (18.000 / 72.000) × 365 = 91 days |
Cross-check via turnover: 72.000 / 18.000 = 4 turns; 365 / 4 = 91 days. Matches.
91 days = roughly a 3,5-month inventory cycle. A unit arriving in mid-March will, on average, sell at the end of June. For seasonal merchandise that is a meaningful lag — a 91-day spring delivery has a real risk of being marked down before the bulk sells through.
Compare to a faster shop at 6 turns/year: DSI = 61 days, just over two months. Slower shop at 2 turns: DSI = 182 days, six months on the shelf. The cash logic is direct: at 182 days you are funding twice the working capital per euro of annual sales as the 91-day boutique.
Benchmarks
| Category | Healthy DSI range (days) | Equivalent turns/year |
|---|---|---|
| Fast fashion | 30-60 | 6-12 |
| Boutique apparel | 73-122 | 3-5 |
| Footwear | 73-122 | 3-5 |
| Homewares / gifts | 73-122 | 3-5 |
| Books / stationery | 91-182 | 2-4 |
| Jewellery | 122-365 | 1-3 |
| Café food prep | 9-18 | 20-40 |
DSI above 182 days in a non-luxury retail category is almost always a dead-stock problem hiding in the average. See spot and clear dead stock for the diagnostic that surfaces the worst SKUs.
Why it matters
DSI translates directly to working capital. Every day a unit sits on the shelf is a day your cash is parked, not earning, not paying rent, not paying you. The cash conversion cycle of a small shop has three legs — days inventory on hand (DSI), days receivables (usually 0 in retail), and days payables (your supplier terms). DSI is the lever you actually control.
A 30-day DSI improvement on €72.000 of annual COGS releases roughly €5.900 of working capital. That is real cash that flows from inventory back into the bank, available to pay rent, pay you, or fund the next buy. The mechanism: buy shallower, mark down faster, clear dead stock. See cash flow vs profit for why this matters even on profitable months.
DSI also frames the seasonal-buying decision. A 91-day DSI on a spring delivery received March 1st means the average unit sells in early June — fine for spring/summer overlap, risky for short-season trend pieces. The DSI lets you sanity-check whether the buying calendar matches the selling calendar. Boutique inventory turnover mastery walks through the planning approach in detail.
Related concepts
- Inventory turnover — the same data expressed as turns/year instead of days.
- GMROI — capital efficiency; falls if DSI rises and margin stays flat.
- Sell-through rate — per-delivery early signal; DSI is the shop-wide outcome.
- Dead stock — what drags DSI up; clearing it brings DSI back down.
- Cash flow vs profit — why DSI translates straight to bank-account reality.
FAQ
What is a good DSI for a small retail shop?
73-122 days (3-5 turns/year) is healthy for most boutique-style retail. Fast fashion targets 30-60 days. Books, jewellery and other long-tail categories run 91-365 days. The right DSI for your shop is the one that funds the smallest working-capital balance without leaving shelves empty.
What is the difference between DSI and inventory turnover?
They are the same calculation in different units. Turnover is an annual count (4 turns/year). DSI is the per-unit waiting time (91 days). Mathematically: DSI = 365 ÷ Turnover. Most owners find DSI more intuitive because days map onto the cash cycle directly.
Why does DSI matter for cash flow?
Every day a unit sits on the shelf is a day your cash is locked up in inventory instead of in the bank. A 30-day reduction in DSI on €72.000 of annual COGS releases roughly €5.900 of working capital. That is real cash you can use to pay rent, pay yourself, or fund the next buy — without an overdraft.
My DSI looks fine at the shop level but I have dead stock. How?
Averages hide concentration. A shop-wide DSI of 91 days can include 30% of SKUs at 30 days (fast movers) and 20% at 300+ days (dead stock). The average looks healthy; the cash reality does not. Run DSI per category or per SKU group at least quarterly to find the dead-stock cluster the average is hiding.