Guides
The Real Cost of a Stockout for a DTC Brand
The missed order is the one cost that stops the moment stock lands — which is exactly why it's the smallest one on the bill.
The lost sale is the smallest line on the bill
Ask most operators what a stockout cost and you get one number: units you'd have sold, times the margin. It's the easiest figure to reach for because it's the only one that shows up cleanly in a report, and it's the only one that ends when the pallet arrives.
That framing makes a stockout look like a pause. Sales stop, sales resume, you lost the middle. But a stockout isn't a pause in a machine that's otherwise idle — it's a gap in a system that keeps running and keeps charging. Your ads keep serving. Your rankings keep updating. Your customers keep shopping. The bill has four lines, and three of them are still accruing after the shelf is full again.
| Cost | When you pay it | Does restocking end it? |
|---|---|---|
| Lost margin on the order | During the outage, in real time | Yes — it stops the day stock lands |
| Acquisition spend already committed | At the click, before anyone reaches checkout | Yes for new clicks — but the spent budget is gone |
| Ranking and placement decay | Builds through the outage, invisibly | No — recovery lags the restock |
| The customer who switched | At the moment they find an alternative | No — you re-acquire them or you don't |
You already paid to send that shopper
Paid acquisition is spent at the click, not at the order. By the time a shopper reaches a sold-out product page, the money that put them there has already left your account. The outage doesn't reduce the cost of the visit; it removes the revenue that was supposed to offset it. Every visitor an outage catches is a fully-priced acquisition with nothing on the other side of the ledger.
The second half is worse, because it's silent. Catalog platforms don't want to serve unavailable items. Google's Merchant Center requires an availability attribute, and a feed that says in stock while the landing page says otherwise gets the product disapproved rather than merely down-weighted. So the placement doesn't just convert worse during an outage — it stops being served. And if you respond by pausing campaigns, a relaunch generally starts from a colder position than the one you paused.
The cost that keeps charging after you restock
Search results, marketplace listings, and on-site recommendation rails are fed by recent sales velocity and conversion. That's the signal that earned the placement in the first place — and a stockout deletes it. Not because anything was penalized, but because there's nothing to measure. A product with no sales this week looks, to a ranking system, exactly like a product nobody wants this week.
This is the cost with the longest tail. Inventory recovers the instant a delivery is received; ranking recovers only as fast as you can rebuild velocity, and you're rebuilding it from a worse position than the one you fell from. The gap between "back in stock" and "back where it was" is entirely on you, and it's the part no restock report ever shows.
The demand you never see again
The last line has two tails. The first is the customer. Retail research into out-of-stocks found that the single most common shopper response was to buy the item at another store — ahead of substituting a different brand, substituting within the same brand, or delaying the purchase. That's brick-and-mortar FMCG research from a different era and a different channel, so treat it as directional rather than as a DTC statistic. But the direction is the point: the cheapest substitution is one that stays inside your catalog, and the most expensive is one that introduces your customer to a competitor who now has their card on file.
The second tail is your own data. A stockout contaminates the demand history you'll forecast from next cycle. Days you couldn't sell get recorded as days nobody bought, the average drops, and the next forecast comes back lower than true demand. You then buy to that lower number — which is how one stockout quietly funds the next one. All four costs scale with how well a product sells, because your best sellers carry the most ad spend, the most ranking equity, and the most first-time buyers.
cost of a stockout = lost margin + acquisition spend with no order + ranking recovery + value of customers who switched
Buying the cost back: fewer stockouts, earlier
You can't price these four lines precisely, and you don't need to. Every one of them is driven by the same two variables: how often you go out of stock, and how much warning you get before you do. Both are things you control.
Assisty forecasts what each product — and each variant — will sell over the horizon you choose, and marks which items run out before the period ends and which are overstocked. At-risk items carry straight into the Smart Buying Table, so seeing a risk and fixing it are the same motion. Run-out is stated as the day an item runs out at the current pace rather than a vague warning, which is what makes it actionable while there's still lead time to use.
The forecast-poisoning problem has a direct answer too: days you were out of stock can be excluded, so past stockouts don't bias the next projection down. What-if scenarios recompute in place — ask what happens if sales trend up and both the forecast and the reorder needs update, no spreadsheet copies. And you can ask why demand is changing and get the drivers explained rather than a number handed over.
For the products where the same decision repeats, rules draft purchase orders on a schedule — you pick the supplier, the scope, and the cadence, and POs generate on time seeded with the same suggested quantities you'd get in the Buying Table. Every auto-generated PO lands in an approval queue; nothing reaches a supplier until you approve it. They're ordinary POs, with the same per-supplier grouping, tax, currency, and landed cost as ones created by hand.
| Failure mode | What Assisty does |
|---|---|
| Lost margin on the order | Flags which items run out before the period ends, at the variant grain you buy at (Forecasting) |
| Acquisition spend with no order | Surfaces the day an item runs out at the current pace, so the fix happens while lead time remains (Forecasting) |
| Ranking and placement decay | Carries at-risk items straight into the Smart Buying Table — seeing the risk and fixing it are one motion (Forecasting) |
| Routine reorders that wait on someone remembering | Rules draft POs on a schedule for the products where the same decision repeats — you pick supplier, scope, and cadence (Automation) |
| The next stockout your data causes | Out-of-stock days can be excluded, so the forecast reflects real demand, not the days you couldn't sell (Forecasting) |