โ๏ธ Optimizer
Input your goal and per-channel and total budget spend constraints, and receive a budget that is optimized for your selected target (profit, ROI, or revenue)
๐ฅ Inputs
Realistic channel budgets
Planned promotions or holidays
Committed spend levels
Objective - Outcome Target, Efficiency Target, or Maximize Profit
Constraints
Model Selection
๐ณ๏ธ Objectives
Efficiency Target
Selecting the Efficiency Target allows you to maximize the cost-based efficiency of all of the marketing dollars spent during the time period selected. This value includes the effect that will be realized both immediately and in the future.
When to use: Use this when you want to spend as much as possible while maintaining a certain level of efficiency.
Total outcome
Total outcome is the complete effect on the KPI produced by the spend on a channel during the selected period, regardless of when this effect will be realized.
For channels that have a time shift, some of the outcome will be realized immediately on the day of spend, but the full effect will not be realized until some point in the future. The length of time, and pattern for when the full effect will be realized is estimated based on the time shift curve which can be viewed directly using the Shift Curves report.
โKPIโ above is referring to the relevant business metric Recast is modeling (ex. Revenue, Conversions, etc)
When to use: Use this objective when you are trying to hit a certain goal in conversions or revenue as efficiently as possible
Profit
For ROI Models: Total Outcome * contribution margin - Total Spend
For CPA models: Total Outcome * value per acquisition - Total Spend
When to use: Use when you want to maximize the value of your conversions minus marketing spend
๐ชข KPI Selection
The first step in optimizing is selecting what you want to optimize. If you only have one KPI modeled by Recast, this is straightforward. However, if you have multiple KPIs you can select which one youโd like to optimize for. By default, youโll have one KPI for each Recast model. But your model building team can also create aggregate KPIs that sum across multiple models. For example, a total revenue KPI might be composed of Amazon revenue plus Walmart revenue plus online subscriptions multiplied by some lifetime value number, as seen in โTotal Revenueโ below:
If the KPI youโre interested in does not yet exist in Recast, you can make your own by doing Custom Model Weights and inputting the weights you want to use. Learn more by visiting Optimize across multiple models.
Adjusting Spikes
Once youโve selected your KPI you can adjust the spike calendar for the time period you are optimizing for. Having an accurate spike calendar is important as spikes will make it more or less difficult to hit your objective. Spikes shown in red are spikes that have not happened yet and can be deleted if they are no longer going to happen.
Strategy
In general, the optimizer iteratively makes small nudges to your budget that help get it closer to your goal. It repeats this process over and over until you have your final recommendation. The Recast model doesnโt just return one simulation of what might happen in the future, it returns hundreds of simulations of what could happen. These hundreds of simulations are what we use to provide things like uncertainty around channel ROIs/CPAs. The important thing to remember is that the strategy you select impacts which of those simulations weโre trying to optimize.ย
Strategy Options
Base: targets the mean of all the simulations and tries to make budget changes so that the mean outcome is as good as possible. Good for making sure your average result is as good as possible.
Conservative: targets the 20th percentile and tries to make budget changes so that the 20th percentile outcome is as good as possible (and 80% of simulations will be even better than that). Good for making sure your โworst caseโ scenario is as good as possible, regardless of how good the โbest caseโ scenarios are. โHedging your betsโ.
Aggressive: targets the 80th percentile and tries to make budget changes so that the 80th percentile outcome is as good as possible (whether or not the bottom 80% of simulations are poor). Good for making sure your โbest caseโ scenario is as good as possible, regardless of how bad the โworst caseโ scenarios are. โHigh Risk, High Rewardโ.
Conservative and Aggressive both target percentiles rather than the mean. Percentiles put all the simulations in order from smallest to largest. Then for an Xth percentile, we look for the simulation below which X% of the simulations fall. When you calculate a mean, every single simulation influences that mean, but when you calculate a percentile, itโs looking at a single simulation (whichever one is at the 20th or 80th percentile). In math-y terms, the mean is a smooth function, percentiles are not. The consequence of this is that small changes in the input of Conservative and Aggressive optimizations can cause large changes to the output. We recommend using Base if consistency between different scenarios is important.
Intuition
Here the gray vertical lines represent the possible forecasted KPIs we get from our hundreds of simulations, the green dots represent the 20th percentile (a โworst caseโ scenario: 80% of simulations forecast a higher KPI than this one) and the red dots represent the 80th percentile (a โbest caseโ scenario: only 20% of simulations forecast a higher KPI than this one).ย
ย
You can see that Budget 2 has a higher floor (green dot is higher than in Budget 1) but a lower ceiling (red dot is lower than in Budget 1). The Aggressive setting will prefer Budget 1, because its โbest caseโ scenario is better than in Budget 2. But Conservative will prefer Budget 2 because its โworst caseโ scenario is better than in Budget 1. Base would consider these Budgets similar, because their mean predicted KPIs are similar.
Total Spend Constraint
The Total Spend Constraint allows you to fix your total budget in the optimizer exactly equal to a single value. This is useful if you have an exact budget you would like to spend fully.
The total spend constraint provides these options:
No overall spend constraint: this optimizes over your constraints without a fixed total budget.
Total spend constraint on all channels: This includes lower funnel channels in the total spend constraint.
If no budget is uploaded in the optimizer, the total spend constraint will equal the entire budget generated by the optimizer. If a budget is uploaded, the optimizer will first account for the total budget uploaded then optimize the remaining total spend. Channels that do not appear in any constraints will default to a spend of $0 if no budget is provided.
Note that the sum of max constraints will have to be greater or equal to the total spend constraint. The optimizer will cap the total budget equal to the total spend constraint.
Make sure the constraints allow the total spend to be reached. If not, the optimizer will error.
๐ณ Introduction to setting constraints
The optimizer can be constrained to only search through budgets that you would be capable of implementing. The way that constraints work is as follows:
Each row in the constraints table below is a separate constraint.
Each row constrains the optimized spend to be between the โminโ and โmaxโ across all of the channels included in the โchannelsโ section
The example below will constrain meta_prospecting plus meta_retargeting to be between $0 and $1,000,000 of spend between 2025-03-23 and 2025-03-31, and will constrain influencers to be exactly $100,000 of spend during the same time period.
Optimized spend is in addition to spend specified in the uploaded budget, so you may specify โminโ and โmaxโ to be negative, if you are trying to find optimal ways to reduce spend relative to your original plan. See the section on โFinding how to reduce spend by a fixed amountโ for more details.
If your model has context variables click the dropdown button to check the values that will be used.
Lower funnel constraints
By default, lower funnel channels are optimized indirectly by the Optimizer. The Optimizer first tests a budget for upper funnel channels, then predicts the amount of lower funnel spend if that budget was followed, then predicts the outcome of following that budget. If lower funnel channels are effective, the Optimizer will favor channels that drive high amounts of lower funnel spend. There are several tweaks you can make to this optimization process.
The options are:
Uncapped (default) - works exactly as described above
Off - turns the lower funnel channel off so no spend happens during the optimization window
Capped - Acts like uncapped but with a hard upper limit preventing you from spending more than a budgeted amount
Manual Override - if you do not want to have the Optimizer control spend, you can upload a budget with the planned lower funnel spend and select โManual Override.โ This makes it so that the Optimizer will use exactly the spend you provide without any additional optimizations.
โ Additional channel-level constraints
In addition to the main constraints set above, the optimizer allows for additional channel-level constraints that may be set by clicking โeditโ on any channel, that will open a modal that looks like this:
Minimum spend
The Minimum Spend constraint allows you to specify the minimum you plan to spend in a channel. For example, if you have a contract with a channel to spend $X every month, you can specify that amount in the constraint.
Drop days
Certain channels may have drop days where you spend you spend your budget for that channel in large chunks, instead of a little bit each day. Drop days are the number of days between each set of spend into a channel. 1- means you spend into a channel everyday, 2- means you spend into a channel every other day, 3- means you spend into a channel every 3 days and so on. Setting drop days prevents the optimizer from spending into the channel every day.
The optimizer will recommend the number of days to set as the frequency of spend for channels without daily spend. Using this recommendation can help you prevent unrealistic spend recommendations.
Failure to set a realistic "drop days" may lead to spend on too many days, which will make the spend appear less saturated.
How to add spikes
Spikes are days when you expect greater or lower than usual. These could include promotions like Black Friday sales or Amazon Prime day. Click the โshowโ button next to the Spikes heading to see all your currently active spikes. To add a new date click โAdd dateโ next to each spike. To add a new promotion, click โadd dateโ next to Promo. If you want to remove a spike, add a new label, or if you are having trouble identifying spikes, contact support@getrecast.com for help.
How to use a reference budget
You may optionally set a budget for channels that you have not constrained above by dragging and dropping a CSV or by uploading a file from your computer. It must be in exactly the same format as the template file provided here.
For channels that have constraints, the constraints will be applied _on top of_ the existing budget. Negative values will decrease spend in the budget, while positive values will increase spend (e.g. if the budget allocates $100,000 of spend to Channel A, and there is a min = $-20,000, max = $150,000 constraint on that channel, this tells the optimizer it needs to spend anywhere between $80,000 and $250,000 in that channel (budgeted spend + constraints). Any channel that is not part of the constraints will use the values in the budget provided. If you do not provide a budget, unconstrained channels will be set to zero.
โ๏ธ Common use-cases
How to find the โunconstrained recommendationโ?
A useful first step with the optimizer can be finding the โunconstrained recommendationโ. This means not setting any minimum or maximum constraints on your channels despite possibly having constraints. The unconstrained recommendation will optimize your spend exclusively with the purpose of maximizing your objective. This will allow you to gauge a baseline outcome, recommended spend and ROI per channel before inputting your constraints and seeing how they affect your objective.
How to fix spend?
Recast allows you to allocate a fixed budget optimally. This is useful if you have a set budget you have to spend and do not want to spend more or less than this fixed amount across all your channels.
To set a fixed budget: Create a constraint in the optimizer tool and include all your channels. In both the fields marked โMaxโ and โMinโ input the fixed amount you would like to spend across all your channels combined. Recast will create a budget that does not exceed your stated maximum
For more Optimizer use cases visit How To: Plan your Budget and How to: React to Budget Changes.
How can I optimize when some of my channels are set in stone?
Many clients have a two stage optimization process, one where they set high level budgets for a longer time period (month) and one where they set smaller budgets (weekly or daily) for more flexible channels (e.g. Facebook), but they canโt change the more upper funnel advertising purchases (like TV) that have already happened.
For an โin-monthโ optimization, where some channels are locked in and some channels are still optimizable, we recommend using the โupload budgetโ feature shown below. In this scenario, you would drag your flexible channels into the constraints and optimize for them, and then you would place the spend amounts you have set in stone for your upper funnel channels in the template CSV and upload it as a budget. The optimizer will then take these figures into account and use them to estimate how aggressive or conservative it needs to be with your flexible channels in order to reach your objectives.
ย