| Product | SKU | Status | Stock | On order | Rate /day | Sold 28d | Forecast 60d | Floor now | Days of stock | Floor breached | Order by | Order qty |
|---|
Floor now = the next 60 days of forecast demand — the minimum you want on the shelf today. Floor breached = the first day projected stock drops under the next 60 days' demand. Order by = that day minus the lead time. Order qty = enough that stock on arrival covers the following 60 days plus a safety allowance, rounded up to the pack size. Click a row for its charts.
Shading = units that day (darker = more). Italic amber columns are forecast. Newest day on the left.
| Product | Units | ETA | Reference | Added |
|---|
Daily rate for a SKU = 0.3 × its last-7-day average + 0.5 × last-28-day average + 0.2 × last-56-day average, counted from its first sale (so a new product's launch isn't averaged with the zeros before it existed). Today is left out because it is only part of a day.
Trend = last 28 days ÷ the 28 before that, clamped between 0.75 and 1.25, phased in over the first 60 forecast days and held flat after that — a strong month lifts the forecast, it never compounds.
Weekday shape comes from the whole shop's last 12 weeks (weekend dips etc.), halved so it never dominates, and applied to every SKU.
Safety allowance = z × σ(daily units, last 28 days) × √lead time, where z is 1.28 at 90 % service. It covers demand noise during the lead time; set it to "none" to order to the bare floor.
Stock is WooCommerce's stock quantity. The hourly Mintsoft sync writes the warehouse figure into it; WooCommerce then subtracts each paid order. If that sync is failing (shown at the top) the figure drifts only by what the warehouse does outside the shop.
Counted statuses: processing, completed, delivered, shipped. Refund orders are excluded; the free BOGO twin is counted because it ships. Drafts and private products are included while they still have stock or sales.