Analysis of Sensitivities (AOS) & Analysis of Change (AOC)

Applies a shock to a different set of variables (AOS). Measures the impact of subsets of inputs on their results (AOC).

Written By Nikolas Ethoré (Super Administrator)

Updated at November 14th, 2024

Analysis of Change (AoC) enables to measure impacts of two different subsets of inputs on the variation of the result from their evaluation.

Analysis of Sensitivities (AoS) is used as a standard loop in Mind. This analysis performs many time the calculations with each time applying a shock to a different set of variables.

Both functionalities work with one single loop named Analysis in Mind. AOC and AOS can work independently or combined. When both functionalities are used combined, the loop Analysis follows a specific set of rules.

How to use AOC functionality

Delete

Please note that you need to have the following right to access this feature:
Project AOC switch

The AOC functionality appears in Mind only if you have one table with /AOCOrder and at least one input table with /AOC. A new switch appears in Mind below the run button.

The flag /AOC: adding stretched values to your input tables

The flag /AOC enables you to add a dimension to your input tables. Your flagged input table can then have 2 versions: one with normal values and one with stretched values. Note that AOC grids are assumptions grids and should only be used like so. Add the flag /Input to your grid to import your data through the input manager.

In Mind, a new switch appears on all grids flagged with /AOC. It allows you to display either normal or stretched values. This switch is purely informative, meaning that the switch has no impact on which values are actually used in calculations.

If you added the flag /Input to your AOC table, the input manager will create automatically 2 versions of your AOC table: one with its original name and one with the suffix .Option. To automatically match your CSV files on the stretched version of your AOC table, name your CSV with the suffix .Option (for the example above, Table1.Option.csv).

The /AOCOrder table: defining which tables to switch to stretched values

When a grid is dependent on AOC grids, the depending grid will use either the normal or the stretched values of the AOC grids in its calculations. The values used for calculations will depend on the index of a specific loop named Analysis. The loop Analysis has 2 components: AOC and AOS scenarios. For now, let us consider only AOC (see part 3 for the combined use of functionalities AOC and AOS).

The table flagged with /AOCOrder table defines the AOC scenarios as well as the starting index on which, for each AOC table, the values switch from normal to stretched values (depending on the index of the loop Analysis and more precisely on the AOC scenarios). 

The AOCOrder table follows a specific structure:

  • The first column "Grid Name" refers to AOC grids or groups of AOC grids. To learn more about how to define groups of AOC grids, see Groups of AOC grids with /AOCGROUP‍ .

  • The second column "AOC Order index" refers to the starting index of your AOC scenarios when your corresponding AOC grids switch from normal to stretched values. Note that it is cumulative, meaning that if Table2 switches to stretched values on index 1, then on index 2, Table2 is still on stretched values. The number of indexes defines the number of AOC scenarios.

  • The third column "Label" refers to the label of your AOC scenarios. It is optional. These labels will appear in Mind in the drop-down list of your loop Analysis for tables that depends on this loop.

The AOC order table is unique. It is a specific grid in Mind and cannot be updated through the input manager.

To update the AOCOrder table in Mind, you need to go to the Project management, to the tab Manage Models (see below).

The loop Analysis when only AOC is activated

If only AOC is activated, the loop Analysis will be created with the default index named "Central" (which corresponds to index 0) and the AOC scenarios. All grids that depend on an /AOC grid will inherit the loop Analysis.

In the example of the AOC order table shown above:

  • The AOC order index of Table1 is 1 and corresponds to the AOC index named End. Thus, all tables that depend on the grid Table1 will use stretched values of Table1 when End is selected for the loop Analysis but also when Stretch 2 is selected.

  • The AOC order index of Table2 is 2 and corresponds to the AOC index named Stretch 2. All grids that depend on the grid Table2 will use stretched values of Table2 starting from scenario Stretch 2. In this case, if you select Central or End, values used will be normal values. Otherwise, if you select Stretch 2, values used will be stretched values.

The following functions/functionality will help you in building your model with AOC:

How to use AOS functionality

Delete

Please note that you need to have the following rights to access this feature:
Project Sensitivity switch / Project Sensitivity dropdown


The AOS functionality appears in Mind only if you have used the function MM_SENSITIVITY to define your AOS scenarios. A new switch appears in Mind below the run button.

The MM_SENSITIVITY function is unique. To learn how to use MM_SENSITIVITY, see MM_SENSITIVITY / MM_SENSITIVITYLABELS functions (AOS)‍.

The loop Analysis when only AOS is activated

The function MM_SENSITIVITY takes as the first parameter a table that defines an AOS scenario for each row of that table. Thus, the number of rows defines the size N of the number of AOS scenarios.

If only AOS is activated, the loop Analysis will be created with N AOS scenarios. It is similar to a regular loop defined with MM_LOOP in the way that all grids that depend on the table defined by MM_SENSITIVITY will inherit the dimension of the loop Analysis.

Check the following articles to get more details about AOS functionality:

  • MM_SENSITIVITY: adds AOS functionality to your model.

  • MM_SENSITIVITYLABELS: adds labels to your AOS scenario in the loop Analysis.

  • MM_SENSITIVITYSTATUS: returns the status of the AOS switch in Mind.

AOC and AOS functionality combined

If the model has both AOC and AOS with n the number of AOC scenarios and N the number of AOS scenarios (scenario "Central" is counted among AOS scenarios), then:

  • If only AOC is activated, the size of the loop Analysis is n+1 and the loop is defined by the scenario "Central" (index 0) and AOC scenarios.

  • If only AOS is activated, the size of the loop Analysis is N and the loop is defined by the AOS scenarios (the first one being "Central").

  • If both AOC and AOS are activated, the size of the loop Analysis is n+N. The first index is "Central", the following ones correspond to AOC scenarios and the final ones to AOS scenarios (without "Central").

If both AOC and AOS are activated, a table that depends on the AOS scenarios (directly or indirectly by referring to MM_SENSITIVITY table) will take the default value of the AOS scenario when an AOC scenario is selected. The default value of the AOS scenario can be selected in the drop-down list below the AOC/AOS switch. AOS does not need to be activated to use this default value for AOC scenarios.