Two August forecasts scored daily against real results. The new sheet (frozen 14 Aug) keeps the client's online revenue plan and email calendar, replaces her subscription line with the renewal-book model, and adds a daily ad spend plan. The client sheet is scored as she built it. One variable differs between them (subscriptions), so the accuracy gap between the two sheets measures the subs model directly. Kept separate from the KC Financial Dashboard until cost inputs are settled.
| Revenue | Ad spend | |
|---|---|---|
| New sheet projected landing (actuals + remaining forecast) | £209,833 | £52,288 |
| Client sheet full-month target | £225,695 | n/a (no spend plan) |
| KC Dashboard predicted landing | £170,898 | £27,064 |
| KC Dashboard stretch plan | £189,704 | £26,945 |
| Actual to date (complete days + today so far) | £126,130 | £34,597 |
| …of which Meta / Google (complete days to 2026-08-20) | £29,120 / £5,458 |
MAE = average daily error. Bias = cumulative forecast vs cumulative actual (positive = forecast too high). The fair race between the two sheets runs 14-31 Aug, the window both forecasts cover from their freeze dates. Subs rows validate the renewal-book model directly; days 1-13 for the model are its out-of-sample backtest.
| Forecast | Days scored | MAE / day | Cum bias | Cum forecast | Cum actual | |
|---|---|---|---|---|---|---|
| Total revenue - NEW SHEET (race, 14-31) | 7 | £1,570 | 16.8% | £57,369 | £49,106 | |
| Total revenue - client sheet (race, 14-31) | 7 | £1,571 | 18.0% | £57,937 | £49,106 | |
| Total revenue - client sheet (full month) | 20 | £975 | 10.8% | £138,644 | £125,134 | |
| Subs - renewal-book model (race, 14-31) | 7 | £393 | 18.1% | £11,369 | £9,626 | |
| Subs - client sheet (race, 14-31) | 7 | £430 | 24.0% | £11,937 | £9,626 | |
| Subs - renewal-book model (incl. 1-13 backtest) | 20 | £292 | 10.8% | £34,364 | £31,007 | |
| Subs - client sheet (full month) | 20 | £346 | 20.0% | £37,214 | £31,007 |
The KC Financial Dashboard recorded £0 of Google spend for August. Google Ads is in fact running four campaigns (Shopping High, Shopping Low Brand, Search Brand, PMax) at an average of £273/day, £5,458 month to date through 2026-08-20, which is 15.8% of all ad spend. The dashboard's puller calls Google Ads API v21, which Google now rejects as an unsupported version, so the call fails and the month books zero. This tracker pulls Google independently on v24 and every spend figure below is Meta plus Google.
This is not a Pott-only problem. The version broke between 6 and 13 Aug. Hyde & Hare and Pairs still show Google spend only because their nightly sync last succeeded on 6 and 3 Aug respectively and their month docs are frozen at those dates. Every client will book £0 Google as soon as the sync resumes, unless the API version is bumped first. Both faults are logged for the dashboard backlog.
Any August efficiency number produced before 15 Aug was Meta-only and understated spend by about 18%. Corrected:
| August 1-12 | Meta only (wrong) | Meta + Google (true) |
|---|---|---|
| Spend | £17,421 | £20,540 |
| CAC | £37 | £44 |
| New-customer ROAS | 1.91 | 1.62 |
| Blended ROAS | 4.05 | 3.44 |
Ad spend is almost entirely a new-customer instrument, but daily revenue is mostly driven by returning customers, email and subscriptions. So spend must not be sized as a share of total revenue. Evidence from 92 days of daily data (May to Aug):
| Test | Result | Reading |
|---|---|---|
| Correlation, daily spend vs new-customer revenue | +0.55 | Spend does drive acquisition |
| Correlation, daily spend vs returning revenue | −0.03 | No relationship at all |
| Correlation, daily spend vs subscription revenue | −0.03 | No relationship at all |
| Correlation, daily spend vs total revenue | +0.23 | Weak, and only via the new-customer part |
| Day-to-day volatility: spend vs returning revenue | 17% vs 53% | Spend has always been run flat; revenue is spiky |
| 14 Aug (Emily Doran launch), the month's biggest day | 81% returning | New-customer revenue was 35% below a normal day |
The retired v1 plan divided her online revenue target by a blended MER of 2.9, which made spend swing from £1,725 to £3,450 and put the single biggest budget on the bank-holiday email day. On the evidence above that is backwards: list-driven days need no extra ad spend at all.
The plan is therefore flat, with no day-to-day modulation at all: Meta budgets are a decision we set rather than something to forecast, and the efficiency data below gives no reason to move the number around. An earlier draft varied the daily figure by £250 on product-push days; that was invented rather than evidenced and has been removed.
Restated 21 Aug (v4). Days 15 to 20 ran on the flat £1,750/day. Meta budgets were then cut on 19 and 20 August to £1,240/day configured, so days 21 to 31 are restated to £1,610/day total, roughly £1,290 Meta plus £320 Google. Note that the Meta cut is about £210/day but Google has drifted up from roughly £230/day to £320/day over the same period, so the net change is only about £140/day and the month lands near £52,270 rather than £53,828. The rule did not change, only the budget decision.
Google is not a lever. There is £618/day of Google budget configured against about £320/day of actual spend, and every campaign reports 0.0% impression share lost to budget. Google is limited by the auction, not by us, so its spend is a number we forecast rather than one we set. Raising Google budgets would buy nothing.
On corrected numbers, no. CAC is improving while spend rises, and there is no saturation anywhere in the range this account has operated:
| Window (Meta + Google) | Spend / day | CAC | NC ROAS | Blended ROAS |
|---|---|---|---|---|
| Trading days -42 to -28 | £1,168 | £53 | 1.36 | 4.54 |
| Prior 14 trading days | £1,229 | £54 | 1.35 | 3.91 |
| Last 14 trading days | £1,641 | £44 | 1.61 | 3.54 |
| Spend quartiles, 92 days (£950 → £1,559/day) | rising 64% | £50 / £48 / £52 / £50 | flat | - |
Spend is up 34% over the last fortnight and CAC fell from £54 to £44. Across 92 days, CAC does not move with spend level at all. That is the signature of an account with headroom, not one at its ceiling.
The payback test. Break-even CPA on the first order is £29.68 at August's new-customer AOV, so at £44 each new customer starts about £14 down. The cohort curve closes that gap in month 4, and 36-month contribution per new customer is £103, roughly 2.3x the acquisition cost. Acquisition is profitable on any horizon longer than a quarter.
The one real caution is cash, not efficiency. Blended ROAS has slipped from 4.54 to 3.54 across those same three windows. That is not a leak, it is arithmetic: spend is growing against a revenue base that is mostly returning and subscription income which ads do not move. It does mean cash converts more slowly, which matters with Q4 inventory to fund. Treat a sustained CAC above £55 (not a fall in blended ROAS) as the signal to pull back.
Spend plan is flat and not derived from the revenue targets: £1,750/day for days 15 to 20, restated to £1,610/day for days 21 to 31 after the Meta budget cut on 19-20 Aug. The actual column is Meta plus Google combined; hover the split in the data file if you need it per channel. Cum Δ columns: actual minus forecast, running. Greyed rows are future days; today is marked and excluded from scoring until complete.
| Day | Calendar | Ad spend | Subscriptions | Online | Total revenue | Cum Δ | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Plan | Actual | Model | Client | Actual | Client | Actual | New | Client | Actual | New | Client | ||
| 1 Sat | Orangery scent-of-month drop | £1,427 | £2,359 | £3,621 | £2,970 | £4,930 | £5,954 | £7,289 | £8,551 | £8,924 | +£373 | ||
| 2 Sun | £1,521 | £1,892 | £1,948 | £1,804 | £3,500 | £3,327 | £5,392 | £5,448 | £5,131 | +£56 | |||
| 3 Mon | Aug Bday Gift Guide email | £1,496 | £1,874 | £2,249 | £1,999 | £4,500 | £3,231 | £6,374 | £6,749 | £5,229 | −£1,464 | ||
| 4 Tue | £1,642 | £1,708 | £1,994 | £1,688 | £4,000 | £3,415 | £5,708 | £5,994 | £5,103 | −£2,355 | |||
| 5 Wed | Orangery Reviews email | £1,623 | £1,711 | £1,748 | £1,192 | £4,500 | £4,564 | £6,211 | £6,248 | £5,756 | −£2,847 | ||
| 6 Thu | £1,562 | £1,731 | £1,716 | £1,717 | £4,000 | £4,183 | £5,731 | £5,716 | £5,901 | −£2,662 | |||
| 7 Fri | £1,829 | £1,599 | £1,549 | £1,479 | £4,000 | £4,172 | £5,599 | £5,549 | £5,651 | −£2,561 | |||
| 8 Sat | Summer at Home email | £1,939 | £1,679 | £2,164 | £1,446 | £4,500 | £5,048 | £6,179 | £6,664 | £6,494 | −£2,730 | ||
| 9 Sun | £2,454 | £1,580 | £1,285 | £1,085 | £4,000 | £5,115 | £5,580 | £5,285 | £6,200 | −£1,815 | |||
| 10 Mon | £1,699 | £1,576 | £1,660 | £1,386 | £4,000 | £4,283 | £5,576 | £5,660 | £5,668 | −£1,806 | |||
| 11 Tue | Emily Doran teaser | £1,583 | £1,576 | £1,560 | £1,297 | £4,500 | £3,491 | £6,076 | £6,060 | £4,788 | −£3,079 | ||
| 12 Wed | £1,771 | £1,897 | £1,749 | £1,627 | £4,000 | £4,448 | £5,897 | £5,749 | £6,074 | −£2,753 | |||
| 13 Thu | 24-hour email | £1,728 | £1,813 | £2,034 | £1,692 | £5,000 | £3,417 | £6,813 | £7,034 | £5,109 | −£4,679 | ||
| 14 Fri | Emily Doran launch | £1,666 | £1,709 | £1,179 | £948 | £12,000 | £13,299 | £13,709 | £13,179 | £14,247 | +£538 | −£3,611 | |
| 15 Sat | £1,750 | £1,840 | £1,909 | £2,721 | £1,466 | £6,000 | £7,269 | £7,909 | £8,721 | £8,736 | +£1,365 | −£3,596 | |
| 16 Sun | Emily Doran email | £1,750 | £1,972 | £1,496 | £1,259 | £1,610 | £6,000 | £4,733 | £7,496 | £7,259 | £6,343 | +£212 | −£4,512 |
| 17 Mon | £1,750 | £1,867 | £1,646 | £1,387 | £1,165 | £5,000 | £3,423 | £6,646 | £6,387 | £4,588 | −£1,846 | −£6,311 | |
| 18 Tue | Tomato Vine | £1,750 | £1,743 | £1,537 | £1,797 | £1,434 | £6,000 | £3,888 | £7,537 | £7,797 | £5,321 | −£4,062 | −£8,787 |
| 19 Wed | £1,750 | £1,804 | £1,528 | £1,456 | £1,068 | £5,000 | £4,048 | £6,528 | £6,456 | £5,116 | −£5,474 | −£10,127 | |
| 20 Thu | Tomato Vine | £1,750 | £1,414 | £1,544 | £2,138 | £1,935 | £6,000 | £2,820 | £7,544 | £8,138 | £4,755 | −£8,263 | −£13,510 |
| 21 Fri | £1,610 | £19 | £1,294 | £1,021 | £622 | £5,000 | £374 | £6,294 | £6,021 | £996… | |||
| 22 Sat | Tomato Vine | £1,610 | £1,403 | £1,523 | £6,000 | £7,403 | £7,523 | ||||||
| 23 Sun | £1,610 | £1,365 | £573 | £5,000 | £6,365 | £5,573 | |||||||
| 24 Mon | £1,610 | £1,622 | £1,827 | £5,000 | £6,622 | £6,827 | |||||||
| 25 Tue | Bank holiday outdoor push | £1,610 | £1,702 | £2,103 | £10,000 | £11,702 | £12,103 | ||||||
| 26 Wed | £1,610 | £1,734 | £2,067 | £6,500 | £8,234 | £8,567 | |||||||
| 27 Thu | £1,610 | £2,022 | £2,588 | £6,000 | £8,022 | £8,588 | |||||||
| 28 Fri | £1,610 | £2,026 | £3,684 | £5,000 | £7,026 | £8,684 | |||||||
| 29 Sat | Last Tomato Vine | £1,610 | £1,889 | £2,191 | £6,000 | £7,889 | £8,191 | ||||||
| 30 Sun | £1,610 | £1,799 | £2,800 | £5,500 | £7,299 | £8,300 | |||||||
| 31 Mon | Bank hol - diffusers last chance | £1,610 | £1,843 | £674 | £6,000 | £7,843 | £6,674 | ||||||
Contribution margin 56.5%. First-purchase break-even CPA £24.74. August CAC is £37, so each new customer is still roughly £12 underwater on the first order and recovered through subscription and repeat LTV. But the direction matters more than the level: CAC has gone £60 (May) to £44 (Jun) to £52 (Jul) to £37 (Aug), and new-customer ROAS £1.14 to £1.92 over the same span, making August the most efficient acquisition month of the last four. The KC plan's seasonal assumption of £24.72 (built on last August's unusually cheap auctions) has not been matched, but the gap is closing rather than widening. Cost inputs are under audit (duplicate-SKU COGS conflicts in Shopify) - treat profit math as directional until resolved.
node update-tracker.cjs in this folder.