DIO = inventory ÷ COGS × days. 250,000 of stock against 5,000 a day of cost is 50 days. The same 250,000 divided by revenue instead would say 25 days — and nothing on the page would look wrong.
The revenue mistake, and why it survives review
Inventory sits on the balance sheet at cost. That is not a convention this page invented; it is how inventory is measured under both IFRS and US practice. So the flow you divide it by has to be a cost flow too, and that flow is cost of goods sold.
Divide by revenue instead and you have measured a cost stock against a sales flow. The two are separated by exactly the gross margin, so that is exactly the size of the error.
Take a business with 250,000 of stock, 1,825,000 of COGS and 3,650,000 of revenue — a 50% gross margin. The correct DIO is 50 days. Divide by revenue and you get 25. A business at 60% margin reporting the same mistake would claim 40% of its real DIO.
It survives review for one reason: it always understates, and never overstates. The wrong number is smaller, so it looks like good news, and nobody investigates good news. A DIO that suddenly halves gets celebrated; a DIO that suddenly doubles gets checked. The error only ever produces the first kind.
There is a quick test that does not require you to recompute anything. Multiply the reported DIO by the reported inventory turnover. If the answer is not the day basis — 365, or 360 — then one of the two came from a different denominator and at least one of them is wrong.
DIO and inventory turnover are one fact
Inventory turnover is COGS divided by inventory: how many times a year the stock is sold and replaced. DIO is inventory divided by COGS, scaled to days. They are reciprocals, and the relationship is exact rather than approximate:
DIO × turnover = the day basis. Stock turning 7.3 times a year is 365 ÷ 7.3 = 50 days. There is no rounding step and no assumption in between.
Which one to use is a question about audience, not about accuracy. Turnover is the retail and operations vocabulary — buyers think in turns. Days is the finance vocabulary, and it is the one that adds: DIO can be put next to DSO and DPO in the cash conversion cycle because they share a unit. Turnover cannot be added to anything.
The practical consequence is that improvement targets set in turns are misleading at the top end. Going from 4 turns to 5 saves 18 days. Going from 12 turns to 13 saves 2.3. The same “one more turn” is worth eight times more at the slow end, which is exactly where it is hardest to achieve.
FIFO, LIFO, and why two identical businesses report different DIO
Inventory has to be assigned a cost, and there is more than one defensible way to do it. First-in first-out assumes the oldest stock sells first. Last-in first-out assumes the newest does. Weighted average splits the difference.
When prices are rising, these produce genuinely different balance sheets from identical warehouses. Under FIFO the stock remaining is the recently purchased, expensive stock, so inventory is carried high and DIO comes out longer. Under LIFO the remaining stock is old and cheap, so inventory is carried low and DIO comes out shorter — sometimes dramatically, if the layers are decades old.
Neither is wrong. But it means a DIO comparison between two companies is only valid if they use the same cost-flow assumption, and that is not something you can tell from the ratio. It is disclosed in the accounting policies note, and checking it is the difference between a real comparison and a coincidence.
LIFO is permitted in the United States and prohibited under IFRS, which makes cross-border DIO comparison particularly unsafe. A US firm on LIFO will tend to look leaner than an identical European firm on FIFO, purely because of the costing rule.
Which balance, and which date
DIO takes a balance measured on one day and a flow measured across a year. If the balance moved during that year, the closing figure alone will not represent it.
The standard treatment is the average of opening and closing inventory, and the tool above offers it. It halves the distortion for a business growing steadily. It does not remove it, and for a seasonal business it does not help much at all.
The seasonal case is worth being blunt about. A toy retailer measured on 31 December is measured at its post-Christmas trough, after the stock has sold and before the next buy has landed. Its DIO on that date is real, and it describes the emptiest week of its year. The same business measured in October would report something several times larger. Both are correct; neither is the business.
Where the swing matters, the honest answer is a monthly average of thirteen balances rather than two, and a note saying which was used. Where that is not available, report the date alongside the figure so a reader can discount it appropriately.
What DIO cannot tell you
Three limits, all of which matter more than the precision of the ratio.
It cannot see dead stock. A warehouse holding 50 days of fast-moving lines and a warehouse holding 25 days of fast movers plus 25 days of unsellable stock report the same DIO. The second is in serious trouble. Only an ageing profile by SKU distinguishes them, and the ratio never will.
Lower is not automatically better. DIO can be reduced by running out of things. Stockouts cut inventory, cut DIO, and cut sales, and the first two show up in the metric while the third shows up somewhere else entirely. A DIO target set without a service-level constraint is a target to lose orders against.
It is meaningless without inventory. A consultancy or a software business has no DIO — not a DIO of zero, but no DIO at all, because the denominator describes something it does not do. Its cycle is receivables and payables only. Reporting a zero there implies a measurement that was never taken.
Finally, DIO says nothing about whether the stock is profitable. Fast-turning stock sold below cost turns beautifully and loses money on every unit — which is what the margin tool is for.
Sources and methodology
The measurement rules the denominator argument rests on.
Method. The revenue comparison is computed with the same engine function as the correct figure, differing only in the denominator passed to it, so the two numbers cannot drift apart through a separate code path. The DIO-turnover identity is not asserted in prose alone — it is fuzzed over four thousand randomly generated sets of books and required to hold to within a billionth on every one, across all three day bases. The engine is verified on every change against 113 assertions shared with the rest of the working-capital cluster. The count and the per-case breakdown are published on the formula verification page.