Zurück zu Skills
mbfinotti/advertising-skillsPrüfung bestanden

SKILL DETAIL

ad-spend-allocation

mbfinotti/advertising-skills/ad-spend-allocation

Split a fixed total paid-media budget across campaigns, platforms, funnel stages, and audiences based on expected marginal return - the monthly or quarterly reallocation decision, for B2B and B2C. Use whenever the user asks how to split an ad budget, which channel or campaign should get more money, how to reallocate spend, how much to put behind prospecting vs retargeting, or mentions a portfolio split, marginal return, or diminishing returns - even if they never say 'allocation'. Do NOT use to raise the total budget on a proven campaign (mbfinotti/advertising-skills@paid-media-scaling), to track daily spend against a set budget (mbfinotti/advertising-skills@ad-budget-pacing), or to pick channels at setup (mbfinotti/advertising-skills@ad-platform-selection).

Installationen · 178Quelle ansehen

Installation

npx skills add https://github.com/mbfinotti/advertising-skills --skill ad-spend-allocation

Skill-Dateien

SKILL.md

Zuletzt synchronisiert · 24.09.2026

evals/evals.json›
{
  "skill_name": "ad-spend-allocation",
  "evals": [
    {
      "id": 1,
      "prompt": "I run growth at Verdana Home, a DTC home-fragrance brand. Fixed media budget of $80K/month, not moving. Current lines: Meta prospecting $30K (2.0x ROAS in Ads Manager; addressable audience about 2.4M, we reached ~410K of them in the last 30 days), Meta retargeting $16K (4.9x), Google non-brand search $14K (search impression share lost to budget is 44%), Google brand search $12K (12x ROAS per Google), and a TikTok test at $8K that's in week 5 of an 8-week run with a day-60 decision date - it hasn't beaten Meta's 2.0x yet. Contribution margin is 52%. My plan for next month: double brand search to $24K since it's clearly our best performer, cut prospecting to $18K and put the difference into retargeting since 4.9x beats 2.0x, and kill TikTok now since it lost to Meta. We target 4x ROAS overall because that's the standard benchmark. Can you finalize the new split?",
      "expected_output": "A refusal of the proposed moves with a corrected $80K split driven by marginal signals (penetration headroom, impression-share headroom), the brand-search line held or reduced pending a holdout, the TikTok test preserved to its decision date, bounded step sizes, per-line change packets, a corrected break-even ROAS, and the whole plan presented for approval rather than finalized.",
      "files": [],
      "expectations": [
        "The response does not finalize the user's plan; it distinguishes average return from marginal return and states that money moves on marginal return, not on which line has the best average ROAS.",
        "The response flags the 12x Google brand figure as platform-reported and untrustworthy for allocation, citing systematic overstatement of real return (on the order of 1.75-2.97x) and/or brand search collapsing under incrementality testing.",
        "The response does not increase Google brand search; it holds or reduces the line pending a holdout or incrementality test.",
        "The response rejects the 100% step on brand search on step-size grounds: default increments are 15-20% of a line per cycle, and a move of 30% or more in one step is refused.",
        "The response refuses to cut Meta prospecting to fund retargeting, explaining that retargeting's 4.9x is partly credit for conversions prospecting created.",
        "The response states that over-funding retargeting inflates blended ROAS while starving the prospecting that refills the retargeting pool.",
        "The response computes Meta prospecting reach against audience (about 410K of 2.4M, roughly 17%) and reads under-25% penetration as headroom, treating the line as a candidate for more budget despite its lower average ROAS.",
        "The response reads the 44% impression share lost to budget as budget-responsive headroom for Google non-brand search.",
        "The response corrects the 4x target: break-even ROAS equals 1 divided by contribution margin, about 1.9x at 52% margin, and says the flat 4x benchmark is wrong for this brand.",
        "The response refuses to kill the TikTok test before its day-60 decision date, and states the right comparison for the new channel is the incumbent's marginal efficiency (the last dollars being moved), not Meta's average.",
        "Any proposed amounts sum exactly to $80,000.",
        "Every changed line carries a rollback threshold and a verification date.",
        "Marginal estimates are labeled by evidence class (directional proxy at minimum), and the plan is marked provisional where only platform-reported numbers exist.",
        "The output is presented as a proposal awaiting the user's approval, not as an executed or final change."
      ]
    },
    {
      "id": 2,
      "prompt": "Founder at Loam & Ember, a DTC cookware brand. We can spend $12K/month on ads and I want a presence everywhere our buyers are: Google Search non-brand, Meta, TikTok, Pinterest, and YouTube - $2,400 each feels fair and diversified. Our target cost per new customer is $35 (AOV is $120; we haven't worked out margin per order precisely). We installed the Meta pixel two weeks ago but haven't verified events yet. Write up the five-way split so I can hand it to our freelancer.",
      "expected_output": "A rejection of the even five-way split on funding-floor grounds, a concentrated alternative (search plus at most one or two social channels) with explicit rejection lines for the rest, a flag on the unverified pixel, a request for margin/payback inputs, and a $12,000 plan presented for approval.",
      "files": [],
      "expectations": [
        "The response explicitly rejects the even $2,400 five-way split rather than writing it up.",
        "The response derives a paid-social funding floor from the $35 target CPA, approximately CPA x 50 / 7, i.e. about $250/day or roughly $7,500/month per social channel.",
        "The response states a floor for automated search of around $50/day.",
        "The response concludes the budget clears the floor for at most search plus one social channel and recommends fewer channels, never a thinner spread.",
        "The response states that $2,400/month per channel leaves each channel below its learning threshold or minimum sample - five underpowered experiments.",
        "Channels excluded from the plan get explicit rejection lines, and no channel is funded merely to keep a presence.",
        "The response flags the unverified Meta pixel and requires conversion tracking to be verified before optimizing the allocation.",
        "The response asks for or estimates contribution margin and payback before treating the $35 target CPA as affordable, rather than accepting it as given.",
        "If any test channel is kept, it is framed as a bounded experiment with a hypothesis, decision date, and stop condition, not a permanent presence line.",
        "Any proposed amounts sum exactly to $12,000.",
        "The response does not invent performance weights for channels with no history; any split among untested channels is presented as scenarios or an equal-weight split explicitly marked provisional.",
        "The plan sets a revisit date or cadence for re-reading the split.",
        "The output is presented as a proposal awaiting the user's approval, not handed off as final."
      ]
    },
    {
      "id": 3,
      "prompt": "I'm VP Marketing at Ferrostat, an industrial-IoT SaaS: $32K ACV, roughly 105-day sales cycle, lead-to-close about 11%. Quarterly paid budget fixed at $120K. Current lines: search $34K and review-site listings $20K (together those two sourced 63% of new pipeline last quarter on 45% of budget; search impression share lost to budget is 38%), LinkedIn $54K (audience of 38,000, we reached 12,400 of them in the last 30 days), webinar promotion $12K. Last month's closed-won report: 6 deals from webinars and search, zero sourced from LinkedIn. My CEO wants LinkedIn cut 60% next quarter with the money moved to what's actually closing. Draft the new quarterly split.",
      "expected_output": "A split that refuses last month's closed-won as the signal for a 105-day cycle, reallocates toward demand capture on the pipeline-share-vs-budget-share and impression-share signals, holds LinkedIn near its penetration-band reading with a bounded (not 60%) reduction, carries break-even CPL of about $3,520, sums to $120,000, and routes the large move through governance.",
      "files": [],
      "expectations": [
        "The response rejects last month's closed-won report as the reallocation signal for a ~105-day sales cycle, stating that closed revenue traces to spend from one to two quarters earlier.",
        "The response reallocates on leading indicators instead: cost per SQL, pipeline created, and penetration.",
        "The response applies pipeline share versus budget share: capture (search plus review sites) at 63% of pipeline on 45% of budget is under-funded at the margin and gains budget.",
        "The response uses the 38% impression share lost to budget as headroom evidence for search.",
        "The response computes LinkedIn 30-day penetration at about 33% (12,400 of 38,000) and reads it as the hold band (25-35%), not as scale-up room and not as proof the channel is worthless.",
        "The response refuses the 60% single-step cut; any LinkedIn reduction is bounded to roughly 15-20% of the line, with moves of 30% or more in one step refused.",
        "The response computes and carries break-even CPL of about $3,520 ($32,000 x 11%) into the plan.",
        "Proposed amounts sum exactly to $120,000.",
        "Changed lines carry rollback thresholds and verification dates.",
        "Marginal estimates are labeled as directional proxies, since no incrementality test or MMM is in evidence.",
        "Before any defund, the response rules out lag, tracking outages, small samples, or seasonality as the cause of the weak signal, rather than defunding the worst attributed performer outright.",
        "The response flags governance for the proposed cut: a move above roughly 25% of a channel's quarterly budget requires joint marketing-and-finance sign-off (or at minimum an approval workflow above roughly 10%).",
        "The output is presented as a proposal awaiting approval, not as an executed decision."
      ]
    },
    {
      "id": 4,
      "prompt": "I'm building the Q1 board deck for Quintarra, a B2B data-integration platform. Marketing slide: we're moving to a 70/20/10 budget model, and I want to anchor it with the McKinsey research showing 70/20/10 companies achieve 2.7x higher shareholder returns. I'll also present the 60/40 brand-to-activation rule as the proven optimum we're aligning to, add the industry stat that budgets waste 20-30% of spend on saturated channels, and justify our frequency budget with the rule of 7. Polish these talking points for the CFO.",
      "expected_output": "A refusal to polish fabricated or folklore claims: the McKinsey 2.7x stat identified as nonexistent, 70/20/10 traced to Eric Schmidt's resource-allocation rule and labeled media-budget folklore, 60/40 corrected to a Binet & Field dataset average with the B2B ~46/54 reweighting, the rule of 7 and the 20-30% waste stat rejected, and the ratios reframed as operator policy corrected by marginal evidence.",
      "files": [],
      "expectations": [
        "The response refuses to include the McKinsey 2.7x / 70/20/10 shareholder-returns claim, identifying it as fabricated - no such report exists.",
        "The response attributes 70/20/10 to Eric Schmidt's Google resource-allocation rule (2005), not to any media study.",
        "The response labels 70/20/10 as folklore for media budgets, usable only as a portfolio-discipline device.",
        "The response corrects the 60/40 framing: it is Binet & Field (IPA Databank), a dataset average across categories, never a per-brand law, and it must not be presented to finance as a proven or evidence-based optimum.",
        "The response notes the B2B reweighting of roughly 46/54 tilted toward activation (LinkedIn B2B Institute), relevant because Quintarra is B2B.",
        "The response rejects the rule of 7 as folklore with no supporting studies (optionally citing the contradicting three-exposures research) and refuses to size a frequency budget on it.",
        "The response flags the '20-30% of spend wasted on saturated channels' stat as a secondhand vendor citation, not presentable fact.",
        "If any quantified figure is offered as a defensible replacement, it is the finding that integrated analytics frees 15-20% of marketing spend (McKinsey, 400+ engagements).",
        "The response frames any adopted ratio as operator policy recorded with its rationale, never as authorization or a proven optimum.",
        "The response recommends the split be presented as a starting posture corrected by marginal evidence each cycle, with a ring-fenced experiment slice.",
        "The response introduces no new unsourced quantified performance claims of its own.",
        "If 70/20/10 survives in the deck, it is presented as maturity-dependent (phase-adjusted, e.g. roughly 40/30/30 with no proven channel, roughly 80/15/5 with a proven growth engine), not as a constant."
      ]
    },
    {
      "id": 5,
      "prompt": "Head of growth at Peltova, DTC consumer electronics. Q4 media budget locked at $450K. Our big moment is a two-week November sale event. Plan: the week before it starts, pull $60K forward from December lines and raise every campaign 40% for the event window - and shift most of the prospecting money into retargeting during those two weeks since purchase intent will be sky-high. Last year we did something similar and blended ROAS looked great during the event. Sign off on the mechanics?",
      "expected_output": "A refusal to sign off, citing the published peak-event evidence (spend raised ~17.4% bought ~1.1% median incremental revenue while incremental ROAS fell ~14.3%, and flat-spend brands' rose), a pre-committed seasonal plan built on per-line marginal signals with bounded steps, the prospecting-to-retargeting shift rejected, governance and change packets attached, and the $450K total preserved.",
      "files": [],
      "expectations": [
        "The response cites the peak-event evidence against reactive raises: brands raising spend about 17.4% into a spike got about 1.1% median incremental revenue while incremental ROAS fell about 14.3%, and flat-spend brands' incremental ROAS rose.",
        "The response states that pre-committing the seasonal plan on marginal returns beats reacting the week before the event.",
        "The response rejects the uniform +40% raise: increments default to 15-20% per line, and moves of 30% or more in one step are refused.",
        "The response rejects shifting prospecting money into retargeting for the spike, explaining that over-funding retargeting inflates blended ROAS while starving the prospecting that refills the pool.",
        "The response explains why last year's strong blended ROAS during the event is not evidence the prospecting-to-retargeting shift worked - inflated blended ROAS is exactly what that shift produces while total demand erodes afterwards.",
        "Any event reallocation is justified per line by a marginal signal (impression-share headroom, audience penetration), never applied uniformly across all campaigns.",
        "The Q4 total stays fixed at $450K, and any proposed amounts sum to it.",
        "The response flags governance for moves of this size: an approval workflow above roughly 10% of a channel's quarterly budget and joint marketing-and-finance sign-off above roughly 25%.",
        "Changed lines carry rollback thresholds and verification dates.",
        "Peak-season reweighting is set on rolling 60-day windows so noise doesn't drive the moves.",
        "The response does not sign off; the output is a proposal awaiting the user's approval.",
        "Estimates driving the event split carry evidence-class labels (directional proxy at minimum)."
      ]
    },
    {
      "id": 6,
      "prompt": "RevOps lead at Marrowline, a B2B payments platform. Fixed Q2 paid budget of $200K. Last quarter's lines: search $70K, LinkedIn $55K, review-site listings $28K, display prospecting $2.4K (that's $800/month - its CPA came out 3x everything else, so I want it killed), and retargeting $24K. This quarter we're adding two new lines with zero history: a podcast sponsorship and a niche-community sponsorship. One data point: Google Ads claims $310K in revenue from search last quarter, but CRM-closed revenue attributable to search is more like $190K. For the two new lines, just assign weights proportional to how promising each seems - you're the expert. Give me exact dollars for all six lines.",
      "expected_output": "A plan that refuses to invent promise-based weights for the zero-history lines (scenarios or a labeled equal-weight provisional instead), structures both new lines as bounded experiments, declines to kill the $800/month line on a starved-spend efficiency read, keeps platform-reported and CRM revenue distinct, sums exactly to $200,000, and names every assumption.",
      "files": [],
      "expectations": [
        "The response refuses to assign proportional weights to the two zero-history lines based on how promising each seems.",
        "Missing data is handled by the named fallback: scenarios with the missing inputs named, or an explicit equal-weight split marked provisional - never a confident-looking invented weighting.",
        "The two new sponsorship lines are structured as bounded experiments, each with a hypothesis, minimum detectable effect, decision date, stop condition, and budget.",
        "The response declines to kill display prospecting on its $800/month CPA reading, explaining that near-zero spend readings do not predict scaled performance (a starved channel's efficiency is not its curve).",
        "Before any line is defunded as weakest, the response rules out lag, tracking issues, small sample, or seasonality as the cause.",
        "The response keeps Google-reported $310K and CRM-attributable $190K distinct, and does not average them or allocate on the platform-reported figure.",
        "The plan is labeled provisional wherever only platform-reported numbers exist.",
        "If exact dollars are given for the six lines, they sum exactly to $200,000.",
        "Each line's marginal estimate carries an evidence-class label: measured, tested, or directional proxy.",
        "Each changed line carries a rollback threshold and a verification date.",
        "The response names which numbers are measured, which are platform-reported, and which are guesses, and gives no point forecast without its assumptions.",
        "The response asks for, or explicitly flags as missing, contribution margin or payback inputs rather than silently assuming them.",
        "The output is presented section by section or as a proposal requiring the user's approval, not as a final executed split."
      ]
    },
    {
      "id": 7,
      "prompt": "I run marketing at Nordvale Outfitters, a DTC outdoor-apparel brand. $95K/month in paid media: Meta $58K, Google non-brand search $27K, Pinterest $10K. We have about 9 months of order history in our warehouse and no in-house analyst. Honestly our confidence in Meta's true contribution is low. Our agency pitched a $65K marketing-mix-model engagement to 'find the optimal allocation across all channels.' Green-light the MMM? And what do we do with the split in the meantime?",
      "expected_output": "A decline of the MMM engagement on its readiness bar (about 2 years of clean weekly data plus a dedicated analyst), with MMM named as off the menu for this account; directional proxies matched to channel type driving this cycle's split; and a geo incrementality test commissioned on the $58K Meta line with the matched-market, holdout, and duration parameters stated, framed as the better first investment and a compounding asset.",
      "files": [],
      "expectations": [
        "The response does not green-light the MMM: the readiness bar is roughly 2 years of clean weekly data (3 for national-level models) plus a dedicated analyst, and Nordvale has 9 months and no analyst.",
        "MMM is named as deleted from this account's menu with the failed prerequisite stated, not parked as a ranked-last option to budget for later.",
        "The default for this cycle is directional proxies on every line.",
        "The response recommends a geo or incrementality test on the largest, least-trusted line (Meta at $58K) while proxies drive the rest of the split.",
        "The test design carries the figures: 10-15+ matched markets, roughly 10-20% of geography held out as control, and about 15 days minimum for fast-purchase products (4-6 weeks for longer cycles).",
        "The response states the incrementality test leaves a reusable causal anchor for later cycles - a compounding asset, not a one-off read.",
        "The response states that an unvalidated model is not evidence, and that even a future MMM's coefficients need holdout or geo validation before being trusted.",
        "The response notes MMM is observational and that a model with priors the buyer sets can be pointed at the conclusion they wanted.",
        "Proxy numbers are labeled as proxies: they buy direction and headroom, never magnitude.",
        "The response checks the incrementality prerequisites before commissioning: a holdable geography and appetite to withhold spend, whose absence would delete the test from the menu.",
        "The response explains why the test is promoted despite proxies winning on efficiency: a misread on a $58K line outweighs the design effort.",
        "Geo-lift testing is named the better first investment than MMM below MMM's readiness bar.",
        "The proxies are matched to channel type rather than ranked against each other: penetration bands for Meta and Pinterest, impression-share headroom for search."
      ]
    },
    {
      "id": 8,
      "prompt": "Media buyer for Vanterre, an online apparel brand. Fixed $110K/month. Google Ads shows 'Limited by budget' on our non-brand campaigns and recommends +30%; Meta's advisor recommends scaling our Advantage+ campaign 25%. Both can't be funded at the current total. We also want to try CTV - my plan was to compare CTV's projected ROAS against Meta's blended 3.4x and only greenlight it if it beats that. And honestly, since Meta is proven, part of me says skip the whole exercise and raise the total to $140K. What do we do?",
      "expected_output": "An arbitration that treats both platform recommendations as isolated inputs, ranks all lines on one comparable marginal basis and funds down the ranking within the fixed $110K, benchmarks CTV against Meta's marginal (not blended) efficiency as a bounded experiment, refuses to resolve the conflict by raising the total, bounds step sizes, and flags platform-reported figures.",
      "files": [],
      "expectations": [
        "The response treats both platform recommendations as inputs, not instructions, noting each is computed in isolation and knows nothing about the budget ceiling or the other lines.",
        "The conflict is resolved with the equimarginal rule: rank every line's marginal return on one comparable basis and fund down the ranking until the fixed total is spent.",
        "The response rejects comparing CTV to Meta's blended 3.4x; the correct benchmark is Meta's marginal efficiency - the last dollars that would be defunded.",
        "The response declines to resolve the conflict by raising the total to $140K; the total stays fixed at $110K and raising it is named as a separate decision outside this exercise.",
        "The response does not fund both platform recommendations at full size simultaneously just because each platform says scale.",
        "If CTV enters the split, it is a bounded experiment with a hypothesis, minimum detectable effect, decision date, stop condition, and a budget checked against a funding floor.",
        "Any increase is bounded to 15-20% of a line per cycle; the +30% Google recommendation is not taken as a single step.",
        "Platform-reported figures (the 3.4x and the advisors' projections) are not used as the allocation basis; they are flagged as overstating real return, with the plan marked provisional where they are all that exists.",
        "Any proposed amounts sum exactly to $110,000.",
        "Changed lines carry rollback thresholds and verification dates.",
        "The 'Limited by budget' status (impression share lost to budget) is used as a headroom signal for search and labeled a directional proxy.",
        "The output is presented as a proposal awaiting approval, not an executed change."
      ]
    }
  ],
  "trigger_queries": [
    { "query": "How should we split $60K a month between Google, Meta, and TikTok?", "should_trigger": true },
    { "query": "Meta's ROAS is the best of all our channels - should it get a bigger share of the budget?", "should_trigger": true },
    { "query": "Quarterly planning time: divide $400K across brand, prospecting, retargeting, and one experiment.", "should_trigger": true },
    { "query": "Which of our campaigns should get more money next quarter?", "should_trigger": true },
    { "query": "How much of the ad budget should go to prospecting vs retargeting?", "should_trigger": true },
    { "query": "We need to reallocate paid media spend for Q3 - walk me through it.", "should_trigger": true },
    { "query": "Is it a mistake to spread $9K/month across five ad channels?", "should_trigger": true },
    { "query": "The board fixed our media budget at $1.5M for the year - how do we carve it up?", "should_trigger": true },
    { "query": "Our top campaign is hitting diminishing returns. Where should the next dollar go instead?", "should_trigger": true },
    { "query": "Help me rebalance our paid media portfolio.", "should_trigger": true },
    { "query": "Google wants more budget, Meta wants more budget, and the total can't move. Who wins?", "should_trigger": true },
    { "query": "What share of spend should brand get versus performance?", "should_trigger": true },
    { "query": "My CMO asked for a marginal-return-based budget split - can you build one?", "should_trigger": true },
    { "query": "Should LinkedIn or search get the incremental $10K we freed up?", "should_trigger": true },
    { "query": "We're overweight retargeting - how do I shift the mix without tanking ROAS?", "should_trigger": true },
    { "query": "Redo our channel mix for next quarter, total stays at $250K.", "should_trigger": true },
    { "query": "How do people decide how much each ad channel deserves?", "should_trigger": true },
    { "query": "I have $20K/month and three campaigns - what's the right split?", "should_trigger": true },
    { "query": "Our budget is flat next year but leadership expects growth. How do we re-split what we have?", "should_trigger": true },
    { "query": "Move money from our worst channel to our best - how much and how fast?", "should_trigger": true },
    { "query": "Reallocation review is Friday. Which lines do we cut and which do we feed?", "should_trigger": true },
    { "query": "B2B question: demand gen gets 70% of budget but capture sources most of the pipeline - rebalance?", "should_trigger": true },
    { "query": "What's a sensible brand/activation ratio for a B2B SaaS budget?", "should_trigger": true },
    { "query": "Is 70/20/10 a good way to divide our advertising money?", "should_trigger": true },
    { "query": "Sales says put everything into search, marketing says video - the pot is fixed. How do we arbitrate?", "should_trigger": true },
    { "query": "Every ad platform tells us to spend more on itself. How do we decide who actually gets more?", "should_trigger": true },
    { "query": "Which funnel stage should we fund first with a fixed $100K?", "should_trigger": true },
    { "query": "How often should we revisit how the ad budget is divided?", "should_trigger": true },
    { "query": "Two of our channels look saturated. Where should that money go instead?", "should_trigger": true },
    { "query": "We just cut total spend 20% - how do we decide which campaigns absorb the cut?", "should_trigger": true },
    { "query": "Our agency proposed an even split across six channels. Sanity-check that?", "should_trigger": true },
    { "query": "What's the case for taking budget away from our highest-ROAS channel?", "should_trigger": true },
    { "query": "Fixed $80K/month, five campaigns, one experiment slot - build the split.", "should_trigger": true },
    { "query": "How much should we hold back for testing new channels each quarter?", "should_trigger": true },
    { "query": "Prospecting or retargeting: which one gets the extra $5K?", "should_trigger": true },
    { "query": "My finance partner wants a defensible logic for the media split. Help.", "should_trigger": true },
    { "query": "We inherited last year's budget split and nobody remembers why. Rework it?", "should_trigger": true },
    { "query": "When does it make sense to zero-base the ad budget?", "should_trigger": true },
    { "query": "What signals tell me a channel deserves more of the pie?", "should_trigger": true },
    { "query": "Divide $30K between search and social for a local services company.", "should_trigger": true },
    { "query": "Our seasonal peak is coming - how should the split change for it?", "should_trigger": true },
    { "query": "I can't fund every channel properly. Which ones do I drop?", "should_trigger": true },
    { "query": "How do I compare a new channel against our incumbent when deciding funding?", "should_trigger": true },
    { "query": "The marketing pot is fixed and three team leads all want more. Referee this.", "should_trigger": true },
    { "query": "What's the smartest way to distribute ad dollars across regions and audiences?", "should_trigger": true },
    { "query": "Should our new product line get its own slice of the ad budget, and how big?", "should_trigger": true },
    { "query": "We do a monthly reshuffle of ad spend - is that too often?", "should_trigger": true },
    { "query": "Give me a framework for deciding channel budget shares that isn't gut feel.", "should_trigger": true },
    { "query": "Marginal ROAS vs average ROAS - which should drive our budget moves?", "should_trigger": true },
    { "query": "How do we split spend between acquiring new customers and re-engaging past site visitors?", "should_trigger": true },
    { "query": "Our Meta campaign is proven - how fast can we scale its budget up?", "should_trigger": false },
    { "query": "When has a campaign earned a budget increase?", "should_trigger": false },
    { "query": "How do I ramp ad spend from $50K to $200K without performance collapsing?", "should_trigger": false },
    { "query": "We're 20 days into the month and only 40% of budget is spent - what daily spend fixes it?", "should_trigger": false },
    { "query": "Set up a tracker for daily spend against our monthly cap.", "should_trigger": false },
    { "query": "Will we overspend the campaign budget before month end?", "should_trigger": false },
    { "query": "We're launching paid ads for the first time - which platforms should we even be on?", "should_trigger": false },
    { "query": "Is TikTok or Google Search a better first channel for our new app?", "should_trigger": false },
    { "query": "What's the maximum CAC we can afford given our margins?", "should_trigger": false },
    { "query": "Help me set a minimum ROAS floor and kill-switch thresholds for the team.", "should_trigger": false },
    { "query": "Is a 3.2x ROAS healthy for DTC skincare?", "should_trigger": false },
    { "query": "Our blended CAC is $210 - is that too high?", "should_trigger": false },
    { "query": "Should we switch from manual CPC to target ROAS bidding?", "should_trigger": false },
    { "query": "What target CPA should I enter in Google Ads?", "should_trigger": false },
    { "query": "Our CPA doubled in three weeks - diagnose what's wrong with the account.", "should_trigger": false },
    { "query": "ROAS dropped and nothing changed on our side. Why?", "should_trigger": false },
    { "query": "We have 45 ad sets mostly stuck in learning - should we consolidate campaigns?", "should_trigger": false },
    { "query": "Plan the merge of our fragmented Google Ads account without resetting learning.", "should_trigger": false },
    { "query": "Design a creative test with per-cell budgets for our three new videos.", "should_trigger": false },
    { "query": "How much spend does a statistically valid ad A/B test need?", "should_trigger": false },
    { "query": "How long should our cart-abandonment retargeting window be?", "should_trigger": false },
    { "query": "Build a three-stage remarketing sequence with frequency caps.", "should_trigger": false },
    { "query": "Build a layered targeting plan: cold interests, lookalikes, and retargeting pools.", "should_trigger": false },
    { "query": "Meta reports 900 purchases but Shopify shows 610 - reconcile the gap.", "should_trigger": false },
    { "query": "Why does Google Ads claim more revenue than our CRM?", "should_trigger": false },
    { "query": "Verify our conversion pixel fires exactly once before we launch.", "should_trigger": false },
    { "query": "Set up server-side event deduplication for the Conversions API.", "should_trigger": false },
    { "query": "How many customers should go into a lookalike seed list?", "should_trigger": false },
    { "query": "Our winning ad's CPM is fine but CTR is sliding - is the creative fatigued?", "should_trigger": false },
    { "query": "When should we refresh a fatigued ad instead of touching its budget?", "should_trigger": false },
    { "query": "Write five headline variants for our spring sale ad.", "should_trigger": false },
    { "query": "Which ad format should we use for a B2B awareness push - carousel or video?", "should_trigger": false },
    { "query": "Score the hooks of these four video ad openings.", "should_trigger": false },
    { "query": "Mine our search terms report for negative keywords.", "should_trigger": false },
    { "query": "Audit the landing page our ads send traffic to - clicks but no conversions.", "should_trigger": false },
    { "query": "Map the buying committee for our $80K ACV deal and how to reach each role.", "should_trigger": false },
    { "query": "Brief a UGC creator for our Q4 video ads.", "should_trigger": false },
    { "query": "Build a swipe file of our competitors' current ads.", "should_trigger": false },
    { "query": "Should we promote our CEO's LinkedIn post as an ad?", "should_trigger": false },
    { "query": "What percent of company revenue should marketing get next year?", "should_trigger": false },
    { "query": "How should I allocate my investment portfolio between stocks and bonds?", "should_trigger": false },
    { "query": "Split our AWS cloud budget across engineering teams.", "should_trigger": false },
    { "query": "How do we allocate engineering headcount across three product bets?", "should_trigger": false },
    { "query": "Does the 70/20/10 rule work for managing my learning time?", "should_trigger": false },
    { "query": "Allocate our sales territories across the new reps.", "should_trigger": false },
    { "query": "How should we divide the sponsorship budget for our conference booth and swag?", "should_trigger": false },
    { "query": "Set our overall marketing budget as a percentage of ARR.", "should_trigger": false },
    { "query": "Which attribution model should we use - last click or data-driven?", "should_trigger": false },
    { "query": "Plan the pacing curve for a $2M annual media commitment so we don't underspend.", "should_trigger": false },
    { "query": "Estimate the budget we need to hit 500 leads a month next quarter.", "should_trigger": false }
  ]
}
references/heuristics-and-figure-grading.md›
# Named split heuristics and figure grading

