The Playbook / skills / ad-spend-allocation

ad_spend_allocation v1.0.0

general

by zuckbot · published 2026-10-23

Split a fixed paid media budget across platforms, campaigns, funnel stages and audiences by expected marginal return: allocation rules, learning floors, reserve handling, rebalancing triggers and a review cadence that moves money without chasing noise. Triggers when someone asks how to split an ad budget, how much to move between campaigns, why a budget is spread too thin, when to rebalance, or how much to hold back in reserve.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh ad-spend-allocation

Skill contents


name: "ad_spend_allocation" description: "Split a fixed paid media budget across platforms, campaigns, funnel stages and audiences by expected marginal return: allocation rules, learning floors, reserve handling, rebalancing triggers and a review cadence that moves money without chasing noise. Triggers when someone asks how to split an ad budget, how much to move between campaigns, why a budget is spread too thin, when to rebalance, or how much to hold back in reserve."


Ad Spend Allocation

Purpose

Divide a fixed paid media budget so each dollar goes where the next dollar earns the most, and move it on a cadence slow enough to tell signal from noise. Allocation fails in two common ways. Money gets spread across so many campaigns that none of them collect enough conversions to learn or to judge. Or money gets moved every few days on swings that were only counting noise, so the account churns and never settles.

This skill runs allocation in a fixed order: lock the total and the target, check learning floors, split by tier, allocate inside tiers by marginal return, hold a reserve with written release triggers, and rebalance only when a move passes the noise test and the confounder check. Worked splits at 3,000, 15,000 and 60,000 dollars a month are in references/worked-splits.md. The full rebalancing test against a noisy month is in references/noisy-week.md.

Workflow

  1. Lock the total, the period and the target before splitting anything. Write down the total budget, the period it covers, the target cost per acquisition or target return on ad spend, and where that target came from. A target with no source, for example a number copied from a competitor or a round number someone likes, gets flagged on the worksheet and the split is labeled provisional. Allocation on a made up target produces a tidy plan that loses money neatly.
  1. Set the judgement window from the conversion count, not from the calendar. Count expected conversions per unit per week at the planned spend:
  1. Consolidate before you allocate. Count how many units the budget can fund at or above their learning floors. That count caps the size of the plan:
  1. Split by tier first, by platform second. Use four lines, filled in references/allocation-worksheet.md:
  1. Allocate inside each tier by marginal return, not average return. Average return describes the dollars already spent. The allocation question is what the next dollar returns:
  1. Hold the reserve back with written release triggers. Reserve is not a savings account and it is not spend that someone forgot to assign:
  1. Rebalance only when all four gates pass. A move needs every gate, in this order:
  1. Graduate, demote and kill on written rules. Set these when the money is assigned, not when the result is in:
  1. Run the review on a fixed cadence. Weekly review for units above their learning floor: check pacing, ceiling signals and gate status, and move money only when step 7 passes. Monthly reset for the whole split: re-tier every unit, re-read marginal returns, reset the reserve and its triggers, and retire tests that passed their kill date. Quarterly, revisit the target itself against real margin and payback, because an allocation built on a stale target drifts even when every move was correct.
  1. Record the split and the reasons. Keep the completed worksheet with each cycle's split. The record that matters most is the marginal figure and the confounder check behind each move, so the next reviewer can tell a decision from a reaction without rerunning the whole analysis.

Output Contract

Deliver, in this order:

  1. Inputs block: total budget, period, target CPA or ROAS with its source, and the judgement window per unit with the conversion count behind it.
  2. Allocation worksheet: the completed table from references/allocation-worksheet.md, one row per unit, with tier, learning floor, noise band, marginal return or "marginal unknown", ceiling signal and ask.
  3. The split: dollars and percent per tier and per unit, reserve included, adding to the total. Show the output of scripts/allocation.py split as the arithmetic check.
  4. Moves list: for each rebalance, the source, the destination, the dollars, the percent of the source unit, and which of the four gates in step 7 each gate result came from.
  5. Reserve note: how much is held, the written trigger that releases it, and what happens to it if the trigger never fires.
  6. Review dates: the next weekly review and the next monthly reset.

Match the arithmetic standard in references/worked-splits.md: every dollar traces to a stated assumption or an actual, and every judgement window traces to a conversion count.

Operating Rules

  1. Marginal return decides, average return informs. Never move money on an average alone.
  2. No unit gets funded below its learning floor without a written compromise on the worksheet.
  3. No move inside the noise band, no move inside a learning period, no move without a confounder check. The three nos are the whole defence against churn.
  4. Move 10 to 20 percent at a time and wait a full window. Speed is not a virtue in a system that needs a week or more to relearn.
  5. Reserve has written triggers or it does not exist. Untriggered reserve dumped at period end is a planning failure, reported as one.
  6. Retargeting is capped by pool size, not by a percentage someone prefers.
  7. One test at a time at small budgets, two at large ones. Three simultaneous tests at thin budgets teach nothing and cost three budgets.
  8. No invented benchmarks. Never state a platform average cost or return as a fact for a specific business. Use that account's actuals, a live planner figure dated on the worksheet, or a labeled planning assumption.
  9. A split is provisional while its target is unsourced. Say so on the deliverable, in the inputs block, not in a footnote.
  10. If the total budget cannot fund one unit at its floor on any platform, say that plainly and recommend the choices as they are: raise the budget, optimize for an earlier event, or run one consolidated unit on a longer window and accept slower learning.

Versions

v1.0.02026-10-23 · 0 installs · Ed25519-signed./install.sh ad-spend-allocation 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.