You are on page 1of 17

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/228923320

A Spreadsheet Scenario Analysis Technique That Integrates with Optimization


and Simulation

Article · October 2009


DOI: 10.1287/ited.1090.0027

CITATIONS READS
3 2,143

2 authors:

Thomas A. Grossman Ozgur Ozluk


University of San Francisco MEF University
40 PUBLICATIONS   387 CITATIONS    21 PUBLICATIONS   220 CITATIONS   

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Thomas A. Grossman on 02 June 2014.

The user has requested enhancement of the downloaded file.


Vol. 10, No. 1, September 2009, pp. 18–33
issn 1532-0545  09  1001  0018 informs ®

doi 10.1287/ited.1090.0027
I N F O R M S © 2009 INFORMS
Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Transactions on Education

A Spreadsheet Scenario Analysis Technique That


Integrates with Optimization and Simulation
Thomas A. Grossman
School of Business and Professional Studies, University of San Francisco, San Francisco, California 94117,
tagrossman@usfca.edu

Özgür Özlük
College of Business, San Francisco State University, San Francisco, California 94132, ozgur@sfsu.edu

S cenario analysis is a widely used technique, and business students should be proficient in running scenarios
through a spreadsheet model. We propose 10 desirable properties for a scenario analysis technique, and
show that the Microsoft Excel Scenario Manager tool satisfies only one of them. We provide a tutorial for a
better technique that can be programmed into an existing spreadsheet in a matter of minutes. We show how to
integrate the technique with the Excel Solver to allow for rapid optimization of multiple scenarios and with the
Crystal Ball add-in for Monte Carlo simulation to enable simulation of multiple scenarios. Our undergraduate
and MBA students are able to learn the technique with little difficulty.
Key words: spreadsheets; scenarios; scenario analysis; optimization; simulation
History: Received: July 2008; accepted: January 2009.

1. Introduction analyst to compute key outputs by running multiple


Spreadsheets are ubiquitous in business (Ragsdale scenarios through his model.
2001) and are used for critical business purposes Ryan and Ryan (2002) report that 40% of the
(Croll 2005, Grossman et al. 2007). They are one of the financial analysts surveyed almost always use sce-
major tools for managers in the decision-making pro- nario analysis for capital budgeting. Weisel (2004)
cess (Coles and Rowley 1996) and play an important presents scenario analysis in the context of manage-
role in the practice of management science/operations rial accounting. Other examples in the literature range
research (MS/OR) (LeBlanc and Grossman 2008). from wood paneling manufacturers (Buehlmann et al.
Spreadsheets play a leading role in business school 2000) to medical scientists (Postma et al. 2001).
management science courses, and essentially all busi- Markham and Palocsay (2006) describe scenario
ness school management science textbooks rely heav- analysis, give a brief overview of scenario analysis
ily on spreadsheets. for problem solving that dates back to 1942, make
Management science is concerned with advanced the case for placing scenario analysis in the business
analytical techniques such as optimization and simula- school curriculum, and show how to use Excel’s built-
tion. Prior to studying these advanced techniques, the in Scenario Manager tool. They point out that a short-
student should have a foundation of basic techniques, coming of the Scenario Manager tool is that it does
including how to establish a base case and perform not support stochastic analysis.
benchmarking (or change from base), sensitivity anal- Fortunately, it is easy for an analyst to program sce-
ysis, scenario analysis, and backsolving/goal seeking nario analysis functionality in the spreadsheet. This
(Powell and Baker 2007, Grossman 2008). paper presents in detail an effective approach for
programming scenario analysis. We do not know
1.1. Scenario Analysis when this approach was first devised, and we spec-
This paper addresses “scenario analysis,” which is the ulate that it has been independently discovered by
systematic investigation of the impact of different sets many analysts. The earliest reference we can find is
of model inputs on key model outputs. A scenario is a Tennent and Friend (2001), who sketch an approach
set of predefined input values, usually with a descrip- in a section on “useful functions.” Powell and Baker
tive name. In forward-looking planning models, each (2007, pp. 128–129) briefly present an equivalent tech-
scenario can represent a coherent view of a possible nique. Minor programming distinctions among these
future state. Scenario analysis is the process used by the approaches are discussed in the appendix.
18
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 19

1.2. Contribution likely to introduce errors due to faulty inputs in a


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

We propose a set of 10 desirable properties that can scenario.


be used to evaluate a scenario analysis technique. We A scenario analysis technique is verifiable when it is
explain why the Excel Scenario Manager tool fails to easy to check the outputs to confirm they are accu-
satisfy most of these properties. We present a simple rate. This is of critical importance to any audit pro-
and quick programming technique for scenario anal- cess (such as an audit process that can be required
ysis (the “Scenario Engine”) that satisfies all 10 desir- for Sarbanes-Oxley compliance) or when transferring
able properties. Based on our experience of teaching a spreadsheet to another analyst. To be verifiable, it
the Scenario Engine to business students for many must be possible to use cell formulas to trace output
years, we provide a tutorial on how to program it values back to their corresponding input values and
into an existing model. Because it is a spreadsheet inspect the intermediate cell formulas.
programming technique rather than an Excel tool, A scenario analysis technique is protected when it
this approach is portable and can be used in any is difficult to accidentally modify the scenario input
spreadsheet, including Excel, Google’s spreadsheet, values, for example, by overtyping them unintention-
and others. ally. Values that reside in a spreadsheet can easily
Unlike the Excel Scenario Manager tool, the Sce- be protected through the use of Excel cell protection.
nario Engine can be combined with optimization and This can also be accomplished by accessing scenario
Monte Carlo simulation. We show in §7 how to input values only through dialog boxes, VBA code,
integrate scenario analysis with optimization using hidden cells, or hidden worksheets, although such
Solver. We show in §8 how to integrate scenario anal- approaches compromise transparency.
ysis with Monte Carlo simulation using Crystal Ball.
2.2. Desirable Properties for Analyst Convenience
We believe that the Scenario Engine technique will
An analyst is more likely to employ and use properly
benefit business school students and should be taught
a tool that is convenient. From the perspective of ana-
in or prior to a business school management science
lyst convenience, a scenario analysis technique should
course. The Scenario Engine technique is easy to learn be dynamic, flexible, and efficient.
and integrates nicely with traditional management A scenario analysis technique is dynamic (or “live”;
science topics such as optimization and Monte Carlo see Wagner and Keisler 2006) when the outputs auto-
simulation. matically update when the model changes (e.g., a cell
formula is modified) or an input not in the sce-
2. Desirable Properties of a Scenario narios is changed (e.g., the scenarios contain only
data, and the analyst modifies a decision variable).
Analysis Technique If the scenario analysis technique is “static” rather
We propose 10 properties that can be used to evaluate
than dynamic, then the scenario outputs become incor-
a scenario analysis technique. Ideally, a scenario anal-
rect after even a minor change, and the analyst must
ysis technique would satisfy all of these properties.
routinely perform extra work to rerun the scenario
We group these properties into the following cate- analysis.
gories: spreadsheet engineering, analyst convenience, A scenario analysis technique is flexible when it is
and management science. This list of criteria is likely easy to modify the scenario input values. In practice,
not complete, but we believe it covers the most impor- the input values used in scenarios can be negotiable
tant issues. and subject to change and adjustment throughout
the analytical process. Such changes should be easy
2.1. Desirable Properties for Spreadsheet
to implement and are facilitated by having scenario
Engineering input values readily accessible in the spreadsheet and
Spreadsheet engineering is the effective software by allowing the use of cell formulas in the input
engineering of a spreadsheet computer program values.
(Grossman and Özlük 2004). From the perspective A scenario analysis technique is efficient when an
of spreadsheet engineering, a scenario analysis tech- analyst can use it quickly once the managerial work
nique should be transparent, verifiable, and protected. of defining the scenarios has been completed. Because
A scenario analysis technique is transparent when the input values for the scenarios are likely to be in
the input values associated with each scenario are the rows of a spreadsheet, a scenario analysis tech-
readily available for inspection. (Transparency for sce- nique that directly acts upon data in the spreadsheet
nario analysis is a special case of a more general con- is advantageous.
cept of providing visibility of model inputs and model
logic.) Input values should not be buried in dia- 2.3. Desirable Properties for Management Science
log boxes, VBA code, hidden cells, or hidden work- From the perspective of management science, a sce-
sheets. A scenario technique that is transparent is less nario analysis technique should be optimization ready,
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
20 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

