Guides
Trend or Noise? Telling a Real Demand Shift From a Good Week
A number moved. That is not the same as demand moving — and the cost of confusing the two is an order sized for a week that will not repeat.
A good week and a real shift look identical on the page
Both arrive as the same artifact: a row where this period's units sit above last period's, with an arrow beside it.
The reason is arithmetic. Demand at the SKU level is a count of discrete, mostly independent purchase events, and counts like that scatter around their average by roughly the square root of the average. The fewer units per period, the larger that scatter is as a share of the average: slow movers look dramatic and fast movers look calm even when both are stable underneath. Picnic's write-up on forecasting granularity puts figures on the rule: a series averaging 10 units a day carries roughly 32% relative noise, one at 100 a day roughly 10%.
Quality engineering names the mistake this invites. Adjusting for common-cause variation — the ordinary jitter a stable process always produces — is called tampering, and it leaves output worse than doing nothing would. In replenishment it has a price tag: resize an order off a good week and you own stock for demand that was never there, and repeated up the chain, that reflex amplifies small wobbles into large factory swings. So the question is not whether the number moved, but whether it moved in more than one place at once.
expected random swing, as a share of the average ≈ 1 ÷ √(units sold per period)
Suppose a variant averages 9 units a week. 1 ÷ √9 = ⅓, so an ordinary swing is about a third of that average — roughly 3 units either way. A 12-unit week is not news about demand. A variant averaging 100 units a week has an ordinary swing of about a tenth of its average, so it has to move proportionally far less before the same claim carries weight. The lower the volume, the higher the bar a single period has to clear. (Illustrative numbers.)
Check one: does it hold across variants?
A real shift usually has a cause that does not respect a single size or colourway — a season turning, a competitor going out of stock, a review landing. Causes like that push several variants the same direction at once. A jump confined to one variant almost always has a local explanation instead: one bulk buyer, one link from one post, or that variant coming back into stock while its siblings never left.
Breadth is the cheapest corroboration you have; you are already looking at the product. Read the variants underneath before you read the total again. Movement in exactly one row is a question about that row, not a claim about the product.
Check two: does it hold across weeks?
A spike is one period up and then back. A level shift is a new baseline that persists. Only the second justifies a larger standing order, and on a single comparison the two are indistinguishable.
Telling them apart needs consecutive periods rather than one blended figure, which is where smoothing quietly decides on your behalf. A short window chases every bump and confirms the spike; a long window lags and is still denying the level shift weeks later. Put the raw periods side by side and ask whether the elevated level survived the next one. Two consecutive periods at the new level is a materially stronger claim than one.
Check three: does it hold across the store — and was supply constant?
The third check widens rather than narrows. If a variant is up and the whole store is up by a comparable amount, you are most likely looking at traffic — a promotion, a payday week, a channel spike — not that product's demand changing. Store-wide movement is shared, so the response belongs at the store level, not baked into one product's reorder quantity.
The correction skipped most often: was supply constant across the two periods? Sales are capped by availability, so a variant out of stock for part of last month and in stock all of this month shows a rise that is purely an artifact of being sellable again. History understates demand for exactly the days you had nothing to sell — a trap with its own fix.
| Check | Usually noise | Probably a real shift |
|---|---|---|
| Across variants | One variant moved; the rest of the mix sat still | Several variants moved the same direction together |
| Across weeks | One period up, then back to the old level | The new level holds for consecutive periods |
| Across the store | The whole store moved by a similar amount | The store was flat while this product moved |
| Availability | Stock coverage differed between the two periods | You were sellable throughout both periods |
How to run these checks in Assisty
Assisty forecasts what each product — and each variant — will sell over the horizon you choose, flags what runs out, and explains why the numbers move.
The variant check has a home already: predicted sales per product or per variant over the period you pick, because buying decisions happen at variant level — so do the forecasts. Ask why demand is changing and Atlas explains the drivers instead of shrugging a number at you; the shape of that reply is the checks themselves — whether the trend is steady across all variants, and how much of the recent window you were actually in stock.
Across-weeks and across-the-store are report questions. Ask for sales, inventory, forecasting, replenishment, lost-revenue, or stock-availability reports — by product, variant, category, vendor, location, or over time, from the last 7 days to year-over-year. "Show the last 90 days" is a refinement you type, and Atlas changes only what you asked for while keeping the rest of the report intact. The store-wide version is that question with the product filter dropped. And days you were out of stock can be excluded, so the forecast reflects real demand — not the days you could not sell.
Price the shift rather than believe it. "What if sales trend up 20%?" "What if I exclude the weeks we were out of stock?" Scenarios apply instantly — the forecast and the reorder needs update in front of you, no spreadsheet copies. Read what the movement does to the reorder before you commit to it, instead of finding out a quarter later. Then save the report and schedule it for email delivery — daily, weekly, or monthly.
| Check | What Assisty gives you |
|---|---|
| Across variants | Predicted sales per product or per variant over the period you pick, because buying decisions happen at variant level (Forecasting) |
| Across weeks | Sales, inventory, forecasting, replenishment, lost-revenue or stock-availability reports over time, from the last 7 days to year-over-year — refine by typing "Show the last 90 days" (AI Report Builder) |
| Across the store | The same report families — including inventory levels & stock availability — run without the product filter; every filter shows as a chip you can remove (AI Report Builder) |
| Availability | Days you were out of stock can be excluded, so the forecast reflects real demand — not the days you couldn't sell (Forecasting) |
| Before you commit | "What if sales trend up 20%?" — scenarios apply instantly; the forecast and the reorder needs update in front of you (Forecasting) |
| Keep it weekly | Save it to My Reports and schedule email delivery — daily, weekly, or monthly (AI Report Builder) |
Size the response to how many checks passed. One is a note to watch it; two is worth a small, reversible adjustment. Three, with supply constant across both periods, is a new baseline — the only one that has earned a permanent change to what you order.