Every example and amount on this page is illustrative. It shows the method and is not a benchmark, a quote or advice.
Start With the Cost You Are Trying to Measure
First, define what counts as dead stock for your store. Dead stock is inventory you no longer expect to sell through normal demand at its current offer, usually because it has remained unsold beyond a chosen time threshold. The threshold is a rule, not a universal number. Set it from the product’s normal selling cycle and launch plan: a replenished basic product may become dead after a longer period than a seasonal item whose selling window has closed. This step produces a repeatable definition and a list of affected units.
Next, separate three numbers that are often mixed together in a dead stock cost calculation. Inventory value is the cost basis of the units still held: units multiplied by the product cost. It describes capital tied up in stock; it is not automatically a loss. Carrying cost is the expense of holding that stock over time, such as storage, insurance, handling, or the cost of cash committed to inventory. It accumulates while the units remain unsold and should be measured over the relevant period.
Recoverable loss is different again. It is the part of the inventory cost you may not recover after allowing for the net amount you expect to receive from a markdown, clearance sale, liquidation, or other disposal route. If stock cost is £1,000 and the realistic net recovery is £300, the potential unrecovered amount is £700, before deciding whether to include any accumulated carrying cost. The result is an exposure estimate, not proof that the loss has already been realised.
Record these outputs separately: dead units, inventory value at cost, carrying cost for the selected period, and expected unrecovered cost. Ecommerce Inventory Analytics: Velocity, Days of Stock and Dead Stock explains the inventory terms, while Ecommerce COGS covers which product costs belong in the cost basis.
Use a Formula That Separates Exposure From Loss
Use separate calculations for inventory exposure and economic loss. Start by fixing the scope: the same SKU set, quantity date, trading currency and time period must apply to every input. Let Q be unsold units and C be the unit cost basis. The basic inventory exposure is: Exposure = Q × C. If C is the landed product cost recorded in inventory, this is the amount of capital tied up—not the product’s selling price. Review what belongs in ecommerce COGS before choosing C; retail price, ad spend and historical discounts do not belong in this formula.
Next, calculate carrying cost separately. Let H be storage, insurance, handling, financing or other inventory costs attributable to the chosen period. Holding exposure = (Q × C) + H. Use accumulated H to describe what the stock has already cost to hold, or forecast H for a stated future clearance period. Do not add a monthly figure to a purchase cost and call the result a current loss without naming the time horizon.
Then estimate recovery. Let R be the expected net amount recovered from the units: expected proceeds less costs that directly reduce those proceeds, such as marketplace fees or variable fulfilment. Let D be disposal expense, including removal, destruction or liquidation costs that are not already deducted from R. The expected economic loss over the chosen period is: Loss = (Q × C) + H + D − R.
These outputs answer different questions. Exposure shows how much inventory value is at risk. Holding exposure includes the cost of keeping it. Expected loss estimates the shortfall after recovery and disposal. If R is a gross sales figure, subtract its selling costs separately; if R is already net, do not subtract them again. A stock report can provide the quantities and remaining value used here, while dead stock detection helps define which units belong in Q.
Work Through the Numbers on One SKU
Take one SKU and use a single measurement period. Suppose you hold 120 units, each with a landed cost of $18. Inventory exposure is 120 × $18 = $2,160. Record carrying cost separately: at $0.20 per unit per month over eight months, storage and capital tied up add 120 × $0.20 × 8 = $192.
Now estimate the recovery plan rather than using the original selling price. The SKU normally sells for $32, but you expect a 40% discount. The discounted price is $32 × (1 − 0.40) = $19.20. If you expect to sell 90 of the 120 units, expected sale proceeds are 90 × $19.20 = $1,728. The remaining 30 units incur a $1.50 disposal fee each, or $45.
Put those figures into separate spreadsheet cells so the result can be audited. Economic loss is the landed cost plus carrying cost plus disposal fees, less expected sale proceeds: $2,160 + $192 + $45 − $1,728 = $669. The SKU therefore ties up $2,160 at cost, while its expected dead-stock loss is $669 under these assumptions. Change the sell-through rate, discount, holding period or disposal fee to run another scenario.
| Input or output | Spreadsheet arithmetic | Amount |
|---|---|---|
| Units held | — | 120 |
| Landed cost | 120 × $18 | $2,160 |
| Carrying cost | 120 × $0.20 × 8 months | $192 |
| Discounted sale price | $32 × (1 − 40%) | $19.20 |
| Expected sale proceeds | 90 × $19.20 | $1,728 |
| Disposal fees | 30 × $1.50 | $45 |
| Economic loss | $2,160 + $192 + $45 − $1,728 | $669 |
Check the Inputs Before Trusting the Result
Before accepting a dead stock cost calculation, audit the inputs in the order they enter the result. A sell-through window that is too short can label a seasonal product as dead; one that is too long can hide a recent change. Record the exact sales window and inventory snapshot date. Then reconcile units on hand to the same date. If the real balance is 80 units but the export says 100, a $20 landed cost changes exposure from $2,000 to $1,600 before any recovery estimate is applied.
Use landed cost consistently. Include the costs you assign to the product, such as inbound freight or duties, and exclude recoverable taxes. Decide how nonrecoverable taxes are treated and apply that rule to every SKU. A cost model that includes tax for one product but not another makes product-level comparisons unreliable. This is the distinction covered in Ecommerce COGS.
Check returns, bundles and channel inventory before counting units. Returned units should either be back in sellable stock or treated as a separate condition; do not count both the return and the original sale as available inventory. For bundles, allocate the bundle cost to components once, rather than counting the finished bundle and its component units together. If inventory is shared across Shopify, marketplaces or a warehouse, remove channel allocations and duplicate feeds before totaling it.
Keep three values separate: original inventory exposure, any accounting write-down, and expected recovery. A write-down should not be subtracted twice. Recovery should be net of realistic discounts, fees, shipping and refund effects—not the full list price. If you assume a $30 item will recover $12, the model needs to show why; treating $30 as recoverable simply because it is the price produces a flattering loss estimate. ORVX reports inventory position, dead stock and remaining stock value, while its return reporting separates return rate by units and refund value against revenue; use those fields to test the calculation rather than relying on revenue alone.
Choose a Tool That Shows Its Working
Choose a tool that can trace the number back to the records that produced it. For Shopify, that means syncing orders, products and customers, then connecting advertising accounts so ad spend can sit beside store revenue. It should also let you define the product cost model, including each SKU’s unit cost, rather than treating sales revenue as profit. Keep the store’s trading currency intact; a combined figure that silently mixes currencies is not decision-ready.
At SKU level, inspect the assumptions before accepting the result: which products are included, the inventory quantity date, the measurement period, the currency, the unit cost, and the inactivity or ageing rule used to flag dead stock. The tool should show whether revenue came from delivered orders only, with cancelled and returned orders excluded, and how refunds affect the result. This is the same discipline required when checking what belongs in ecommerce COGS.
The useful output is more than a dashboard headline. You should be able to move from inventory position, dead stock and remaining stock value to product-level profitability, gross and net margins, return rate and refund value, and contribution after advertising. Collection-level views help identify whether the issue is isolated to a SKU or reflects a broader range problem. A decision layer can then state a reasoned action—such as reduce, fix economics, test or stop—with the calculation and confidence behind it. For example, it might flag a SKU because its stock value is high, its delivered-order contribution after advertising is weak, and its return rate is elevated. Use inventory analytics to verify that the displayed number can be followed from source data to action, not merely admired on a chart.
What dead stock cost calculation actually measures
A dead stock cost calculation puts a value on inventory that is no longer moving within the rule you set. That rule might be no sale in 90 days, no sale during the last season, or stock remaining after a campaign. The result is only meaningful when “dead” is defined first; a winter coat and a phone case should not necessarily use the same sell-through window.
The calculation produces two different business answers. Inventory exposure is the cost still tied up in units you hold. Economic loss is the portion of that cost you are unlikely to recover after realistic sale proceeds and direct disposal or holding costs. A product can therefore have high exposure but limited loss if it can still sell near cost, or modest exposure but severe loss if recovery requires a deep discount.
It does not measure missed revenue, the value of future demand, or total store profitability. Nor should it quietly include advertising, payment fees or general overhead unless you have deliberately defined the measure that way. Keep product cost consistent with your COGS definition, and keep the result in one trading currency. For a wider view, inventory reporting can place the result beside remaining stock value, sell-through and product performance through ecommerce inventory analytics.
General information only: tax, duty and import rules change and depend on your situation, so check with an accountant or the official source before acting.