stochastic ready, and scalable, and it should use standard As Markham and Palocsay (2006) point out, the Excel
Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

terminology. Scenario Manager tool is not stochastic ready because


A scenario analysis technique is optimization ready it does not support Monte Carlo simulation. It is not
when it can easily be combined with optimization. scalable because it supports only 32 inputs. Markham
A scenario analysis technique is stochastic ready and Palocsay (2006) indicate that it does not use stan-
when it can easily be combined with Monte Carlo dard MS/OR terminology because of its unusual use of
simulation. Markham and Palocsay (2006) raise this the term “changing cell.”
as a desirable property in the context of the Excel Sce- Therefore, we conclude that Excel’s Scenario Man-
nario Manager tool, which does not allow for stochas- ager has substantial shortcomings for serious analyti-
tic analysis. cal work. In §5, we present a better approach, called
A scenario analysis technique is scalable when there the Scenario Engine, but we first present an example
is no fixed upper bound on the number of inputs for model in §4.
each scenario or on the number of scenarios.
A scenario analysis technique uses standard MS/OR
terminology. Markham and Palocsay (2006) raise this 4. Preliminaries: A Core Model and
as a desirable property in the context of the Excel Sce- a List of Scenarios
nario Manager tool, which uses the term “changing Before employing a scenario analysis technique, the
cell” in a nonstandard way. analyst requires a “core model” and a list of scenarios.
The core model is a spreadsheet computer program
that implements a mathematical model that is rele-
3. Excel’s Scenario Manager vant to the business situation being considered. The
Rates Poorly core model should be accurate and meaningful. This
Excel comes with a Scenario Manager tool that core model should be designed so that the inputs are
is described thoroughly in Markham and Palocsay clearly defined and documented. In this paper, we
(2006). Unfortunately, this tool rates poorly in terms present models where all of the inputs are contained
of the 10 desirable scenario analysis properties, satis- in a single module, but this is not a requirement.
fying only the property of being protected. Our core model was used by Markham and Paloc-
The Excel Scenario Manager tool is not transpar- say (2006) and is from the direct mail example in
ent because the input values are buried in dialog Chapter 2 in Winston and Albright (2001). A company
boxes and are not readily accessible. (This concern plans to print a catalog and mail it to customers who
was raised by Markham and Palocsay 2006.) It is might order by using a reply envelope. The base case
not verifiable because the output values are numbers data are as follows. The fixed cost to print (the setup
rather than formulas in a spreadsheet, so it is impos- cost) is $20,000, with a printing cost of $0.10 per cat-
sible to determine their origin after running the Sce- alog and mailing cost of $0.15 per catalog. The com-
nario Manager tool. It is impossible to know whether pany incurs a $0.20 cost for each reply envelope that
the values have been manually overwritten. It is pro- is returned by a customer. The average size of a cus-
tected because the scenario input values are stored in tomer order is $40, and the company’s variable cost
a dialog box, and it is difficult to accidentally over- per order averages around 80% of the order’s value.
write them. The company plans to mail 100,000 catalogs, and they
The Excel Scenario Manager tool is not dynamic expect a response rate of 8%.
because the outputs are static and do not contain any Figure 1 presents a spreadsheet model for the direct
formulas. The Scenario Manager must be rerun when- mail example, with cell formulas in Figure 2. The
ever a cell formula is changed or an input not in original model consists of the INPUTS module and
the scenario list is changed. It is not flexible because the MODEL module. The INPUTS module contains
it is cumbersome to modify input values across sce- all the numeric values required by the model. The
narios as each scenario is buried in its own dialog MODEL module contains the cell formulas needed to
box. Markham and Palocsay (2006) point out that compute key outputs, which are net profit (Cell F16)
the inputs do not accept cell formulas, so if one and breakeven response rate (Cell F20).
input is to be changed across multiple scenarios, it The list of scenarios is a well-organized set of
requires tedious dialog box navigation. It is not effi- scenarios, where each scenario is a set of input values
cient because once the scenario input values have been with a descriptive name, and the data for all scenarios
defined, each datum in each scenario must be manu- are arranged in a consistent manner.
ally entered into a dialog box. Markham and Palocsay (2006) consider three sce-
The Excel Scenario Manager tool is not optimiza- narios. To better illustrate the purpose of scenario
tion ready because it cannot be combined with Solver. analysis, we use six scenarios.
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 21

Figure 1 The Core Model and Scenario List for the Direct Mail Example
Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F G
1 CORE MODEL FOR DIRECTMAIL CAMPAIGN
2
3 MODEL
4
5 Model of responses
6 # of responses 8,000
7
8 INPUTS Model of profit
9 Total revenue $ 320,000.00
10 Mailing inputs Costs
11 Fixed cost to print $ 20,000.00 Fixed costs $ 20,000.00
12 Var. cost for printing $ 0.10 Var. mailing costs $ 25,000.00
13 Var. cost for mailing $ 0.15 Var. order costs $ 257,600.00
14 # of catalogs mailed 100,000 Total cost $ 302,600.00
15
16 Order inputs NET PROFIT $ 17,400.00
17 Average order $ 40.00
18 Var. % cost of order 80% Breakeven (BE) Model
19 Var. envelope cost $ 0.20 BE point 5,769.20
20 Response rate 8% BE response rate 5.77%
21
22
23
24
25
26 Fixed cost to print Average order Var % cost of order Response rate
27 Cell C11 Cell C17 Cell C18 Cell C20
28 1 Current $ 20,000.00 $ 40.00 80% 8%
29 2 Optimistic $ 18,000.00 $ 45.00 75% 9%
30 SCENARIO 3 Pessimistic $ 22,000.00 $ 35.00 85% 7%
31 LIST 4 High Average Order $ 20,000.00 $ 65.00 80% 8%
32 5 Very High Response $ 20,000.00 $ 40.00 80% 15%
33 6 Very Low Response $ 20,000.00 $ 40.00 80% 4%
34
Notes. The core model is in the INPUTS and MODEL modules. The scenarios are in Rows 28–33, with documentation in Rows 26 and 27.

Figure 2 Cell Formulas for the Direct Mail Spreadsheet Model

A B C D E F G
1
2
3 MODEL
4
5 Model of responses
6 # of responses =C20*C14
7
8 INPUTS Model of profit
9 Total revenue =F6*C17
10 Mailing inputs Costs
11 Fixed cost to print 20,000 Fixed costs =C11
12 Var. cost for printing 0.1 Var. mailing costs =(C12+C13)*C14
13 Var. cost for mailing 0.15 Var. order costs =(C19+C18*C17)*F6
14 # of catalogs mailed 100,000 Total cost =SUM(F11:F13)
15
16 Order inputs NET PROFIT =F9-F14
17 Average order 40
18 Var. % cost of order 0.8 Breakeven (BE) Model
19 Var. envelope cost 0.2 BE point =(F11+F12)/(C17-C18*C17-C19)
20 Response rate 0.08 BE response rate =F19/C14
21
22
23
24
25
26 Fixed cost to print Average order Var % cost of order Response rate
27 Cell C11 Cell C17 Cell C18 Cell C20
28 1 Current 20,000 40 0.80 0.08
29 2 Optimistic 18,000 45 0.75 0.09
30 SCENARIO 3 Pessimistic 22,000 35 0.85 0.07
31 LIST 4 High Average Order 20,000 65 0.80 0.08
32 5 Very High Response 20,000 40 0.80 0.15
33 6 Very Low Response 20,000 40 0.80 0.04
34
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
22 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