Every fixed-percentage split circulating in the field, with its source and an honest evidence label. Treat each as a starting posture to be corrected by marginal evidence - never as authorization. The sharpest counter-stance in the field: fixed ratios, fixed CPA multiples, and fixed percentage scaling are "optional heuristics, never universal authorization"; any ratio you adopt is operator policy, recorded with its rationale.

Evidence labels:

- **sourced** - traced to a named original source.
- **convention** - widely repeated, traceable to nobody in particular.
- **folklore** - traced, but to something that does not support the media-budget claim made of it.

Figures circulating in this space that are fabricated or secondhand, never repeat them as fact:

- "McKinsey research shows 70/20/10 companies achieve 2.7x higher shareholder returns" - no such named report exists; treat as fabricated.
- "budgets waste 20-30% of spend on saturated channels" - secondhand vendor citation.
- "71% of CFOs rejected a budget request over revenue-tied metrics" - secondhand vendor citation.

The retargeting ≤10% cap and the ~20% step-size rule are consensus heuristics, not proven constants. The one durable quantified figure: McKinsey's review of 400+ client engagements over eight years found integrated analytics frees **15-20% of marketing spend**.

## Portfolio-level splits

Ranked for adoption. Reading and applying any of these costs about the same - an hour - so effort is flat across the table and efficiency follows evidence strength alone: `60/40 brand-activation > phase-adjusted 70/20/10 > 20% fresh-creative reserve > highest-confidence-first recipe > flat 70/20/10 > marketing-category split`. Take the highest row whose scope actually matches the decision in front of you; a lower row is a starting posture, never a number to defend.

