THE MEDIA-PLAN REPORT

A budget plan inside your rules.

Takes the credit the models just produced and solves a media plan under your floors and caps. A scenario, not a live bid. Every file is approved by a marketing professional with extensive experience in marketing analytics before it is sent.

Fair, Shapley-based return when that model led the week; otherwise the comparison engine’s lead. The solver maximises expected outcome without growing the total, and without breaking brand floors or caps. The base plan is then run again with the returns nudged. A move that flips direction is not Monday’s brief.

What the report is for

Whether last-click return is poisoning the plan

Last-click loves closers. Feeding it to a solver double-counts overlapping paid. Fair, Shapley-based return is the default input when Shapley values lead the comparison engine — so the plan does not inherit last-click’s bias.

Whether a floor or a cap is doing the work

Brand presence is a rule, not a footnote. If Paid Search is pinned at the cap, or Display is sitting on the floor, the PDF names the rule. A “best” plan that only exists because a rule was hidden is not a best plan.

Whether the move still holds if the returns are a bit wrong

The plan is run again at plus and minus ten percent, and at plus and minus twenty. A shift that reverses under a small nudge is printed as fragile — and is not the recommended plan.

Whether the range is too wide to move

When a channel’s return range overlaps last-click, no aggressive shift. Hold is a first-class output. The solver is allowed to say wait.

  1. 01

    The recommended plan

    Current versus proposed, channel by channel.

    What to hold, what to move, and the projected lift — with the caveat that this is a scenario.

    • Current allocation versus proposed, in dollars and share
    • Projected attributed outcome versus the current mix
    • Channels pinned at a floor or a cap, named
    • The one-line reason this week’s comparison-engine lead was used as the return

    One base plan. Returns come from this week’s comparison-engine lead — Shapley-based when Shapley values lead. Last-click is used only if it led, and the PDF says so.

  2. 02

    How the plan is solved

    A clear plan a finance partner can reconstruct.

    Raise expected outcome. Keep the total. Respect the floors and the caps. Solved in seconds, not in a notebook.

    • Goal: more attributed outcome from the same total budget
    • The channel spends add back to the agreed total
    • A floor so nothing disappears overnight, a cap so nothing swallows the plan
    • Solved with PuLP, a standard budget solver, in seconds
    • If no plan fits the rules: a simpler backup, clearly labeled — never a silent guess

    The moving pieces are channel spends. This week’s returns are treated as planning inputs, not as proof of cause. Floors and caps default to a share of current spend unless absolute dollars are set. Rules that cannot be met fail the run instead of quietly relaxing.

  3. 03

    Constraints, in writing

    So finance can see the brand rules, not just the “best” mix.

    Floors, caps, and the conserved total. If a rule drove the plan, the PDF says which one.

    • Per-channel min and max, as set for the account, restated every run
    • Total budget conserved — or a what-if total, if one was requested
    • Combinations that could not be met, if any, and what was relaxed — never silently
    • Brand-presence channels that were not allowed to go to zero

    Every rule that is tight is listed. A channel at its cap or its floor is a fact about the account’s rules, not a discovery about return.

  4. 04

    Sensitivity analysis

    What happens if the returns are wrong by a bit.

    The plan is run again with every return nudged. A move that flips direction is not the plan.

    • Plus and minus ten percent on each channel return, solved again
    • Plus and minus twenty percent, solved again
    • Which proposed moves survive all four checks — those are the solid ones
    • Which moves reverse or hit a rule under a small nudge — those are labeled fragile
    • A hold recommendation when this week’s return range is already wide

    Each check is a full new plan, not a spreadsheet tweak. The recommended plan is the base only if the solid set agrees on direction. Otherwise the sheet holds, or it prints a smaller move that survived. The grid sits in the appendix so the analyst can rebuild it.

  5. 05

    What-if totals

    The total can move — but only when it is asked to.

    Optional higher and lower totals, clearly labeled as what-if, not as the plan. A band of plans when the return range is worth showing.

    • The plan at a lower and a higher total, so the meeting can see whether more budget is even the question
    • When Shapley values arrived with a range — a band of allocations, not a spike
    • Every extra total labeled what-if. The base plan still keeps the agreed budget

    What-if totals do not silently become the recommended plan. When a range of returns is used, the printed band is the spread of those plans — not a promise.

  6. 06

    What will not be done

    A plan is not a flight change.

    The optimizer does not bid, pause, or publish tags. Implementation stays with the team and the agency.

    • No Ads or tag-manager writes from this page
    • No automated live pause if results dip
    • No mixing of mix-model numbers into this plan’s returns
    • No claim that the allocation is causal truth

    A live test against results can be recommended as a next step. It is not an automated rollback. Mix-model numbers stay on the mix-model PDF. Path credit stays the input here.

How a run is produced

  1. 01

    Pull the week’s credit

    Fresh attributed return from the comparison engine. Same channel list.

    Nightly by default. A missing comparison run holds the optimizer. It does not fall back to last-click in silence.

  2. 02

    Solve under the rules

    One base plan under floors, caps, and a conserved total.

    PuLP on AWS. If no plan fits, the appendix says so, plus a labeled simpler backup — not a guessed allocation.

  3. 03

    Nudge the returns

    Run again at plus and minus ten, plus and minus twenty. Keep the moves that survive.

    Four extra plans per run. Direction that flips is fragile. A wide return range is a hold, not a bigger bet.

  4. 04

    Professional review, then the inbox

    Every PDF is approved by a marketing professional with extensive experience in marketing analytics.

    Commentary may only cite figures already in the file. Email or Slack. The ad account is not touched.

Why this engine exists

Shapley in, not last-click in.

When Shapley values lead the comparison engine, those returns feed the solver. Last-click is used only if it led — and the PDF says so.

Caps are first-class.

Floors keep brand presence. Caps stop over-concentration. A rule that is tight is named.

Sensitivity before send.

A move that dies at plus ten percent does not become the Monday plan.

A scenario, not a bid.

The product does not bid, pause, or ship tags. The plan is a document.

Appendix, every week

So the analyst can rebuild the number without a call.

  • Which model’s returns were used, and why
  • The goal, the conserved total, and the per-channel floors and caps
  • Whether a plan fitted the rules, and how long the solve took
  • Rules that were tight, named
  • Sensitivity grid: ±10% and ±20% on each return
  • What-if totals, if requested, labeled as such
  • Any simpler backup plan, labeled
  • Commentary is checked against the tables; unseen figures do not ship