The demand calendar your category runs on
Festive is one peak in a year that has a dozen. Here is how to build a demand calendar out of your own sales history, city by city, and read it backwards from the date stock has to be in position.
- A brand that plans only around festive has no plan for roughly forty weeks of the year.
- The only calendar worth using is indexed from your own cleaned sales history at city and SKU grain, because a national average buries every regional peak.
- The same week is a peak for one category and a trough for another, so a shared company calendar has to be read per category rather than per date.
- Every calendar entry needs a lead time attached, because the useful date is when stock has to be in position, not when demand arrives.
A brand that plans around one peak is unplanned for roughly forty weeks of the year. Festive gets a war room, a cash plan and a buildup schedule. The monsoon dip in a sun care line, the exam window that flattens impulse snacking in some cities, the wedding weeks that empty a gifting pack, all of that arrives as noise and gets written up afterwards as a soft month.
The fix is not a better generic template. It is a calendar built from your own history, at the grain you actually decide on, with a lead time attached to every entry.
The recurring events that move Indian demand
Festive is one row on a longer list, and each row lands differently depending on what you sell.
- The monsoon. It reaches Kerala weeks before it reaches Delhi, so a national weekly number smooths away a real city-level shift. Footwear care, anti-fungal, instant food and umbrellas move up. Paints and anything bought on an evening walk move down. Weather is one input into this calendar, not the calendar itself, and the operational version of that input sits in weather-linked demand planning.
- Exam and school cycles. Board and entrance exams through February and March pull household spend toward stationery, study aids and caffeine, and away from family outings and treat categories. School reopening in June, and in April in the states on the other academic calendar, is a hard peak for bags, tiffin, shoes and lunch-box formats.
- Wedding seasons. Two blocks, broadly November into December and again after mid-January, with quiet gaps during the inauspicious months. Gifting, dry fruit, apparel, luggage and home linen move, and the dates shift every year.
- Regional new years and harvest festivals. Pongal, Makar Sankranti, Lohri, Bihu, Gudi Padwa, Ugadi, Baisakhi, Vishu, Onam, Durga Puja. Each is a full peak inside one state cluster and close to invisible nationally. Onam can be the largest week of the year in Kerala while reading flat everywhere else.
- Summer and winter swings. March to June carries beverages, hydration, talc and cooling. November to January carries body lotion, hair oil, ghee and immunity. These are long ramps rather than spikes and need a different buildup shape from a three-day event.
- The salary cycle inside every month. The first five days and the last five days of a month are different businesses. Larger packs, multipacks and higher ticket orders concentrate early. Single-serve and small packs hold up late.
Build it from your own sales, not from a template
Pull three years of daily units at the grain you decide on, which for most brands is SKU by city or SKU by platform. Then do four things before you read anything into it.
- Clean the history. Drop days when the SKU was out of stock or the listing was suppressed, and flag weeks that ran a deep promotion. An out-of-stock week reads as a trough and a promotion week reads as a peak, and neither one is seasonality.
- Index each week. Divide each week’s clean units by the trailing 52-week median for that SKU. A normal week now sits near 1.00 and you can compare a small SKU to a large one directly.
- Keep only what repeats. An index above roughly 1.2 or below roughly 0.8 in the same week in at least two of three years is a real event. Once is an anecdote.
- Name the driver. Write beside each surviving week what caused it. If nobody in the room can name it, it is not a planning entry yet, it is a question for the next review.
Run the indexing at city level for anything regional. A national index buries an Onam peak in Kerala and a Baisakhi peak in Punjab under a flat average, which is the same reason tier 2 and tier 3 demand rarely looks like the metro numbers you usually get shown. This is calendar construction, not model selection. Which method consumes the calendar and how you score its error is a separate decision, covered in forecast method selection and WMAPE.
The same week is a peak and a trough at once
Indexed properly, the interesting rows are the ones where two categories disagree. Peak summer is 1.5 for a beverage and 0.6 for a hot-drink mix. Exam weeks lift instant coffee and flatten weekend family formats. Heavy monsoon days lift quick commerce baskets and cut walk-in modern trade in the same city on the same afternoon.
Most companies keep one calendar and one set of expectations. If planning, media and supply all read the same generic peak list, someone is buying inventory for a week that is a trough in their own category. The calendar has to carry a per-category index, not a shared list of dates.
A calendar is only useful read backwards
A date on which demand arrives is not an actionable date. The actionable date is when stock has to be in position, and that offset is different per channel, so store it per entry rather than assuming one number.
- Quick commerce needs stock inside the dark store, not in your regional warehouse, so the purchase order, the appointment and the inward all have to land ahead of the ramp. See DC replenishment cadence.
- Marketplace fulfilment centres need inbound weeks earlier, and the queue lengthens as everyone else builds for the same event.
- Anything manufactured to order stacks a production run and a raw-material lead time on top, which is where a two-week event becomes an eight-week commitment.
Add the offset to each row and the calendar reorders itself. A Pongal peak in the second week of January becomes a November decision. Where that stock sits is its own question, handled in regional warehouse placement, and the buffer around each entry is set by safety stock and reorder points. For the one peak already covered in depth, take the festive sale calendar and slot it in as one row among many.
What the calendar cannot explain
When a week comes in under its index, seasonality is only one of three candidates. The second is that you launched something and it moved volume off an existing SKU, a measurement problem covered in when a new SKU eats an existing one. The third is that you were absent and the shopper bought something else, covered in out-of-stock substitution. Rule both out before you rewrite the index.