All tools

Ad budget allocation simulator

Paste each channel’s spend and results history. The simulator fits the return curves and tells you how much to put in each channel to get more out of the same budget.

Channels and history

For each channel, enter pairs of spend and results from the same period (month, week or campaign). You can paste two columns straight from a spreadsheet into any cell.

Budget limits (optional)
Minimum Spend this channel must receive, by contract or by strategy.
Maximum Spending cap this channel should not exceed.

Budget limits (optional)
Minimum Spend this channel must receive, by contract or by strategy.
Maximum Spending cap this channel should not exceed.

Budget limits (optional)
Minimum Spend this channel must receive, by contract or by strategy.
Maximum Spending cap this channel should not exceed.

Up to six channels. No history yet? Fill in two rows, what you spend and get today and what you expect from double the budget.

Total budget and suggested split

Enter the budget for the period. The simulator spreads it across channels up to the point where the last dollar returns the same everywhere.

Budget for the same period as the data (month, week or campaign).

Return curves and suggested point

    Suggested split

      Projected leads

      Cost per lead

      Next $1,000 returns

      Gain over an equal split

      Reading the result

        How to use the simulator

        1. Name each channel and enter pairs of spend and results from the same period (month, week or campaign). You can paste two columns straight from a spreadsheet into any cell, and the table grows on its own.
        2. Read the line under each channel. The simulator estimates the result ceiling, the spend that delivers half of that ceiling and the quality of the fit, and warns you when the data is not enough yet.
        3. Enter the total budget for the period. The suggested split, the projected results and the marginal return of each channel appear instantly, along with the chart of the curves.
        4. Drag the budget slider to see how the split changes and what the next dollar returns. If a channel has a contractual minimum or a spending cap, set the limits and the simulator respects them.

        How the simulator calculates the split

        More spend brings more results, but each extra dollar returns less than the one before, because the auction gets pricier and the audience saturates. The simulator describes that behavior with an inverted exponential, y = a · (1 − e^(−b·x)), where a is the channel’s ceiling and b is how fast it saturates. Both parameters are fitted to your points by least squares, with b searched on a fine grid and then refined.

        Once the curves are in place, splitting the budget becomes a convex optimization problem, which is why it has a single solution. At the optimum, the marginal return per dollar is the same in every channel that receives budget, because if one channel returned more at the margin, moving a dollar into it from another would improve the total. The simulator finds that point by bisection, respecting the minimums and maximums you set, and shows the common marginal return as what the next dollar brings.

        It is the same method Marktech applies when managing accounts, described in the article on allocating budget across channels. The difference is that here it runs on your numbers, in the browser, without sending anything to a server.

        What each number means

        The terms that appear in each channel’s reading and in the suggested split:

        • Ceiling
          The most results the channel can deliver in the period, no matter how much you spend. It is the a parameter of the curve. When it sits far above your largest observed result, it is extrapolation, and the simulator warns you.
        • Half the ceiling
          The spend that takes the channel to half its ceiling, equal to ln 2 divided by b. The smaller it is, the sooner the channel saturates. It is a quick way to compare channels, since one may saturate at $1,500 and another only at $4,500.

        • How much of the variation in your results the curve explains, from 0 to 1. Above 0.9 the fit is good; below 0.5 the points are too scattered and the measurement deserves a review.
        • Marginal return
          How many results the next $1,000 brings in each channel, at the suggested point. At the optimum it is equal in every channel that receives budget, and it is the number that tells you whether raising the total budget is worth it.
        • Extrapolation
          The flag appears when the suggested spend exceeds the largest spend you have ever made in the channel by more than 25%. The curve there is an estimate. Step up gradually and feed the history back in.

        Frequently asked questions

        How many points do I need per channel?

        Two points with different spend levels already define a curve, but with no room for error. From four or five periods on, with budgets that varied between them, the fit starts to become reliable. If you spent the same amount every month, the points pile up and the curve learns nothing about saturation.

        What if I have no history for a channel?

        Fill in two rows with estimates, what you spend and get today and what you think you would get with double the budget. The curve passes through those two points and the split comes out consistent with your expectation. The better path is to run a few weeks with different budgets and come back with real data.

        Why is the curve an inverted exponential?

        Because it captures the essentials with two parameters, a ceiling and a saturation speed, and because its derivative has a closed form, which keeps the allocation exact and fast. It is an approximation, not a law. If your data suggests another shape, a low R² is the signal.

        Does it work for sales or revenue, not just leads?

        It works for any result you can count per period. Pick sales or conversions in the selector and the labels follow. For revenue, enter the amount in the results column and read the projection the same way; the math is identical.

        What should I do when the suggested spend exceeds what I have ever invested?

        Treat it as a direction, not an order. The curve beyond the largest observed spend is extrapolation. Move the budget in steps of 20% to 30%, measure the period’s results, add the new point to the history and run it again. In two or three rounds the curve learns the new stretch.

        Does my data leave the browser?

        No. The fitting and the allocation run entirely in your browser, and nothing is sent to a server. So that you do not lose your work when reloading the page, the numbers are kept in your own browser, and the load example button takes you back to the starting point.

        Does the split account for attribution between channels?

        No. Each curve is fitted to the results attributed to its own channel, so the simulator inherits the attribution model of your tracking. When part of the conversions happens far from the click, as in upper-funnel channels, it is worth complementing it with an aggregate model such as Marketing Mix Modeling.

        Read more

        Want to apply this to your accounts with real data?

        Marktech is a Google and Meta partner and uses this method to manage paid media for companies, chains and franchises.

        Talk to a consultant