The rule of 7 sits outside the ranking entirely - folklore, contradicted by the research it is usually credited to, and never a budget input. ESOV, 95-5 and zero-based budgeting are not splits at all: they are diagnostics and discipline that tell you when a split is wrong, so they compete with nothing here.

| Heuristic                              | Split                                                                                                                                                               | Source                                                                                                                                                                                                                                            | Evidence                                                                                                                                                                                                                                                                |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 70/20/10 current / next / experimental | 70% what works now, 20% the deliberate next bet (becomes "current" in 2-4 quarters), 10% exploratory                                                                | Eric Schmidt's "70 Percent Solution" (Business 2.0, Dec 2005), verbatim in _How Google Works_ (2014); applied to content by Coca-Cola "Content 2020" (Mildenhall, Cannes 2011); numbers borrowed from the 70:20:10 learning-and-development model | **Folklore for media budgets** - the origin is a corporate resource-allocation rule, and no controlled study establishes it as optimal for paid media. Useful only as a portfolio-discipline device                                                                     |
| Phase-adjusted 70/20/10                | No channel proven yet → ~40/30/30; proven growth engine → ~80/15/5                                                                                                  | Same playbook family                                                                                                                                                                                                                              | Convention - but the most reusable rule in the set: the split is a function of portfolio maturity, not a constant                                                                                                                                                       |
| Fresh-creative reserve                 | "20% of spend always went into fresh ads to prevent fatigue"                                                                                                        | Prash Brooks & Justin Setzer, Demand Curve growth newsletter #318 (applied case, $62K → $493K in 90 days)                                                                                                                                         | Sourced - the only directly sourced 70/20/10-family figure                                                                                                                                                                                                              |
| Highest-confidence-first recipe        | 60-70% to the highest-confidence channel; 15-20% testing; 10-15% contingency; shift monthly                                                                         | Knowledge-work campaign-planning playbook, flagged by its own author as "adjust based on goals and historical data"                                                                                                                               | Convention                                                                                                                                                                                                                                                              |
| Marketing-category split               | Paid acquisition 30-40% / content 20-30% / events 10-20% / tools 10-15% / testing 5-10%                                                                             | Same playbook                                                                                                                                                                                                                                     | Convention - org-budget level, not a media split                                                                                                                                                                                                                        |
| Brand vs performance 60/40             | ~60% long-term brand building / 40% short-term activation; later refined to ~62/38. **B2B optimum ~46/54**, tilted toward activation (LinkedIn B2B Institute, 2019) | Les Binet & Peter Field, _The Long and the Short of It_ (IPA, 2013), from the IPA Databank - 996 campaigns, ~700 brands, 83 sectors, 30+ years                                                                                                    | **Sourced - the strongest evidence base of any split**, but a dataset average maximising across categories, not a per-brand law. The right ratio moves with brand maturity, purchase frequency and competitive context. Never present it to finance as a proven optimum |
| ESOV (excess share of voice)           | Every 10 points of positive ESOV ≈ 0.5 pp annual market-share growth (B2C), ~0.7 pp (B2B)                                                                           | John Philip Jones, "Ad Spending: Maintaining Market Share," HBR 1990; quantified by Binet & Field on the IPA Databank                                                                                                                             | Sourced - reasonably robust correlational finding. Some retellings invert the B2C/B2B figures; cite the B2B Institute report directly                                                                                                                                   |
| 95-5 rule                              | Only ~5% of B2B buyers are in-market in a given quarter; ~20% in a given year                                                                                       | Prof. John Dawes, Ehrenberg-Bass Institute / LinkedIn B2B Institute, 2021                                                                                                                                                                         | Sourced - robust as a heuristic, though the 5% is category-dependent. This is the structural reason short-window ROAS reallocation is invalid in B2B                                                                                                                    |
| Zero-based budgeting                   | Every line re-justifies its budget from zero each cycle                                                                                                             | Peter Pyhrr, HBR 1970; revived by McKinsey/3G Capital ~2015                                                                                                                                                                                       | Sourced - a real cost-discipline tool (10-25% documented SG&A savings) but **not an allocation optimiser**. Use it annually to kill legacy lines, not to choose the split                                                                                               |
| "Seven touches" / rule of 7            | Buyers need ~7 exposures before converting                                                                                                                          | Attributed to 1930s cinema; modern claimant Jeffrey Lant (1989)                                                                                                                                                                                   | **Folklore** - no studies support it, and Krugman's "three exposures" (1972) contradicts it. Never size a frequency budget on this                                                                                                                                      |

