Skip to main content

Inventory forecast

How to use it

Plan reorders from real demand:

  1. Run a store-wide scan — the first run pulls your whole catalogue (a few minutes). (Products → Forecast → Scan)
  2. Set lead times so reorder dates are accurate. (Products → Planning settings)
  3. Search any product, or toggle to Collection to forecast a whole range. (Forecast → search / Collection)
  4. Act on the urgent rows — reorder, bundle, or discontinue dead stock.

⏱ First scan ~a few min · 💳 Starter+ · 🎯 A reorder list you can act on today

Why this matters for your business

Stockouts and overstock are both expensive — one loses the sale, the other ties up cash and warehouse space. Good forecasting needs real velocity (net of refunds), every SKU (including the dead stock you forgot about), and a reorder recommendation you can act on. The previous forecast only looked at the first 100 products and dropped anything without recent sales, so a store with many slow-moving or out-of-stock SKUs saw a handful of rows. This forecast scans the entire catalogue and includes a product when it's low/out-of-stock or has any sales velocity — so dead OOS products with zero recent orders finally show up where you can decide what to do with them.

What the forecast computes

For every product in scope:

MetricWhat it tells you
Sales velocityUnits/day, refund-aware, over a 90-day window
Days of coverHow long current stock lasts at that velocity
Safety stockBuffer to hold against demand variability
Reorder pointThe stock level at which to reorder, given lead time
UrgencyOut-of-stock / low / healthy, so you triage fastest

Velocity is refund-aware — returned units are netted out, so a product that sells then gets returned isn't forecast as if it's flying off the shelf. Lead time and other planning inputs come from your planning settings.

The store-wide scan

Because Shopify's API paginates and rate-limits, a whole-catalogue forecast runs as two Bulk Operations rather than page-by-page fetching:

  • The scan pulls every order in the window (no page cap), so velocity reflects the real catalogue, not a sample.
  • The result is persisted as a snapshot and cached, so the next time you open the tab the whole-catalogue view rehydrates instantly instead of forcing you to re-run the (up-to-10-minute) scan.
First run does the heavy lifting

The initial store-wide scan can take a few minutes on a large catalogue — it's two full bulk operations. After that, the cached snapshot means day-to-day use is fast; re-run the scan when you want fresh numbers (e.g. after a big sales week).

Searchable pickers & the collection toggle

The forecast tab has two upgrades that make it usable on a real catalogue:

  • Searchable product picker — a search combobox that finds any product store-wide, not just what's on the current page. Re-running the forecast is gated on a real selection (with real velocity), so you never re-run against an empty pick.
  • Product / Collection toggle — switch to Collection mode to filter by a collection and get an aggregate forecast for the whole range — reorder planning for a category at once, not SKU by SKU.

The per-product AI deep-dive

For any product, the AI deep-dive explains the recommendation in plain language — why it's flagged, how lead time changes the reorder date, and what to order — turning a row of numbers into an action ("reorder 240 units by the 18th to avoid a stockout, given a 21-day lead time").

Best practices

Run a full scan weekly (or after any spike) so velocity stays current — the cached snapshot is fast but only as fresh as your last run.

Set lead times in planning settings. The reorder point is only as good as the lead time you give it — a default guess understates urgency.

Use Collection mode for category buys. Aggregating a range gives you one purchase-order-sized number instead of dozens of SKU decisions.

Don't ignore the zero-velocity OOS rows. They're dead stock the old forecast hid — decide to discontinue, bundle, or clear them.