• The “Current” scenario uses the base case data. Cell B26: = B4. We now need to program Cells C26:G26
Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

• In the “Optimistic” scenario, the average order to display the input values from the scenario list
is $45; the fixed cost to print is $18,000; the variable that correspond to the scenario number in Cell
order cost percentage is 75%; the response rate is 9%; B26. For example, Cell D26 will display the “Fixed
whereas other inputs are at base. cost to print” for the selected scenario. We use the
• In the “Pessimistic” scenario, the average order INDEX function, Cell D26: = INDEX(D28:D33,$B$26)
is $35; the fixed cost to print is $22,000; the variable (Figure 4). This use of INDEX instructs Excel to exam-
order cost percentage is 85%; the response rate is 7%; ine the range D28:D33 and return the value of the cell
and other inputs are at base. in the row specified in Cell B26. For example, when the
• The “High Average Order” scenario is the same scenario number in Cell B26 is 2, the INDEX function
as the Current scenario, except that the average order examines the column range D28:D33, finds the second
size is $65. row within the column range (Row 29), and returns
• The “Very High Response” scenario is the same from Cell D29 the value 18,000.
as the Current scenario, except that the response rate We copy the formula in Cell D26 to Cells C26:G26.
is 15%. (To facilitate this copy operation, Cell B26 is pro-
• The “Very Low Response” scenario is the same grammed in the INDEX function using an absolute
as the Current scenario, except that the response rate reference of $B$26.) Note that the scenario number in
is 4%. Cells B28:B33 is a memory aid and is not directly ref-
The scenarios are in the SCENARIO LIST module erenced by the INDEX function.
in Figure 1. Rows 26 and 27 contain documentation.
Each scenario row contains information for one sce-
5.3. Step 3: Send the Input Values to
nario, including the scenario number (Cells B28:B33),
the Core Model
scenario name (Cells C28:C33), and a value for each
To complete the Scenario Engine, we need the core
input (Cells D28:G33). Scenario numbers are sequen-
model to “see” the input values from the selected sce-
tial starting from 1. By convention, we use scenario
nario. In each core model input cell that appears in
number 1 (Row 28) for the base case. Any number of
scenarios is possible; for illustration we use only six. the scenario list, we write a cell formula that echoes
(points to) the displayed scenario input value. For
example, the core model input “Fixed cost to print”
5. The Scenario Engine Technique for (Cell C11) is programmed to refer to the sales rep cost
Scenario Analysis value in Cell D25 (Figure 4), Cell C11: = D26. Simi-
Scenario analysis begins with a list of scenarios that lar changes are made for the other inputs. The input
need to be run through the core model. The Scenario “Average order” in Cell C17 is changed to refer to
Engine is programmed in three steps. First, we select the value in Cell E25; Cell C17: = E26. For the other
a scenario (§5.1) by writing the scenario number asso- two scenario inputs, we enter similar formulas; Cell
ciated with the selected scenario in Cell B4. Second, C18: = F26, and Cell C20: = G26.
we create an IN USE module and write cell formulas Typically, some core model inputs will not be
in Row 26 to display the input values for the selected included in the scenarios. The cells for these core
scenario (§5.2). Third, we “echo” the values from the model inputs are not modified when programming
IN USE module to the INPUTS module by replac- the Scenario Engine; they remain numeric values.
ing appropriate input values in the INPUTS modules This completes the programming of the Scenario
with cell references (§5.3). The existing core model Engine. To use the Scenario Engine, simply enter the
logic then “sees” the input values for the selected sce- selected scenario number into Cell B4, and the spread-
narios, and the spreadsheet automatically computes sheet instantly computes the core model using the
the key outputs. inputs from the selected scenario.
5.1. Step 1: Select a Scenario
We type into Cell B4 the scenario number of the sce- 5.4. Step 4 (Optional): Improved Spreadsheet
nario we want to evaluate (Figure 3). The Scenario Engineering
Engine takes it from there, obtaining the appropriate It is a wise spreadsheet engineering practice to sepa-
input values from the list of scenarios (§5.3) and feed- rate data from formulas. For this reason, the INPUTS
ing them to the core model (§5.4). module contains only numeric data. However, the
Scenario Engine approach places cell formulas into
5.2. Step 2: Display the Input Values for some data cells to “echo” the values of the selected
the Selected Scenario scenario.
For convenience, we have (Figure 3) Cell B26 echo Faculty who emphasize sound spreadsheet engi-
the scenario number in Cell B4, using the cell formula neering may want to redesign the INPUTS module to
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 23

Figure 3 The Scenario Engine Displaying Scenario 2


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F G
1 SCENARIO ANALYSIS FOR DIRECTMAIL CAMPAIGN
2
SCENARIO
3 MODEL
SELECTED
4 2
5 Model of responses
6 # of responses 9,000
7
8 INPUTS Model of profit
9 Total revenue $ 405,000.00
10 Mailing inputs Costs
11 Fixed cost to print $ 18,000.00 Fixed costs $ 18,000.00
12 Var. cost for printing $ 0.10 Var. mailing costs $ 25,000.00
13 Var. cost for mailing $ 0.15 Var. order costs $ 305,550.00
14 # of catalogs mailed 100,000 Total cost $ 348,550.00
15
16 Order inputs NET PROFIT $ 56,450.00
17 Average order $ 45.00
18 Var. % cost of order 75% Breakeven (BE) Model
19 Var. envelope cost $ 0.20 BE point 3,891.40
20 Response rate 9% BE response rate 3.89%
21
22
23
Fixed cost to print Average order Var % cost of order Response rate
24
25 Scenario number Scenario Name Cell C11 Cell C17 Cell C18 Cell C20
26 IN USE 2 Optimistic $ 18,000.00 $ 45.00 75% 9%
27
28 1 Current $ 20,000.00 $ 40.00 80% 8%
29 2 Optimistic $ 18,000.00 $ 45.00 75% 9%
30 SCENARIO 3 Pessimistic $ 22,000.00 $ 35.00 85% 7%
31 LIST 4 High Average Order $ 20,000.00 $ 65.00 80% 8%
32 5 Very High Response $ 20,000.00 $ 40.00 80% 15%
33 6 Very Low Response $ 20,000.00 $ 40.00 80% 4%
34
Notes. The Scenario Engine is controlled using Cell B4. The Scenario Engine is programmed in Cells C11, C17, C18, C20, and B26:G26. Cells F16 and F20
display the key outputs for Scenario 2.

Figure 4 Cell Formulas for the Scenario Engine

