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.
| Channel | Spend | ROI | Saturation | Adstock |
|---|---|---|---|---|
| tv | £5.58m | £0.50 | 0.60 | 0.50 |
| meta | £4.50m | £1.00 | 0.75 | 0.30 |
| search_generic | £4.44m | £1.50 | 0.90 | 0.10 |
| tiktok | £4.46m | £1.20 | 0.70 | 0.20 |
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.
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.
| tv | meta | search_generic | tiktok | |
|---|---|---|---|---|
| tv | 1.00 | 0.67 | 0.68 | 0.67 |
| meta | 0.67 | 1.00 | 0.60 | 0.67 |
| search_generic | 0.68 | 0.60 | 1.00 | 0.65 |
| tiktok | 0.67 | 0.67 | 0.65 | 1.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.
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.
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.
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.
The same for adstock decay: how long a week's spend keeps working.
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.
| tv | meta | search_generic | tiktok | |
|---|---|---|---|---|
| tv | 1.00 | 0.17 | 0.18 | 0.15 |
| meta | 0.17 | 1.00 | 0.15 | 0.15 |
| search_generic | 0.18 | 0.15 | 1.00 | 0.11 |
| tiktok | 0.15 | 0.15 | 0.11 | 1.00 |
Variance
The range narrows for every channel: tv by 74%, meta by 65%, search_generic by 67% and tiktok by 72%.
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%.
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%.
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.
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.
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.
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
| Strategy | What it does to the plan | Budget totals kept |
|---|---|---|
| unphased | The plan exactly as supplied. Every other row is measured against this one. | Monthly and annual |
| Weekly nudge | Every 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 month | Each 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 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. | Annual only |
| Combined | Each 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 step | Each 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 week | Once 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
| Strategy | Variance impact | Bias impact | Saturation impact | Adstock impact | Cost | Peak week |
|---|---|---|---|---|---|---|
| unphased | 0% | 0% | 0% | 0% | 0.00% | 1.0x |
| Weekly nudge | 22% | 1% | 5% | 23% | 0.25% | 1.3x |
| Dark month | 64% | 33% | 48% | 48% | 1.82% | 2.2x |
| Peak month | 61% | 22% | 24% | 44% | 1.46% | 2.5x |
| Combined Recommended | 70% | 47% | 59% | 60% | 3.42% | 2.5x |
| Month step | 35% | 7% | 4% | 23% | 0.24% | 1.2x |
| Dark week | 43% | 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 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.