## Within-platform splits

Deliberately unranked. Prospecting-vs-retargeting has two defaults (60/40 and 70/30) circulating with no criterion separating them, and the two testing-phase splits govern different objects (account phase versus campaign structure), so an efficiency ordering here would be false precision. What carries is the direction, not the ratio: over ~40% on retargeting is the signal to expand prospecting.

| Heuristic                            | Split                                                                                                                                                                             | Source                                                                       | Evidence                                                                                                                                                                                                              |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Testing-phase split                  | First 2-4 weeks: 70% proven / 30% testing new audiences and creative                                                                                                              | Open-source ads playbook                                                     | Convention                                                                                                                                                                                                            |
| Scaling + testing campaign structure | ~80% scaling campaign holding only graduated ads; ~20% testing campaign with protected budget - "inside one CBO, proven ads always starve new ones"                               | Same playbook family (Meta decision system)                                  | Convention, with a stated mechanism                                                                                                                                                                                   |
| Prospecting vs retargeting           | 60/40 and 70/30 both circulate as _the_ default, unreconciled; broader practitioner range 60-90% prospecting; spending over ~40% on retargeting is a signal to expand prospecting | Multiple open-source skills and agencies (Hawke Media, Top Growth Marketing) | Convention - no criterion for choosing between the two defaults. The important part is the objection: over-funding retargeting inflates blended ROAS while starving the prospecting that refills the retargeting pool |

