Choosing a baseline period for SPINS post-promo lift

Why this matters

The post-promo lift baseline is the single most consequential methodological choice in CPG promo measurement. Pick one baseline, the promo looks like a hit; pick another, the same promo looks break-even. The arithmetic doesn't change — the baseline does.

A category manager at a $20M better-for-you snack brand opens the Sprouts promo recap on a Tuesday morning. Promo week dollars: $440k. The four weeks before averaged $315k. The lift number that lands in the deck: +40%. Big number, easy to share, justifies the next ask.

The CFO asks one question: "Are you sure +40% is the right number?"

The trailing four weeks is one of at least five common baseline choices. Each one gives a different lift number on the same promo. For this specific post-promo lift calculation, the result can be reported anywhere between +6% and +49% depending on which baseline the analyst picks — a spread bigger than the difference between "double the spend" and "kill the program."

This page is about how to pick the baseline that answers the question you're actually trying to answer.

The five baseline choices

BaselineMethodStrengthWeakness
Trailing N-week pre-promoAverage sales over the N weeks immediately before the promoSimple, fast, defensible when base is stableVulnerable to pre-promo pull-forward; ignores seasonality and trend
Year-over-year same periodSame calendar week(s) one year agoHandles category seasonality cleanlyDistorted by the brand's own trend (growing or declining brands look misleading)
Trailing N-week minus haloTrailing average, but drop the 1–2 weeks immediately before the promoRemoves pre-promo pull-forward contaminationNeeds a defensible halo window; loses data points
Pre + post excluding haloAverage N weeks before + N weeks after, dropping the 1–2 halo weeks on each sideBest single-number "what would have happened" baselineRequires post-promo data — can't measure until 4–8 weeks after
Trend-adjusted forecastProject the pre-promo trend forward through the promo week using a regression or growth-rate adjustmentHandles seasonality and brand trend togetherMore setup; harder to defend to non-quant audiences

Decision rules

  • Stable brand, low-seasonality category → trailing 8–12 weeks pre-promo. Drop the immediately-preceding week if you suspect shopper pull-forward.
  • Seasonal category, stable brand → year-over-year with a small seasonal-adjustment factor pulled from category averages.
  • Growing or declining brand → trend-adjusted forecast, or year-over-year with explicit trend correction. The trend matters more than the seasonal pattern in the lift math.
  • Pull-forward is plausible (featured-display, pre-announced TPRs, club-channel feature events) → exclude the 1–2 pre-promo weeks. If pull-forward is real, you'll see a visible trough in the raw data; if it isn't, the exclusion barely moves the baseline.
  • You can wait 4–8 weeks before reporting → pre+post excluding halo is usually the most defensible single baseline.

How long should the baseline window be?

The trade-off:

  • Too short (≤ 2 weeks): panel-sampling noise dominates. Week-to-week swings in SPINS at the banner level can be ±10% from panel composition changes alone — see Reading SPINS panel coverage for why.
  • Too long (≥ 16 weeks): you're averaging across genuinely different states of the world — different ACV, different competitive set, different season.
  • Sweet spot for most brands: 8–12 weeks. Long enough that noise averages out, short enough that the brand and its distribution haven't materially changed.

One pre-check before picking any baseline window: did the brand's ACV move during it? An ACV shift inside the baseline window means distribution change is contaminating the baseline number, and the lift you'll calculate is partly a distribution effect, not a promo effect. See Velocity vs. share of shelf vs. TDP for the metric to lean on when decomposing.

Worked example

The snack brand. Sprouts TPR (temporary price reduction) on the 6 oz bag, week of 2024-10-14, promo depth 20% off. The brand has been growing roughly +12% year-over-year for the past four quarters. Light Q4 seasonal lift in the category.

Week$ at SproutsNote
2024-07-22 (12 wks pre)$295k
2024-08-12 (9 wks pre)$298k
2024-09-02 (6 wks pre)$305k
2024-09-23 (3 wks pre)$310k
2024-09-30 (2 wks pre)$312k
2024-10-07 (1 wk pre)$345ksuspected pull-forward
2024-10-14 (PROMO)$440kTPR week
2024-10-21 (1 wk post)$280ksuspected destocking
2024-10-28 (2 wks post)$300knormalizing
2023-10-16 (YoY same wk)$370kfrom last year

Six ways to compute lift on the same promo:

Baseline methodBaseline $Lift %
Trailing 4-week average$328k+34%
Trailing 12-week average$312k+41%
Trailing 12-week minus the pull-forward week$309k+42%
Year-over-year same week (no trend adjustment)$370k+19%
Year-over-year, adjusted for +12% brand trend$414k+6%
Pre+post 4-week average excluding halo$304k+45%

The same promo, depending on baseline, is a +6% lift (trend-adjusted YoY) or a +45% lift (pre+post excluding halo). Both are arithmetically correct. They answer different questions:

  • The +45% answer says: "in the absolute, the brand sold 45% more than its non-promo baseline."
  • The +6% answer says: "after backing out the 12% organic growth the brand was already running at, the promo added 6% beyond what was going to happen anyway."

For a growing brand, those gaps are not subtle. The honest analyst reports both numbers, and explicitly tells the audience which question each one answers.

