Real-time alarm when a cluster of SKUs drops to zero stock within a single hour.
At a glance
A detection-layer alert that fires when more than five distinct SKUs transition to out of stock (the in_stock flag flips to false, or tracked quantity hits zero) inside a rolling one-hour window. It is a pattern alarm, not a stock-level metric. A burst this fast almost never happens organically; it usually signals a viral product, a bulk inventory edit gone wrong, or a feed / sync error that has zeroed quantities across the catalogue. Catching the cluster early is the difference between a quick fix and a lost-sales day on a small Ecwid catalogue.
| What it counts | The number of distinct SKUs whose stock state transitioned to out of stock (in_stock = false, or tracked quantity reaching zero) within the last rolling 1h. |
| API endpoint | Stock-state changes observed via GET /v3/{store-id}/products (and the product / variation records within), OAuth2 with read_catalog scope. Webhook updates on product.updated keep the transitions live. |
| What counts | A genuine transition from in stock to out of stock inside the window. Each distinct SKU counts once, even if it flips repeatedly. |
| What it excludes | Products with stock tracking disabled (unlimited stock never goes OOS); SKUs that were already OOS before the window opened; SKUs flipping back into stock. |
| Currency | Number. The card surfaces a count of SKUs that went OOS in the hour; it is not a money metric. |
| Time window | RT (real-time, rolling 1h evaluation). |
| Alert trigger | >5 SKUs transitioned to in_stock=false in last 1h. |
| Sentiment | Inverse gauge. Sensitive card; a burst above the trigger is bad by definition, and the alert is the headline. |
| Roles | owner, operations. |
Calculation
Calculated automatically from your Ecwid data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK hobby seller of enamel pins running an Ecwid widget on a Webflow site. The alert fires at 20:05 on 14 Feb 26. A small TikTok account featured the seller’s “galaxy cat” pin earlier that evening. Demand spiked, and because the seller stocks limited runs of around 30 units per design, a cluster of related pins sold through within minutes of each other. What tripped:| Signal | Last 1h | Normal hour | Status |
|---|---|---|---|
| SKUs gone OOS | 8 | 0 to 1 | spiking |
| Trigger threshold | >5 | n/a | exceeded |
| Common thread | ”galaxy” series pins | mixed | one collection |
- First, decide: real demand or error? If Ecwid API Failure Rate Spike or Inventory Sync Drift Across Storefronts is also firing, a feed error likely zeroed the quantities; the products are not really sold out. Restore from the source of truth, do not panic-reorder.
- If it is real demand (as here), this is a good problem. Capture it: enable back-in-stock notifications on the affected SKUs, post a “selling fast / restocking” message, and bring forward a reorder with the supplier.
- Protect the storefront. Eight OOS pages in a viral moment kills conversion; consider a “join the waitlist” capture so the traffic spike is not wasted.
- If a bulk-edit mistake (someone set quantity to 0 across a collection during an import), reverse the edit immediately; the SKUs flip back into stock and the alert clears.
Sibling cards merchants should reference together
| Card | Why it matters next to this alert | What the combination tells you |
|---|---|---|
| Out-of-Stock Products | The standing total. | The burst is the flow; this is the level. A burst on top of an already-high OOS count is more urgent. |
| Low-Stock Products | The early warning. | SKUs flagged low last week are the likely members of any burst; a heads-up on what is about to flip. |
| Inventory Sync Drift Across Storefronts | Error disambiguation. | Drift firing alongside the burst points to a feed problem, not real demand. |
| Ecwid API Failure Rate Spike | Sync sanity check. | A bad feed can zero quantities; rule out a broken pipe before reordering stock. |
| Top Products by Revenue | Revenue exposure. | If burst SKUs are top sellers, the lost-sales risk is large; prioritise those reorders. |
| Top-Velocity SKUs vs Ad Spend | Don’t fuel a sold-out line. | If you are paying ads against SKUs in the burst, pause the spend until restock. |
| Total Products | Catalogue context. | On a 30-product catalogue, eight OOS is a quarter of the shop; the burst’s impact scales with catalogue size. |
Reconciling against Ecwid
Where to look in Ecwid’s own dashboard:
Ecwid Control Panel (my.ecwid.com) -> Catalog -> Products -> filter / sort by stock (Out of stock)
The list of currently out-of-stock SKUs is the standing total; cross-reference the ones that flipped in the last hour against the card’s burst list.
Ecwid does not natively show an “OOS in the last hour” view, so the time-clustered burst is something this card adds on top of the raw stock list.
Why our number may differ from Ecwid’s Control Panel:
| Reason | Direction | Why |
|---|---|---|
| Untracked stock | Theirs may list more | Products with stock tracking disabled (unlimited) never count as a transition here; an Ecwid view may still list a manually toggled “unavailable” item. |
| Variation-level vs product-level | Either | A product with several variations may flip one variation OOS while others remain; we count at the level we observe transitions, which can differ from a product-level Ecwid filter. |
| Window vs snapshot | Ours only | This card counts transitions inside a rolling hour; the Ecwid Control Panel shows only the current snapshot, not when each SKU went OOS. |
| Sync lag | Boundary seconds | Webhook-driven; a transition in the last few seconds may land in the next evaluation rather than the current one. |
ecwid_stock_out_burst = count(SKUs where in_stock flipped to false within rolling 1h), with the alert firing above 5.