Guides
Forecast at the Variant, Because That's What You Buy
"360 units" is not something a supplier can ship. The forecast that decides an order has to arrive at the grain the order line is written in.
A product-level number is an average of things you can't order
A forecast that reads "Classic Mug: 360 units" for the next 30 days looks like a decision. It isn't. No supplier has a Classic Mug on a shelf. They have White/11oz, Black/11oz and White/15oz — three SKUs, three barcodes, three cartons, three possible case sizes. The 360 is a sum, and someone has to un-sum it before anyone can pick it.
That un-summing is the real forecasting work, and it usually falls to whoever fills in the PO. Whatever ratio they use is itself a demand forecast — an undocumented one, made in a hurry at the end. Top-down hierarchical forecasting is the formal version of the same move: project the parent, then disaggregate by historical proportions. It is legitimate and well studied — but notice where the judgment lives. The model forecast the total; a proportion table forecast the mix. The proportions decide what you actually order, and the sophisticated part of the pipeline never touched them. Reorder point versus forecast is an argument about which signal fires the order; this is an argument about which row the answer is written on.
The Forecasting page's own 30-day example splits the Classic Mug into White/11oz 210 units, Black/11oz 96, White/15oz 54 — total 360. The "360" is the number that can't be ordered; the three underneath it are the PO. Split that same total evenly instead — 120 to each variant, an illustrative contrast, not a method anyone recommends — and the total is still perfectly right while you are 90 units short on White/11oz and long by 24 and 66 on the other two. A flawless parent forecast, 180 units in the wrong places. (Variant figures from the Forecasting page's example table; the even split is illustrative.)
The mix moves even when the total holds still
A product's total can be genuinely stable — flat year over year, easy to forecast — while the split underneath drifts. Nobody looks at the split.
A size curve is the distribution of demand across sizes, derived from sales history; it is what turns a total buy into a per-size buy. Real curves are rarely symmetric, and they differ by color and by style — the shape that fit last season's colorway is not automatically this season's. Buy to a ratio you picked because it looked balanced rather than because the history produced it, and you land the total exactly right and the split wrong: a full rack of mediums and no smalls within weeks.
The bill arrives as a broken size: the product is on the shelf, just not in the size the shopper came for. It reports as in stock and sells like a stockout, because most shoppers don't trade down a size, they leave. Meanwhile the mediums sit until markdown: one product, two opposite errors, netting to a number that looks fine. None of this is an apparel problem. Volume, scent, wattage, flavour, pack count — anything sold as variants has a mix, and the mix moves on its own schedule.
Aggregate accuracy is the flattering number
The concession first: forecasts really are more accurate at higher levels of aggregation. Percentage error shrinks as you add series together, because independent errors partly cancel — the law of large numbers, not a trick of presentation. The literature treats the trade-off as open — aggregating cancels noise but discards information.
The turn is that the cancellation is an accounting property, not an operational one. Over-forecast Black/11oz by whatever you under-forecast White/11oz by, and the parent forecast comes out immaculate while both orders are wrong. The extra Black units sit in the stockroom; the White customer leaves. Those errors do not pay for each other — you paid twice, once in cash tied up and once in a sale that never happened. Accuracy improves as you aggregate; usefulness improves as you disaggregate. The order is placed at the variant; grade the forecast there.
| Question | Product-level forecast | Variant-level forecast |
|---|---|---|
| Can it become a PO line? | No — it needs a manual split first | Yes — it is the line |
| Shows which size or color is at risk | No — risk averages out into the total | Yes — per variant |
| Reflects a shift in the mix | No — the total can hold while the mix drifts | Yes — each variant moves on its own |
| Reported accuracy | Flatters — errors cancel on the way up | Harsher — each error stands alone |
| Matches supplier MOQ and case rules | Only if every variant shares the same rules | Handles per-variant differences |
Same supplier, different variant: where the overrides live
Suppose you get the mix right. The order still isn't a pure demand number: it is demand passed through supplier rules, and those vary by variant more often than people expect. Minimums are commonly set per colorway, not just per style, because the upstream constraint is a mill or dye lot per fabric and color, not per design. Case packs differ by size — one carton count for the 11oz, another for the 15oz. And one variant can carry its own supplier SKU and unit cost while its siblings share another.
Assisty holds a supplier's own parameters once, at the supplier — that setup is a subject of its own. What matters here is the exception layer beneath it: where one product differs from the rest, you override it per variant on four fields — supplier SKU, cost, minimum order quantity, case quantity. The supplier card carries a Scope field set to Variant level. A product-level forecast cannot meet rules like these cleanly: you hold one total to split while per-variant minimums and case quantities pull at the pieces, and satisfying them changes the split you just invented. Forecast at the variant and each constraint lands on the row it belongs to.
What the variant grain changes about the order itself
Assisty forecasts what each product — and each variant — will sell over the horizon you choose, because buying decisions happen at variant level. Days you were out of stock can be excluded, so the projection reflects real demand rather than the days you had nothing to sell.
From there the same row carries through. The forecast marks which items run out before the period ends and which are overstocked, and at-risk items go straight into the Smart Buying Table, so seeing a risk and fixing it are the same motion. You can ask why demand is moving — including whether a decline is uniform across a product's variants or sits in one of them — and get drivers rather than a shrug. Then, from a supplier or any selection of its products, you create a purchase order pre-filled with suggested quantities, tax, currency and a delivery location.
| Step | What Assisty does |
|---|---|
| Forecast | Predicted sales per product or per variant, over the period you pick (Forecasting) |
| Judge the demand | Days you were out of stock can be excluded, so the forecast reflects real demand (Forecasting) |
| Flag the risk | Marks which items run out before the period ends and which are overstocked; at-risk items carry straight into the Smart Buying Table (Forecasting) |
| Supplier exceptions | Where one product differs, override it per variant: supplier SKU, cost, minimum order quantity, case quantity (Supplier Management) |
| Supplier scope | The supplier card carries a Scope field set to Variant level (Supplier Management) |
| Order | From a supplier — or any selection of its products — create a purchase order pre-filled with suggested quantities, the supplier's tax and currency, and a delivery location (Supplier Management) |
The row you forecast is the row that gets flagged, the row that gets sized, and the row on the PO.