## Concentration and eligibility rules

| Heuristic                  | Rule                                                                                                                                                                            | Source                                                                                                | Evidence                                                                                                                                                                   |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Concentration-first        | Master one channel at 80% of budget/effort for 90 days before adding a complementary one for 60 days                                                                            | One-page-marketing playbook; echoed independently ("2-4 complementary motions, start with strongest") | Convention, independently converged                                                                                                                                        |
| Budget-tier channel gating | <$1K/month: one search channel only; $1K-5K: + one social; $5K-20K: search + two social/video; $20K-100K: + new-channel testing; $100K+: all channels + programmatic/influencer | Mobile-UA playbook, structurally general                                                              | Convention - the only rule here where total budget decides _which_ channels are eligible at all                                                                            |
| LinkedIn penetration bands | 30-day penetration <25% → room to raise; 25-35% → hold; 35%+ → scale horizontally into new audiences. "Doubling budget grows penetration ~50-70%, not 100%"                     | B2B LinkedIn playbook                                                                                 | Convention - but the best-evidenced "how much more can this channel absorb" signal available, and one of only two quantified diminishing-returns statements in circulation |

## Upstream budget sizing (input to allocation, not allocation)

| Heuristic             | Rule                                                                                                                               | Source                   | Evidence                             |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | ------------------------------------ |
| Revenue-based posture | 5% of ARR conservative / 15-25% standard growth / up to 40% aggressive                                                             | Budget-planning playbook | Convention                           |
| Goal-based formula    | Budget = [(New ARR ÷ (ARPC × 12)) × CAC] ÷ annual retention, + 10-20% experimental buffer; CAC fully loaded, never paid-spend-only | Same playbook            | Convention, with a worked derivation |

## What no heuristic gives you

Three decisions the named heuristics above do not make for you - do not pretend one fills them:

- **Cross-platform allocation under a single budget cap.** The named systems stop at "compare platforms"; splitting one cap across them is a judgment the workflow makes, not a ratio to look up.
- **Marginal-return curves are asserted here, never modeled - a real modeling methodology exists but sits outside this skill's scope.** Marketing Mix Modeling (MMM) fits nonlinear saturation curves (Hill/S-curve, power, or logarithmic functions) to weekly spend and outcome data, and named open-source and commercial tools do this in practice (Meta's Robyn, Recast, Mutinex). It requires a dedicated modeling exercise on the org's own multi-channel spend history, not something derivable from platform exports in a single allocation pass - which is why, within this skill's scope, the LinkedIn 50-70% line and search impression-share saturation remain the only quantified diminishing-returns statements available. Point a user with the budget and data for a proper MMM engagement there rather than asserting this skill can compute the same curve from exports alone.
- **Channel sunset criteria.** Ad-level kill rules are everywhere; a rule for retiring an entire channel from the mix is not. Build one from the same gates: a channel exits when it fails payback at its marginal (not average) efficiency across two consecutive quarterly reviews with creative and tracking ruled out.
references/worked-allocation-examples.md›
# Worked allocation examples

Illustrative numbers - recalibrate every figure against the account's own data. What matters is the shape of the reasoning, not the amounts.

## Worked example 1 - B2C e-commerce, $60K/month, monthly reweight

Context from interview: 55% contribution margin → break-even ROAS ≈ 1.82. Measurement maturity 9/15 (no incrementality tests - all marginal estimates are directional proxies, plan says so). Approver: head of growth, max one-cycle movement 20% of total.

Gates: all five current lines clear payback; Google brand search flagged at the data-basis gate - its 11x is platform-reported, and brand search is the canonical incrementality offender, so it is capped pending a holdout test rather than trusted.

| Line              | Current     | Proposed    | Rationale (marginal evidence)                                                                                    | Expected effect                                         | Uncertainty                      | Rollback threshold                 | Verify |
| ----------------- | ----------- | ----------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------- | ---------------------------------- | ------ |
| Meta prospecting  | $24,000     | $28,000     | Penetration 18% → headroom; last +15% step held CPA within 8% of target                                          | +55-70 orders/mo                                        | Medium - stepped-increment proxy | Blended MER < 2.6 for 2 wks        | Day 30 |
| Meta retargeting  | $12,000     | $9,500      | 34% of Meta spend on retargeting inflates blended ROAS; pool refill depends on prospecting                       | Blended ROAS dips, total orders flat-to-up              | Medium                           | New-customer orders -10%           | Day 30 |
| Google non-brand  | $10,000     | $12,500     | Lost impression share (budget) 41% → budget-responsive headroom                                                  | +18-25 orders/mo                                        | Low-medium                       | CPA > 1.3x target                  | Day 30 |
| Google brand      | $8,000      | $5,000      | Platform 11x untrusted (data-basis gate); holdout test commissioned this cycle                                   | Revenue impact expected minimal if near-non-incremental | High - that is why the test      | Tracked branded-search revenue -8% | Day 45 |
| TikTok experiment | $6,000      | $5,000      | Bounded test, cycle 2 of 3: hypothesis "CPA within 1.5x Meta's marginal CPA"; decision date day 60; stop if > 2x | Learning, not volume                                    | High, bounded                    | Spend cap only                     | Day 60 |
| **Total**         | **$60,000** | **$60,000** | Fixed total - sums exactly                                                                                       |                                                         |                                  |                                    |        |

Sequence check:

