The Science of Demand Reconstruction
How to quantify suppressed demand from stockout signals — turn "out of stock" events into revenue forecasts, identify chronically under-supplied SKUs, and reconstruct true demand curves competitors can't see.
The Hidden Half of Demand
Sales data shows what was sold — it hides what customers tried to buy but couldn't. This whitepaper introduces demand reconstruction: quantifying suppressed demand from stockout duration, frequency, and cross-retailer patterns.
Five Key Findings
- Chronically stocked-out SKUs underestimate demand by 18-32% — costing $2.3M+ per $100M in revenue.
- Stockout duration is a stronger demand signal than sales velocity — 3-week backorders indicate 4x more demand than 1-day backorders.
- Cross-retailer stockout correlation reveals category-wide trends — when 3+ retailers stock out simultaneously, it's a demand shift, not a supply issue.
- Search-to-cart abandonment on stock days correlates with next-week search volume — predictive by ~6 days.
- Reconstruction accuracy is ±8% at SKU-week granularity using stockout duration + search + cross-retailer signals combined.
How Demand Reconstruction Works
Demand reconstruction combines four signal types into a single unmet-demand estimate. The model is transparent and auditable — not a black box.
| Signal | Weight | What it captures | Data source |
|---|---|---|---|
| Stockout duration | 40% | Intensity of demand pressure | Retailer scraping |
| Stockout frequency | 25% | Chronic vs sporadic supply issues | Retailer scraping |
| Cross-retailer correlation | 20% | Category-wide vs SKU-specific | Multi-retailer |
| Search velocity | 15% | Consumer interest during stockout | Search trends |
What Demand Reconstruction Actually Returns
Every Product Data Scrape Demand Signals API call returns structured JSON. Here's what a live response looks like:
// Product Data Scrape — Demand Reconstruction API
// GET /v1/demand-recon?sku=YOUR-SKU&window=30d
{
"sku": "BRAND-SKU-042",
"reconstruction_period": "2026-03-15 to 2026-04-15",
"observed_sales_units": 4820,
"reconstructed_demand": {
"true_demand_estimate": 6340,
"suppressed_demand": 1520,
"suppression_pct": 23.9,
"confidence_interval": "±8.2%"
},
"signal_breakdown": {
"stockout_duration_days": 12,
"stockout_frequency": 4,
"cross_retailer_correlated": true,
"search_velocity_delta": "+42%"
},
"revenue_at_stake": 73620.00,
"scraped_at": "2026-04-15T14:22:00Z"
}
Request sample dataset → — Free 1,000-row sample delivered within 24 hours, scoped to your target categories and platforms.