Seasonal Promotion Calendar Template
Two documents and four sheets that turn last year's own sales into an ordering deadline for every SKU this season plans to feature.
Free download · No account needed
Stock Requirement
[Company] — [n] SKUs, [season] window, computed [date]
A promotion calendar tracks dates. A reorder point assumes another order is always possible. Neither one checks whether today is already too late for a season that will not restock partway through.
| SKU | Required Stock | On Hand | Incoming | Gap to Order | Last Order Date | Status |
|---|---|---|---|---|---|---|
| — | — | — | — | — | — | — |
| — | — | — | — | — | — | — |
| — | — | — | — | — | — | — |
The deadline, walked backward from the date that will not move
| Season start | The fixed date the promotion calendar already commits to, set long before stock gets checked against it |
| Supplier lead time | Production plus transit, in days, for this specific SKU and supplier, not a catalogue average |
| Last order date | Season start minus lead time. Past this date, the season starts short by construction |
Required stock adds a one-shot buffer on top of projected demand, because a season that sells out in week four gets no restock in week five.
Promotion calendar templates track dates, channels and discount depth. Reorder-point templates compute a trigger for steady-state demand. Neither one asks the one question that decides whether a fixed-date season works. Given what a business's own prior seasons say demand will do, and given a supplier's real lead time, is today already too late for a date that will not move? Holiday sales in November and December alone have averaged about 19 percent of total retail sales over the last five years, and for some sellers the share runs far higher.
Juniper Lane Co, an invented holiday home-decor brand, plans its Nov 1 to Dec 20 Holiday Peak window from today, September 8. A seasonal index, last year's holiday week against its off-season baseline, ranges from 4.91x on a slower-moving wreath to 11.17x on its best-selling string lights. Applied to this year's current rate and walked backward from November 1 by each SKU's supplier lead time, three of five SKUs already have a deadline in the past. Two of those three still have an open gap: 2,153 units on the string lights, 1,102 on the stockings.
A reorder point assumes another order is always possible once stock runs low. A season that allows no restock mid-window breaks that assumption, so Stock Requirement sizes its buffer once, for the whole window, instead of continuously. The gap it finds is what a true-cost comparison needs before paying for an expedited shipment, and the ordinary reorder point resumes once the season ends and steady-state demand returns.
What's in the pack
Seasonal Demand by SKU sheet
This year's projected demand for the window, built from last year's own weekly sales rather than a generic uplift percentage.
Stock Requirement sheet
Required stock, on hand, incoming and the gap per SKU, each with its own ordering deadline counted against today's date.
Promotion Calendar sheet
Every event's dates, channels and featured SKUs, checked against the season's stock plan before a date goes public.
Margin Impact sheet
Regular and promo margin per unit, and the full margin given up to discount depth once volume is priced in.
Promotion Plan
The season's structure explained: why early-access, peak-event and closing-stretch discounts each serve a different goal.
Inventory Commitment Note
Why this window's buffer is sized once rather than continuously, and what a passed deadline on an open gap actually forces.
Three Prompts
Build the forecast, check every deadline against today, or log a new promotion event and its margin impact.
How it works
- 1
Open it or download it
Open the pack in River with the agent ready to build the forecast, or take the blank documents and sheets away for free with no account.
- 2
Send last year's sales and this year's stock
Send last year's sales for the same weeks, this year's current stock and incoming orders, and the promotion dates you are planning.
- 3
Read the forecast and every deadline
Get each SKU's projected demand, required stock, and ordering deadline compared against today, with any already-passed deadline named plainly.
- 4
Decide, before the season decides for you
Get the real choices on any at-risk SKU: expedite the order, shrink it to fit a faster method, or accept a stockout during a named part of the season.
Frequently asked questions
Is this template free?
Yes. Two documents, four sheets and three prompts with no signup and no card, and they are the same files the agent works in. Editing with AI is the optional path, where your own sales history and stock become the forecast.
What format are the downloaded files?
CSV for Seasonal Demand by SKU, Stock Requirement, Promotion Calendar and Margin Impact, and Word for the Promotion Plan and Inventory Commitment Note, zipped together. Excel, Numbers, Sheets, Word, Pages and Google Docs all open them directly.
Why isn't a reorder point enough for this?
A reorder point assumes another order is always possible once stock runs low, which is true for steady-state demand and false for a fixed-date season with no restock window left inside it. This pack sizes a one-shot buffer instead and checks it against a real deadline.
What if I don't have two years of sales history?
One full season last year is enough to build a seasonal index; the pack just says plainly which SKUs have no index yet rather than inventing one from a similar-sounding product. A first season with no history at all still gets a Stock Requirement sheet, minus the index column.
What happens if I miss the deadline and sell out mid-season?
That is an in-season stockout on a live promotion, and if a promised ship date can no longer be met, FTC rules require a reasonable basis for the promise or a revised date and a prompt refund instead. Naming the risk early is what this pack is for.
How is the seasonal index different from comparing to last year directly?
Comparing raw totals bakes in whatever growth or decline the business already had outside the season. The index isolates the season's own multiplier over an off-season baseline first, then applies that multiplier to this year's current rate, so growth gets counted once rather than twice.
Find out which of your SKUs already missed this season's ordering deadline
Download the blank pack as Word and CSV files, or open it in River, send last year's sales and this year's stock, and get every SKU's deadline checked against today.
Edit with AI