Pull-forward and destocking — does it matter here?

The week before promo was $345k vs. a 12-week trailing average of $312k. That +$33k pre-promo bump is consistent with pull-forward — shoppers who knew the promo was coming, or who shop weekly and happened to time-shift. The week after promo was $280k, a $32k trough vs. the same trailing average. The two numbers roughly cancel.

What that means for honest reporting: the apparent lift of $128k ($440k − $312k) overstates the real incremental. The real incremental sales the promo created (rather than time-shifted) is closer to $128k − $33k pull-forward credit − $32k destocking credit = roughly $63k. The promo earned about $63k of genuine incremental sales — and 90% of the reported lift dollars were either pulled forward or borrowed from the following week.

This is the math behind why repeat-buyer analysis matters more than headline lift for promos: incremental dollars are easy to inflate; incremental buyers are harder to fake. (Banner-level basket and loyalty analysis is the right tool for that question — see SPINS, 84.51° Stratum, Circana for the Kroger case.)

Anti-patterns

  • Reporting one lift number without naming the baseline method. "+40% lift at Sprouts" with no method behind it is meaningless and unauditable. Always show the baseline calculation alongside the number.
  • Trailing 4 weeks on a growing brand. Understates the baseline (because the brand has been steadily climbing) and overstates the apparent lift. Switch to trailing 8–12 weeks minimum, or use trend-adjusted.
  • YoY on a fast-growing brand without trend correction. Year-ago sales are below the current baseline by the brand's annualized growth. A 25% YoY-growing brand will look like it had a 25% lift on any promo. Always trend-adjust YoY.
  • Including the pre-promo pull-forward week in the trailing baseline. Anchors the baseline too high (when pull-forward boosts the pre-promo week) and shrinks the apparent lift, or anchors it too low if the pull-forward is from earlier weeks. Drop the immediate pre-promo week when pull-forward is plausible.
  • Ignoring the post-promo trough. A 10–20% post-promo dip is normal for pantry-stockable categories. Real incremental is lift-week dollars minus the trough recovery dollars — usually 60–80% of the headline lift, not 100%.
  • Comparing promo to non-promo without checking ACV stability. If ACV moved during the baseline window, the lift number conflates promo effect with distribution change. Pull the ACV trend; if it moved more than 2–3 points, redo the baseline on a stable-ACV window.
  • Reporting a single point estimate as if it were a measurement. "+40% lift" without a range hides the model uncertainty. The honest report is "+19% to +45% depending on baseline; +6% after trend adjustment." Audiences who can't handle a range usually can't handle the single number either; the range is just more honest.

Reporting post-promo lift to different stakeholders

Same promo, same numbers — three different audiences who want different framings of the same lift answer.

CFO / finance audience. Wants the most conservative defensible number. Trend-adjusted YoY or pre+post excluding halo is usually right. Always report alongside the brand's recent organic growth rate so the audience can see the gap between "what would have happened anyway" and "what the promo added on top." The CFO is the audience that will ask the follow-up question about confidence intervals; have a range ready, not just a single point estimate.

CMO / brand-marketing audience. Wants the lift number that ties to the brand-building story — which is often the trailing- window-baseline number, before trend adjustment, because that's the absolute-dollar lift the campaign generated. The honest move here is reporting both the trend-adjusted and absolute-window numbers and letting the marketing team decide which one to lead with for the audience they're presenting to (e.g. internal vs board vs retailer pitch).

Retailer-buyer audience. Wants the lift number that supports the next conversation about feature placement, end-cap, or promo frequency. The buyer cares about incremental dollars to the retailer's category — which is the absolute lift number, not the trend-adjusted one. Buyers don't trend-adjust because they don't care whether the brand was already growing; they care whether the promo moved their category.

The discipline that holds across all three audiences: always state the baseline method in the same sentence as the lift number. "Lift of +40% (trailing 12-week pre-promo baseline)" is auditable across audiences. "Lift of +40%" is not.

Doing this in Scout

Scout's scenario explorer lets you compute lift on the same SPINS-extracted promo across several baseline definitions side-by-side — trailing N-week (configurable window), year-over-year, pre+post excluding halo, and a trend-adjusted view that uses the brand's pre-promo growth rate. The lift number updates against each baseline so the range is visible in one screen instead of being assembled from spreadsheet copies. For brands with active growth or seasonal categories, the trend-adjusted view is usually where the headline-vs-incremental gap shows up. Pull-forward and destocking windows are configurable, so the "real incremental" calculation is a setting, not a separate spreadsheet.

Summary + further reading

  • The baseline-period choice can swing a SPINS promo lift number by 30+ points on the same promo. Pick the baseline that answers the question — defending spend, forecasting the next promo, or measuring true incremental.
  • For most stable-ACV brands without strong seasonality, trailing 8–12 weeks pre-promo (excluding the immediate pre-promo week) is the defensible default.
  • Always report the baseline method next to the lift number, and always show the trend-adjusted view to catch growth-driven false lifts.

Related: Reading SPINS panel coverage · Velocity vs. share of shelf vs. TDP · What is SPINS data?

See this on your own data, book a Scout demo

Want this as a Google Sheet?

Drop your email and we'll send the worked example.