A B C D E F G
2 SCENARIO
3 SELECTED MODEL
4 2
5 Model of responses
6 # of responses =C20*C14
7
8 INPUTS Model of profit
9 Total revenue =F6*C17
10 Mailing inputs Costs
11 Fixed cost to print =D26 Fixed costs =C11
12 Var. cost for printing 0.1 Var. mailing costs =(C12+C13)*C14
13 Var. cost for mailing 0.15 Var. order costs =(C19+C18*C17)*F6
14 # of catalogs mailed 100,000 Total cost =SUM(F11:F13)
15
16 Order inputs NET PROFIT =F9-F14
17 Average order =E26
18 Var. % cost of order =F26 Breakeven (BE) Model
19 Var. envelope cost 0.2 BE point =(F11+F12)/(C17-C18*C17-C19)
20 Response rate =G26 BE response rate =F19/C14
21
22
23
24 Fixed cost to print Average order Var % cost of order Response rate
25 Scenario Number Scenario Name Cell C11 Cell C17 Cell C18 Cell C20
26 IN USE =B4 =INDEX(C28:C 30, $B$26) =INDEX(D28:D30, $B$26) =INDEX(E28:E30, $B$26) =INDEX(F28:F30, $B$26) =INDEX(G28:G30, $B$26)
27
28 1 Current 20,000 40 0.80 0.08
29 2 Optimistic 18,000 45 0.75 0.09
30 SCENARIO 3 Pessimistic 22,000 35 0.85 0.07
31 LIST 4 High Average Order 20,000 65 0.80 0.08
32 5 Very High Response 20,000 40 0.80 0.15
33 6 Very Low Response 20,000 40 0.80 0.04
34

Notes. The programming required for the Scenario Engine is in Cells C11, C17, C18, C20, and B26:G26.
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
24 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

Figure 5 The Direct Mail Spreadsheet Model (Redesigned)


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F G
1 SCENARIO ANALYSIS FOR DIRECTMAIL CAMPAIGN
2
SCENARIO
MODEL
3 SELECTED
4 2
5 Model of responses
6 # of responses 9,000
7
8 FIXED INPUTS Model of profit
9 Var. cost for printing $ 0.10 Total revenue $ 405,000.00
10 Var. cost for mailing $ 0.15 Costs
11 # of catalogs mailed 100,000 Fixed costs $ 18,000.00
12 Var. envelope cost $ 0.20 Var. mailing costs $ 25,000.00
13 Var. order costs $ 305,550.00
14 Total cost $ 348,550.00
15
16 INPUTS FROM SELECTED SCENARIO NET PROFIT $ 56,450.00
17 Fixed cost to print $ 18,000.00
18 Average order $ 45.00 Breakeven (BE) Model
19 Var. % cost of order 75% BE point 3,891.40
20 Response rate 9% BE response rate 3.89%
21
22
23

24 Fixed cost to print Average order Var % cost of order Response rate
25 Scenario Number Scenario Name Cell C17 Cell C18 Cell C19 Cell C20
26 IN USE 2 Optimistic $ 18,000.00 $ 45.00 75% 9%
27
28 1 Current $ 20,000.00 $ 40.00 80% 8%
29 2 Optimistic $ 18,000.00 $ 45.00 75% 9%
30 SCENARIO 3 Pessimistic $ 22,000.00 $ 35.00 85% 7%
31 LIST 4 High Average Order $ 20,000.00 $ 65.00 80% 8%
32 5 Very High Response $ 20,000.00 $ 40.00 80% 15%
33 6 Very Low Response $ 20,000.00 $ 40.00 80% 4%
34
Notes. The INPUTS module of Figure 1 is divided into two modules: FIXED INPUTS, containing only numeric data, and INPUTS FROM SELECTED SCENARIO,
containing cell formulas that echo the values in the selected scenario.

distinguish between standard numeric input cells and not dynamic. The Data Table is slightly harder to use,
input cells controlled by the Scenario Engine. but the results are dynamic (cf. Wagner and Keisler
Figure 5 presents such a redesign. The FIXED 2006). VBA code is difficult to write well, and we do
INPUTS module (Cells C9:C12) contains numbers, not use it in our courses.
and the INPUTS FROM SELECTED SCENARIO mod- We demonstrate in native Excel using the Data
ule (Cells C17:C20) contains formulas. Table feature. We create a scenario summary report
(using a process shown in Figure 6 with the results
5.5. Rapid Creation of a Scenario Summary Report in Figure 7) that shows for each scenario the cor-
It is often desirable to create a “scenario summary responding scenario name (Cell C26), average order
report” that presents the key outputs from each sce- (Cell C17), net profit (Cell F16), and the breakeven
nario, along with other information such as the sce- response rate (Cell F20).
nario number, scenario name, and selected input and To set up the table in Figure 6, we enter documen-
output values for each scenario. This can be done tation in Cells C36:F37 using text labels (Row 36) and
manually by entering different scenario numbers into the corresponding cell addresses (Row 37). In Row
Cell B4 and recording the results. 38, we enter a pointer to each cell documented in
It is less tedious and more reliable to create a sce- the row above. Thus, Cell C38: = C26 (as documented
nario summary report by performing a one-parameter in Cell C37). We do the same in the next cell to the
sensitivity analysis on the scenario number. The ana- right, Cell D38: = C17, and continue this process for
lyst can perform the sensitivity analysis by using the Cells E38:F38. We leave Cell B38 blank. We enter the
commercial add-in SensIt (2008), the Data Sensitivity value 1 in Cell B38, continuing down to the value 6
tool of the Sensitivity Toolkit (2007), the Data Table in Cell B44.
feature of Excel, or by writing simple VBA code. The To populate the data table (Figure 6), we select
Data Sensitivity tool is easy to use, but the results are Cells B38:F44 and perform Data\Table    \, setting the
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 25

Figure 6 Data Table to Create a Scenario Summary Report


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Notes. Select Cells B38:F44, open the Data Table Dialog Box, enter $B$4 in “Column input cell,” and click “OK.”

“Column input cell” to be the scenario number in 5.6. The Scenario Engine Technique Satisfies the
Cell B4, and click “OK” as shown in Figure 6. The Desirable Scenario Analysis Properties
results are shown in Figure 7 and the formula view The Scenario Engine technique satisfies all 10 of the
in Figure 8. desirable scenario analysis properties defined in §2.
The scenario summary report allows for quick The Scenario Engine is transparent because the input
comparison of model results for each scenario. The values are taken directly from the scenario list in
scenario summary report is suitable for inclusion the spreadsheets. It is verifiable because the output
in documents or presentations, and it can easily be values displayed in the model and in the summary
edited or formatted as desirable. Note that the ana- report (§5.5) can be traced back using cell formulas to
lyst can include in the scenario summary report any the values in the scenario list. It is easily made pro-
desirable inputs or outputs. tected by locking the scenario list values (using stan-
When created using Data Table, the scenario sum- dard Excel protections), so they cannot be accidentally
mary report is dynamic. Should there be a change to overwritten.
the original model or to inputs not included in the The Scenario Engine is flexible because it is easy to
scenarios (for example, a change to the number of modify input values and to use cell formulas for input
catalogs mailed in Cell C14), the information in the values. It is dynamic because the outputs are live; if
scenario summary report instantly updates. This pow- a cell formula is changed, the outputs—including the
erful functionality is not available with the Excel Sce- scenario summary table—automatically update with-
nario Manager tool. out further effort by the analyst. It is efficient because

Figure 7 Completed Scenario Summary Report

A B C D E F
35
Breakeven
Scenario Name Average order Net Profit Response Rate
36
37 Cell C26 Cell C17 Cell F16 Cell F20
38 Optimistic $ 45.00 $ 56,450.00 3.89%
39 1 Current $ 40.00 $ 17,400.00 5.77%
SCENARIO
40 2 Optimistic $ 45.00 $ 56,450.00 3.89%
OUTPUT
41 3 Pessimistic $ 35.00 $ (11,650.00) 9.31%
42 4 High Average Order $ 65.00 $ 57,400.00 3.52%
43 5 Very High Response $ 40.00 $ 72,000.00 5.77%
44 6 Very Low Response $ 40.00 $ (13,800.00) 5.77%
45
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
26 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

Figure 8 Completed Scenario Summary Report (Formula View)


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F
35

Scenario Name Average order Net Profit Breakeven Response Rate


36
37 Cell C25 Cell C17 Cell F16 Cell F20
38 =C26 =Average_order =Net_profit =Breakeven_response_rate
39 1 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)
SCENARIO
40 2 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)
OUTPUT
41 3 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)
42 4 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)
43 5 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)
44 6 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)
45

