GUIDE TO
SCENARIO
ANALYSIS
IN FINANCIAL
MODELING
A best practice in 3-statement financial
modeling is to include scenarios. Scenarios
allow decision-makers to evaluate different
opportunities and outcomes.
The Advanced Financial Modeler accreditation
program covers a variety of ways to
incorporate scenarios in your financial models
so that they are powerful communication
tools.
This Guide will introduce how to think about
scenario analysis, best practices, and the use
of powerful Excel tools to manage risk in your
financial models.
2
Table of Contents:
Key Drivers 4
Best Practices 5
Scenario Analysis Skills 6
CHOOSE Function 8
INDEX Function 10
OFFSET Function 12
XLOOKUP Function 14
SWITCH Function 16
Combo Box 18
Saving a Model 20
3
Key Drivers
Flexibility in models is critical, as stakeholders typically
want to know the impacts of changing key drivers on the
overall business under various scenarios.
Key drivers are assumptions that are difficult to forecast,
hard to control, and they materially affect the business.
Examples of key drivers can include:
Sales Price
Sale Volume Growth
Cost Inflation
Currency Exchange Rates
Input Costs
An effective model should be able to switch between
different operating cases, or scenarios, and these
assumptions should dynamically flow through the model
and ultimately through to the financial statements.
4
Best Practices
Scenario analysis assists to manage risk.
By considering best and worst case scenarios stakeholders
are provided a clearer picture of possibilities, and are
therefore able to consider implications.
An effective model will have at least three different
scenario cases:
• 1 = Base Case
• 2 = Best Case
• 3 = Worst Case
Note that having a high number of scenario variables is
not ideal since too many variables complicate the analysis
and require substantial work to update and maintain.
Scenarios should be reserved only for key driver
assumptions that materially affect the business.
5
Scenario Analysis Skills
When a financial modeler needs to choose from a number
of items (in this instance, 1- Base Case, 2 - Best Case, and 3
- Worst Case) the IF statement is typically the go-to
function to perform the task.
In the AFM learning resources, three of the most useful
functions are discussed:
CHOOSE
INDEX
OFFSET
Additional options include XLOOKUP and SWITCH.
6
Scenario Analysis Skills
Instead of manually typing in the number “1,” “2,” or “3” for
the three different operating cases, or scenarios, you can
use a combo box.
A combo box is a more user-friendly way to toggle between
scenarios and allows the model user to choose the case
they to run using a drop-down that states the name of the
case.
A complete explanation on how to build and incorporate a
combo box in your model can be found on pages 18-19.
7
CHOOSE Function
The CHOOSE function allows for multiple scenarios to
be quickly toggled. The formula is simple to use and
easy to understand.
In cell C5 (on the following page), we see the function
=CHOOSE($C$1,C7,C8,C9).
There are two parts to this function, the index number
$C$1, and the values (C7,C8,C9).
The index number in cell C1 dictates which value to
display.
=CHOOSE(index_num, value1, [value2], ...)
8
CHOOSE Function
fx =CHOOSE($C$1,C7,C8,C9)
If there is a 1 in C1, it displays the value in C7 (2.0%).
If there is a 2 in C1, it displays the value in C8 (1.8%).
If there is a 3 in C1, it displays the value in C9 (2.5%).
The benefit to the CHOOSE function is that it is
extremely simple and easy to understand by anyone who
reviews it, which creates a lot of confidence for the
person reviewing the file.
9
INDEX Function
The INDEX function is a great tool to run scenarios and is
especially helpful for scenarios that have many cases.
In cell C5 (on the following page), we see the function
=INDEX(C7:C9,$C$1). There are two parts to this
function, the array (C7:C9), and the row number ($C$1).
The row number checks the number in cell C1 to see
which value in the array (C7:C9) to display in cell C5.
The first cell in the array will be displayed in cell C5 if the
switch is set to 1, the second cell will be displayed if the
switch is set to 2, and so on.
=INDEX(array, row_num, [column_num])
10
INDEX Function
fx =INDEX(C7:C9,$C$1)
If there is a 1 in C1, it displays the value in C7 (2.0%).
If there is a 2 in C1, it displays the value in C8 (1.8%).
If there is a 3 in C1, it displays the value in C9 (2.5%).
The benefit to the INDEX function is that you can
reference a range of cells instead of clicking on each cell
individually.
11
OFFSET Function
The OFFSET function is a great tool to run scenarios
and is helpful for scenarios that have many cases and
will have more cases added over time.
In cell C5 (on the following page), we see the function
=OFFSET(C6,$C$1,0).
There are three parts to this function, the reference cell,
the number of rows to drop down from the reference
cell, and the number of columns to move over from the
reference cell.
The reference value, C6, is the starting point. The
OFFSET will drop down one row because the switch,
C1, has been set to 1. Last, the OFFSET will stay in the
same column because the third argument is set to zero.
=OFFSET(reference, rows, cols, [height], [width])
12
OFFSET Function
fx =OFFSET(C6,$C$1,0)
If there is a 1 in C1, it displays the value in C7 (2.0%).
If there is a 2 in C1, it displays the value in C8 (1.8%).
If there is a 3 in C1, it displays the value in C9 (2.5%).
The benefit to the OFFSET function is that you can add
more cases and you don’t need to change the syntax in
the formula.
13
XLOOKUP Function
In cell C5 (on the following page), we can use the
function =XLOOKUP($C$1,A7:A9,C7:C9). There are
three key components to this function: the lookup value
($C$1), the lookup array (A7:A9), and the return array
(C7:C9).
The function searches for the value in cell C1 within the
range A7:A9, finding the value in A7, and returns the
corresponding value from the range C7:C9, with the
value in C7.
=XLOOKUP(lookup_value, lookup_array,
return_array)
14
XLOOKUP Function
fx =XLOOKUP($C$1, A7:A9,C7:C9)
If there is a 1 in C1, it displays the value in C7 (2.0%).
If there is a 2 in C1, it displays the value in C8 (1.8%).
If there is a 3 in C1, it displays the value in C9 (2.5%).
The benefit of the XLOOKUP function is that it allows you
to reference a range of cells for both the lookup and return
arrays, simplifying the formula. Additionally, it provides
clarity in auditing since it clearly displays both the lookup
and return ranges, making it easier to verify the data
source and output.
15
SWITCH Function
The SWITCH function is a great alternative to using
multiple nested IF statements, allowing for simplified
expressions when evaluating an expression against a list of
values to return the corresponding result of the first
matching value.
In cell C5 (on the following page), we see the function
=SWITCH($C$1,A7,C7,A8,C8,A9,C9). There are three
main parts to this function: the expression, the values, and
the results.
The expression is the value or cell reference to evaluate,
which in this case is $C$1. The values are the possible
values of the expression to match (A7, A8, A9).
The results are the corresponding values to return (C7, C8,
C9) if the expression matches one of the specified values.
=SWITCH(expression, value1, result1)
16
SWITCH Function
fx =SWITCH($C$1,A7,C7,A8,C8,A9,C9)
If there is a 1 in C1, it displays the value in C7 (2.0%).
If there is a 2 in C1, it displays the value in C8 (1.8%).
If there is a 3 in C1, it displays the value in C9 (2.5%).
The benefit of the SWITCH function is that it simplifies
decision-making logic by allowing you to check multiple
conditions in a clean, readable format. This eliminates the
need for complex nested IF statements, making the
formula easier to audit and maintain.
17
Combo Box
A combo box combines a text box with a list box to
create a drop-down list. This allows the user to select
the data they want to display.
Ensure the developer tab has been turned on (File >
Options > Customize Ribbon) and then follow the steps
below to create a combo box.
Click on Developer > Insert > Combo Box under the
Form Controls
Draw the combo box by clicking on the screen,
dragging to the desired size and releasing
Right click on the combo box and select Format
Control
In the input range select the scenario options (Base
Case, Best Case, Worse Case in the example below)
in your model
In the cell link box, select the cell with the switch
value
Move and resize the combo box to hide the cell
noted in the previous step
Done! Now when you use the combo box, it will
start changing the number in the switch cell and
you should see the values in the live case change
18
Combo Box
EXAMPLE:
19
Saving a Model
Version control is important to keep track of the latest
version of the model.
The only criterion that should be used when saving a
new version of a model is “time.” A proper naming
convention is (Company Name) (Date).xls
Dates should be structured in the format
Year/Month/Day so that models can be viewed in true
chronological order.
Never use “Save As” to re-save a version that is
running a different operating case all cases should be
captured using Scenarios in the same model.
Save using “Password to Modify” provides read-only
access to avoid situations where another user
inadvertently introduces an error into the model.
Always save your work regularly.
20
For more model building tips like these, enroll in an FMI
program or accreditation and join the FMI Community today.
21