Community perspective: How to vary model inputs using optionality

edited December 2023 in Blog

Sandi Duffy is a Certified Master Anaplanner and Senior Finance Manager at Challenger Limited.

With Anaplan, it is easy to run multiple scenarios within the same model by using optionality.

A common use for this would be during the budget setting process. Say, for example, you have a budget model but would like to see what the impact on profit would be if sales, margins, or expenses were higher or lower.

To achieve this, you need a mapping module to define which input option is to be applied to each scenario, as well as a module where you select which scenario to look at in the model.

Get started

Start by creating two new lists for scenarios and options.

Create a module for scenario mapping using the Scenarios list as the dimension.

The first line item can be text to provide a description of what the scenario is. The remaining lines are for the inputs that you want to be able to flex and should be formatted using the Options list.

In the screen shot below the model has been set up with four scenarios, starting with the base case and then applying different assumptions to the base case. For example, Scenario 2 has the same margin and expense input assumptions as the base case but applies different sales inputs (taken from Option 2 instead of Option 1).

Then create a module without dimensions for selecting the active scenario. You will need a line item to select the scenario you want to look at and should be formatted using the Scenarios list. The rest of the line items will be identical to the Scenario Mapping module.

The line item formulas will point to the identical line item in the Scenario Mapping module but will only return the value from the scenario selected.

For each input you want to flex you will need two modules; one with the Options list as a dimension and one to return the inputs for the active option.

For example, looking at sales, you have an input module with the product sales assumptions for each option and a module returning the sales based on the scenario that has been selected.

In the screen shot below Scenario 4 has been selected in the Active Scenario module. Scenario 4 is using Option 3 from the Sales Input Options module.

NOTE: You can link the calculation module directly to the input module that has the Options list as a dimension but having a separate module returning the active inputs makes it more transparent and user friendly for the model user.

It’s easy to apply optionality to existing models. For any input module you can add an identical input module, but with optionality, downstream from the existing module.


Current model flow:

New model flow:

Copy the Sales Inputs module and add Options as a second dimension. Then create a mapping table and scenario selector module as described above. Add a formula to the original Sales Inputs module to return the inputs from the new module that has the Options dimension.


As well as performing scenario analysis, this functionality can be useful for tracking input changes during the budget setting process. For example, if the sales budget changed you could keep the original and the revised inputs in the live model by using different options. This removes the need for taking multiple copies or snapshots of the model and improves transparency of assumption input changes.

Do you have other ideas of how you may leverage the power of optionality in your organization?

Questions? Leave a comment!