Promo Calendar Optimizer
Build a 48-week promotional calendar for an FMCG biscuits brand by event timing, depth, and frequency, and watch the Calendar Health Score recompute live across spacing, overlap, seasonal alignment, and frequency discipline so you spot weeks-on-deal fatigue, cannibalisation, and seasonal misalignment before any of them lock into the next Joint Business Plan with a strategic retailer.
Tap any section to explore in detail
5.1Scenario setupThe starting SKU, market, and assumptions the model makes.
The starting SKU, market, and assumptions the model makes.
You are the Trade Marketing Director or Key Account Director on a biscuits brand at a top-3 retailer. The 12-month promotional calendar starts the year with nine events, $2,260K of total trade investment, average two-week duration, and a partial seasonal alignment that leaves the December peak under-supported and clusters two events tightly in Q4. Most calendars in real RGM rooms look like this draft on day one, before anyone has tested whether the spacing, depth, and rhythm hold up.
Your goal is to optimise the calendar so the Calendar Health Score lands above 75 and every individual event ROI is defensible, on the same total trade investment.
SKU calibration: biscuits, 12,000-unit weekly baseline volume, $1.20 average margin per unit
Optimal inter-event gap: 4 weeks (consumption cycle plus post-promo recovery)
Seasonal index runs from 78 in January to 142 in December; peak months are Apr, Aug, Oct, Nov, Dec
Cannibalisation penalty scales linearly when consecutive events are inside the 4-week window, capped at 50% of the second event's incremental volume
Calendar Health Score is the average of four sub-scores: spacing, overlap count, seasonal alignment, and event frequency
5.2Controls & togglesEvery input the calculator exposes, its range, and what it changes.
Every input the calculator exposes, its range, and what it changes.
| Control | Range | Default | What it changes |
|---|---|---|---|
| Drag event bar | Anywhere across weeks 1 to 48 | Default 9-event calendar | Moves the entire event window. Snaps to weeks. Recomputes spacing, overlap, and seasonal alignment immediately as the bar settles. |
| Spend slider (per event) | $50K to $600K in $10K steps | $180K to $350K depending on event | Sets the trade spend on the selected event. Total spend recalculates live; ROI per event uses the new denominator while uplift stays anchored to the base-uplift slider. |
| Duration slider (per event) | 1 to 4 weeks | 2 weeks | Stretches or shrinks the event window. Longer events earn more incremental volume on the same uplift but eat into the gap to the next event and risk pantry-loading. |
| Base uplift slider (per event) | 1.1x to 3.5x in 0.1x steps | 1.4x to 2.5x depending on event | Raw uplift multiplier before seasonal index and cannibalisation penalty are applied. The displayed adjusted uplift in the diagnostic table is what actually drives incremental volume. |
| Add event / Delete event | 5 to 13 events typical | 9 events | Add inserts a new event in the next open gap with default $200K spend and 1.6x uplift. Delete removes the selected event and reflows the calendar. |
| Seasonal anchor flag | On / off per event | On for Easter, Valentine's, Back-to-School, Halloween, Holiday Season | Marker only; does not change the math. Use to label which events you treat as locked-anchor in the JBP versus quarterly-flexible. |
5.3Step-by-step exploration7-step guided exploration of the scenario.
7-step guided exploration of the scenario.
- Read the starting position
Open the tool and let it run on defaults. Note the Calendar Health Score, the Min Gap, the Overlap count, and the percent of spend in peak months. Skim the per-event diagnostic table for any negative ROI rows. Do not make any changes yet.
Expected outcome: Score lands somewhere in the 50 to 65 range. Min Gap is around 2 weeks. One or two overlaps surface in Q4. About 40 to 50% of spend sits in peak months. At least one event shows a tight-gap or negative ROI flag. - Push weeks-on-deal past 50% and watch the curve break
Add three more events back-to-back, each with $150K spend and 1.6x uplift. Watch the secondary-stats line under the KPI cards: weeks-on-deal will jump above 50%. Look at the new events' ROI rows.
Expected outcome: Several event ROIs collapse below 10%. Some go negative. The Calendar Health Score drops by 15 to 25 points. The recommendations panel flags a high-severity weeks-on-deal warning citing the fatigue curve from 25% ROI down to 8%. - Cluster two events 2 weeks apart and read the cannibalisation penalty
Reset to defaults, then drag the Spring Promo event so its start sits two weeks after the Easter event ends. Check the Cannib. column on the diagnostic table for the second event in the pair.
Expected outcome: The second event picks up a 25% to 50% cannibalisation penalty. Its adjusted uplift drops below the base uplift, and its incremental volume falls accordingly. The recommendations panel surfaces the tight-gap pattern with the four-week recovery rule. - Drop a peak-month event and watch seasonal alignment fall
Reset to defaults, then delete the Holiday Season event in November. Look at the seasonal-alignment percentage in the secondary-stats row.
Expected outcome: Peak-month spend share drops from around 50% to around 35%. The seasonal sub-score inside the Calendar Health Score collapses. Recommendations flag the under-supported peak with the 55 to 65% target. - Rebuild from the seasonal index up
Reset to defaults. Use the seasonal-index strip below the timeline to read where the peaks are. Drag your highest-spend events onto the shoulders of those peaks (one to two weeks before the peak month begins). Open the gap on every consecutive pair to four weeks or more. Cut any event whose ROI stays negative even after rescheduling.
Expected outcome: Calendar Health Score climbs above 75 and the band pill flips to GOOD or BEST. Min Gap holds at 4 or higher. Overlaps drop to zero. Peak-month spend share lands in the 55 to 65% band. - Replace one deep event with two short shoulder events
Find the lowest-ROI event in your optimised calendar. Delete it. Add two new events at $120K each on shoulder weeks of nearby seasonal peaks. Set their durations to 1 week and uplift to 1.5x.
Expected outcome: Total spend shifts only marginally; total incremental volume rises by 5 to 10%. The new events' ROI rows beat the deleted event's ROI by a wide margin. This is the calendar-shape version of the lesson's mechanic-mix discipline. - Lock the calendar for the JBP
Mark every locked-anchor event with the seasonal-anchor flag. Note the events you would hold flexible for quarterly review. Snapshot the Calendar Health Score and the per-event ROI table to bring into the next RGM Council and JBP draft.
Expected outcome: You leave with a defensible calendar (BEST or GOOD band, score above 75), a clear locked-versus-flexible split, and an event-level ROI artefact that survives a buyer-side cross-examination at the JBP table.
5.4Reading the outputEvery KPI, the formula behind it, and how to interpret a positive or negative value.
Every KPI, the formula behind it, and how to interpret a positive or negative value.
| KPI | Formula | How to read it |
|---|---|---|
| Calendar Health Score | (spacing + overlap + seasonal + frequency) / 4 | **Read the band, not just the number.** Above 80 is BEST and ready for the RGM Council; 60 to 80 is GOOD and needs a sharpening pass; 40 to 60 is REVIEW and the recommendations panel tells you which sub-score to fix first; below 40 is STOP, rebuild from the seasonal index up. |
| Min Gap (weeks) | min over all consecutive pairs of (next.absStart - prev.absEnd - 1) | **4 weeks is the floor for biscuits.** Below 4 the second event picks up a cannibalisation penalty; below 2 the two events behave as one long sale and trade ROI for noise. |
| Overlap count | pairs where prev.absEnd >= next.absStart | **Zero is the only defensible number.** Any overlap splits the same uplift across two events and surfaces as a mid-quarter cannibalisation that the post-event review will catch. |
| Seasonal alignment | sum of spend in months with seasonal index >= 110, divided by total spend | **Aim for 55 to 65%.** Below 40% you are under-supporting the demand peaks; above 70% you are crowding into the same weeks the competitor is also fighting in. |
| Weeks-on-deal % | sum of event durations divided by 48 | **30% is the soft ceiling.** Past that the promoted price becomes the shopper's reference price, the baseline erodes 3 to 5% per year, and recovery takes 12 to 18 months per year of damage. |
| Per-event ROI | ((adjustedUplift - 1) x 12,000-unit baseline x duration weeks x $1.20 margin - spend in $) / spend in $, expressed as a percentage | **Every event ROI must beat the +8.7% operating-profit hurdle of a 1% price move.** Anything below loses to a portfolio-wide price hold and should be cut or restructured before the next JBP draft. |
The Calendar Health Score is the headline; the per-event ROI table is the audit trail that backs it up. Bring both to the RGM Council. The recommendations panel sequences the fixes in order of leverage so you can attack the worst sub-score first rather than tinkering symmetrically. When the score sits in the 60 to 80 band, the question is rarely 'add more events' and almost always 'cut the lowest-ROI events and reallocate the freed spend onto the seasonal shoulders'.
5.55 common mistakes to avoidDiagnostic patterns that catch most misuse of this calculator in practice.
Diagnostic patterns that catch most misuse of this calculator in practice.
- Mistake 1Treating more events as more volumeSymptom: Annual event count drifts from 8 to 12 to 14 across two planning cycles. Per-event ROI declines every year. Total incremental volume plateaus or falls.Fix: **Cap the calendar at 8 to 10 events and reallocate freed spend to the highest-ROI rows.** Past 10 to 12 events the baseline starts eroding; the calendar is buying noise, not volume. Use the recommendations panel to sequence the cuts.
- Mistake 2Deepening events instead of fixing timingSymptom: Spend on a poor event grows year over year while ROI stays flat or negative. The post-event review keeps citing 'mechanic execution' as the cause.Fix: **Move the event before you deepen it.** Depth does not fix wrong timing or a tight gap. Drag the bar onto a seasonal shoulder, open the gap to 4 weeks, then re-test ROI before adjusting spend.
- Mistake 3Ignoring seasonal alignment for staple categoriesSymptom: Spend distributes evenly across months. Peak-month spend share lands below 40%. December and Easter get the same treatment as a flat July week.Fix: **Every category has a seasonal demand index, including staples.** Use the seasonal-index strip below the timeline to read where the multipliers sit. Concentrate 55 to 65% of spend in peak months. The same total budget produces 15 to 20% more incremental volume.
- Mistake 4Letting overlapping events stay on the calendarSymptom: Two events scheduled in the same window 'because the retailer wanted both'. Combined incremental volume is well below the sum of each event's standalone forecast.Fix: **Move one of the overlapping events to a clean window with at least 4 weeks of separation.** Cannibalisation splits the same uplift across two events; the calendar always loses on the trade. Negotiate alternating brands or pack sizes if the retailer insists on the slot.
- Mistake 5Reading the Health Score without reading the per-event ROI tableSymptom: Calendar Health Score lands above 75 but two or three individual events still show negative ROI. The composite hides the loss.Fix: **The Health Score is necessary, not sufficient.** Always cross-check the per-event diagnostic table; cut or restructure every event whose ROI does not clear the +8.7% operating-profit hurdle before locking the calendar into the JBP. The composite can be defensible while individual rows are still bleeding profit.
Go deeper on the theory
- Trade Promotion OptimizationPromotion ROIpromotion ROI calculation
- Trade Promotion OptimizationPromotional Baselinepromotional baseline volume
- Trade Promotion OptimizationSource of Volumesource of volume promotion
- Trade Promotion OptimizationPromotional Mechanicspromotion mechanics FMCG
- Trade Promotion OptimizationCannibalisation Ratecannibalisation rate FMCG
- Trade Promotion OptimizationReference Price Decayreference price decay FMCG
- Trade TermsTrade Investment ROItrade investment ROI
- Trade Promotion OptimizationThe 13 Levers of Trade Promotion ROItrade promotion levers
Continue with the lessonsGo further inside Trade Promotion Optimization
This calculator is the sandbox slice of Lesson 8: Lesson 8 — Promotion Calendar Optimization. Each of the other 7 Trade Promotion Optimization lessons teaches a complementary concept that sharpens how you read the output above.
Go further inside Trade Promotion Optimization
This calculator is the sandbox slice of Lesson 8: Lesson 8 — Promotion Calendar Optimization. Each of the other 7 Trade Promotion Optimization lessons teaches a complementary concept that sharpens how you read the output above.
- Trade Promotion Optimization · Lesson 1Free previewPromo ROI FundamentalsThe single number that tells you whether a trade promotion is making you money or destroying it.Open the preview
- Trade Promotion Optimization · Lesson 2Free previewSource of VolumeWhere your promo sales actually come from: new shoppers, more usage, switching from rivals, or stockpiling.Open the preview
- Trade Promotion Optimization · Lesson 3Sign up to unlockBaseline vs. IncrementalTelling apart the sales you would have made anyway from the sales the promo actually added.Claim 50% off — unlock
- Trade Promotion Optimization · Lesson 4Sign up to unlockPromo Performance GridSorting every promo into BEST, GOOD, REVIEW, or STOP. The four-box scorecard every trade plan should clear.Claim 50% off — unlock
- Trade Promotion Optimization · Lesson 5Sign up to unlockPromo MechanicsChoosing between price cuts, multibuys, displays, and features. Which one fits which goal, and which to retire.Claim 50% off — unlock
- Trade Promotion Optimization · Lesson 6Sign up to unlockCustomer Value AssessmentA profitability lens on your top retailers, so you can see where promo investment earns its return.Claim 50% off — unlock
- Trade Promotion Optimization · Lesson 7Sign up to unlock13-Lever TPO OptimizationThe full set of 13 things you can change on a promo plan before signing the year-end deal.Claim 50% off — unlock
See Promo Calendar Optimizer inside the full lesson
RGM Academy lets you pull every commercial lever yourself inside a senior-practitioner simulator, with the AI RGM Strategist coaching every decision you make.
Claim 50% off and unlock the full lesson