Running

Splitting one budget across two markets

The same argument decides allocation. Neither an even split nor a split in proportion to population is right; the best split is the one where the next person costs the same in both markets. Move the slider and the shortfall against that optimum is printed underneath.

One budget of ₹1.5 crore across two markets: a metro of 1.2 crore reachable people where the first person costs ₹1.80, and a tier-2 cluster of 45 lakh where the first costs ₹1.10.

Metro
Next person
₹2.55
Budget
₹75 lakh
Reached
35.2 lakh
Tier-2 cluster
Next person
₹5.01
Budget
₹75 lakh
Reached
35.11 lakh
Total
Budget
₹1.5 crore
Reached
70.31 lakh

The best split puts ₹1.02 crore into the metro and reaches 73.1 lakh people. This one leaves 2.79 lakh people unreached for the same money.

A model, computed in your browser from the parameters printed above it, which you can change. The instrument itself signs in against a live account; nothing on this page touches one.

Question

A forecast is easy. Knowing where to stop is the job.

Any planning tool will tell you what a budget reaches. The figure always goes up with spend, so on its own it can justify any number at all. The question a planner has to answer in front of a client is the other one: at this budget, is the next rupee still worth spending here?

This instrument answers that by computing, at every modelled point on the curve, what the next person actually cost — the extra spend divided by the extra people reached — and putting that figure beside the reach figure rather than underneath it.

Method

How the knee is found

  1. step one

    For every step along the curve, divide the extra spend by the extra people reached. That is what the next person cost at that point.

  2. step two

    Take the middle value across all of those steps, so one freakish step cannot move the answer.

  3. step three

    The knee is the first point, past the step where a person was cheapest, at which the next person costs more than twice that middle value. The recommended band runs from the knee to the last point at which the next person still costs no more than twice what they cost at the knee.

Reported as a range, not a line

Two tests are run for the knee — one on marginal cost, one on the shape of the curve — and on a real plan they can land many modelled steps apart. When they disagree, the tool says so and reports the knee as a range. A single confident line would be easier to put in a deck and would be an overstatement of what the data supports.

Plates

The planner's analysis pane: a reach curve plotted against spend on a logarithmic axis, with the selected point marked, the efficiency knee and recommended band shaded, and a panel reading 95,82,607 people reached with the cost of the next person at 4.52 paise.

Plate 1

The analysis pane. Spend runs on a logarithmic axis because Google spaces its modelled budgets geometrically, and a linear axis stacks most of them against the left edge.

The allocation view, showing how a single plan's budget divides across ad products and what each one contributes to reach.

Plate 2

The allocation view: where a plan’s budget goes across ad products, and what each contributes.

Specification

Answers
What a budget reaches in a market over a flight, at what frequency and what cost, and where on that curve the next person becomes expensive.
Reads from
Google Ads Reach Planner, for the account it is pointed at. Credentials stay server-side; product capabilities are read live rather than hard-coded.
Writes
Nothing. It models campaigns and never creates, changes or pauses one.
Produces
A formatted Excel workbook, a client deck, a client-facing media plan, normalised forecast JSON, and a shareable link to the saved plan.
Also answers
How to split a budget across markets, which market is worth entering, and whether a different flight length buys more for the same money.
Access
Runs in the operator console against a live account. The demonstration on this page runs on its own and reaches no account.

Access

The running instrument is operated by one person against a live Google Ads account, and is not open to sign-up. Everything on this page — the method, the specification and both demonstrations — is public and is meant to be argued with.

Operator console