Book a consult

Loading scheduler…

Choosing a baseline period for SPINS post-promo lift

Why this matters

The post-promo lift baseline is the most consequential methodological choice in CPG promo measurement, full stop. Pick one baseline and the promo looks like a hit. Pick another and the same promo looks break-even. The arithmetic never changed. The baseline did.

Picture a category manager at a $20M better-for-you snack brand, opening the Sprouts promo recap on a Tuesday morning. Promo week dollars: $440k. The four weeks before it averaged $315k. The number that goes into the deck: +40%. Big, clean, easy to share, and it justifies the next ask.

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

Trailing four weeks is just one of at least five common baseline choices, and each one spits out a different lift number for the same promo. For this particular calculation, the result can be reported anywhere from +6% to +49%, depending entirely on which baseline the analyst grabbed. That's a wider spread than the gap between "double the spend" and "kill the program."

This page is about picking the baseline that answers the question you actually have.

The five post-promo lift 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, so you 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

A few rules of thumb to route you to the right one. For a stable brand in a low-seasonality category, take trailing 8 to 12 weeks pre-promo, and drop the week right before the promo if you suspect shopper pull-forward. For a seasonal category with a stable brand, go year-over-year with a small seasonal-adjustment factor pulled from category averages. For a growing or declining brand, use a trend-adjusted forecast, or year-over-year with an explicit trend correction; in the lift math, the trend matters more than the seasonal pattern.

When pull-forward is plausible, think featured-display, pre-announced TPRs, club-channel feature events, exclude the one or two pre-promo weeks; if pull-forward is real you'll see a visible trough in the raw data, and if it isn't, the exclusion barely moves the baseline anyway. And if you can wait 4 to 8 weeks before reporting, pre+post excluding halo is usually the most defensible single baseline you can pick.

How long should the baseline window be?

It's a trade-off. Go too short, two weeks or less, and panel-sampling noise takes over: week-to-week swings in SPINS at the banner level can run ±10% from panel composition changes alone (see Reading SPINS panel coverage for why). Go too long, 16 weeks or more, and you're averaging across genuinely different states of the world, different ACV, a different competitive set, a different season. For most brands the sweet spot is 8 to 12 weeks: long enough for the noise to average out, short enough that the brand and its distribution haven't really moved.

One check before you commit to any window: did the brand's ACV move during it? If ACV shifted inside the baseline window, distribution change is contaminating the baseline, and the lift you calculate will be part promo effect and part distribution effect. See Velocity vs. share of shelf vs. TDP for the metric to lean on when you're pulling those apart.

Worked example

Back to the snack brand. A Sprouts TPR (temporary price reduction) on the 6 oz bag, week of 2024-10-14, 20% off. The brand has been growing roughly +12% year over year for the past four quarters, and the category gets a light Q4 seasonal lift.

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%

Same promo. Depending on the baseline, it's a +6% lift (trend-adjusted YoY) or a +45% lift (pre+post excluding halo). Both are arithmetically correct. They just answer different questions. The +45% answer says the brand sold 45% more than its non-promo baseline, in absolute terms. The +6% answer says that once you back out the 12% organic growth the brand was already running, the promo added 6% on top of what was going to happen anyway.

For a growing brand, that gap is anything but subtle. The honest move is to report both numbers and tell the audience, in plain words, which question each one answers.

Pull-forward and destocking: does it matter here?

The week before promo came in at $345k against a 12-week trailing average of $312k. That +$33k pre-promo bump looks like pull-forward, shoppers who knew the promo was coming, or weekly shoppers who just happened to time-shift. The week after promo dropped to $280k, a $32k trough below the same trailing average. The two roughly cancel out.

For honest reporting, that's the whole point. The apparent lift of $128k ($440k − $312k) overstates the real incremental. The sales the promo actually created, rather than borrowed, is closer to $128k − $33k of pull-forward − $32k of destocking, which lands around $63k. So the promo earned roughly $63k of genuine incremental, 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 beats headline lift for promos. Incremental dollars are easy to inflate. Incremental buyers are much harder to fake. (Banner-level basket and loyalty analysis is the right tool there, 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 impossible to audit. Show the baseline calculation next to the number, every time.
  • Using trailing 4 weeks on a growing brand. It understates the baseline, because the brand has been climbing, and overstates the lift. Move to trailing 8 to 12 weeks at minimum, or go trend-adjusted.
  • Running YoY on a fast-growing brand with no trend correction. Year-ago sales sit below the current baseline by the brand's annualized growth, so a brand growing 25% YoY will look like it had a 25% lift on literally any promo. Trend-adjust YoY, always.
  • Leaving the pre-promo pull-forward week inside the trailing baseline. It anchors the baseline too high when pull-forward inflates the pre-promo week, which shrinks the apparent lift; or too low when the pull-forward came from earlier weeks. Drop the immediate pre-promo week whenever pull-forward is plausible.
  • Ignoring the post-promo trough. A 10 to 20% post-promo dip is normal for pantry-stockable categories. Real incremental is lift-week dollars minus the trough recovery dollars, usually 60 to 80% of the headline lift, not the full 100%.
  • Comparing promo to non-promo without checking ACV stability. If ACV moved during the baseline window, the lift number is mixing promo effect with distribution change. Pull the ACV trend, and if it moved more than 2 or 3 points, redo the baseline on a stable-ACV window.
  • Reporting a single point estimate as if it were a measurement. "+40% lift" with no range hides the model uncertainty. The honest version is "+19% to +45% depending on baseline; +6% after trend adjustment." An audience that 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 audiences who each want the lift framed a different way.

The CFO and finance audience wants the most conservative defensible number, so trend-adjusted YoY or pre+post excluding halo is usually right. Report it alongside the brand's recent organic growth rate so they can see the gap between what would have happened anyway and what the promo added on top. The CFO is also the one who'll ask about confidence intervals, so walk in with a range, not a single point estimate.

The CMO and 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 to report both the trend-adjusted and the absolute-window numbers, then let the marketing team decide which to lead with depending on whether they're presenting internally, to the board, or in a retailer pitch.

The 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, so that's the absolute lift number, not the trend-adjusted one. Buyers don't trend-adjust, because they don't care whether your brand was already growing. They care whether the promo moved their category.

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

Doing this in Scout

Scout's scenario explorer computes lift on the same SPINS-extracted promo across several baseline definitions at once: trailing N-week with a configurable window, year-over-year, pre+post excluding halo, and a trend-adjusted view built off the brand's pre-promo growth rate. The lift number updates against each baseline, so you see the full range on one screen instead of stitching it together from spreadsheet copies.

For brands with active growth or in seasonal categories, the trend-adjusted view is usually where the headline-vs-incremental gap shows itself. Pull-forward and destocking windows are configurable too, so the "real incremental" calculation is a setting rather than a separate spreadsheet.

Summary + further reading

  • The baseline-period choice can swing a SPINS promo lift number by 30-plus points on the same promo. Pick the baseline that answers your actual question: defending spend, forecasting the next promo, or measuring true incremental.
  • For most stable-ACV brands without strong seasonality, trailing 8 to 12 weeks pre-promo, excluding the immediate pre-promo week, is the defensible default.
  • Report the baseline method next to the lift number, always, and 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?

Want this as a Google Sheet?

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

Book a demo with your data