Guides
The Week You Ran a Sale Is Still in Your Average
A discount week records more demand than you actually had — and unlike a stockout, nothing takes it back out before it sizes your next order.
Two distortions, and only one of them gets corrected
Sales history gets corrupted in two directions, and the trade only fixes one. A stockout week records less than the truth, because the days you had nothing to sell look identical to days nobody wanted it. That one has a standard remedy: add the days back, or drop them from the window.
A discount week does the opposite and gets no such treatment. The units were real; they sold. But they sold at a price you will not be charging next month, to buyers who would have taken fewer at full price. Demand did not rise — it was pulled forward and paid for at a discount, once. Planners name the split — baseline versus incremental lift — and only the baseline is reorderable.
| Dimension | Stockout week | Discount week |
|---|---|---|
| What happened to real demand | Unchanged, or higher than you could serve | Temporarily higher |
| What history recorded | Less than the truth | More than the truth |
| Direction of the error | Understates velocity | Overstates velocity |
| Effect on the next order | Under-buys, stocks out again | Over-buys, then sits on it |
| Is there a switch for it | Yes — out-of-stock days can be excluded from the forecast | No switch — you have to recognize the week yourself |
| Aftershock | None | Often — the following weeks can land below baseline |
The sale week does not end when the sale ends
A discount rarely creates net new appetite so much as it moves appetite forward. Customers who would have bought in three weeks buy now, and buy deeper — pantry loading, forward buying, whatever your category calls it. That pulled-forward demand often leaves a hole where it came from: the weeks after a promotion can land below baseline rather than at it. So a window that holds the spike but stops before the dip keeps every inflated unit and none of the correction.
How a one-week spike survives a 90-day average
Here is what makes promo contamination hard to catch: dilution hides it rather than removing it. Averaging a hot week into a long window shrinks the distortion, and a shrunken distortion stops looking like one. It still points the same way.
A four-week window screams. A thirteen-week window whispers — and the whisper is what reaches the purchase order, because that is the window people trust for being long enough to be stable. The lift did not leave. It got quiet.
Suppose a product sells about 10 units a day, and you run one 7-day sale at roughly 3× — 30 a day for that week.
- 4-week window: (30 × 7 + 10 × 21) ÷ 28 = 420 ÷ 28 = 15/day — a visible +50%.
- 13-week window: (30 × 7 + 10 × 84) ÷ 91 = 1,050 ÷ 91 ≈ 11.5/day — a forgettable +15%.
Now run each through the cover-period line a buying sheet starts from — velocity × a 14-day cover period, before incoming POs and on-hand come off. The true baseline needs 140 units of cover. The 13-week average asks for 161, and the 4-week average asks for 210. So the whisper adds about two extra days of stock, and the loud four-week read adds a full week of it — on a single SKU, off one sale you already know about. (Illustrative numbers.)
Telling a real trend from a lucky week is a different problem: there, you do not know whether the movement was genuine. Here you do — you ran the sale. The only question is how much of it is still in the number.
For a baseline estimate rather than a verdict, invert the uplift coefficient: a promo forecast is baseline times uplift, so baseline is promo-week units divided by the uplift you saw.
baseline units = promo-week units ÷ uplift
Four checks before that number sizes an order
-
Mark the promo dates before you open the chart. Not after — after, you will read the spike as information. Your own discount windows, bundles, and channel events belong on a calendar you keep yourself.
-
Read units by week, not as a period total. A total cannot show which week was the hot one. Consecutive weekly figures can, and the shape is unmistakable once the dates sit beside them.
-
Check whether the weeks after the promo dipped. If they did, you are looking at pull-forward, not growth, and the honest baseline sits nearer the average of spike and trough than the spike alone.
-
Check whether the lift held on the variants you did not discount. If the non-promoted siblings fell while the discounted one jumped, you bought your own demand from yourself — cannibalization, not growth.
Cheap pre-screen for all four: when the mean and the median diverge sharply across the window, a few extreme periods are steering the mean.
Assisty has no switch for this. Days you were out of stock can be excluded, so the forecast reflects real demand rather than the days you could not sell — there is no promo-week equivalent, and the recognition stays yours. What you get is the grain the checks need. 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. Predicted sales come per product or per variant over the period you pick — buying decisions happen at variant level, so do the forecasts. That is where the sibling check lives. The week-by-week read is a report question: ask for sales, inventory, forecasting, replenishment, or stock-availability reports by product, variant, vendor, location, or over time, from the last 7 days to year-over-year, then refine by typing "Show the last 90 days."
Then put the baseline you settled on in front of the forecast — what-if takes a sentence, not a spreadsheet copy: "What if sales trend up 20%?" takes a 360-unit example forecast to 432 units and moves the reorder four days earlier. Scenarios apply instantly — the forecast and the reorder needs update in front of you.
When the discounted run rate is the plan
Sometimes the right answer is to plan off the discounted number. A standing monthly sale, an always-on bundle, a structurally discounted outlet channel — if the discount recurs on a schedule, it is not a distortion at all; it is your demand, and stripping it out under-buys you into a stockout on the weeks you sell most.
The mistake is not using discounted history. It is treating a one-off as baseline, or a recurring program as an anomaly. Make the call explicitly: exclude the one-off, keep the recurring, and record which you did. Then save the week-by-week read as a Custom Report so it joins My Reports, and schedule email delivery daily, weekly, or monthly — so the grain reaches you before the next sale instead of after it.