- Commitments reserved: none.
- Proven marginal contributors protected: Meta prospecting, Google non-brand.
- Experiment bounded: TikTok.
- No idle contingency.
- Defunded lines are the weakest _marginal_ opportunities (saturating retargeting, unverified brand search), not the worst average performers.

Largest single move is 37% of the brand line but 5% of the total; step sizes on growing lines held to 15-25%.

## Worked example 2 - B2B SaaS, $150K/quarter, quarterly resplit

Context: $28K ACV, sales cycle ~100 days → this quarter's reallocation reads leading indicators (cost per SQL, pipeline created, penetration), never last quarter's closed-won. Break-even CPL = $28,000 × 12% lead-to-close ≈ $3,360; target CPL set at $1,800 by the profitability policy owner.

Signal driving the resplit: demand capture (search + review sites) produces 62% of pipeline on 40% of budget - pipeline share exceeds budget share and search lost-IS (budget) is 35%, so capture is under-funded at the margin. LinkedIn demand creation sits at 31% 30-day penetration of a 42,000-person audience → hold band; more budget there buys the same people again.

| Line (stage)                       | Current      | Proposed     | Rationale                                                                                                                         | Rollback threshold                 | Verify |
| ---------------------------------- | ------------ | ------------ | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------ |
| Demand capture - search            | $45,000      | $58,000      | Pipeline share > budget share; lost-IS(budget) 35%                                                                                | Cost/SQL > 1.4x baseline           | Day 45 |
| Demand capture - review sites      | $15,000      | $18,000      | Same signal; category floor still cleared                                                                                         | Cost/SQL > 1.5x baseline           | Day 45 |
| Demand creation - LinkedIn         | $60,000      | $50,000      | 31% penetration = hold band; creative supply caps absorbable budget at ~$50K (10 proven ads × $5K)                                | Pipeline created -20% over 60 days | Day 60 |
| Accelerate (retargeting open opps) | $12,000      | $12,000      | Small audience, saturated; protected as proven                                                                                    | -                                  | -      |
| Revive (closed-lost) experiment    | $18,000      | $12,000      | Cycle 1 read weak: cost/SQL 2.1x baseline, but sample below 3x target CPL of spend → reduced, not killed; decision date at day 75 | Stop if > 2.5x at decision date    | Day 75 |
| **Total**                          | **$150,000** | **$150,000** |                                                                                                                                   |                                    |        |

Note what did _not_ happen: LinkedIn was not cut for having the worst average cost per SQL - its penetration band and creative-supply ceiling set the cut, and the money followed the strongest marginal signal (capture), not the biggest pipeline stage in absolute terms.

## Negative example - annotated

The tempting plan that fails review. Same B2C account as example 1:

> "Google brand is our best performer at 11x ROAS, so we're doubling it to $16K. Meta prospecting is only 2.1x, so we're cutting it to $12K and moving the rest into retargeting (4.8x). TikTok never beat Meta, so it's dead. New split effective Monday."

Line by line:

- **"Best performer at 11x"** - average, platform-reported, and brand search: three flags at once. Platform reporting overstates 1.75-2.97x, and brand search is the classic near-non-incremental line (19x → 5.7x under one published test). No incrementality evidence was even requested.
- **"Doubling it"** - a 100% step. Default increments are 15-20%; nothing here derives a larger step from account history or blast radius.
- **"Only 2.1x, so cut"** - defunds on _average_ ROAS. Prospecting at 18% penetration is plausibly the account's best _marginal_ line; the plan never asks.
- **"Moving the rest into retargeting (4.8x)"** - retargeting's high average is partly credit for demand prospecting created. Over-funding it inflates blended ROAS now and starves the pool; total conversions drop weeks later, after this plan is declared a success.
- **"TikTok never beat Meta, so it's dead"** - compared the experiment to Meta's _average_ efficiency. The right comparison is Meta's marginal efficiency - the last dollars this plan is (correctly or not) moving around. It also kills a bounded test before its decision date on a below-evidence-floor sample.
- **"Effective Monday"** - no owner, no expected effect, no uncertainty, no verification date, no rollback threshold. Not a change packet; unauditable and irreversible by design.
- Structural: the amounts are also not shown to sum to the fixed total, and no gate (payback, measurement maturity, floors, data basis) ran at all.
SKILL.md›
---
name: ad-spend-allocation
description: "Split a fixed total paid-media budget across campaigns, platforms, funnel stages, and audiences based on expected marginal return - the monthly or quarterly reallocation decision, for B2B and B2C. Use whenever the user asks how to split an ad budget, which channel or campaign should get more money, how to reallocate spend, how much to put behind prospecting vs retargeting, or mentions a portfolio split, marginal return, or diminishing returns - even if they never say 'allocation'. Do NOT use to raise the total budget on a proven campaign (mbfinotti/advertising-skills@paid-media-scaling), to track daily spend against a set budget (mbfinotti/advertising-skills@ad-budget-pacing), or to pick channels at setup (mbfinotti/advertising-skills@ad-platform-selection)."
license: MIT
metadata:
  author: Maya-Beth Finotti
  version: "1.2.2"
---

# Spend Allocation

You are a paid-media portfolio strategist. Your job is to recommend how one fixed total budget splits across campaigns, platforms, funnel stages, and audiences - and the decision rules for revisiting that split. You recommend but never execute platform changes. Two ideas carry the whole exercise:

- **Marginal, not average.** "Average ROI tells you how you've done so far. Marginal ROI tells you where to put the next dollar" (Marti Sanchez, Recast). A channel with the best average ROAS can be the worst home for the next dollar if it is already saturated. Average return is a reporting metric; marginal return is the action metric.
- **The equimarginal stopping rule.** Move money from lower-marginal to higher-marginal channels "until marginal ROI converges" (Terence Einhorn, Measured). The optimum is convergence, not concentration - diminishing returns are why allocation works at all.

Be honest about one gap upfront: no practitioner source shows how to fit a marginal-return curve from account history. Unless the user has an MMM or incrementality tests, every marginal estimate you produce is a directional proxy - say so in the plan rather than dressing a proxy up as a measurement.

## Interview

Ask before allocating anything. One question per message; offer multiple-choice options where possible; skip whatever the user already answered.

- Total budget and period: what fixed amount, monthly or quarterly?
- B2B, B2C, or both motions?
- Business model and contribution margin? (Margin sets break-even ROAS = 1 ÷ contribution-margin rate - the folk "aim for 4x" is wrong for most brands.)
- Current inventory: which channels/campaigns run today, with spend and outcomes over a mature window? A table beats prose.
- Which lines are proven - causal or strong same-account evidence of positive marginal contribution - versus assumed?
- Measurement maturity: score 1-3 each on blended dashboard, per-channel dashboard, conversion tracking, web analytics, documented attribution process.
- Any incrementality tests or MMM in place, or platform-reported numbers only?
- Risk tolerance: how much of the total is leadership willing to see move in one cycle?
- Seasonality: committed events, demand spikes, contractual flight dates in the period?
- (B2B) Sales-cycle length and conversion lag? This sets which signals a monthly reallocation can even read.
- Who approves the plan, and is there an owner-approved target CPA / minimum ROAS boundary? (Setting that boundary belongs to `mbfinotti/advertising-skills@ad-spend-guardrails`; here you only need its output.)
- What blocks movement: contracts, creative supply, inventory, policy restrictions, audience size?
- By what date must the effect be visible - the review, the board meeting, the season this plan gets judged against?
- One-off win or compounding asset: a single cycle's efficiency gain, or a measurement asset (a test, a curve, a clean baseline) that improves every future split?
- Effort ceiling: analyst hours available, willingness to hold a line flat long enough to read it, and political capital for defunding someone's channel?

Re-rank both ranked menus below against those last three answers, and say out loud which answer moved which option.

- A hard near-term date promotes directional proxies and incremental reweighting, and demotes anything needing a held read.
- A compounding mandate promotes incrementality testing and a marginal-evidence rebuild, because both leave an asset behind.
- A low effort ceiling promotes proxies and a named posture, and rules out MMM outright.

## Gates - run before any split

A channel that fails a gate is not in the allocation at all; gating first is the one point every serious prior-art system agrees on.

1. **Affordability gate.** Discounted payback = CAC ÷ (monthly gross profit × annual retention), per plan or cohort, never blended. Fund only where it lands under ~12 months (up to 18 for enterprise). B2B shortcut: break-even CPL = average deal size × lead-to-close rate.
2. **Measurement-maturity gate.** Under ~6/15 on the five-area score, fix visibility before moving budget - every optimization below that is a guess. See `mbfinotti/advertising-skills@ad-conversion-tracking` for the fix.
3. **Funding-floor gate.** Every channel kept in the split must be fundable above its learning floor, order of magnitude:
   - Paid social: daily budget ≈ target CPA × 50 ÷ 7.
   - Automated search: ~$50/day.
   - B2B professional networks: $3,000-$5,000/month.

   If the budget cannot clear a channel's floor, the answer is a cheaper channel, never a thinner spread. $10K split five ways is five experiments all below minimum sample size.

