Business tools
DIO Calculator
Calculate Days Inventory Outstanding (DIO) from average inventory, cost of goods sold and your measurement period to evaluate inventory efficiency.
Use this calculator to estimate Days Inventory Outstanding (DIO), which measures how long inventory is held on average before being sold. Enter average inventory, cost of goods sold and the applicable measurement period. Inventory and COGS must refer to comparable periods and the same currency. Do not combine annual COGS with monthly period days. The dollar sign is display formatting, not currency conversion. There is no universal good DIO.
The calculation runs locally in your browser. No input values are saved or sent to a server.
Enter average inventory, cost of goods sold and the measurement period.
Example DIO Calculation
Static worked example: Average Inventory = $150,000; Annual COGS = $1,200,000; Measurement Period = 365 days. Average COGS per Day = $1,200,000 / 365 ≈ $3,287.67. DIO = $150,000 / $1,200,000 × 365 ≈ 45.6 days. Inventory Turnover = $1,200,000 / $150,000 = 8.00 times. Inventory remains on hand for approximately 45.6 days on average based on these figures. This is a neutral example, not your calculated result or an inventory-quality rating.
About this calculator
What Is Days Inventory Outstanding?
Days Inventory Outstanding (DIO) estimates the average number of days inventory remains on hand before being sold. It is an aggregate estimate, not an inventory-quality, obsolescence or stock-availability assessment.
DIO Formula
DIO = Average Inventory / Cost of Goods Sold × Number of Days. Average inventory is the average balance during the period; cost of goods sold is the cost basis of inventory sold during that period; number of days is the matching measurement period. Average COGS per Day = Cost of Goods Sold / Number of Days. Inventory as % of Period COGS = Average Inventory / Cost of Goods Sold × 100. Inventory Turnover = Cost of Goods Sold / Average Inventory.
Why Use Cost of Goods Sold?
DIO compares the inventory balance with the cost basis of goods sold rather than revenue. Inventory accounting and classification policies can vary, so use inventory and COGS figures prepared on a consistent basis for comparable periods.
How Do You Calculate Average Inventory?
Average Inventory = (Beginning Inventory + Ending Inventory) / 2. Businesses with seasonal or volatile inventory may benefit from more frequent averages. Enter the average directly in this Tool; it does not collect beginning and ending balances or provide inventory management.
What Does a High DIO Mean?
A higher DIO generally means inventory remains on hand longer. Possible reasons include slower movement, seasonal stock build, long production cycles, excess purchasing, declining demand or obsolete inventory. It is not automatically poor performance; interpret it against the business and its products.
What Does a Low DIO Mean?
A lower DIO generally means inventory moves through the business more quickly. An unusually low value could also indicate insufficient stock or stock-out risk, depending on the business. No single DIO target applies to all companies.
DIO and Working Capital
Inventory ties up working capital until it is converted into sales and ultimately cash. DIO measures inventory timing; net working capital is a separate balance of current assets minus current liabilities. Use the live Working Capital Calculator in Related Tools for that separate calculation.
DIO and the Cash Conversion Cycle
Cash Conversion Cycle = DIO + DSO − DPO. DIO measures inventory days, DSO measures receivables collection days and DPO measures payable timing. This Tool calculates DIO only. The separate DSO, DPO and Cash Conversion Cycle Calculators are available in Related Tools below.
Frequently asked questions
What does DIO stand for?
DIO stands for Days Inventory Outstanding, an estimate of the average number of days inventory remains on hand.
How do you calculate DIO?
Divide average inventory by cost of goods sold for the same measurement period, then multiply by the number of days in that period.
Why does DIO use cost of goods sold instead of revenue?
DIO compares inventory with its cost basis in goods sold, not the sales revenue those goods may generate.
Should I use average inventory or ending inventory?
Average inventory better represents balances over the period. A simple average is beginning inventory plus ending inventory, divided by two; more frequent averages may help when balances fluctuate.
Is a lower DIO always better?
No. Lower DIO generally means faster inventory movement, but unusually low inventory could contribute to stock-out risk. Business and product conditions matter.
What is a good DIO?
There is no universal good DIO. Industry, product type, manufacturing cycle, seasonality and purchasing practices all affect interpretation.
What is the relationship between DIO and inventory turnover?
Inventory turnover is COGS divided by average inventory. Higher turnover generally corresponds to lower DIO, which is average inventory divided by COGS and multiplied by days.
How does DIO affect working capital?
Inventory ties up working capital until converted into sales and cash. DIO describes timing; it does not calculate net working capital.
How does DIO relate to the cash conversion cycle?
The cycle combines inventory, receivables and payables timing: DIO + DSO − DPO. This calculator computes DIO only.
Can seasonality affect DIO?
Yes. Stock build, demand and inventory balances can vary by season. Compare similar periods and consistent inventory averages.
Results depend on user-entered information. DIO is an estimate; inventory accounting, classification and data availability can affect the calculation. Inventory and COGS should refer to comparable periods and be interpreted in context. Seasonality and business model may materially affect results. This Tool does not assess inventory quality, obsolescence or stock availability. It is informational only and is not accounting, tax, legal, investment or financial advice. Calculations run locally in your browser; inputs are not saved or sent to a server.