how_wrong_is_your_mmm Discovery Report
Generated 2026-10-03
Discovery

Which phasing strategy is worth pursuing?

A phasing strategy changes when the plan's spend lands. Each channel's annual budget stays the same. This report scores 6 strategies against the unphased plan on three problems: variance, bias, and whether saturation and adstock can be recovered.

Client
Demo client
Plan year
2027
Plan weeks
52
Recommended
Combined
Recommended strategy: Combined. Against the unphased plan: variance 70% better, bias 47% better, saturation range 59% narrower and adstock range 60% narrower. It is picked on variance, bias and identifiability. Cost is shown beside it and is not part of the pick.
Section 1

Scenario inputs

Everything the report is built on: each channel's planned spend, marginal return (ROI), saturation and adstock, the weekly spend behind the plan, and what those imply for weekly sales. Background demand accounts for 70% of sales, leaving 30% for the channels.

ChannelSpendROISaturationAdstock
tv£5.58m£0.500.600.50
meta£4.50m£1.000.750.30
search_generic£4.44m£1.500.900.10
tiktok£4.46m£1.200.700.20
Spend, history + plan
Actual weekly spend by channel, as supplied, before any phasing
tv
Plan year£0£50k£100k£150k£200kJan '25Jan '26Dec '26Dec '27WeekWeekly spend
meta
Plan year£0£50k£100k£150kJan '25Jan '26Dec '26Dec '27WeekWeekly spend
search_generic
Plan year£20k£40k£60k£80k£100k£120kJan '25Jan '26Dec '26Dec '27WeekWeekly spend
tiktok
Plan year£20k£40k£60k£80k£100k£120k£140kJan '25Jan '26Dec '26Dec '27WeekWeekly spend
Adstock, by channel
Share of a week's spend still driving sales, by weeks since it ran · decay: tv 0.50, meta 0.30, search_generic 0.10, tiktok 0.20
tv
meta
search_generic
tiktok
0%20%40%60%80%100%+0+2+3+4+6Weeks after spendShare of effect remaining
Saturation, by channel
Assumed response curve, spend to revenue · exponent (b): tv 0.60, meta 0.75, search_generic 0.90, tiktok 0.70
tv
meta
search_generic
tiktok
£0£100k£200k£300k£0£41k£82k£120k£161kWeekly spendWeekly revenue

Implied contribution

Background demand plus each channel's contribution, stacked into weekly sales. Nothing here was supplied directly. It follows from the inputs above, which makes it a check on those assumptions.

Sales / revenue, weekly, by source
Baseline (incl. demand) plus each channel's true contribution, history + plan
Baseline
tv
meta
search_generic
tiktok
£0£500k£1.00m£1.50mJan '25Aug '25Mar '26Oct '26May '27Dec '27WeekWeekly sales / revenue
Section 2

Diagnostics

The unphased plan, exactly as supplied: the spend correlation behind the problem, then variance, bias and identifiability. Section 3 shows the same charts after phasing.

Spend correlation

Channels whose spend moves together are hard for a model to tell apart. Mean pairwise correlation across the plan year is 0.66.

Channel correlation, unphased
Pearson correlation, weekly spend by channel · plan year only
tvmetasearch_generictiktok
tv1.000.670.680.67
meta0.671.000.600.67
search_generic0.680.601.000.65
tiktok0.670.670.651.00

Variance

If the model were refit on a slightly different version of the same history, how far would its answer move? The model is given the true demand and curve shapes, so this is a best case. The widest range is tv's: £2.19m to £7.21m, against a true £4.62m.

Incremental revenue, unphased
Model-estimated range per channel, no phasing applied
Unphased (today), range Point estimate Revenue at the true marginal return
£0£2.00m£4.00m£6.00m£8.00m£10.00mIncremental revenue£2.19m – £7.21mtv£4.69m – £7.45mmeta£6.01m – £8.22msearch_generic£5.89m – £9.33mtiktok

Each channel's estimated incremental revenue on the plan: the bar is the p10 to p90 range across simulations and the ring its mean. The dashed line is the revenue implied by the marginal return you supplied.

Bias

The model sees demand through a proxy (80% quality), so whatever the proxy misses gets credited to the channels. Every point estimate sits above the truth: tv by 44%, meta by 33%, search_generic by 17% and tiktok by 20%. Demand is assumed to track spend at a correlation of 0.65, which spend data cannot confirm.

