Operations
A stockout looks like an inventory problem. In marketplace commerce, it is also an advertising problem, a ranking problem, a customer experience problem, and a profit problem at the same time. When a product runs out of stock, the seller does not only lose today's order — they often lose campaign momentum, ad efficiency, future visibility, repeat buyers, and cashflow predictability all in the same week.
Basic stockout cost
The simplest accounting is the one most sellers stop at:
Lost revenue = missed units × selling price
If a seller misses 200 units at 300 THB each:
Lost revenue = 200 × 300 = 60,000 THBBut revenue is not the real loss — the seller would have spent money to produce that revenue. A more honest formula uses contribution margin:
Lost contribution profit = missed units × contribution margin per unit
If each unit contributes 80 THB after variable costs:
Lost contribution profit = 200 × 80 = 16,000 THBSixteen thousand baht is closer to the real damage. And in marketplace commerce, even that number is conservative once the second-order effects are included.
Each row indexed to the lost-contribution-profit-only estimate (= 100). Most account-level stockout reports stop at the top bar; the bottom bar (~3.5–5× the visible cost) is what actually accrues over the 30–60 days following the stockout. The ranking-demotion line is the largest single compounding term because Shopee's algorithm tends to remember the underperformance long after the stock is back.
The hidden costs of stockouts
The visible cost of a stockout is missed units. The hidden costs do most of the actual damage, and they compound through the rest of the operation.
Wasted ad spend
Ads do not stop the moment inventory runs low. Clicks keep landing on a product page that cannot fulfill, conversion deteriorates, and the platform charges for the traffic anyway.
Lost campaign momentum
A product that stocks out during campaign week misses the single highest-demand window of the month — and the algorithm tends to remember the underperformance long after the stock is back.
Lower buyer trust
A repeat buyer who finds an empty product page once may forgive it. Twice is a different story. Stockouts erode the kind of buyer relationship that took months of fulfillment to build.
Operational stress
Urgent reordering, supplier pressure, and manual firefighting consume time the seller did not budget for — usually at the expense of decisions on healthier SKUs.
Poor future forecasting
Stockouts distort historical sales data, which makes future demand harder to estimate accurately, which makes the next stockout more likely. The cycle is self-reinforcing.
Reorder point formula
A basic reorder rule keeps the math tractable:
Reorder point = expected demand during lead time + safety stock
Where:
expected demand during lead time = average daily demand × supplier lead time
Example
─────────
Average daily demand: 40 units
Supplier lead time: 10 days
Expected demand during lead time: 400 units
Safety stock: 150 units
Reorder point: 550 unitsWhen inventory falls to 550 units, the order goes in. The catch is that "average daily demand" is doing a lot of quiet work in that formula — and on a marketplace, average is rarely a useful description of the next two weeks.
Why marketplace sellers need smarter stockout logic
Classical reorder formulas were not designed for the marketplace environment. A Shopee or TikTok Shop seller is dealing with campaign spikes, ad-driven demand, sudden viral content, competitor stockouts, live-commerce bursts, supplier delays, and cross-channel inventory pressure — sometimes all in the same month. A product can move 30 units per day in a normal week and 200 units per day during campaign week. Reorder logic that uses an unconditional average will stock out exactly when demand is most valuable, and the only way to avoid that is to make the formula campaign-aware.
Stockout risk and ad decisions
One of the most expensive mistakes a seller can make is scaling ads on a product that cannot support the additional demand. The simple version of the rule is easy to remember:
A more advanced version makes the inputs explicit and treats the decision as a function of all four together:
Ad scaling decision = margin health
+ conversion strength
+ inventory depth
+ replenishment confidenceStockout risk and pricing decisions
Inventory shapes the pricing decision more than most sellers realize. If inventory is low and demand is strong, lowering price is usually unnecessary — the right move can be to maintain price or even pull back on discounts to protect margin while supply is constrained. If inventory is high and demand is weak, a discount may make sense, but only if contribution margin survives the markdown. Pricing and inventory belong on the same screen, not on different tabs of different tools.
Stockout cost compounds over the days out-of-stock
The chart above is a snapshot — the cost ledger after a 7-day stockout. The chart below is the trajectory: how the full stockout cost accumulates as the days-out-of-stock count rises. The early days are dominated by lost-sale and wasted-ad-spend (linear with time). The later compounding terms — ranking demotion, repeat-buyer churn — kick in after roughly day 3–5 and accelerate the cost curve.
The slope is sub-linear after ~day 14 because ranking demotion saturates and the seller-side recovery (price holds, restock-week ad pulse) starts to offset some of the trust-erosion term. The early-window slope is super-linear because lost-sale + wasted-ad-spend stack with the early-onset ranking demotion. Operationally: every additional day out-of-stock past day 5 is materially more expensive than the day before.
Sensitivity — when the stockout cost shape changes
The 5-line cost decomposition assumes typical Shopee account conditions. The table below stress-tests how the full-cost multiplier shifts under different operating contexts.
| Scenario | Multiplier vs. lost-contribution-profit | Note |
|---|---|---|
| Baseline (Shopee account, off-campaign) | ~3.5× | Reference: 5-line stack, 7-day stockout |
| Stockout during 11.11 / 12.12 / Pay Day window | ~6–8× | Ranking-demotion term peaks during high-traffic windows |
| Stockout mid-live-stream session (TikTok Shop) | ~5–7× | Velocity-loss term is steepest; session ends with empty inventory |
| SKU is a top-quartile organic-traffic earner | ~4.5× | Buyer-trust and repeat-purchase terms weigh heavier |
| SKU is long-tail / promotion-only | ~2.5× | Lower compounding — ads and ranking are smaller share of total demand |
| Ad spend paused during stockout (manual intervention) | ~2.8× | Wasted-ad-spend term recovered; other compounding terms unchanged |
| Restock secured within 48 hours | ~1.8× | Most compounding terms do not engage |
The structural conclusion: speed-to-restock is the most operationally controllable lever. A stockout caught and resolved within 48 hours costs ~50% as much as one that runs 7+ days, because the compounding terms (ranking demotion, repeat-buyer churn, forecast distortion) need time to accrue.
Suboptimal decision cost: stockout version
A stockout almost never happens because someone made an obviously wrong choice. It happens because a sequence of reasonable-looking decisions stack up. Ads were increased because ROAS looked good. A discount was applied because campaign week was coming. The reorder was delayed because cash was tight that month. The inventory report was a few days behind. The demand forecast did not account for the promotion lift the campaign would create. Each decision is individually defensible. Together, they produce an empty product page on the morning of campaign day. This is why sellers benefit from a system that catches the conflict before any individual decision tips it over the edge:
High demand + high ads + low inventory = risk
Limitations and where this argument breaks
- Account-size lower bound. The 5-line cost decomposition assumes operating capacity to track ranking-demotion and repeat-buyer impact at the SKU level. Below ~THB 200K monthly revenue, simpler heuristics (fixed reorder cadence, conservative safety stock, no per-SKU ranking-recovery tracking) outperform the operational overhead.
- Category dynamics. The compounding multipliers vary materially by category. Beauty and apparel (high repeat-purchase, high impulse) carry larger trust-erosion and forecast-distortion terms; consumables and homeware (utility-driven, lower repeat-rate) carry smaller compounding terms. Recalibrate the per-line ratios per category.
- Stockout duration variance. The cumulative-cost curve in the line chart reflects modal patterns; individual SKU cost trajectories vary by 30–50% around the curve depending on ranking-position before the stockout, organic vs. ad-driven traffic mix, and supplier-recovery speed.
- Inventory-state data quality. The framework's reorder-point math assumes inventory-state data is reasonably current (within 24h). On accounts with multi-warehouse SKUs or delayed inventory updates, the safety-stock buffer needs to be scaled up to compensate for the data-staleness gap.
- Cross-channel inventory shared. SKUs sold across Shopee, Lazada, and TikTok Shop with shared physical inventory require canonical-catalog-level reorder logic. Per-platform reorder treats the same physical SKU as three separate inventory rows and stocks out unevenly.
- Internal-data scope. The 3.5–5× full-cost multiplier, the 40–60% stockout-incidence reduction figure, the 8–12% recovered ad spend — all aggregated across the SEA-6 Thai marketplace seller accounts we model directly. Not population claims about all e-commerce sellers; explicitly excludes single-shop operators below the size bound.
Methodology
Public-data citations are taken from the 2025 ScienceDirect systematic review of ML approaches in inventory control, the classical newsvendor model from operations research literature for the safety-stock derivation, Shopee's Help Center documentation on listing-state under stock-zero conditions, Lazada's Open Platform stock-status API documentation, TikTok Shop Seller University on live-commerce session mechanics, and the Bain e-Conomy SEA 2025 commentary on regional demand-spike timing.
Internal-data claims — the 3.5–5× full-cost multiplier across the 5-line cost decomposition, the 40–60% annual stockout-incidence reduction figure, the 8–12% recovered ad-spend share, the modal cumulative-cost curve in the line chart — are aggregated across the SEA-6 Thai marketplace seller accounts that DataGlass models directly. The current sample is approximately 400 active accounts across the DataGlass research methodology sample frame (Jan 2024 – Apr 2026, 28-month observation window).