Days Inventory Outstanding (DIO): Formula, Example & Benchmarks [2026] 2026
DIO measures how many days your cash sits trapped in stock before becoming revenue. Here's the formula, an ecommerce worked example, 2026 benchmarks, and the seven levers SEA multichannel sellers use to bring it down.
by OneCart Team
May 9, 2026
18 min read
Days Inventory Outstanding (DIO) is the single cleanest answer to one of the hardest questions in ecommerce: how long is my cash trapped in stock before it turns back into revenue? It is a finance metric, not an operations one — your accountant, your bank, and your investors all read it — but the levers that move it sit firmly inside the warehouse and the listing platform. For a multichannel seller juggling Shopee FBS, Lazada FBL, Amazon FBA and a Shopify 3PL, DIO is also the single most underused metric for spotting which channel is quietly bleeding working capital.
This guide covers the formula, a fully worked SEA seller example, 2026 ecommerce benchmarks, the cash conversion cycle context most finance textbooks skip, and the seven operational levers that bring DIO down without triggering stockouts on your top SKUs.
What Is Days Inventory Outstanding (DIO)?
Days Inventory Outstanding (DIO) — also called Days Sales of Inventory (DSI) or Inventory Days on Hand — tells you the average number of days it takes for inventory to convert into sales. A lower DIO means your stock turns into cash faster. A higher DIO means cash is locked up on shelves, in containers, or in 3PL bays.
Mechanically, DIO is the inverse of inventory turnover expressed in days. If your inventory turns 6 times per year, your DIO is roughly 365 ÷ 6 = 61 days. The two metrics measure the same thing from different angles: turnover frames it operationally (how fast we cycle stock), while DIO frames it financially (how long our cash is committed).
The reason finance teams prefer DIO is because it slots directly into two higher-order metrics that decide whether a business needs financing:
Working capital intensity — every additional day of DIO is another day’s worth of COGS that has to be funded out of cash, a credit line, or supplier credit.
Cash conversion cycle (CCC) — DIO is one of three components (alongside Days Sales Outstanding and Days Payable Outstanding) that determine how many days the business is out-of-pocket between paying suppliers and collecting from customers.
For ecommerce sellers, those two metrics decide whether you can fund the next 11.11 inventory build-up out of cash flow, whether you need a working capital loan, or whether you should be negotiating longer supplier terms before scaling ad spend. DIO is the lever that drives both.
Actionable Insight: If you can only track three finance metrics on your inventory, track DIO, gross margin, and sell-through rate. DIO tells you whether your cash is moving fast enough to support growth; gross margin tells you whether the cash that comes back is enough; sell-through tells you which SKUs are dragging both numbers down.
DIO Formula and Components
The standard DIO formula is:
DIO = (Average Inventory ÷ Cost of Goods Sold) × Number of Days in Period
For a full year, that becomes:
DIO = (Average Inventory ÷ Annual COGS) × 365
For a quarter or a month, swap in the matching COGS for the period and use 90 or 30 days. The two ingredients break down as follows.
Average Inventory
Average inventory is the dollar value of stock you held on average across the period, valued at cost (not retail). The simplest method is:
(Opening Inventory + Closing Inventory) ÷ 2
That works fine for stable businesses but it understates DIO for seasonal sellers whose stock balloons before peak. A more accurate version averages the month-end inventory balances across the period:
For sellers running 11.11, 12.12, Black Friday, or Chinese New Year stockpiles, the monthly-average method can shift DIO by 10–20 days compared to the two-point method. Use the monthly version once you have a reliable inventory snapshot in place.
Cost of Goods Sold (COGS)
COGS is the cost — not retail price — of the units you actually sold during the period. It pulls directly from your P&L. For a multichannel ecommerce seller, COGS includes:
Landed product cost (FOB + freight + duties + clearance) per unit sold
Inbound shipping to your warehouse or 3PL
Direct fulfilment costs if you capitalise them into COGS (most ecommerce P&Ls keep these as a separate fulfilment line)
What COGS does not include: marketing, ad spend, software subscriptions, salaries, or storage fees. Those are operating expenses and they distort DIO if you accidentally roll them in.
Period Length
For annual reporting use 365. For quarterly use 90, for monthly use 30. Be consistent across periods — switching between 360 and 365 will quietly shift your DIO by 1.4%.
A Worked DIO Example for an Ecommerce Seller
Let’s run the numbers for a mid-sized SEA multichannel seller running on Shopee SG, Lazada SG, Shopify, and Amazon SG.
The business — fiscal year 2025:
Line item
Value (S$)
Opening inventory (1 Jan 2025)
420,000
Closing inventory (31 Dec 2025)
580,000
Annual revenue
6,200,000
Annual COGS
3,720,000
Gross margin
40%
Step 1 — Average inventory:
(420,000 + 580,000) ÷ 2 = S$500,000
Step 2 — Plug into the DIO formula:
DIO = (500,000 ÷ 3,720,000) × 365 = 49.06 days
Reading the result: this seller’s cash sits in inventory for roughly 49 days between paying the supplier and collecting from the marketplace. Whether that’s good or bad depends on category and channel mix, which we cover in the benchmarks section below.
Step 3 — Convert to inventory turnover:
Turnover = 365 ÷ 49.06 = 7.44 times per year
That matches the operations team’s view: stock cycles roughly 7.4 times across the year, or once every 7 weeks on average.
Step 4 — Convert to working capital lockup:
Every day of DIO ties up one day of COGS. At S$3.72M annual COGS, that’s S$10,192 per day. So 49 days of DIO equals S$499,408 of cash committed to inventory — almost exactly the average inventory figure, which is the cleanest sanity check on the calculation.
Step 5 — Sensitivity: what happens if DIO drops to 35 days?
New average inventory = (35 ÷ 365) × 3,720,000 = S$356,712
Cash unlocked = 500,000 − 356,712 = S$143,288
That S$143k is real, redeployable working capital. It can fund three months of ad spend, an inbound container of new SKUs, or a 6-month working capital buffer — without taking on debt. That is why finance-led ecommerce operators obsess over DIO.
Actionable Insight: Before you negotiate a working capital loan, run the sensitivity above. A 14-day DIO reduction at this seller’s scale frees S$143k — which is often more than what most short-term lenders will offer net of fees, and is structurally cheaper because it eliminates the interest entirely.
2026 DIO Benchmarks Across Ecommerce Categories
DIO benchmarks vary wildly by category. A fashion seller running on a 12-week trend cycle cannot have the same DIO as a homewares seller buying replenishment skus at 90-day intervals. Here are the rough 2026 ranges we see across our SEA seller base and public ecommerce filings.
Category
Healthy DIO
Stretched
Crisis
Apparel / fast fashion
35–55 days
60–80 days
90+ days
Beauty / cosmetics
45–70 days
75–95 days
100+ days
Electronics / accessories
30–50 days
55–75 days
80+ days
Home & living
60–90 days
95–120 days
125+ days
Health supplements
70–100 days
105–130 days
140+ days
Toys / hobbies
80–110 days
115–140 days
150+ days
Food & beverage (ambient)
25–45 days
50–70 days
75+ days
Two notes on reading the table.
First, “healthy” is context-dependent. A 70-day DIO is excellent for a supplement seller (long shelf life, slow consumption) but it is a serious problem for an apparel seller chasing 4 seasonal drops a year. Always benchmark against your own category, not against your favourite finance blog’s generic 30-day target.
Second, benchmarks compress for sellers with strong supplier terms. A seller with 60-day supplier payment terms (Net 60) can run higher DIO than a seller on 30-day terms, because the supplier is essentially financing the inventory float. We unpack that in the cash conversion cycle section.
DIO on its own only tells half the story. The full picture is the Cash Conversion Cycle (CCC), which is how many days a business is out-of-pocket between paying its suppliers and collecting from its customers.
CCC = DIO + DSO − DPO
DIO (Days Inventory Outstanding) — days from receiving inventory to selling it.
DSO (Days Sales Outstanding) — days from selling to actually collecting cash. For marketplace sellers this includes the platform settlement lag (Shopee T+15, Lazada T+7 to T+14, Amazon T+14 in most markets) plus any payment-method delays.
DPO (Days Payable Outstanding) — days you take to pay your suppliers after receiving the invoice.
A worked CCC for the same SEA seller above:
DIO = 49 days
DSO = 12 days (weighted average across Shopee SG T+15, Lazada SG T+7, Shopify Stripe T+2, Amazon SG T+14)
DPO = 30 days (Net 30 with most suppliers)
CCC = 49 + 12 − 30 = 31 days
That means the business funds 31 days of operations out of its own pocket before the cash cycle closes. At S$10,192/day of COGS, that’s S$316k of permanent working capital just to keep the lights on.
The leverage point: stretching DPO from 30 to 60 days (Net 30 → Net 60) closes the CCC by 30 days at zero operational cost. That single negotiation is often worth more than a 10-day DIO reduction, and it should be the first lever every finance team tests before scaling working capital loans.
The trap point: if you stretch DPO too aggressively and damage supplier relationships, you can end up with longer lead times — which feeds back into higher safety stock and higher DIO. The metrics interact; you cannot squeeze one without watching the others.
For deeper unpack on the supplier-side maths, see minimum quantity order (MOQ) — most multichannel sellers underprice the supplier-credit value of larger MOQs against the DIO penalty.
Multichannel DIO — Per-Channel Inventory Lock-Up
Here is where most generic DIO content fails ecommerce sellers: DIO is not uniform across channels. The same SKU can have radically different DIO depending on where you store it.
Channel storage models and their DIO implications
Channel / Programme
Where Stock Lives
Typical DIO impact
Shopee FBS (Fulfilled by Shopee)
Marketplace warehouse
+5 to +15 days vs your own 3PL (inbound transfer, mandatory minimum stock, programme-specific stockholding rules)
Lazada FBL (Fulfilled by Lazada)
Marketplace warehouse
Similar to Shopee FBS
Amazon FBA
Amazon fulfillment centre
+7 to +20 days (inbound shipment lead time, FBA storage rules, ageing tier penalties beyond 181/271/365 days)
TikTok Shop fulfilled-by-merchant
Your own warehouse
Neutral — same as your own DIO
TikTok Shop fulfilled-by-TikTok (FBT)
TikTok warehouse
+5 to +15 days
Shopify with own 3PL
Your chosen 3PL
Whatever your 3PL replenishment SLA dictates
Drop-shipping / on-demand print
Supplier warehouse
0 days — supplier-financed inventory
The implication: a seller running 70% of revenue through Shopee FBS and Amazon FBA will run a structurally higher DIO than the same seller running everything through Shopify with a tight 3PL replenishment loop. Not because they manage inventory worse — because the channels themselves lock more days into the cycle.
Per-channel DIO calculation
To diagnose where DIO is leaking, calculate it per channel using channel-specific COGS and channel-specific inventory:
Channel DIO = (Channel Inventory ÷ Channel COGS) × 365
For the same seller from the worked example, a per-channel breakdown might look like this:
Channel
Channel Inventory
Channel COGS
Channel DIO
Shopee FBS
S$220,000
S$1,300,000
61.8 days
Lazada FBL
S$140,000
S$900,000
56.8 days
Amazon SG FBA
S$95,000
S$650,000
53.4 days
Shopify (own 3PL)
S$45,000
S$870,000
18.9 days
Blended
S$500,000
S$3,720,000
49.0 days
The blended DIO of 49 days hides a 3-to-1 spread between channels. Shopify is running near-optimal at 19 days; Shopee FBS is dragging at 62 days. The diagnosis is unambiguous — Shopee FBS is over-stocked, either because the seller is hitting mandatory minimum stock floors, because programme reordering rules are pushing too much volume, or because slow-moving SKUs are stuck in marketplace warehouses where the seller can’t redeploy them.
Actionable Insight: Once per quarter, pull a per-channel DIO breakdown. The variance between channels is usually 2–3x. Whichever channel has the highest DIO is your highest-leverage place to either (a) reduce minimum stock thresholds, (b) shift slow-movers to a self-fulfilled channel where you can redeploy, or (c) consolidate SKUs to your top-velocity channel before the others.
OneCart pulls per-channel inventory and per-channel sales into a single view, which is what makes the table above possible without manual reconciliation across Seller Center dashboards. See our multichannel inventory software guide for the broader category.
7 Levers to Reduce DIO (Without Selling Out)
These are the levers we see SEA multichannel sellers use, in rough order of difficulty.
1. Reduce safety stock on slow-movers
Most sellers carry uniform safety stock across A, B and C class SKUs. They shouldn’t. Use a service-level approach: 99% service level on A-class (the 20% of SKUs driving 80% of revenue), 95% on B, and 90% on C. The math is in our safety stock formula guide. A correctly-sized safety stock policy on a 500-SKU catalogue typically cuts inventory by 10–18% with no measurable stockout increase.
2. Tighten reorder points and EOQ
Generic reorder logic (“reorder when stock hits 30 days”) inflates DIO. Use a proper reorder point calculation accounting for lead time variability, and an Economic Order Quantity sized to your actual ordering cost. Most sellers reorder too infrequently in large lots — a 30% smaller order with a 40% shorter cycle usually cuts DIO without raising landed cost meaningfully.
3. Liquidate dead stock aggressively
Anything with >180 days of cover is dead stock. Move it via flash sales, bundles, B2B liquidation, or as gift-with-purchase. Each S$1 of dead stock returned to cash is a S$1 reduction in average inventory, which moves DIO directly. Sellers running quarterly liquidation events typically cut average inventory by 8–15% per round.
4. Move slow-movers to drop-ship or on-demand
If a SKU has <0.5 units/day sell-through and a 3-week supplier lead time, drop-shipping or on-demand-print is almost always lower-DIO than stocking it. The DIO on a drop-shipped SKU is 0 days — the inventory sits on your supplier’s balance sheet.
5. Cut multichannel duplication
Sellers often hold separate FBL stock per market. If the same SKU is being held in Shopee FBS SG and your own 3PL, you are double-funding the same inventory. Consolidate to one fulfilment leg per market wherever volume justifies it, and use cross-border programmes for the smaller markets.
6. Shorten supplier lead times
Lead time directly drives safety stock and reorder point. Cutting a 21-day lead time to 10 days (faster supplier, dual-source, or strategic stockholding by the supplier) cuts safety stock by 35–45% on most categories. Often worth a small unit-cost premium.
7. Pre-sell or accept pre-orders on long-lead items
For long-lead-time SKUs (custom, made-to-order, slow-import), accept pre-orders instead of stocking. You take payment before paying the supplier — that’s a negative DIO contribution on those SKUs. Bundled with a robust pre-order policy this can shift entire category mixes towards capital-efficient launches.
Common Mistakes Ecommerce Sellers Make with DIO
1. Tracking DIO annually only
Annual DIO is a lagging indicator. By the time the year-end number is bad, six months of cash has already been over-committed. Track monthly DIO with a 13-month rolling chart. Anomalies should trigger a review within the same month.
2. Using retail value instead of cost for inventory
Cardinal sin. DIO is a cost-based metric. Using retail value of inventory will under-state DIO if your margin is high (because retail > cost) and over-state it if you use weird mixed valuations. Always value inventory at landed cost.
Shopee Mall, Lazada Mall, Amazon FBA each impose minimum stock floors and re-stocking rules. If you onboard a new SKU to FBL/FBS with a 60-day minimum reorder cycle, you have just structurally locked 30 days into DIO whether you wanted to or not. Read the programme rules before opting in.
4. Mixing DIO with operations days
Ops teams sometimes calculate DIO using sales velocity in units rather than COGS in dollars. That gives you something more like “days of cover” — useful for replenishment decisions, but not the same number a CFO or bank lender expects. Keep the two views distinct.
5. Optimising DIO at the cost of margin
You can crush DIO by ordering tiny quantities at higher unit cost. That destroys gross margin. The right optimisation is margin-adjusted DIO: DIO weighted by gross margin per SKU. Optimise the joint metric, not DIO in isolation.
6. Not tracking DIO per channel
The blended number hides where the problem is. See the per-channel section above.
7. Confusing DIO with inventory turnover ratio
They are mathematically related (DIO = 365 / turnover) but they move different audiences. Operations cares about turnover (cycle frequency); finance cares about DIO (cash committed). Report both — they look at the same problem from useful different angles. See our inventory turnover formula and inventory turnover days guides.
How Inventory Software Improves DIO
The mechanical DIO reductions in the previous sections — tighter safety stock, faster reorder points, dead-stock liquidation, channel consolidation — all depend on having clean, real-time data across every channel. That is the hard part.
For a multichannel SEA seller, the data layer that drives DIO improvement looks like this:
Real-time inventory sync across every marketplace and storefront, so safety stock and reorder points fire on actual blended sell-through (not stale single-channel data).
Per-channel COGS attribution, so you can see DIO by channel and diagnose where cash is locked.
Auto-classified ABC tiering, so safety stock is sized by SKU importance rather than uniformly.
Reorder triggers that account for supplier lead time, lead-time variability, and channel-specific demand seasonality.
Dead-stock alerts that surface SKUs aging beyond category-appropriate cover thresholds.
OneCart is built for SEA multichannel sellers running Shopee, Lazada, TikTok Shop, Amazon, and Shopify in any combination. The platform consolidates inventory across every channel into a single source of truth, exposes per-channel DIO, fires reorder alerts on real-time blended sell-through, and surfaces ageing stock by channel and SKU. For sellers stuck with high DIO because their data is spread across five Seller Centers, OneCart is the substrate that makes the operational levers in this guide actually executable.
What is a good Days Inventory Outstanding for an ecommerce business?
It depends on category. Apparel and fast-moving electronics should target 30–55 days. Home & living and supplements typically run 60–100 days because of slower velocity and longer shelf life. The best benchmark is your own 13-month trailing DIO — improving by 10% year-over-year is a strong operational signal. Cross-channel sellers should add a per-channel DIO breakdown because the blended number usually hides 2–3x variance between fastest and slowest channels.
Is DIO the same as inventory turnover?
They measure the same underlying thing — how fast stock converts to cash — but in different units. Inventory turnover is a count (e.g. 6 times per year); DIO is a duration (e.g. 61 days). The conversion is DIO = 365 ÷ Inventory Turnover. Finance teams prefer DIO because it slots cleanly into the cash conversion cycle; operations teams prefer turnover because it maps to ordering cycles.
How does DIO affect cash flow?
Every additional day of DIO ties up one day’s worth of COGS in inventory. For a seller running S$3.72M annual COGS, each day of DIO equals roughly S$10,200 of cash locked up. A 14-day DIO reduction frees S$143,000 in permanent working capital — often more than a short-term loan would provide, with zero interest cost.
Why is my DIO so high on Shopee FBS and Amazon FBA?
Marketplace fulfilment programmes impose minimum stock floors, mandatory inbound batch sizes, and storage-aging penalties that structurally lock more days into your DIO than self-fulfilled channels. Expect a 5–20 day DIO premium on FBS/FBL/FBA versus running your own 3PL. The trade-off is usually worth it for buy-box prominence and free-shipping eligibility, but you should quantify the premium and decide channel-by-channel.
Should I include freight-in-transit inventory in my DIO calculation?
Yes — if you’ve paid for it. Freight-in-transit (sometimes called stock in transit or goods in transit) is on your balance sheet from the moment title transfers, which under most Incoterms is at the port of origin (FOB) or the moment of shipment (CIF). Include it in average inventory and your DIO will reflect the real cash commitment. Excluding it under-states DIO and over-states efficiency.
How often should I recalculate DIO?
Calculate monthly at minimum, weekly if you can. Track a 13-month rolling trend to spot seasonality. Per-channel DIO should be reviewed quarterly with the operations team. Annual DIO is fine for board reporting but useless for operational decision-making — by year-end, the cash damage is already done.
What’s the difference between DIO and Days Sales of Inventory (DSI)?
They are the same metric under different names. DIO is the term finance and banking teams use. DSI (or sometimes DSI = Days of Sales of Inventory) is more common in US-listed-company filings and supply-chain textbooks. The formula and meaning are identical. Use whichever term your audience uses.
Days Inventory Outstanding is the cleanest finance lens on whether your inventory operation is generating cash or consuming it. For ecommerce sellers running multichannel — and especially for SEA sellers spanning Shopee, Lazada, TikTok Shop, Amazon and Shopify — the per-channel DIO breakdown is usually the single most surprising diagnostic you can run on your business. If you find that 60% of your inventory dollars are locked into the channel doing 30% of your revenue, the cash unlock from rebalancing is real and immediate.
If you want to put a real multichannel inventory layer underneath the DIO calculations in this guide — real-time stock sync across every marketplace, per-channel COGS attribution, automated reorder triggers, and dead-stock alerts by channel — start a free OneCart trial and connect your first two channels in under 15 minutes. It is the substrate that turns DIO from a quarterly board-report number into a weekly operational lever.
Stop tracking inventory in spreadsheets
OneCart's Item Master keeps stock levels in sync across every marketplace you sell on, automatically.