Two September forecasts scored daily against real results, both frozen before the month started, so the whole month is a fair race. The model is the sep-2026-plan ramp (£69,650 spend landing near £215,657 = 83% of her goal), day-shaped by the Recharge billing schedule for subscriptions and by measured weekday and email-day effects for everything else. The client sheet (£260,511) is scored exactly as she built it. Her email calendar drives both lines' day shape, so a launch day that lands flat hits both forecasts, not just hers.
| Revenue | Ad spend | |
|---|---|---|
| Model landing (actuals + remaining model forecast) | £215,658 | £69,650 |
| Client sheet landing (actuals + her remaining plan) | £260,511 | n/a (no ad plan in her sheet) |
| Client sheet full-month goal | £260,511 | n/a |
| Model full-month forecast | £215,658 | £69,650 |
| Actual to date (complete days + today so far) | £0 | £0 |
Guardrail: the ramp steps up only while 7-day CAC holds under £50. CAC could not be refreshed on this run, so no number is quoted rather than a stale one.
MAE = average daily error. Bias = cumulative forecast vs cumulative actual (positive = forecast too high). The online rows are the interesting ones: they test whether the measured email-day lifts (regular email +£553, launch +£4,118, weekday-controlled, 152 days of evidence) predict her calendar's spikes better than her round-number day targets.
| Forecast | Days scored | MAE / day | Cum bias | Cum forecast | Cum actual |
|---|
Same VAT basis, same revenue definition - the gap is real, and it splits into two parts.
| Component | Her sheet | Model | Gap | Why |
|---|---|---|---|---|
| Subscriptions | £63,761 | £55,931 | −£7,830 | Her daily subs line is the same 30 numbers pasted by day-position into every month Sept to Dec (closest to June's shape). The model line is the actual Recharge billing schedule: 97% of September is already queued with a date and an amount. |
| Online (new + returning) | £196,750 | £159,727 | −£37,024 | Her online line is a top-down day-spread of the goal (£6,558/day average). The measured no-email baseline is ~£3,100/day of non-sub revenue; closing her gap is 80% more new-customer revenue than August produced, and her sheet contains no ad plan to buy it. |
Her email-day jumps are directionally right and are kept in the model's day shape: regular email days really do run about +£550 and launch days about +£4,100 over the weekday baseline (best observed: Emily Doran shop-now day, +£10,200). Her £14,000 target for the 12 Sept Autumn Launch needs a best-ever collab-scale day; the model carries that day at £13,352 - still its biggest day of the month.
Spend plan is the approved ramp: £1,750 → £2,100 → £2,500 → £2,800 total/day in weekly steps (Meta budgets to SET are grossed up by the 0.94 delivery ratio: £1,606 / £1,979 / £2,404 / £2,723). Actual spend is Meta plus Google. Cum Δ columns: actual minus forecast, running. Greyed rows are future days; today is excluded from scoring until complete.
| Day | Calendar | Ad spend | Subscriptions | Online | Total revenue | Cum Δ | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Plan | Actual | Model | Client | Actual | Model | Client | Actual | Model | Client | Actual | Model | Client | ||
| 1 Tue | Scent of the month: Fig (launch email) | £1,750 | £3,948 | £4,848 | £5,919 | £7,000 | £9,867 | £11,848 | ||||||
| 2 Wed | £1,750 | £1,283 | £1,769 | £4,102 | £5,000 | £5,385 | £6,769 | |||||||
| 3 Thu | Cook / back-to-school email | £1,750 | £1,558 | £1,818 | £4,582 | £7,000 | £6,140 | £8,818 | ||||||
| 4 Fri | £1,750 | £1,635 | £2,058 | £4,016 | £5,000 | £5,651 | £7,058 | |||||||
| 5 Sat | Fig Reviews email | £1,750 | £1,533 | £1,808 | £4,759 | £7,000 | £6,292 | £8,808 | ||||||
| 6 Sun | £1,750 | £1,696 | £2,065 | £4,416 | £5,000 | £6,112 | £7,065 | |||||||
| 7 Mon | Last Chance Citronella & Roses email | £1,750 | £1,642 | £1,882 | £4,626 | £5,000 | £6,268 | £6,882 | ||||||
| 8 Tue | £2,100 | £1,011 | £1,273 | £4,529 | £7,000 | £5,540 | £8,273 | |||||||
| 9 Wed | Autumn is coming email | £2,100 | £1,513 | £1,837 | £5,033 | £5,000 | £6,546 | £6,837 | ||||||
| 10 Thu | £2,100 | £1,714 | £1,923 | £4,512 | £5,000 | £6,226 | £6,923 | |||||||
| 11 Fri | £2,100 | £1,746 | £1,819 | £4,446 | £4,500 | £6,192 | £6,319 | |||||||
| 12 Sat | AUTUMN LAUNCH: Rust & Amber (her sheet: £14,000 day) | £2,100 | £1,382 | £1,497 | £11,970 | £14,000 | £13,352 | £15,497 | ||||||
| 13 Sun | day after launch | £2,100 | £1,575 | £1,857 | £6,212 | £7,000 | £7,787 | £8,857 | ||||||
| 14 Mon | £2,100 | £2,156 | £2,318 | £4,556 | £6,000 | £6,712 | £8,318 | |||||||
| 15 Tue | Meet Amber email | £2,500 | £2,502 | £2,782 | £5,506 | £6,250 | £8,008 | £9,032 | ||||||
| 16 Wed | £2,500 | £1,070 | £1,259 | £5,009 | £6,500 | £6,079 | £7,759 | |||||||
| 17 Thu | Ways to Style your Potts email | £2,500 | £1,382 | £1,544 | £5,489 | £6,500 | £6,871 | £8,044 | ||||||
| 18 Fri | £2,500 | £1,794 | £1,797 | £4,923 | £6,000 | £6,717 | £7,797 | |||||||
| 19 Sat | Three perfect autumn scents email | £2,500 | £1,714 | £1,920 | £5,666 | £6,000 | £7,380 | £7,920 | ||||||
| 20 Sun | £2,500 | £1,641 | £1,988 | £5,323 | £8,000 | £6,964 | £9,988 | |||||||
| 21 Mon | £2,500 | £1,314 | £1,441 | £5,032 | £7,000 | £6,346 | £8,441 | |||||||
| 22 Tue | Saying goodbye to Diffusers email | £2,800 | £1,372 | £1,665 | £5,855 | £8,000 | £7,227 | £9,665 | ||||||
| 23 Wed | £2,800 | £1,585 | £1,790 | £5,358 | £6,000 | £6,943 | £7,790 | |||||||
| 24 Thu | £2,800 | £1,385 | £598 | £5,337 | £8,000 | £6,722 | £8,598 | |||||||
| 25 Fri | £2,800 | £1,827 | £2,103 | £5,272 | £5,000 | £7,099 | £7,103 | |||||||
| 26 Sat | £2,800 | £1,277 | £2,067 | £5,514 | £8,000 | £6,791 | £10,067 | |||||||
| 27 Sun | £2,800 | £1,757 | £2,588 | £5,672 | £6,000 | £7,429 | £8,588 | |||||||
| 28 Mon | £2,800 | £3,620 | £3,684 | £5,381 | £6,000 | £9,001 | £9,684 | |||||||
| 29 Tue | £2,800 | £2,159 | £2,191 | £5,354 | £8,000 | £7,513 | £10,191 | |||||||
| 30 Wed | £2,800 | £5,140 | £5,572 | £5,358 | £6,000 | £10,498 | £11,572 | |||||||
build-forecast-data.cjs; the nightly run only adds actuals and re-scores.node update-tracker.cjs in this folder.