0Pricing
Digital Marketing Academy · Lesson

Budget Reallocation

Optimize the mix.

Budget Reallocation is a free Digital Marketing Academy lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Digital Marketing Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Why Reallocate

The payoff of an MMM is a better budget. Reallocation moves money from saturated, low-marginal channels to under-funded, high-marginal ones to lift total sales at the same spend.

This lesson shows how to turn response curves into an allocation plan.

The Optimization Goal

Formally, you maximize total incremental sales subject to a budget constraint. The optimum is where each channel's marginal return per dollar is equal.

If one channel's marginal ROI is higher than another's, shifting a dollar toward it increases total sales, so you keep shifting until they balance.

maximize  sum( response_i(spend_i) )
subject to sum( spend_i ) = total_budget

optimum: marginal_ROI_1 = marginal_ROI_2 = ...

Equalizing Marginal Returns

Picture two channels. Search's next dollar returns 1.8; Social's returns 3.4. Move budget from Search to Social.

As Social grows it saturates (marginal falls) and as Search shrinks it de-saturates (marginal rises). Stop when both marginals meet.

before: Search mROI=1.8  Social mROI=3.4
shift $10k Search -> Social
after:  Search mROI=2.5  Social mROI=2.6  (near optimum)

A Concrete Reallocation

Here is a same-budget reallocation. Total stays at 290k, but money flows from saturated Search and weak OOH into Social and TV headroom.

The model projects higher incremental sales purely from a better mix.

channel  old_spend  new_spend  change
Search    60,000     45,000    -15,000
OOH       40,000     20,000    -20,000
Social    50,000     80,000    +30,000
TV       140,000    145,000     +5,000
TOTAL    290,000    290,000          0

Projecting the Lift

Run the new spend levels through each response curve to estimate new contributions, then compare total to the old plan.

The delta is your projected lift. Always express it as a range using the model's uncertainty, not a single hero number.

old total inc_sales = 600,000
new total inc_sales = 648,000
projected lift      = +48,000 (+8%)
plausible range     = +5% to +11%

Respect the Curve's Valid Range

Response curves are only reliable near observed spend. Reallocating 3x beyond any historical level extrapolates into the unknown.

Cap moves to a credible band (often +/- 30-50% per channel per period) and stage large shifts over several cycles.

observed Social spend: 20k-60k
proposed: 80k -> slightly outside, flag risk
proposed: 200k -> far extrapolation, reject

Operational Constraints

The math optimum is rarely the executable plan. Contracts, minimum buys, agency commitments, creative lead times, and channel ramp speed all constrain moves.

Add these as bounds in the optimizer so the recommendation is something the team can actually run.

constraints:
  TV     >= 100,000  (upfront contract)
  Search <= 70,000   (account capacity)
  Social ramp <= +50% per quarter

Increase vs Reallocate

Two distinct questions: best mix for a fixed budget, and whether to change the total budget.

Use marginal ROI for the second too: if the worst-performing dollar in the optimized plan still returns above your hurdle rate, the total budget may be too small.

optimized plan, lowest marginal ROI = 2.1
hurdle rate (break-even ROAS) = 1.5
2.1 > 1.5 -> room to increase total budget

Scenario Planning

Don't ship one number; ship scenarios. Model conservative, base, and aggressive budgets and show the projected sales and risk for each.

This lets leadership choose a risk posture rather than approve a black-box recommendation.

scenario     budget    proj_sales   risk
conservative 250k      1.9M         low
base         290k      2.05M        med
aggressive   350k      2.18M        high

Test, Then Trust

Treat the reallocation as a hypothesis. Implement it, ideally in a geo holdout, then measure whether realized sales match the projection.

Feed results back into the next model. This learn-loop, plan then test then refit, is what separates mature programs from one-off analyses.

1. optimize on current MMM
2. roll out in test geos, control geos unchanged
3. measure actual lift vs projected
4. refit model with new data -> repeat

Common Mistakes

Pitfalls: optimizing on average instead of marginal ROI, extrapolating far past observed spend, ignoring operational constraints, presenting a point estimate as certainty, and never validating the plan against reality.

Avoid these and reallocation becomes a reliable growth lever.

Quick Check

Apply the equal-marginal-return principle.

Recap

Reallocate by equalizing marginal ROI across channels using response curves, not average ROAS. Cap moves to the curve's valid range and respect operational constraints.

Use marginal ROI to also decide total budget, present scenarios with uncertainty, and validate every plan with a test before fully trusting it.

Frequently asked questions

Is the “Budget Reallocation” lesson free?

Yes — the full text of “Budget Reallocation” is free to read here on the web, and the Digital Marketing Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Digital Marketing Academy course, upgrade to CoddyKit PRO.

What will I learn in “Budget Reallocation”?

Optimize the mix. You practise Digital Marketing Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Digital Marketing Academy?

No prior experience is required. Digital Marketing Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Budget Reallocation” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Digital Marketing Academy lesson?

Yes. Every Digital Marketing Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. MMM vs Attribution
  2. Inputs and Variables
  3. Reading an MMM
  4. Budget Reallocation
← Back to Digital Marketing Academy