The Stockout Ledger: State of Shopify Stockouts 2026
First-party data on 3,602 completed, directly detected stockout episodes in Forthcast’s retained store records. The page states the episode grain, sample, open-event exclusion, and concentration boundary. Free to cite with a link back.
Published 2026-07-12 · Last updated 2026-08-13 · Free to cite with a link back to this page · Press: info@forthcast.io
completed, directly detected stockout episodes across 23 retained non-test stores
Forthcast platform data (observed)median resolution time — but the 90th percentile is 40 days
Forthcast platform data (observed)of completed episodes lasted longer than 30 days
Forthcast platform data (observed)Executive summary
Across 3,602 completed stockout episodes directly detected after Forthcast was installed at 23 retained non-test Shopify stores, the median time from stock-out to restock was 6 days. The distribution has a long right tail: the 90th percentile was 40 days, the 95th was 54 days, and 12.7% lasted more than a month. 2,132 completed within a week. These figures describe this retained Forthcast panel, not all Shopify stores.
How long a stockout lasts
Median resolution: 6 days
Half of the 3,602 completed episodes were back in stock within 6 days.
Long tail: p90 40 days, p95 54 days
Mean resolution was 13.37 days, well above the median because the distribution is skewed.
383 same-day; 2,132 within a week
Open episodes are excluded rather than assigned a zero duration.
12.7% lasted longer than 30 days
This is a completed-episode share, not a forecast or modeled revenue-loss estimate.
How stockouts get caught, and at what scale
2,795 scan-detected vs 807 webhook-detected completions
Detection source is reported for the completed cohort; neither source is inferred from a missing value.
9,196 post-install episodes in the retained panel
5,594 had no stock-in date at measurement time and are excluded from the duration distribution to avoid censoring them as completed.
What we deliberately do not publish
To keep every number defensible, we hold back figures the data cannot support as observed fact:
Dollar cost of stockouts / lost revenue
Not published. A reliable sales-velocity baseline exists for only a small fraction of these events, so any revenue-loss total would be mostly modeled, not observed.
Monthly stockout seasonality
Not published. Month-by-month event counts reflect when detection was switched on across stores, not a real seasonal pattern — publishing them would mislead.
Forecast accuracy figures
Not published. How well the underlying forecasting performs is proprietary and out of scope for this dataset.
How to calculate a monthly stockout rate
A monthly stockout rate answers a different question from the completed-episode durations above: what share of a store's tracked SKUs experienced a directly detected stockout during the month?
For one store and one month, divide the number of distinct eligible SKUs with a directly detected stockout by the number of eligible SKUs tracked during the same observation period. Multiply by 100 to express the result as a percentage. Count a SKU once in that month's numerator even if it has several episodes. An episode count divided by a SKU count measures something different.
The numerator and denominator need the same store, SKU identity and observation window. A current inventory count does not establish how many SKUs were tracked in a historical month. A store with verified tracking coverage and no stockout events contributes a zero rate; a missing or failed observation is unknown.
Keep occurrence separate from recovery. A directly detected stockout can contribute to the occurrence measure even if it has not ended. The duration analysis above excludes unfinished episodes because their final duration is not yet known.
No monthly cross-store rate is published here. Detection rollout, historical SKU coverage and cohort eligibility must be verified before comparing months. Event totals alone do not establish seasonality, lost sales or forecast performance.
A cross-store release also needs its observed store count, distribution, eligibility rules and leave-one-store-out sensitivity. Removing each contributing store in turn shows how much the result depends on a single store; that check has not been completed for this monthly measure.
Use your own rate alongside the affected products, supplier lead times and restocking work. A typical rate from another panel cannot determine your reorder point. Read the methodology below for the existing ledger's measurement boundaries.
Methodology
This page reports one episode per retained store, SKU and stock-out date. It includes only auto-detected webhook or inventory-scan episodes whose stock-out date is on or after the store's Forthcast install date. Test and quickstart domains, dismissed rows, manual rows, reconstructed historical rows and episodes without a valid stock-in date are excluded from the duration distribution. The completed denominator is 3,602; 5,594 still-open episodes are shown separately. Computed August 13, 2026; this retained panel does not represent all Shopify stores. Retained refers to source records, not paid or currently active customers. Founder-related stores are not excluded by this method; their share of this historical snapshot has not been established.
Frequently asked questions
How long did completed Forthcast stockout episodes last?
The median was 6 days across 3,602 completed, directly detected episodes in 23 retained non-test stores. The 90th percentile was 40 days, the 95th was 54 days, and 12.7% lasted more than 30 days.
How are stockouts detected?
Within the completed cohort, 2,795 episodes were detected by scheduled inventory scan and 807 by Shopify inventory webhook. The report does not treat reconstructed historical rows as directly detected episodes.
How many stockout episodes does the duration dataset cover?
The duration distribution covers 3,602 completed post-install episodes. Another 5,594 directly detected episodes had no stock-in date at measurement time and are excluded from duration calculations.
Why don't you publish the dollar cost of stockouts?
A reliable sales-velocity baseline exists for only a small share of events, so any lost-revenue figure would be mostly modeled rather than observed. We publish durations and counts, which are directly observed, and hold back numbers the data can't support.
Running out of stock too often?
Forthcast forecasts demand at the SKU level and flags reorder timing before you sell out — so a stockout is a warning you act on, not a sale you already lost.
Get Forthcast on the Shopify App Store Demand Forecasting Statistics 2026