once the scenario input values have been defined, the needs to decide how an advertising budget of $40,000
programming is quick and easy, typically less than two should be allocated to the upcoming four quarters.
minutes. The product sells for $40 and costs $25 to produce.
The Scenario Engine is optimization ready because The overhead rate is 15%. Quarterly sales are adjusted
it integrates with Solver as shown in §7 below. It is by a seasonal factor: 90% for Quarter 1, 110% for
stochastic ready because it supports Monte Carlo sim- Quarter 2, 80% for Quarter 3, and 120% for Quarter 4.
ulation, as shown in §8 below. It is scalable because it There is sales expense of $8,000 for Quarters 1 and 2
supports any number of inputs and any number of and $9,000 for Quarters 3 and 4. There are also quar-
scenarios. It is consistent with standard MS/OR termi- terly ad expenditures (which are decision variables).
nology because it introduces no new terms. Consultants to the company assume the following
formula for the relationship between advertising and
6. Integrating Solver Optimization quarterly unit sales:
with the Scenario Engine 
An analyst performing optimization with Solver unit sales = 35 × seasonal factor × 3000 + ad budget
might want to optimize multiple scenarios to see how
the optimal decisions are affected by different pos-
6.2. Scenarios
sible sets of future parameter values. Although this
We illustrate our approach using six scenarios
can be done manually, it is preferable to automate
(Figure 10). In practice, one might use many more.
the optimization and reporting process. We show how
For each scenario, inputs that are not mentioned are
to do this by integrating Solver with the Scenario
Engine. at their base case values.
• The “Current” scenario is the base case.
6.1. Example Model for Optimization • The “Optimistic” scenario has a price of $41, cost
We show in Figure 9 an example model from Powell of $24, overhead rate of 12%, and an ad budget of
and Baker (2007, §5.1). A product-marketing manager $45,000.

Figure 9 Core Model for Advertising Budget Example

A B C D E F G H I J K L M
1 CORE MODEL FOR ADVERTISING BUDGET
2
3 DECISIONS Q1 Exp Q2 Exp Q3 Exp Q4 Exp Total
4 $972 $2,919 $135 $4,063 $8,089
5
6 INPUTS MODEL
7 Quarter Q1 Q2 Q3 Q4 Total
8 Price $ 40.00 Units Sold 1,985 2,962 1,568 3,530 10,045
9 Cost $ 25.00 Revenue $ 79,412 $ 118,475 $ 62,710 $ 141,192 $ 401,789
10 Ad Budget $ 40,000 Cost of Goods $ 49,632 $ 74,047 $ 39,194 $ 88,245 $ 251,118
11 Overhead Rate 15% Gross Margin $ 29,779 $ 44,428 $ 23,516 $ 52,947 $ 150,671
12 Sales Parameters 35 3,000
13 Sales Expense $ 8,000 $ 8,000 $ 9,000 $ 9,000 $ 34,000
14 Q1 Q2 Q3 Q4 Advertising $ 972 $ 2,919 $ 135 $ 4,063 $ 8,089
15 Sales Expense 8,000 8,000 9,000 9,000 Overhead $ 11,912 $ 17,771 $ 9,407 $ 21,179 $ 60,268
16 Seasonal 0.9 1.1 0.8 1.2 Total Fixed Cost $ 20,884 $ 28,690 $ 18,542 $ 34,242 $ 102,357
17
18 Profit $ 8,895 $ 15,738 $ 4,975 $ 18,705 $ 48,314
19 Profit Margin 11.20% 13.28% 7.93% 13.25% 12.02%
20
21 OUTPUTS
22 Profit $48,314
23

Note. The core model is in the INPUTS, DECISIONS, MODEL, and OUTPUTS modules.
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 27

Figure 10 Core Model with Scenario Engine Displaying Scenario 2


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F G H I J K L M
1 SCENARIO ANALYSIS FOR ADVERTISING BUDGET
2
3 SCENARIO SELECTED DECISIONS Q1 Exp Q2 Exp Q3 Exp Q4 Exp Total
4 2 $8,261 $13,822 $5,898 $17,019 $45,000
5
6 MODEL
7 FIXED INPUTS Quarter Q1 Q2 Q3 Q4 Total
8 Sales Parameters 35 3,000 Units Sold 3,343 4,993 2,641 5,943 16,920
9 Revenue $ 137,051 $ 204,731 $ 108,287 $ 243,646 $ 693,715
10 Q1 Q2 Q3 Q4 Cost of Goods $ 80,225 $ 119,842 $ 63,388 $ 142,622 $ 406,077
11 Sales Expense 8,000 8,000 9,000 9,000 Gross Margin $ 56,826 $ 84,888 $ 44,900 $ 101,024 $ 287,638
12 Seasonal 0.9 1.1 0.8 1.2
13 Sales Expense $ 8,000 $ 8,000 $ 9,000 $ 9,000 $ 34,000
14 INPUTS FROM SELECTED SCENARIO Advertising $ 8,261 $ 13,822 $ 5,898 $ 17,019 $ 45,000
15 Price $ 41.00 Overhead $ 16,446 $ 24,568 $ 12,994 $ 29,238 $ 83,246
16 Cost $ 24.00 Total Fixed Cost $ 32,707 $ 46,390 $ 27,892 $ 55,257 $ 162,246
17 Ad Budget $ 45,000
18 Overhead Rate 12% Profit $ 24,119 $ 38,499 $ 17,008 $ 45,767 $ 125,392
19 Profit Margin 17.60% 18.80% 15.71% 18.78% 18.08%
20 OUTPUTS
21 Profit $125,392
22
Overhead
23 Price Cost Rate Ad Budget
Scenario
24 Scenario Number Name Cell C8 Cell C9 Cell C11 Cell C10
25 IN USE 2 Optimistic $ 41.00 $ 24.00 12% $ 45,000
26
27 1 Current $ 40.00 $ 25.00 15% $ 40,000
28 2 Optimistic $ 41.00 $ 24.00 12% $ 45,000
29 SCENARIO 3 Pessimistic $ 37.00 $ 26.00 18% $ 35,000
30 LIST 4 High Price $ 45.00 $ 25.00 15% $ 40,000
31 5 High Cost $ 40.00 $ 30.00 15% $ 40,000
32 6 High Budget $ 40.00 $ 25.00 15% $ 55,000
33

Notes. The INPUTS module is divided into the FIXED INPUTS and INPUTS FROM SELECTED SCENARIO modules. The Scenario Engine is programmed in Cells
B25:G25 and D15:D18. The scenarios are presented in Rows 27–32, with documentation in Rows 23–24. The Scenario Engine is controlled using Cell B4.