4. **Data-basis gate.** Never allocate on platform-reported ROAS: it overstates real return 1.75-2.97x consistently (Measured), and brand-search ROAS has collapsed 19x → 5.7x under an incrementality test (Demand Curve, citing Common Thread Collective). Use accepted, business-level outcomes; where only platform numbers exist, label the whole plan provisional.

## Estimating marginal return

Four ways to estimate where the next dollar earns most, ranked by evidence bought per unit of effort. The axes disagree - the method that buys the most is also the one that pays back slowest:

- effort: `MMM > incrementality tests > stepped increments > directional proxies`
- value: `MMM > incrementality tests > stepped increments > directional proxies`
- efficiency: `directional proxies > incrementality tests > stepped increments > MMM`

Default rung: **directional proxies**, on every line, this cycle. Move up one rung for the lines big enough that a misread costs real money - commission a geo test on the largest line while proxies drive the rest of the split. An unvalidated model is not evidence at any rung.

**What this order starves: incrementality testing, and MMM behind it.** They top the value axis and the effort axis together, so a ratio picks proxies every cycle and the account never buys a causal anchor - it re-guesses the same lines at the same evidence quality forever, and each cycle's plan is provisional for the same reason as the last one. Promote incrementality above its rank when one line is large enough that a misread on it outweighs a quarter of design work, or when the interview answered a compounding mandate, since the test leaves a reusable curve behind for every later split. Promote MMM only past its readiness bar - years of clean weekly data plus a dedicated analyst - and never in place of the geo test that validates it.

Where an answer rules a rung out entirely rather than moving it (no analyst and no data warehouse deletes MMM; no holdable geography or no appetite to withhold spend deletes incrementality testing), drop that rung from this account's menu and name it as deleted in the plan. A rung left ranked last reads as merely expensive next cycle, and gets budgeted for.

1. **Directional proxies** - effort near-zero: an hour against exports you already have. Buys direction and headroom, never magnitude; label every number a proxy in the plan. Pick by channel type, not by rank - these three do not compete, and ranking them would be false precision:
   - _Penetration bands_ (paid social, B2B audiences): 30-day reach ÷ addressable audience under 25% = headroom; 25-35% = hold; 35%+ = scale horizontally into new audiences, not vertically.
   - _Impression-share headroom_ (search): more budget only helps when share lost to budget is high; above ~60-80% share the next increment costs more than it returns.
   - _Pipeline share vs budget share_ (B2B stages): fund stages whose share of pipeline exceeds their share of budget while under-penetrated.
2. **Stepped increments read as experiments** - effort one cycle of held discipline: raise one line 15-20%, hold every other line flat, read the delta in accepted conversions. Buys one crude marginal reading on one line, confounded by everything else that moved that month. Worth the cycle when a single line dominates the budget and no test is affordable.
3. **Incrementality tests** - effort a quarter to design, run and read: 10-15+ matched markets, a held-out control of ~10-20% of geography, ~15 days minimum for fast-purchase products (4-6 weeks for longer cycles). Buys a causal anchor per tested channel, reusable for cycles afterwards; the stacked-spend design reads the curve rather than a yes/no lift. The best first investment for any account whose biggest line is currently guessed at.
4. **MMM** - effort a standing job: at least 2 years of clean weekly data (3 for national-level models) plus a dedicated analyst. Buys whole-portfolio response curves including offline and brand - the only method that prices the lines no single test can isolate. Validate its coefficients with a holdout or geo test before trusting them: an MMM is observational, and a model with priors you set can be pointed at the conclusion you wanted.

   Needing that validation is why the highest-value method still ranks last on efficiency; below its readiness bar, geo-lift is the better first investment.

Both this ranking and the one in Brainstorming the split are defaults, not laws - they shift with context and with who executes them. Re-rank against what you already know about this user: an analyst already on payroll, a warehouse of clean weekly data, a geo-test vendor already contracted, or a company that runs holdouts by habit each promote the rungs the default order assumes are out of reach.

- **Comparing a new channel to an incumbent**: compare it to the incumbent's _marginal_ efficiency - the last dollars you would defund - never its blended average (Dean Gordon, Haus).
- **When platforms disagree** - one says scale, another says hold, and one cash ceiling binds both - the equimarginal rule is the tiebreaker. Each platform's native recommendation is computed in isolation and knows nothing about your ceiling or the other lines. Rank every line's marginal return on one comparable basis, fund down that ranking until the total is spent, and treat the platform recommendations as inputs rather than instructions.

## Brainstorming the split

Enter an explicit brainstorming mode before drafting numbers. Ask one question at a time, then put the candidate approaches on the table with their trade-offs and your recommendation, and wait for the user's pick.

Three approaches, ranked by optimality bought per unit of analyst effort. The axes disagree - the most defensible approach is the least efficient:

- effort: `marginal-evidence rebuild > incremental reweighting > named heuristic posture`
- value: `marginal-evidence rebuild > incremental reweighting > named heuristic posture`
- efficiency: `incremental reweighting > named heuristic posture > marginal-evidence rebuild`

Default: **incremental reweighting**. Move up to a rebuild when the current split is inherited and untrusted, when measurement maturity is high enough to re-derive every line, or at the annual zero-based review. Drop to a heuristic posture only when there is no history to reweight at all.

What this order starves is the marginal-evidence rebuild. It is the most defensible approach on the page and the only one that reliably kills a legacy line, and it loses every cycle to a reweight costing a week instead of a quarter - which is exactly how "last year plus a percentage" survives in the failure-mode table below. Those three triggers are what promote it against the ratio; a low effort ceiling instead deletes it from this cycle's menu, and the plan names it as deleted rather than carrying it as an option for later.

1. **Incremental reweighting.** Effort a week: normalize the lines, rank them by marginal return, move bounded increments from weakest-marginal to strongest-marginal. Buys most of a rebuild's gain in a fraction of the analysis, and compounds cycle over cycle as the marginal estimates sharpen.

   Costs you the legacy mistakes it preserves - a line nobody questions keeps its budget. Right for most accounts with a working mix and moderate evidence.

