How-To Guide

How to Handle Seasonality in MMM

Seasonality is the single biggest source of variance in most MMM data. How to model it correctly so channel coefficients are not contaminated by seasonal patterns.

By Ramanath, CTO & Co-Founder at Presenc AI · Last updated: May 18, 2026

Why Seasonality Matters

Most consumer categories have strong seasonal patterns: holidays, weather-driven cycles, back-to-school, Q4 retail. These patterns produce large outcome variance that is not caused by marketing. If the MMM does not control for seasonality, the model attributes seasonal lift to whatever channels happen to be active during the seasonal peak. Holiday paid spend looks 3x more effective than it is because the model is conflating seasonal demand with paid lift.

Step 1: Add Calendar Variables

Week of year, day of week (for daily models), holiday indicators (binary variables for Black Friday, Christmas, regional holidays). These capture the predictable calendar effects without explicit modeling.

Step 2: Add Fourier Seasonality

For smooth seasonal patterns that calendar indicators do not capture cleanly, add Fourier terms: pairs of sine and cosine waves with various periods (annual, semi-annual, quarterly). Most modern MMM frameworks support Fourier seasonality natively. Three to six Fourier pairs typically capture the smooth seasonal patterns.

Step 3: Handle Multi-Year Trends

Long-run trends (category growth, inflation effects) should be modeled separately from seasonality. Linear trend, spline trend, or random walk priors are all valid. The right choice depends on the category dynamics; rapid-growth categories need flexible trend specifications.

Step 4: Add Event Indicators

One-off events (a competitor exits, a regulatory change, a viral moment) need explicit indicators. Without them, the model spreads the event's effect across nearby variables and produces biased coefficients. Maintain an events log alongside the MMM and add indicators for any event large enough to be visible in the outcome series.

Step 5: Use Macroeconomic Controls

Consumer confidence, unemployment, weather, and category-specific macro indices control for broader economic effects. The single biggest macro miss is recession effects on consumer categories during 2022-2026; MMMs that did not include macro controls during that period have systematically biased channel coefficients.

Step 6: Validate Seasonality Decomposition

Inspect the model's decomposition: how much of revenue is attributed to seasonality versus to channels. The seasonality contribution should be plausible given category dynamics. If seasonality is contributing more than channels combined, the seasonality terms are over-fit; if seasonality is contributing essentially zero in a known-seasonal category, the seasonality spec is under-fit.

How Presenc AI Helps

Presenc AI provides AI visibility data that helps disentangle AI-driven lift from seasonal lift. Without the AI variable, the model can attribute AI-driven demand to seasonal patterns or vice versa; with the AI variable in the spec, both are identified separately. The discipline is to include both seasonality and AI visibility variables and let the model decompose them.

Frequently Asked Questions

Three to six pairs is typical for weekly MMM. More terms capture finer-grained seasonal patterns at the cost of overfitting risk. Bayesian model comparison (LOO-CV or holdout MAPE) is the rigorous way to pick the right number; intuition is that three to four pairs handles most consumer categories.
Multicollinearity between seasonality and channels (channels that ramp during high-season). The fix is informative priors on the seasonality magnitude (do not let seasonality dominate) and adstock priors on the channels that produce carryover beyond the seasonal window (channels with carryover into off-season are identified as channel effects, not seasonal effects).
Treat the COVID period (March 2020 through roughly mid-2022 for most categories) with event indicators and possibly an explicit time-varying coefficient structure. Some teams drop COVID data entirely; this is acceptable for production MMMs but loses 24 months of history. The middle ground is COVID-period indicators that absorb the structural shift without dropping the data.
Yes, mild and category-dependent. AI assistant usage shows weekly patterns (higher on weekdays in B2B categories, higher on evenings in consumer categories) and holiday patterns (gift research peaks in November-December for consumer). The seasonality is smaller than for paid channels but should still be controlled when computing AI visibility ROI.

Track Your AI Visibility

See how your brand appears across ChatGPT, Claude, Perplexity, and other AI platforms. Start monitoring today.