Use Optimize to find the input values needed to reach a target KPI, like revenue, margin, or cash, and to make what-if analysis easier by recalculating the required input changes. Optimize supports multivariate goal seek by adjusting multiple data input measures simultaneously to meet a target value for a selected result measure.
The most common use cases for Optimize in planning include:
The Optimize feature adjusts one or more independent input measures within user-defined constraints to maximize, minimize, or achieve a target value for a dependent formula measure. For example, it can vary Purchase Plan and Transport Expense Plan to optimize a calculated Profit measure.
Profit = Revenue - (Purchase + Transport Expense).Set up the planning sheet with at least one data input or forecast measure. Optimize adjusts the independent variables to achieve a target value or maximize or minimize the objective value.
Native measures from the semantic model can't be edited. To use native measures such as prior year profit or COGS, create copies of the native measures before running optimization. In the Planning ribbon, go to Insert Column > Number. Select Copy from another series. Select the native measure to copy.
In the following example, Revenue PY, Purchase Expense PY, Transport Expense PY, and Advertising Expense PY are the native measures.

Create forecasts for each native measure: Revenue Forecast, Purchase Forecast, Advertising Forecast, and Transport Forecast. For more information, see Create a Forecast.

In the Planning ribbon, go to Show Columns and hide measures that are not required for planning. In this example, hide the native measures as you will only use the forecasts for Optimize.
Add at least one formula measure to the planning sheet. The formula measure is the dependent variable. Optimize adjusts one or more independent variables to achieve a target, minimum, or maximum value for a dependent variable.
Ensure the formula uses a data input or forecast measure. Optimize adjusts the data input values to meet the target. The independent measure acts as the driver that Optimize changes to reach the target.


The following screenshot shows the forecast and calculated measures.

Optimize supports two modes:
Both modes support multivariate optimization by adjusting one or more input measures simultaneously.
Constraints are essential in optimization because they ensure the solution is realistic and feasible. Define constraints to ensure the solution satisfies business rules and operational limits, such as budget caps, production capacity, or minimum staffing requirements.
Range-based constraint:
Specify a minimum and maximum value for each data input measure to constrain the optimization. During optimization, the recalculated values for each input measure remain within the specified range, ensuring that the resulting solution is both feasible and aligned with business requirements.

Fixed-value constraint
Apply a fixed-value constraint to a data input measure to keep its value unchanged during optimization. The optimizer adjusts the remaining input measures to achieve the specified objective while honoring the fixed constraint.
Suppose Sales Price and Sales Volume are the input measures, and Revenue is the calculated measure. Constrain Sales Price to 0.5m so it remains unchanged during optimization. The optimizer adjusts Sales Volume to achieve the target revenue while keeping the sales price fixed.

If Optimize doesn't reach the target value, adjust Strategy, Tolerance, and Number of iterations, then run Optimize again.

Number of iterations sets the maximum number of times to repeat the optimization loop. In each iteration, Optimize performs these operations:
