Skip to content

Optimization

Hand tuning simulations and predictions for maximum effectiveness is tedious, instead one should simply use the optimization feature. Which allows you to do an optimization with constraints to achieve the optimal outcome.

Mode

Dynamic

The dynamic optimization simply seeks to simply find the best value possible given the constraints set.

Goal

Set the goal you want to achive, either in absolute value i.e. you want to hit exactly X number of sales, or you can set the value to be relative to the baseline i.e. you want Y more sales generated by the activities.

Optimization Variables

Select the input variables that should be optimized, the rest will be set to the value they have in the data set.

Equality/Inequality Constraints

Apply a Euality or Inequality constraints, the variable is summed over time then one can set if it should be greater, less than, or equal to a specific value. If multiple variables are selected, they will be summed together.

This is useful for example if one wants a total media budget and combine that with a max spend for individual media channels across all time points.

If one is instead want to setting min / max constraint per epoch, then Optimization#Boundary Constraints is the better option.

Boundary Constraints

We support four different types of boundary constraints, that can be set for each individual time point.

  • max: The maximum value the variable can become.
  • threshold_max: If the value is above the Threshold Max the value will jump and become the Max value. Note Max must be set and Threshold Max must be less than the Max value.
  • threshold_min: If the value is below the Threshold Min the value will jump and become the Min value. Note Min must be set and Threshold Min must be greater than the Min value.
  • min:The minimum value the variable can become.

Directions

For “Goal Driven” optimizations one can set “Directions” for variables. This is to set an ideal direction the variable should go while still hitting the set target.

We support 3, directions

  • Minimize: make the variable as small as possible.
  • Maximize: make the variable as large as possible.
  • Neutral: don’t set a fixed direction, could also just not set a direction at all for the variable.

A good use case for this is to set Media variable to have a Minimize direction, this would mean that you are trying to hit your target while spending as little as possible on media.