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 theMax
value. NoteMax
must be set andThreshold Max
must be less than theMax
value. - threshold_min: If the value is below the
Threshold Min
the value will jump and become theMin
value. NoteMin
must be set andThreshold Min
must be greater than theMin
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.