Revenue implied by the biased estimate, unphased
What a client would believe they got, per channel
Believed today (unphased), range Point estimate True revenue
£0£2.00m£4.00m£6.00m£8.00m£10.00m£12.00mIncremental revenue£3.39m – £9.88mtv£6.00m – £10.06mmeta£7.22m – £10.07msearch_generic£7.33m – £11.10mtiktok

The ring is the revenue the biased estimate implies and the bar its p10 to p90 range across simulations. The gap to the dashed line is the bias.

Identifiability

Can the model recover each channel's saturation and adstock? One channel at a time, every combination of saturation exponent and adstock decay is tried and the best fit kept. A range that covers most of the search means the data cannot tell the curves apart.

Recovered saturation, by channel, unphased
Saturation exponent (b): model-recovered range, no phasing applied
Unphased (today), range Point estimate Plausible value supplied
0.000.200.400.600.801.00Saturation exponent (b)0.20 – 1.00tv0.20 – 1.00meta0.32 – 1.00search_generic0.20 – 1.00tiktok

The range of saturation exponents the model recovers for each channel (p10 to p90 across simulations) and its mean, with every other channel held at its supplied curve.

Recovered adstock, by channel, unphased
Adstock decay (lambda): model-recovered range, no phasing applied
Unphased (today), range Point estimate Plausible value supplied
0.000.200.400.600.80Adstock decay (lambda)0.00 – 0.72tv0.06 – 0.48meta0.00 – 0.24search_generic0.00 – 0.42tiktok

The same for adstock decay: how long a week's spend keeps working.

Section 3

Impact

The same charts as Section 2, after phasing under Combined.

Spend correlation

Mean pairwise correlation falls from 0.66 to 0.15. Each channel's annual budget is unchanged. Some budget moves between months.

Channel correlation, after phasing
Pearson correlation, weekly spend by channel · plan year only, annual totals unchanged from unphased; budget moves between months
tvmetasearch_generictiktok
tv1.000.170.180.15
meta0.171.000.150.15
search_generic0.180.151.000.11
tiktok0.150.150.111.00

Variance

The range narrows for every channel: tv by 74%, meta by 65%, search_generic by 67% and tiktok by 72%.

Incremental revenue range, before and after
Incremental revenue, the model-estimated range: unphased vs Combined
Unphased (today), range Combined, range Point estimate Revenue at the true marginal return
£0£2.00m£4.00m£6.00m£8.00m£10.00mIncremental revenue£3.86m – £5.18mtv£5.33m – £6.30mmeta£6.91m – £7.65msearch_generic£6.85m – £7.82mtiktok

The model's estimated range for incremental revenue on the unphased plan (faded) and the phased plan (solid), against the truth.

Bias

Every point estimate moves toward the truth: tv from 44% to 29%, meta from 33% to 13%, search_generic from 17% to 9% and tiktok from 20% to 10%.

Point estimates, before and after
Revenue implied by the biased estimate: unphased vs Combined
Believed today (unphased), range Believed, Combined, range Point estimate True revenue
£0£2.00m£4.00m£6.00m£8.00m£10.00m£12.00mIncremental revenue£4.89m – £7.07mtv£5.96m – £7.56mmeta£7.46m – £8.65msearch_generic£7.59m – £9.18mtiktok

The revenue the biased estimate implies, before and after phasing, when demand is only seen through a proxy.

Identifiability

The saturation range narrows for every channel: tv by 28%, meta by 63%, search_generic by 73% and tiktok by 75%. The adstock range narrows for every channel: tv by 67%, meta by 55%, search_generic by 46% and tiktok by 61%.

Saturation range, before and after
Recovered saturation exponent (b): unphased vs Combined
Unphased (today), range Combined, range Point estimate Plausible value supplied
0.000.200.400.600.801.00Saturation exponent (b)0.32 – 0.90tv0.61 – 0.90meta0.81 – 1.00search_generic0.60 – 0.80tiktok

The range of saturation exponents the model recovers for each channel (p10 to p90 across simulations) and its mean, with every other channel held at its supplied curve.

