❓How does the optimizer allocate spend?

This guide helps explain how the optimizer creates budget recommendations. If you are curious why the optimizer is recommending spending more in Channel A than Channel B, understanding how the optimizer works can help shred light on the optimizer’s recommendations.


Table of Contents

What is a Draw?

Optimizer Objectives

Impact of Strategy


What is a Draw?

When Recast fits your model, it estimates several key parameters:

  • The direct and indirect efficiency of each channel
  • The saturation of each channel
  • The intercept

These parameters allow Recast to model your dependent variable (KPI). The output of this model is a probability distribution of potential outcomes, where the most probable dependent variable is the mode of the distribution. This is called the posterior distribution.

To capture the range of possible outcomes, Recast samples from this distribution 500 times, creating a set of draws. Each draw provides slightly different estimates for the channel efficiencies, saturation, intercept, and dependent variable at a given spend level.

How does Recast forecast performance?

Using these draws, the optimizer calculates the predicted dependent variable for a proposed budget. Each draw represents a possible outcome, and collectively, these outcomes provide a range of predictions for various budgets.

By simulating the impact of different budgets across the draws, the optimizer evaluates the probability that a budget meets the selected objectives, given the specified confidence level and constraints.



How does the Optimizer work?

The optimization process begins with a starting budget (e.g., dividing the spend constraint evenly across channels). For each budget:

  1. The optimizer predicts the dependent variable using the 500 draws.
  2. It evaluates the outcome against the objective function.
  3. Based on the results, the optimizer adjusts the budget incrementally, recalculates the dependent variable, and re-evaluates.

This iterative process continues until the optimizer identifies a budget where further changes no longer improve the outcome based on the objective function.



Optimizer Objectives

The optimizer objectives define the target outcome for the optimization process. The three objectives correspond with different functions the optimizer aims to maximize.


Profit Maximization

Objective functions:

ROI Model: Contribution Margin * Revenue - Spend

CPA Model: Value per Acquisition * Acquisitions - Spend

The optimizer calculates the predicted revenue or acquisitions for each draw at various budgets and applies the objective function. It stops optimizing when incremental changes no longer improve the outcome of the objective function at the relevant percentile.


Target Efficiency (ROI/CPA)

Objective function: Maximize KPI volume while maintaining an efficiency threshold.

Example: For a CPA model with an efficiency target of $100 the optimizer tries to get as many new customers as possible subject to an average CPA of <= $100.

The optimizer requires an efficiency target (e.g. 2x ROI, $75 CPA) and a percent confidence that this target will be met / exceeded (eg. 75%). If the “percent confidence” is 75%, the optimizer will optimize the ROI (or 1/CPA) until the (1-percent confidence) = 25th percentile ROI of the draws is at or better than the target.

Once the efficiency threshold is met, it will switch to optimizing for highest mean predicted KPI. At each optimization step, the optimizer will check to ensure that the efficiency threshold is being upheld. If not it will go back to optimizing for the efficiency target to be met with the specified confidence level.

Note that if the target is unachievable then the optimizer will output the best budget possible for the primary objective, regardless of the secondary objective. For example, if the efficiency target is unattainable, the optimizer will select a budget that maximizes the efficiency at the appropriate quantile regardless of the KPI outcome.


Target KPI

Objective function: Achieve a specific KPI target at the lowest possible cost.

Example: If you target number of acquisitions is 10,000, the optimizer tries to acquire 10,000 customers as cheaply as possible.

If the “percent confidence” is 75% the optimizer will first optimize until the 25th percentile of draws is at or exceeds the target KPI. Once this is achieved, it flips to optimizing efficiency, alternating between these goals to find the most cost-effective budget to hit your target.

The optimizer calculates the range of outcomes of the objective functions from the range of draws.

If the KPI goal is too high, then the optimizer will select the budget that maximizes the KPI at the appropriate quantile given the constraints regardless of budget’s efficiency.



Impact of Strategy (AKA Confidence Level)

Depending on the strategy (conservative, moderate, aggressive) or the confidence level the optimizer has a lower percentile ‘floor’ or ‘ceiling’ which it optimizes for. The optimizer makes sure that all the draws above the percentile threshold, satisfy the target objective.

Effect of Strategy (Conservative, Moderate, Aggressive)

From our range of draws we get a range of predicted KPI for each budget. We rank the draws from the least to most KPI delivered and evaluate potential outcomes for each budget, focusing on specific percentiles:

  • Moderate (Baseline): Optimizes the mean outcome. This strategy balances channels with low uncertainty and potential high returns.
  • Conservative: Optimizes the 20th percentile. This ensures that 80% of outcomes exceed the target. This strategy favors low-risk channels with lower uncertainty.
  • Aggressive: Optimizes the 80th percentile. This strategy favors channels with higher uncertainty but potential for greater returns.

Effect of Confidence Level

The selected confidence level (e.g., 75%) determines the threshold for acceptable outcomes. For example, at 75% confidence, the optimizer ensures 25% of the draws meet or exceed the target.

If you are curious as to how we model the dependent variable, check out our Model Technical documentation.