• The “Pessimistic” scenario has a price of $37, cost optimize multiple scenarios, we repeat this process
of $26, overhead rate of 18%, and an ad budget of using different values in Cell B4. The manual pro-
$35,000. cess of running Solver and summarizing optimization
• The “High Price” scenario has a price of $45. results for all the scenarios in a well-organized table
• The “High Cost” scenario has a cost of $30. is tedious and error prone, especially with a sizable
• The “High Budget” scenario has an ad budget of number of scenarios. It should be automated.
$55,000. Automation can be achieved using a parametric
optimization add-in such as Solver Table (2003) or the
6.3. Scenario Engine Solver Sensitivity tool of Sensitivity Toolkit (2007), or
We program a Scenario Engine as described in §5. In by writing VBA code. Solver Table and the Solver
Figure 10, the cells related to the Scenario Engine cells Sensitivity tools are easy to use. We used the Solver
are colored a shade of green. The scenarios themselves Sensitivity tool (Figure 11), which allows us to include
are in Rows 27–32. The IN USE scenario values are any outputs as long as they are in cells adjacent to one
in Row 25. The selected scenario is in Cell B4. We another, to generate the results shown in Figure 12.
split the INPUTS module (of Figure 9) into two mod- This section showed how to perform optimiza-
ules with the inputs controlled by the Scenario Engine tion on any number of scenarios. This approach is
placed in the INPUTS FROM SELECTED SCENARIO quick and easy. The prerequisites are a fully speci-
module and the remaining inputs placed in the FIXED fied Solver model and a set of scenarios. The analyst
INPUTS module. must program a Scenario Engine and then run Solver
Sensitivity. For an analyst who is comfortable imple-
6.4. Combining Solver with the Scenario Engine menting the Scenario Engine technique and using the
We program Solver with the ad expenditures (Cells Solver Sensitivity tool, this requires only a few min-
I4:L4) as the changing cells, the profit (Cell M22) utes of effort. More importantly, using the Scenario
as the target cell, and the constraint that the total Engine, the analyst can change any number of model
ad expenditures ⇐ ad budget (M4 ⇐ C17), plus inputs, as opposed to at most two inputs that can be
nonnegativity. changed using either Solver Table or the Solver Sen-
To manually connect optimization to the Scenario sitivity tool.
Engine, we simply set the scenario selected (Cell B4) Solver returns static output, so any approach
to the desired scenario number and invoke Solver. To that uses Solver will also have static output. Hence,
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
28 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

Figure 11 Solver Sensitivity Dialog Boxes


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Note. Note that the worksheet name is “AdvertisingBudget.”

the Solver scenario analysis is not dynamic. Note that There is 30% probability that the company will fail
Solver does not function on worksheets that have in the first year and this probability remains the same
Excel’s “protect sheet” feature enabled, so whenever in each of the first five years. If the company does
Solver is used, cells on the worksheet cannot be not fail, then its stock value increases each year by a
protected. percentage given by a lognormal distribution with a
mean of 1.5% and standard deviation of 0.5%.
We place probability distributions into “Initial
7. Integrating Crystal Ball Simulation Price” (Cell D19), “Fail or Not” (Cells E22:I22), and “%
with the Scenario Engine Price Increase” (Cells E23:I23) by designating them as
Markham and Palocsay (2006) point out that the Crystal Ball “Assumptions.”
Excel Scenario Manager tool does not allow stochastic The company would like to determine the probabil-
analysis. This is a serious shortcoming for the man- ity distribution for the price of the stock in five years
agement scientist. In this section, we show how to (Cell D26); hence we designate this cell as a Crystal
combine stochastic analysis with scenario analysis by Ball “Forecast.”
integrating the Scenario Engine with the Crystal Ball
add-in for Monte Carlo simulation. 7.2. Scenarios
We will use the following six scenarios, although in
7.1. Example Model for Simulation practice one might use many more. For each scenario,
We illustrate (Figure 13) our approach using Prob- inputs that are not mentioned are at their base case
lem 15.9 from Powell and Baker (2007). A small pri- values.
vate company is considering an initial public offering. • The “Current” scenario is the base case.
The initial price of the stock ranges from $10 to $15 • In the “Optimistic” scenario, failure probability
with the discrete distribution shown in Table 1. in Year 1 is 15% in the first year and decreases by 2%

Figure 12 Solver Scenario Analysis Summary

A B C D E F G
1 SCENARIO SELECTED Objective: Profit Change Q1 Exp Q2 Exp Q3 Exp Q4 Exp
2 1 $71,446.79 $7,273 $12,346 $5,117 $15,263
3 2 $125,392.21 $ 53,945.42 $8,261 $13,822 $5,898 $17,020
4 3 $1,650.45 $ (123,741.76) $1,672 $3,980 $692 $5,307
5 4 $140,130.00 $ 138,479.55 $7,273 $12,346 $5,117 $15,263
6 5 ($1,910.00) $ (142,040.00) $969 $2,929 $136 $4,056
7 6 $76,097.27 $ 78,007.27 $10,237 $16,773 $7,459 $20,532
8
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 29

Figure 13 Core Model for Simulation Example


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F G H I
1 CORE MODEL FOR IPO VALUE
2
3
4
5
6 INPUTS
7 LogNormal Distribution Failure Probability
8 Mean Std. dev. Annual Change
9 Distrn of Increase 1.50% 0.50% 0%
10
11 IPO Price $ 10.00 $ 11.00 $ 12.00 $ 13.00 $ 14.00 $ 15.00
12 Probability 0.10 0.20 0.30 0.20 0.10 0.10
13
14 Year 0 1 2 3 4 5
15 Probability of Failure 30% 30% 30% 30% 30%
16
17
18 MODEL
19 Initial Price 12.00
20
21 Year 0 1 2 3 4 5
22 Fail or Not (Fail=0) 1 1 1 1 1
23 % Price Increase 1.00% 1.00% 1.00% 1.00% 1.00%
24 Value 12.00 12.12 12.24 12.36 12.49 12.61
25
26 Price in 5 years 12.61
27
28
Notes. The core model is in the INPUTS and MODEL modules. The key output is in Cell D26.

every year. The mean of the lognormal distribution is to the desired scenario number and run Crystal Ball.
2%, and the standard deviation is 0.50%. To simulate multiple scenarios, we repeat this process
• In the “Pessimistic” scenario, failure probability using different values in Cell B4. The manual process
in Year 1 is 36% for the first year and increases by 3% of running Crystal Ball and summarizing simulation
every year. The mean of the lognormal distribution is results for all the scenarios in a well-organized table
1%, and the standard deviation is 0.90%. is tedious and error prone (especially with a sizable
• In the “High Mean” scenario, the mean of the number of scenarios). It should be automated.
lognormal distribution is 4.00%. To automate the simulation of each scenario, we
• In the “High Year 1 Probability” scenario, failure can use the Crystal Ball Sensitivity tool provided in
probability in Year 1 is 50%, for the first year. the Sensitivity ToolKit (2007), the Crystal Ball Deci-
• In the “High S.D.” scenario, the standard devia- sion Table tool (which, despite its name, is actually a
tion of the lognormal distribution is 2%. sensitivity analysis tool), or by writing VBA code. The
Crystal Ball Sensitivity tool is easy to use. The Crys-
7.3. Scenario Engine tal Ball Decision Table tool is slightly more difficult to
We program a Scenario Engine as described in use, but it generates the histogram plots of the simu-
§§5.1–5.3. In Figure 14, the cells related to the Scenario lation output values. We used the Crystal Ball Sensi-
Engine are colored a shade of green. The scenarios tivity tool (Figure 15) to generate the results shown in
themselves are in Rows 33–38. The IN USE scenario Figure 16. Note that in Figure 16 we do not report the
values (which are echoed into the INPUTS module) scenario name because Crystal Ball Sensitivity cannot
are in Row 31. The selected scenario is in Cell B4. do this. (If necessary, the scenario name could be pro-
grammed using a lookup function.)
7.4. Combining Crystal Ball with
This approach is consistent with the use of common
the Scenario Engine
random numbers, because the random numbers are
To manually connect simulation to the Scenario
controlled by the simulation add-in.
Engine, we simply set the scenario selected (Cell B4)
This section showed how to perform Monte Carlo
simulation using Crystal Ball on any number of
Table 1 Probability Distribution for Simulation Model
scenarios. This approach is quick and easy. The prereq-
Price ($) 10 11 12 13 14 15 uisites are a fully specified Crystal Ball model and a
set of scenarios. The analyst must program a Scenario
Probability 0.10 0.20 0.30 0.20 0.10 0.10
Engine and then run the Crystal Ball Sensitivity tool.
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
30 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

Figure 14 Core Model with Scenario Engine Displaying Scenario 3


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