2. **Named heuristic posture.** Effort an hour: start from a published prior - 60/40 brand/activation for B2C, ~46/54 for B2B (Binet & Field, IPA Databank; the LinkedIn B2B Institute's B2B reweighting) - plus a ring-fenced experiment slice, then let marginal evidence override it each cycle. Buys a defensible starting position and nothing more; it is the weakest of the three as an optimum, which is why an hour of effort does not make it the efficiency leader. Two honesty rules, and never present either to finance as an evidence-based optimum:
   - 60/40 is a dataset average, never a per-brand law.
   - 70/20/10 traces to Google's resource-allocation rule (Schmidt, 2005), not to any media study - folklore in the budget form, useful only as portfolio discipline.

   Full catalog with each split's source and evidence grade: [references/heuristics-and-figure-grading.md](references/heuristics-and-figure-grading.md).

3. **Marginal-evidence rebuild from zero.** Effort a quarter: ignore the current split and re-derive every line from gates plus marginal evidence. Buys the most defensible answer and the only one that reliably kills legacy lines - a compounding asset, since the re-derived baseline feeds every later cycle. Demands the best data, so it usually waits on the measurement work rather than substituting for it.

Whatever the user picks, name the assumptions out loud before computing - which number is measured, which is platform-reported, which is a guess - and argue the strongest case against the biggest proposed move before presenting it.

## Workflow

1. Run the Interview; run the Gates. Channels that fail a gate get an explicit rejection line, not a small allocation.
2. Normalize all lines to comparable windows and definitions (same maturity window, accepted outcomes, consistent CPA/ROAS definitions) before comparing anything.
3. Agree the approach from brainstorming: rebuild, reweight, or heuristic posture.
4. Build the split in this order - claim priority, obligations before optimization, deliberately not the efficiency ranking. The efficiency rankings apply _within_ step 4.2, where the money actually competes:
   1. Reserve non-negotiable commitments and measurement costs.
   2. Protect lines with causal or strong same-account evidence of positive marginal contribution, subject to saturation and cash constraints.
   3. Fund bounded experiments - each with a declared hypothesis, minimum detectable effect, decision date, and stop condition.
   4. Hold a contingency only if the business has a defined use for it.
   5. Take the money from the weakest **marginal** opportunity - not the worst average CPA or ROAS.
5. Size each move at 15-20% of the line per cycle as the default increment; carry the counterweight that principle-based practitioners refuse any universal percentage and derive step size from conversion cycles, account history, and blast radius. Never move 30%+ in one step.
6. Check the constraints that block an otherwise-correct move: creative supply (proven-ad inventory ≈ monthly budget ÷ $5,000 for B2B - folklore with no primary source, so ship the dependency and calibrate the divisor against the account's own history; you cannot scale budget ahead of creative supply), audience penetration, inventory, policy, contracts.
7. Where a signal is noisy, size the bet with Impact × Uncertainty × Feasibility (Recast): a 50% misread on a $10M channel is a $5M misallocation; the same misread on $200K is a rounding error. A non-significant result is a noisy signal, not no signal - act on it at reduced size, don't discard it.
8. Draft the Allocation Plan (below), then present it **section by section - gates, marginal evidence, the split, experiments, revisit triggers - validating each with the user before drafting the next**.
9. Stop at the approval gate: finalize nothing without the user's explicit approval of the assembled plan. The plan proposes; executing changes belongs to the user and their platform workflows.
10. Set the cadence and the approval path:
    - **Cadence.** Quarterly is the standard resplit rhythm because spend changes need time to show outcomes; monthly reweighting is for peak season or after a market shift, on rolling 60-day windows so noise doesn't drive the move.
    - **Governance.** Route the plan through governance - a defensible default is that a move above ~10% of a channel's quarterly budget needs an approval workflow, and above ~25% needs joint marketing-and-finance sign-off with the rationale, expected impact and review date logged.
    - **Seasonal pre-commit.** Measured's Prime Day data shows brands raising spend 17.4% into the spike got 1.1% median incremental revenue while incremental ROAS fell 14.3%; flat-spend brands' rose. Preparation beats reaction.
11. If your harness has persistent memory, memorize the approved split, its named assumptions, and the revisit triggers, so the next cycle starts from them instead of from scratch.
12. If you can browse the web, verify any external benchmark you cite (funding floors, cost benchmarks) against current sources before finalizing; otherwise mark each as dated practitioner guidance, not current fact.

## The Allocation Plan

Deliver the decision as this artifact - a document a finance or leadership approver can act on and later audit. Every reallocated line carries the full change packet:

```
SPEND ALLOCATION  -  <period>, total <amount> (fixed)
Gates           : payback per cohort | measurement score /15 | floor check per channel | data basis
Evidence        : marginal estimate per line, labeled measured / tested / directional proxy
Per line        : current amount | proposed amount | rationale | expected effect |
                  uncertainty | owner | verification date | rollback threshold
Experiments     : hypothesis | MDE | decision date | stop condition | budget
Constraints     : what blocked which otherwise-correct moves
Revisit         : monthly reweight date | quarterly resplit date | event triggers
Open questions  : missing inputs, unverified figures, what would flip a line
```

Anti-fabrication rules, non-negotiable:

- Proposed amounts sum exactly to the fixed total.
- When spend or outcome data is missing for a line, never invent proportional weights - present scenarios and name the missing input; the only named fallback is to equal-weight the lines and mark the result provisional.
- Keep platform-attributed revenue, blended business revenue, and contribution margin distinct.
- Never present a point forecast without its assumptions.

A worked B2B and B2C plan, plus an annotated negative example, live in [references/worked-allocation-examples.md](references/worked-allocation-examples.md).

## B2B and B2C

The marginal-versus-average rule, the equimarginal stopping rule, saturation curve shapes, the payback gate, step sizing, and the ban on platform-reported ROAS apply unchanged to both. Only the input names and the readable window change.

What genuinely differs - design for it:

| Dimension        | B2B                                                                                                                                                  | B2C / e-commerce                                                                                          |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| Split dimensions | Funnel stage (Create/Capture/Accelerate/Revive/Expand), segment, region, named accounts                                                              | Channel, audience temperature, catalogue                                                                  |
| Readable window  | Cycles average 84+ days - monthly reallocation reads leading indicators (cost per SQL, pipeline created, penetration), never last month's closed-won | Days to weeks - revenue-level signals readable within a cycle                                             |
| Verdict metric   | Cost per SQL, cost per closed-won                                                                                                                    | MER, contribution margin                                                                                  |
| Saturation       | Small audiences saturate fast - penetration caps a channel's absorbable budget regardless of marginal return                                         | Larger audiences; creative fatigue binds first                                                            |
| Stage sequencing | Build bottom-up for fastest ROI: Expand → Revive → Accelerate → Capture → Create                                                                     | Prospecting refills the retargeting pool - over-funding retargeting inflates blended ROAS then starves it |

## Pass Threshold

Ship nothing until all of these hold; iterate until they do:

1. Every gate ran before the split; each excluded channel has an explicit rejection line.
2. Proposed amounts sum exactly to the fixed total - this skill splits, it never raises. Raising the total belongs to `mbfinotti/advertising-skills@paid-media-scaling`.
3. Every move justified by marginal evidence or an explicitly labeled heuristic posture - no line justified by average ROAS, and none by platform-reported ROAS.
4. Every marginal estimate carries its evidence label: measured (MMM/incrementality), tested, or directional proxy.
5. Every funded channel clears its funding floor; no line exists only to "keep a presence."
6. Every line carries the full change packet, including rollback threshold and verification date.
7. Every experiment is bounded: hypothesis, MDE, decision date, stop condition.
8. No fabricated weights anywhere; missing data produced scenarios or a labeled equal-weight provisional, never a confident-looking guess.
9. The approach and the estimate method were each picked off their ranked menu, with the deadline, one-off-versus-compounding and effort-ceiling answers that moved the pick named in the plan.
10. The user explicitly approved every section.

## KPIs

Judge the allocation decision itself over the following one to two cycles - not campaign performance, which has its own skills:

- **Marginal convergence**: the gap between the best and worst marginal line narrows cycle over cycle - the equimarginal rule working.
- **Forecast accuracy**: realized effect vs the change packet's expected effect, per line - the input to the next cycle's uncertainty estimates.
- **Blended efficiency at fixed spend**: blended CAC (B2B: cost per SQL/closed-won; B2C: MER) improves at the same total - the only clean signal the split, rather than the budget, did the work.
- **Rollback discipline**: moves that crossed their rollback threshold actually rolled back, on the verification date.
- **(B2B) Pipeline-share vs budget-share gaps** close for the stages funded on that signal.

## Failure Modes

| Failure                                                 | Fix                                                                                                                                                               |
| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Allocating on average ROAS                              | Compare marginal returns; a saturated star channel is the worst home for the next dollar                                                                          |
| Allocating on platform-reported ROAS                    | Business-level accepted outcomes; incrementality where the line is big enough to matter                                                                           |
| Spreading below funding floors (the even-split fallacy) | Fewer channels, or a cheaper channel - never a thinner spread. Equal splits starve channels that could absorb far more while overfeeding ones that saturate early |
| Carrying legacy lines nobody kills                      | "Last year plus a percentage" is the documented root cause; apply zero-based discipline annually so every line re-justifies its budget                            |
| Chasing demand spikes with budget                       | Pre-commit the seasonal plan on marginal returns; flat spend beat reactive raises two years running                                                               |
| Reallocating on noise                                   | Impact × Uncertainty × Feasibility; size the bet to the confidence                                                                                                |
| Over-funding retargeting                                | It inflates blended ROAS while starving the prospecting that refills the pool                                                                                     |
| Scaling ahead of creative supply                        | Check proven-ad inventory ≈ monthly budget ÷ $5,000 (B2B folklore, calibrate) before raising a line                                                               |
| Reading a starved channel's efficiency as its curve     | S-curve response: near-zero spend readings don't predict scaled performance                                                                                       |
| Treating a heuristic split as authorization             | Any fixed ratio is operator policy - record the chosen ratio and its rationale                                                                                    |
| Judging long-cycle B2B on last month's revenue          | That signal was generated two quarters ago; read leading indicators instead                                                                                       |
| Defunding the worst average performer                   | Defund the weakest **marginal** opportunity - first ruling out lag, tracking outages, small samples, seasonality                                                  |

## Invocation Examples

- "We have $80K/month across Google, Meta, and LinkedIn. Meta's ROAS looks best - should it get more?"
- "Quarterly planning: split $500K across brand, prospecting, retargeting, and two experiments."
- "Our B2B pipeline is 70% from demand capture but it only gets 40% of budget. Reallocate?"

## Reference

- [references/heuristics-and-figure-grading.md](references/heuristics-and-figure-grading.md) - every named split heuristic with its source and evidence quality, including the fabricated figures to never repeat.
- [references/worked-allocation-examples.md](references/worked-allocation-examples.md) - a worked B2B and B2C allocation plan, and a negative example annotated line by line.

Sibling skills (same collection):

- `mbfinotti/advertising-skills@ad-bidding-strategy` - manual vs automated bidding, tCPA vs tROAS, inside each line.
- `mbfinotti/advertising-skills@cac-roas-benchmark` - judging whether current spend levels are healthy at all.