Skip to content
Was It Causal?

Budget Reallocation

Turning a set of curves into a plan somebody will run, under the contracts and minimums that make the unconstrained optimum unreachable, and choosing the moves that generate the next experiment.

The decision it encodes

Where does the next dollar go, and what would we have to believe for that to be wrong?

The optimizer has run. It recommends moving 38% of the budget out of search and into video, and the projected return is large.

Nobody does it. The search budget is committed under an annual agreement, the video team cannot absorb that much inventory in a quarter at anything like the prices in the model, and the head of performance has watched two of these recommendations reverse in the past. The plan reverts to last quarter plus a few percent, and the model is quietly reclassified as interesting rather than useful.

The decision it encodes

Where does the next dollar go, and what would we have to believe for that to be wrong?

The second half is what makes a recommendation actionable. A number with no account of what would overturn it invites the reader to either accept it whole or reject it whole, and rejecting it whole is the safer move for anyone whose name goes on the plan.

Equalize the marginal return

Say the objective first, because the optimizer will maximize whatever it is handed. The defensible one is expected incremental contribution over a stated horizon, in the value terms the spend spine defines, subject to the channel, cash, brand-safety, and operating constraints below. Maximizing conversions is a different objective, and it prefers channels that produce cheap customers over channels that produce good ones.

The rule is then one line. At the optimum, the last dollar in each channel returns the same as the last dollar in every other channel, because if it did not you would move a dollar. Average return per channel does not enter it, which is why channels with excellent blended efficiency are so often the wrong place for additional money. Marginal, not average works through the case where the two rankings invert completely.

What makes this hard in practice is not the mathematics. It is that the optimum sits inside a set of constraints that nobody writes down until the plan is rejected.

What sits between a curve and a plan

ConstraintWhat it does to the recommendation
Observed supportMoves beyond the spend range the curve was fitted on are extrapolation. Bound them or flag them.
Contracts and minimumsCommitted spend is not reallocatable this period, whatever the curve says about it.
Delivery capacityA channel cannot absorb an arbitrary increase at the prices in the model. Bidding it up moves the curve underneath you.
Rate of changePlatforms relearn when budgets jump, so a large move degrades performance for weeks before it helps.
SeasonalityA curve fitted on the year does not describe December. Reallocating on an annual average moves money at the wrong time.
Cross-channel effectsCutting upper funnel raises the cost of lower funnel later, and a per-channel optimum ignores it.

The unconstrained optimum is a useful diagnostic and a bad plan. The gap between it and the constrained one is the thing worth arguing about, because each constraint has an owner who could relax it.

Recommend a move you can defend at both ends of the interval

Every coefficient in the model carries uncertainty, and the reallocation inherits it. A move that is right at the point estimate and wrong at the lower end of the interval is a bet, and it should be presented as one.

The practical form is to state the smallest move that is still an improvement across the plausible range, alongside the unconstrained optimum. That is usually a far smaller reallocation than the optimizer produces, it survives contact with a skeptical planner, and it does not have to be reversed when the next quarter’s model disagrees slightly. Programs that shift budget in bounded steps and hold them accumulate evidence. Programs that swing hard and revert learn nothing and spend the credibility of the model doing it.

The move should generate the next experiment

This is the edge that makes the system run rather than execute once. A reallocation puts a channel at a spend level the history does not cover, which means it produces the variation the response curves could not identify from observational data.

Planned deliberately, that becomes a test rather than a gamble: move in a subset of markets first, keep the rest at the old level, and the reallocation is itself a geo design. It lands in the test calendar as the next slot, the result calibrates the curve at the new spend level, and the following reallocation is made on better information than this one. The decision log is where the move, its predicted effect, and its outcome are recorded, and it is what makes any of that scoring possible.

Maturity, honestly staged

Stage 1: marginal rather than average return in the conversation. No optimizer. The question changes from which channel is efficient to where the next dollar goes, which is most of the value.

Stage 2: constraints written down and owned. The unconstrained optimum and the feasible plan are both produced, so the gap becomes a negotiation with named people rather than a silent rejection.

Stage 3: moves bounded by observed support and by interval. Recommendations survive skepticism, because they are the moves that hold across the plausible range rather than the ones that maximize at the point estimate.

Stage 4: reallocation staged as a test. The move runs in a subset of markets first, which turns the plan into evidence and closes the loop back to the calendar.

The optimization, and why the constrained version is the useful one Technical

With a fixed total budget and a concave response curve per channel, maximizing total return subject to the budget gives the standard condition: the marginal return per dollar is equal across all funded channels, and any channel whose marginal return at zero is below that common level gets nothing. That common level is the shadow price of the budget, and it is more useful than the allocation itself, because it says what an extra dollar of total budget would be worth.

Adding constraints changes the shape of the answer rather than the method. Minimums and contracts are bounds on each channel, capacity is an upper bound, and rate-of-change limits bound the difference from the current plan. Each binding constraint gets its own shadow price, and those prices are the output worth carrying into the planning conversation: they say what it would be worth to renegotiate a contract or raise a delivery ceiling, which is a question somebody in the room can act on.

Two cautions. Concavity is assumed by the optimizer and is a property of the fitted functional form rather than an observed fact, so an optimum sitting far outside observed support is a statement about the curve family. And the whole exercise inherits every error in the curves, so a precisely solved allocation on weakly identified coefficients is exact about the wrong plan. The scenario planner makes the same point at the level of the model.

Context

Best suited for

Programs where several channels draw on one budget, the curves have been calibrated against at least some experiments, and a plan has to be defended to someone who controls the money.

Data requirements

  • Calibrated response curves per channel, with intervals rather than point estimates
  • The observed spend range per channel, so moves outside it can be bounded or labeled
  • Contracts, minimums, and delivery ceilings as numbers rather than as recollections
  • Realized efficiency per channel against the previous plan, to check the curves against what happened

What changes by context

B2C ecommerce
Seasonality dominates, so an annual optimum is the wrong object. Reallocate within periods rather than across the year, and treat the promotional weeks as their own allocation problem with their own curves.
B2C subscription
The return on a dollar arrives over months, so channels differ in payback as well as in efficiency. Two channels with the same marginal return and different payback periods are not interchangeable when cash matters.
Marketplace
Spending on one side changes the value of spending on the other, so the allocation is joint rather than a set of independent curves. Optimizing each side alone reliably overspends on whichever side is currently easier to acquire.
Local / omnichannel
Budget can be moved between markets as well as between channels, which adds a dimension and also makes the reallocation naturally testable, since a market-level move is already a geo design.

When it breaks down

  • Uncalibrated curves, where the optimizer is precise about coefficients nobody has checked and the confident output is the dangerous part.
  • Budgets committed annually with no in-period flexibility, where the useful output is the plan for next year rather than for this quarter.
  • Single-channel programs, where the decision is how much rather than where, and a curve with a break-even point answers it directly.
  • Organizations that will reverse a move within a quarter, which guarantees every reallocation is measured during its worst weeks.