A B C D E F G H I
1 SCENARIO ANALYSIS FOR IPO VALUE
2
3 SCENARIO SELECTED
4 3
5
6 FIXED INPUTS
7 Year 0 1 2 3 4 5
8 IPO Price $ 10.00 $ 11.00 $ 12.00 $ 13.00 $ 14.00 $ 15.00
9 Probability 0.10 0.20 0.30 0.20 0.10 0.10
10
11 INPUTS FROM SELECTED SCENARIO
12 LogNormal Distribution Failure Probability
13 Mean Std. dev. Annual Change
14 Distrn of Increase 1.00% 0.90% 3%
15
16 Year 0 1 2 3 4 5
17 Probability of Failure 36% 39% 42% 45% 48%
18
19
20 MODEL
21 Initial price 12.00
22
23 Year 0 1 2 3 4 5
24 Fail or Not (Fail=0) 1 1 1 1 1
25 % Price Increase 1.00% 1.00% 1.00% 1.00% 1.00%
26 Value 12.00 12.12 12.24 12.36 12.49 12.61
27
28 Price in 5 years 12.61
29
30
Failure
Failure Probability
Probability Annual LogNormal LogNormal
31 Year One Change Mean SD
32 Scenario Name Cell E17 Cell G14 Cell D14 Cell E14
33 IN USE 3 Pessimistic 0.36 3% 1% 0.90%
34
35 1 Current 30% 0% 1.50% 0.50%
36 2 Optimistic 15% –2% 2.00% 0.10%
37 SCENARIO 3 Pessimistic 36% 3% 1.00% 0.90%
38 LIST 4 High Mean 30% 0% 4.00% 0.50%
39 5 High Year 1 Prob. 50% 0% 1.50% 0.50%
40 6 High S.D. 30% 0% 1.50% 2.00%
41
Notes. The INPUTS module is divided into the FIXED INPUTS and INPUTS FROM SELECTED SCENARIO modules. The Scenario Engine is programmed in Cells
D14, E14, G14, E17:I17, and B33:G33. The scenarios are in Rows 35–40, with documentation in Rows 31–32. The Scenario Engine is controlled using Cell B4.

For an analyst who is comfortable implementing the time, in a setting where all students have comput-
Scenario Engine technique and using the Crystal Ball ers. Many of our MBA students are well aware, from
Sensitivity tool, this requires only a few minutes of prior experience, of the cumbersome nature of Excel’s
effort. Scenario Manager tool and greatly prefer the Scenario
Because the simulation results generated by Crystal Engine technique.
Ball are static, the simulation scenario analysis is not With a bit of practice, our students are able to build
dynamic. a Scenario Engine for any existing spreadsheet model.
Those students who apply themselves tell us they can
do this in less than two minutes—even on a spread-
8. Classroom Experience with sheet they have not seen before. The only requirement
the Scenario Engine is that the inputs be organized in a well-documented
We have taught the Scenario Engine to hundreds of inputs module, and that the scenarios be predefined
students. With an explanation of the INDEX function in a well-documented scenario list such as in Figure 1.
and a bit of practice, both undergraduate and MBA Students’ Excel skills upon entering our course typ-
students are able to learn it in 30–60 minutes of class ically range from beginner to expert. We take action
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 31

Figure 15 Crystal Ball Sensitivity Dialog Boxes


Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

Source. Adapted from Powell and Baker (2007).


Notes. Note that the worksheet name is “with Scenario.”

to fix student spreadsheet deficiencies with minimal As discussed in Markham and Palocsay (2006), stu-
use of class time using “student-led remediation” dents should be proficient in scenario analysis. We
described in Grossman (2006). Students need to be present a set of 10 desirable scenario analysis prop-
able to use the INDEX function to program the Sce- erties. Unfortunately, the Excel Scenario Manager sat-
nario Engine and Excel’s Data Table tool to build the isfies only one of these properties, sorely limiting its
scenario summary report. We teach both during class usefulness for serious analytical work.
before we spend the 30–60 minutes on the Scenario We present the Scenario Engine technique for sce-
Engine. We present a simple tutorial on INDEX (see nario analysis in a spreadsheet. It satisfies all 10
the appendix) that takes 5 to 10 minutes. We provide a desirable scenario analysis properties. The Scenario
simple handout with screenshots that walks students Engine can be quickly programmed into any well-
through the use of Data Table, described in Gross- designed spreadsheet model. This approach greatly
man (2008). Teaching Data Table takes about 10 min- reduces manual data entry and copying of outputs
utes with MBAs and 20 minutes with undergraduates. into summary reports, increasing analyst productivity
They have no difficulty learning it, provided that we and accuracy.
motivate them with an interesting context. We demonstrate the ease with which an analyst
When we teach parametric optimization or simula- can integrate the Scenario Engine with Solver for
tion sensitivity, students have no difficulty combining optimization and with Crystal Ball for Monte Carlo
these techniques with the Scenario Engine. simulation.
Markham and Palocsay (2006) demonstrate the
straightforward integration of the Scenario Manager
9. Conclusion tool with the decision analysis add-in TreePlan (SensIt
Scenario analysis is an important and useful tech- 2008). We believe that integration of the Scenario
nique for obtaining business insight from a model. Engine with TreePlan for decision analysis would be

Figure 16 Simulation Scenario Analysis Summary for Problem 15.9

A B C D E
1 SCENARIO SELECTED Price in 5 years: Mean Price in 5 years: StDev Price in 5 years: Min Price in 5 years: Max
2 1 $ 2.26 $ 5.04 $ - $ 16.66
3 2 $ 7.62 $ 6.83 $ - $ 16.67
4 3 $ 0.82 $ 3.18 $ - $ 16.67
5 4 $ 2.60 $ 5.72 $ - $ 18.93
6 5 $ 0.40 $ 2.27 $ - $ 16.48
7 6 $ 2.27 $ 5.03 $ - $ 22.80
8

Source. Adapted from Powell and Baker (2007).


Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
32 INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS

straightforward, and we see this as an avenue for fur- Choice of Lookup Functions
Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

