Festive Demand Forecasting: Turning 9.9 Sales Data Into Your Deepavali and Year-End Order Plan
If you want a Deepavali and year-end order plan you can actually defend, build it from your 9.9 numbers this week. A mega-sale weekend compresses months of buying behaviour into 48 hours, which makes it the highest-resolution demand signal a Singapore SME will get before the festive season. The method is simple: take unit velocity per SKU, correct it for the hours you were out of stock, discount it for promotion-driven pull-forward, then scale it against your own festive-versus-baseline ratio from last year. That gives you a quantity to order, not a feeling. And it has to happen now, because supplier and China restock lead times mean an order placed in late October arrives after the demand it was meant to serve.
Why is 9.9 data the best forecasting input you will get this year?
Ordinary trading months produce demand data that is smeared across weeks and polluted by weather, paydays, competitor promotions and your own inconsistent ad spend. A sale weekend removes most of that noise. Traffic is concentrated, intent is high, and every SKU is exposed to roughly the same audience at roughly the same time. What you are reading is relative preference — which products people reach for when they are already committed to buying.
That relative preference is the part that carries forward to Deepavali and the year-end run. The absolute volume does not carry forward cleanly, and this is where most SME forecasts break. Owners look at a strong 9.9 unit count, multiply it by optimism, and order accordingly. The correct move is to treat 9.9 as a ranking exercise first and a volume exercise second.
Which 9.9 numbers actually predict festive demand?
Four extractions do most of the work, and all four are available from your marketplace seller centre and your own order table:
- Units sold per SKU, per hour. Not the daily total. Hourly velocity is what tells you whether a SKU sold 200 units because demand was deep or because it sat available for the full 48 hours while its competitor sold out at hour six.
- Stockout timestamps. Every SKU that hit zero has a censored demand figure. You did not measure demand; you measured your inventory. This is the single most common source of under-forecasting.
- Category mix shift. Compare each category's share of 9.9 revenue against its share of your normal August revenue. Categories that gained share under promotional conditions tend to be discount-elastic; categories that held share regardless are the ones that carry a festive gift or replenishment motive.
- New-customer share per SKU. A SKU bought overwhelmingly by first-time customers is an acquisition product. A SKU bought by returning customers is a repeat product, and repeat products are the safer festive bet because their demand is not contingent on you buying traffic again.
How do you convert 9.9 velocity into a festive order quantity?
Work through four adjustments in sequence, per SKU, in a spreadsheet.
Step one: uncensor the stockouts. If a SKU sold 180 units in the first eight hours and then went to zero for the remaining 40, do not record 180. Take the hourly rate from the hours it was live, apply a decay factor for the tail of the sale — a 40 to 60 per cent step-down after the opening surge is a reasonable working assumption for most catalogues — and record the reconstructed figure. Label the cell as an estimate so nobody later mistakes it for measured data.
Step two: strip out pull-forward. Some portion of what you sold on 9.9 was demand that would have arrived in late September or October anyway, brought forward by the discount. Compare the two weeks after your previous mega-sale against the two weeks before it. If post-sale volume dropped by a quarter, roughly a quarter of your sale volume was borrowed rather than incremental. Apply that same haircut.
Step three: apply your festive ratio. Pull last year's Deepavali-period and December-period revenue and divide by that year's baseline month. Most Singapore SME catalogues sit somewhere between 1.2x and 2.5x baseline depending on how gift-driven the category is. Use your own figure, not a published industry average — category averages hide enormous variation between a food gifting business and a spare-parts distributor.
Step four: set cover, not quantity. Translate the result into weeks of cover at the forecast rate, then add safety stock sized to your supplier's lead-time variability rather than to your nerves. A supplier who is reliably eight weeks needs less buffer than one who is nominally four weeks but has twice arrived at seven.
Where will 9.9 data actively mislead you?
Three cases deserve a manual override before you commit money.
The first is deep-discount SKUs. Anything you sold at an unusually aggressive margin sold partly because of the price, not the product. Its 9.9 velocity does not survive at full price, and ordering against it is how businesses end up holding festive stock into February.
The second is bundle distortion. If a SKU moved mainly inside a bundle, its standalone demand is unproven. Split bundle units out into a separate column and forecast them as a bundle line, not as component demand.
The third is seasonal misfit. September buying skews towards personal and household purchases. Deepavali and year-end buying skews towards gifting, entertaining and corporate volume. A SKU can be a September winner and a November irrelevance. Ask of every top performer: is there a plausible reason someone gives this as a gift or buys it in multiples? If not, forecast it flat.
Do you need a forecasting system to do this?
No — and for most Singapore SMEs, buying one now would be the wrong sequencing. What you need first is the data pipeline: a repeatable export of order lines with SKU, timestamp, quantity, unit price and customer ID, landing in one place. If that export is currently a manual download from two or three marketplace back ends plus your own store, automate the export before you automate the maths. A scheduled job that pulls each channel nightly into a single table turns this exercise from a two-day scramble into a twenty-minute refresh, and it is the same pipeline that later feeds reorder alerts and margin reporting.
Once the data lands reliably, the forecast itself is a spreadsheet with six columns and the four adjustments above. Businesses that skip straight to a forecasting tool without fixing the pipeline end up with a tool that forecasts from incomplete data, which is worse than a spreadsheet that forecasts from complete data.
What should you do in the next seven days?
Export 9.9 order lines from every channel while the data is still easily retrievable. Rebuild demand for every SKU that stocked out. Rank your catalogue by adjusted velocity and flag the discount-elastic and bundle-distorted lines. Apply your own festive ratio and convert to weeks of cover. Then send purchase orders for the long-lead items — anything sourced from China or requiring production — before the end of September, and hold the short-lead items for a second decision in mid-October when you have 10.10 data to confirm or correct the picture.
The forecast will not be exactly right. It only has to be better than last year's guess, and defensible enough that you know which assumption to revisit when reality diverges.
Frequently asked questions
Is 9.9 demand too inflated by discounting to be useful?
Inflated, yes — useless, no. The inflation is largely uniform across your catalogue, so relative rankings stay informative even when absolute volumes do not. The pull-forward haircut in step two exists precisely to strip the inflation out. What you should not do is use raw 9.9 units as a forecast without adjustment.
How far ahead should a Singapore SME place festive orders?
Work backwards from your supplier's demonstrated lead time, not the quoted one, and add buffer for the Golden Week shutdown if you source from China. For most SMEs that means long-lead festive stock is committed by late September and short-lead replenishment is committed in mid-to-late October. Anything ordered in November is arriving for January.
What if this was our first 9.9 and we have no prior year to compare?
You lose step three, so substitute a conservative ratio — 1.3x baseline is a defensible starting point — and compensate by ordering shorter cover with a firm reorder trigger. Then instrument properly this quarter so that next year's 10.10 and 11.11 give you the comparison you are missing. The point of running the exercise now is that it makes the next one materially more accurate.
Ready to Transform Your Business?
Let Digital Perpetual help you automate, streamline, and grow.
Get Started with Digital Perpetual →