Adstock range, before and after
Recovered adstock decay (lambda): unphased vs Combined
Unphased (today), range Combined, range Point estimate Plausible value supplied
0.000.200.400.600.80Adstock decay (lambda)0.35 – 0.60tv0.20 – 0.39meta0.03 – 0.16search_generic0.12 – 0.29tiktok

The same for adstock decay: how long a week's spend keeps working.

Cost

Combined gives up 3.42% of plan-year revenue, averaged across channels. Spend that is bunched up runs further into each channel's saturation curve. Each channel's annual budget is unchanged and no extra spend is needed.

Section 4

Phased spend

Each panel shows one channel's planned weekly spend (pale) and its phased schedule under Combined (solid). Each channel's annual total is identical on both sides, but this strategy also moves budget between months: a blackout run's budget lands in a recipient month, and a peak month is funded by a small cut to the others, so individual monthly totals differ.

tv
£0£100k£200k£300k£400kJan '27May '27Aug '27Dec '27Plan weekWeekly spend
meta
£0£50k£100k£150k£200kJan '27May '27Aug '27Dec '27Plan weekWeekly spend
search_generic
£0£100k£200k£300kJan '27May '27Aug '27Dec '27Plan weekWeekly spend
tiktok
£0£100k£200k£300k£400kJan '27May '27Aug '27Dec '27Plan weekWeekly spend
Section 5

Appendix: every strategy compared

What each strategy does to the plan, then how each one scores against the unphased plan. Combined is highlighted. Sections 2 to 4 are built from that row.

What each strategy does

StrategyWhat it does to the planBudget totals kept
unphasedThe plan exactly as supplied. Every other row is measured against this one.Monthly and annual
Weekly nudgeEvery week moves by exactly 20%, half of a month's weeks up and half down in a random order, then the month is rescaled to its planned total.Monthly and annual
Dark monthEach channel goes dark for 4 consecutive weeks once a year, in a different month per channel. The freed budget is moved into one other month.Annual only
Peak monthOne month a year runs at 2.5x plan, in a different month per channel, paid for by a small equal cut to the channel's other months.Annual only
CombinedEach channel goes dark for 4 consecutive weeks once a year, in a different month per channel. The freed budget is moved into one other month. One month a year runs at 2.5x plan, in a different month per channel, paid for by a small equal cut to the channel's other months. Every week outside those months is nudged up or down by exactly 20% (half up, half down).Annual only
Month stepEach month's whole budget is stepped up or down by 20%, in a balanced pattern that is unrelated between channels. The weekly shape inside a month is unchanged, so budgets change at most 12 times a year.Annual only
Dark weekOnce a quarter a channel goes dark for 1 week (zero spend) in one month. That month's other weeks absorb the budget.Monthly and annual
  • Every strategy keeps each channel's annual budget and the split across channels. Only the timing changes.
  • Monthly and annual: each calendar month keeps its planned budget, so changes stay inside the month.
  • Annual only: budget can move between months.

How they compare

StrategyVariance impactBias impactSaturation impactAdstock impactCostPeak week
unphased0%0%0%0%0.00%1.0x
Weekly nudge22%1%5%23%0.25%1.3x
Dark month64%33%48%48%1.82%2.2x
Peak month61%22%24%44%1.46%2.5x
Combined Recommended70%47%59%60%3.42%2.5x
Month step35%7%4%23%0.24%1.2x
Dark week43%8%18%39%0.63%1.5x
  • Impact: the improvement on the unphased plan, averaged across channels.
  • Saturation and adstock: how much narrower the recovered range gets.
  • Cost: the share of plan-year revenue given up under the supplied response curves.
  • Peak week: the biggest week of spend as a multiple of that week's plan. It is the check on whether a media buyer can book it.
  • The highlighted strategy is picked on variance, bias and identifiability, not on cost.

How the benefit builds over time

After one year of Combined: variance 70% better, bias 47% better, saturation 59% better and adstock 60% better. After 3 years: variance 82% better, bias 70% better, saturation 77% better and adstock 75% better.

How the benefit builds over time
0%25%50%75%100%Unphased1 year2 years3 yearsYears phasedImprovement on the unphased planVariance 82%Saturation 77%Adstock 75%Bias 70%

How much each measure improves on the unphased plan as more of the data is phased. Year 1 phases the plan year only. Each later year also phases one more year of your history, as if phasing had started then. It is a counterfactual on your own spend, not a forecast.