ther research. Excel provides a class of “lookup” functions that are useful
We have used the Scenario Engine with undergrad- for extracting data from a list. We recommend the INDEX
uate and MBA students and have found they can function. However, Tennent and Friend (2001) use OFFSET,
learn it with modest effort. We anticipate that it will and Powell and Baker (2007) use CHOOSE. Each of these
three functions is capable of providing the necessary func-
be of value in many business school management sci-
tionality. However, from a spreadsheet engineering perspec-
ence courses.
tive, OFFSET should be avoided whenever possible, and
CHOOSE requires excessive programming and can be dif-
Acknowledgments ficult to verify. INDEX has none of these difficulties and
We thank the editors and the anonymous referees for their therefore is preferred. (Note that VLOOKUP does not work
thoughtful reviews and valuable comments. We also thank well for this application because it requires a column num-
Patrick O’Beirne for his comments on the OFFSET function. ber that has to be changed for each column. LOOKUP can
be used for this application, but it requires one more range
Appendix argument than INDEX and is therefore more challenging to
This appendix describes the INDEX function, which might
program.)
not be familiar to some readers or their students. We pro-
vide to students a spreadsheet containing this information OFFSET. The OFFSET function (along with the INDI-
prior to teaching the Scenario Engine. RECT function) works not by the usual spreadsheet cell
referencing but instead by addressing a cell that is a spec-
Essential Functionality of INDEX ified number of rows and columns away from a specified
The INDEX function is a convenient way to obtain the con- location in the spreadsheet. This poses serious problems for
tents of a cell located within a particular range of cells. For accurate, reliable programming. In general in Excel, when
the Scenario Engine, we need to make use of only a subset a user drags-and-drops (or cuts-and-pastes) a cell contain-
of the functionality of INDEX, described here. ing a formula, the spreadsheet automatically adjusts and
The syntax for our purposes is =INDEX(range, row_num), cells return the same values they contained prior to the edit.
where range is a single column of cells, and row_num is the However, OFFSET does not reliably exhibit this behavior.
row number within the range. The INDEX function returns A simple drag-and-drop can cause the value returned by the
the value in the cell at row_num within the range. OFFSET function to change. Likewise, in general in Excel,
Examples (see Figure A.1): when a user inserts or deletes a new row, the spread-
=INDEX(G7:G9,2) returns 20, the value in Cell G8: Row 2 sheet automatically adjusts, and cells return the same val-
of G7:G9. ues they contained prior to the row insertion. However,
=INDEX(G7:G9,5) returns #REF!; Row 5 was specified for OFFSET does not reliably exhibit this behavior. If a row
a range with only three rows. is inserted or deleted between the “range” of OFFSET and
the offset location, the value returned by the OFFSET func-
Enrichment: Additional Functionality of INDEX tion changes. Due to this unusual behavior in response to
Note that there is an “advanced” syntax for INDEX that is normally benign programming actions, a spreadsheet con-
not required for the Scenario Engine. It can be desirable to taining OFFSET must be considered inherently risky.
expand students’ knowledge of Excel by showing them this Furthermore, OFFSET does not work properly with
functionality. Excel’s formula auditing tools. A cell whose value is
The “advanced” syntax is =INDEX(range, row_num, returned by OFFSET does not provide an arrow to the OFF-
col_num). Range is a rectangular selection of cells, row_num SET cell when Trace Dependents is used. This can cause
is the row number within the range, and col_num is the col- such a cell to be perceived as “orphan data” (and therefore
umn number within the range. INDEX returns the value in a candidate for deletion during routine quality assurance),
the cell at row_num and col_num within the range. when in fact it is used by the OFFSET function. Finally,
Examples (see Figure A.1): OFFSET is one of a handful of “volatile” functions (mean-
=INDEX(G7:K9,1,1) returns 10, the value in Cell G7: ing that it always recalculates), which increases calculation
Row 1, Column 1 of G7:K9. time in larger spreadsheets.
=INDEX(H8:J9,1,1) returns 70, the value in Cell H8:
Row 1, Column 1 of H8:J9. CHOOSE. The CHOOSE function is unwieldy and
=INDEX(G7:K9,2,5) returns 220, the value in Cell K8: requires excessive programming. With CHOOSE, the pro-
Row 2, Column 5 of G7:K9. grammer cannot provide a single range for all scenarios but
=INDEX(G7:K9,4,5) returns the error message #REF!; the must program an individual argument for each scenario.
range has only three rows. For example, with six scenarios the programmer might
write CHOOSE(Scenario_Number, L14, L15, L16, L17, L18,
L19) but cannot write this as CHOOSE(Scenario_Number,
Figure A.1 INDEX Example for Additional Functionality L14:L19). If there were 20 scenarios, the CHOOSE function
would require 21 separate arguments, which is impractical
G H I J K
7 10 60 110 160 210 as well as hard to verify.
8 20 70 120 170 220 In addition, in Excel 2003 and earlier, CHOOSE was lim-
9 30 80 130 180 230 ited to 29 scenarios. This has increased in Excel 2007 to 254
10 scenarios (requiring 255 arguments). Conceptually, there is
Grossman and Özlük: A Spreadsheet Scenario Analysis Technique with Optimization and Simulation
INFORMS Transactions on Education 10(1), pp. 18–33, © 2009 INFORMS 33

no limit on the number of scenarios a user might want to Grossman, T. A., V. Mehrotra, Ö. Özlük. 2007. Lessons from
Additional information, including supplemental material and rights and permission policies, is available at http://ite.pubs.informs.org.

deploy; hence, Excel’s limitation to 254 scenarios compro- mission-critical spreadsheets. Comm. Assoc. Inform. Systems
mises scalability. 20(60) 1009–1042.
LeBlanc L. J., T. A. Grossman. 2008. The use of spreadsheet soft-
INDEX. In contrast, the INDEX function has none of the ware in the application of management science and operations
above shortcomings. Unlike OFFSET, it uses standard cell research. Interfaces 38(4) 225–227.
referencing and hence is well behaved with regard to cut- Markham, I. S., S. W. Palocsay. 2006. Scenario analysis in spread-
and-paste and row insertions and deletions. It works well sheets with Excel’s scenario tool. INFORMS Trans. Ed. 6(2)
with Excel’s Trace Dependents feature, and like most Excel 23–31, http://ite.pubs.informs.org/.
functions, is nonvolatile. In contrast to CHOOSE, it accepts Postma, M. J., M. A. Heijnen, J. C. Jager. 2001. Cost-effectiveness
a single range for all the scenarios; it is therefore faster to analysis of pneumococcal vaccination for elderly individuals
program and easier to verify. in The Netherlands. PharmacoEconom. 19(2) 215–222.
Powell, S. G., K. R. Baker. 2007. Management Science: The Art of Mod-
eling with Spreadsheets, 2nd ed. John Wiley & Sons, Hoboken,
References NJ.

Buehlmann U., C. T. Ragsdale, B. Gfeller. 2000. Spreadsheet-based Ragsdale, C. T. 2001. Teaching management science with spread-
decision support system for wood panel manufacturing. Deci- sheets: From decision models to decision support. INFORMS
sion Support Systems 29(3) 207–227. Trans. Ed. 1(2) 68–74, http://ite.pubs.informs.org/.
Coles, S., J. Rowley. 1996. Spreadsheet modelling for manage- Ryan, P. A., G. P. Ryan. 2002. Capital budgeting practices of the
ment decision making. Indust. Management Data Systems 96(7) Fortune 1000: How have things changed. J. Bus. Management
17–23. 8(4) 355–364.
Croll, G. 2005. The importance and criticality of spreadsheets in the SensIt. 2008. SensIt sensitivity analysis add-in. Accessed July 1,
city of London. Eur. Spreadsheet Risks Interest Group 6th Annual 2008, http://www.treeplan.com/sensit.htm.
Conf., London, European Spreadsheet Risks Interest Group, Sensitivity Toolkit. 2007. Accessed July 1, 2008, http://mba.tuck.
Greenwich, UK, 83–93. Accessed July 1, 2008, http://sprig. dartmouth.edu/toolkit/.
section.informs.org/sprigfiles/Croll05.pdf. Solver Table. 2003. Accessed July 1, 2008, http://highered.mcgraw-
Grossman, T. A. 2006. Integrating spreadsheet engineering in hill.com/sites/0073129038/student_view0/solver_table.html.
a management science course—A hierarchical approach.
Tennent, J., G. Friend. 2001. Guide to Business Modelling. Profile
INFORMS Trans. Ed. 7(1) 18–36, http://ite.pubs.informs.org/.
Books, London.
Grossman, T. A. 2008. A primer on spreadsheet analytics. Eur.
Spreadsheet Risks Interest Group 9th Annual Conf., European Wagner, J. M., J. Keisler. 2006. Enhance your own research produc-
Spreadsheet Risks Interest Group, Greenwich, UK, 129–139. tivity using spreadsheets. Tutorials Oper. Res. 148–162.
Grossman, T. A., Ö. Özlük. 2004. A paradigm for spreadsheet engi- Weisel, J. 2004. Add muscle to what-if analyses. J. Accounting 198(3)
neering methodologies. Eur. Spreadsheet Risks Interest Group 76–79.
5th Annual Conf., European Spreadsheet Risks Interest Group, Winston, W. L., S. C. Albright. 2001. Practical Management Science,
Greenwich, UK. 2nd ed. Thomson Learning, Duxbury, Pacific Grove, CA.

View publication stats

You might also like