a spreadsheet scenario analysis technique that integrates with

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

Upload: others

Post on 23-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Spreadsheet Scenario Analysis Technique That Integrates with

I N F O R M STransactions on Education

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

doi 10.1287/ited.1090.0027©2009 INFORMS

A Spreadsheet Scenario Analysis Technique ThatIntegrates with Optimization and Simulation

Thomas A. GrossmanSchool of Business and Professional Studies, University of San Francisco, San Francisco, California 94117,

[email protected]

Özgür ÖzlükCollege of Business, San Francisco State University, San Francisco, California 94132, [email protected]

Scenario analysis is a widely used technique, and business students should be proficient in running scenariosthrough 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 abetter technique that can be programmed into an existing spreadsheet in a matter of minutes. We show how tointegrate the technique with the Excel Solver to allow for rapid optimization of multiple scenarios and with theCrystal Ball add-in for Monte Carlo simulation to enable simulation of multiple scenarios. Our undergraduateand MBA students are able to learn the technique with little difficulty.

Key words : spreadsheets; scenarios; scenario analysis; optimization; simulationHistory : Received: July 2008; accepted: January 2009.

1. IntroductionSpreadsheets are ubiquitous in business (Ragsdale2001) and are used for critical business purposes(Croll 2005, Grossman et al. 2007). They are one of themajor tools for managers in the decision-making pro-cess (Coles and Rowley 1996) and play an importantrole in the practice of management science/operationsresearch (MS/OR) (LeBlanc and Grossman 2008).Spreadsheets play a leading role in business schoolmanagement science courses, and essentially all busi-ness school management science textbooks rely heav-ily on spreadsheets.Management science is concerned with advanced

analytical techniques such as optimization and simula-tion. Prior to studying these advanced techniques, thestudent should have a foundation of basic techniques,including how to establish a base case and performbenchmarking (or change from base), sensitivity anal-ysis, scenario analysis, and backsolving/goal seeking(Powell and Baker 2007, Grossman 2008).

1.1. Scenario AnalysisThis paper addresses “scenario analysis,” which is thesystematic investigation of the impact of different setsof model inputs on key model outputs. A scenario is aset of predefined input values, usually with a descrip-tive name. In forward-looking planning models, eachscenario can represent a coherent view of a possiblefuture state. Scenario analysis is the process used by the

analyst to compute key outputs by running multiplescenarios through his model.Ryan and Ryan (2002) report that 40% of the

financial analysts surveyed almost always use sce-nario analysis for capital budgeting. Weisel (2004)presents scenario analysis in the context of manage-rial accounting. Other examples in the literature rangefrom wood paneling manufacturers (Buehlmann et al.2000) to medical scientists (Postma et al. 2001).Markham and Palocsay (2006) describe scenario

analysis, give a brief overview of scenario analysisfor problem solving that dates back to 1942, makethe case for placing scenario analysis in the businessschool curriculum, and show how to use Excel’s built-in Scenario Manager tool. They point out that a short-coming of the Scenario Manager tool is that it doesnot support stochastic analysis.Fortunately, it is easy for an analyst to program sce-

nario analysis functionality in the spreadsheet. Thispaper presents in detail an effective approach forprogramming scenario analysis. We do not knowwhen this approach was first devised, and we spec-ulate that it has been independently discovered bymany analysts. The earliest reference we can find isTennent and Friend (2001), who sketch an approachin a section on “useful functions.” Powell and Baker(2007, pp. 128–129) briefly present an equivalent tech-nique. Minor programming distinctions among theseapproaches are discussed in the appendix.

18

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 2: A Spreadsheet Scenario Analysis Technique That Integrates with

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

1.2. ContributionWe propose a set of 10 desirable properties that canbe used to evaluate a scenario analysis technique. Weexplain why the Excel Scenario Manager tool fails tosatisfy most of these properties. We present a simpleand quick programming technique for scenario anal-ysis (the “Scenario Engine”) that satisfies all 10 desir-able properties. Based on our experience of teachingthe Scenario Engine to business students for manyyears, we provide a tutorial on how to program itinto an existing model. Because it is a spreadsheetprogramming technique rather than an Excel tool,this approach is portable and can be used in anyspreadsheet, including Excel, Google’s spreadsheet,and others.Unlike the Excel Scenario Manager tool, the Sce-

nario Engine can be combined with optimization andMonte Carlo simulation. We show in §7 how tointegrate scenario analysis with optimization usingSolver. We show in §8 how to integrate scenario anal-ysis with Monte Carlo simulation using Crystal Ball.We believe that the Scenario Engine technique will

benefit business school students and should be taughtin or prior to a business school management sciencecourse. The Scenario Engine technique is easy to learnand integrates nicely with traditional managementscience topics such as optimization and Monte Carlosimulation.

2. Desirable Properties of a ScenarioAnalysis Technique

We propose 10 properties that can be used to evaluatea scenario analysis technique. Ideally, a scenario anal-ysis technique would satisfy all of these properties.We group these properties into the following cate-gories: spreadsheet engineering, analyst convenience,and management science. This list of criteria is likelynot complete, but we believe it covers the most impor-tant issues.

2.1. Desirable Properties for SpreadsheetEngineering

Spreadsheet engineering is the effective softwareengineering of a spreadsheet computer program(Grossman and Özlük 2004). From the perspectiveof spreadsheet engineering, a scenario analysis tech-nique should be transparent, verifiable, and protected.A scenario analysis technique is transparent when

the input values associated with each scenario arereadily available for inspection. (Transparency for sce-nario analysis is a special case of a more general con-cept of providing visibility of model inputs and modellogic.) Input values should not be buried in dia-log boxes, VBA code, hidden cells, or hidden work-sheets. A scenario technique that is transparent is less

likely to introduce errors due to faulty inputs in ascenario.A scenario analysis technique is verifiable when it is

easy to check the outputs to confirm they are accu-rate. This is of critical importance to any audit pro-cess (such as an audit process that can be requiredfor Sarbanes-Oxley compliance) or when transferringa spreadsheet to another analyst. To be verifiable, itmust be possible to use cell formulas to trace outputvalues back to their corresponding input values andinspect the intermediate cell formulas.A scenario analysis technique is protected when it

is difficult to accidentally modify the scenario inputvalues, for example, by overtyping them unintention-ally. Values that reside in a spreadsheet can easilybe protected through the use of Excel cell protection.This can also be accomplished by accessing scenarioinput values only through dialog boxes, VBA code,hidden cells, or hidden worksheets, although suchapproaches compromise transparency.

2.2. Desirable Properties for Analyst ConvenienceAn analyst is more likely to employ and use properlya tool that is convenient. From the perspective of ana-lyst convenience, a scenario analysis technique shouldbe dynamic, flexible, and efficient.A scenario analysis technique is dynamic (or “live”;

see Wagner and Keisler 2006) when the outputs auto-matically update when the model changes (e.g., a cellformula is modified) or an input not in the sce-narios is changed (e.g., the scenarios contain onlydata, and the analyst modifies a decision variable).If the scenario analysis technique is “static” ratherthan dynamic, then the scenario outputs become incor-rect after even a minor change, and the analyst mustroutinely perform extra work to rerun the scenarioanalysis.A scenario analysis technique is flexible when it is

easy to modify the scenario input values. In practice,the input values used in scenarios can be negotiableand subject to change and adjustment throughoutthe analytical process. Such changes should be easyto implement and are facilitated by having scenarioinput values readily accessible in the spreadsheet andby allowing the use of cell formulas in the inputvalues.A scenario analysis technique is efficient when an

analyst can use it quickly once the managerial workof defining the scenarios has been completed. Becausethe input values for the scenarios are likely to be inthe rows of a spreadsheet, a scenario analysis tech-nique that directly acts upon data in the spreadsheetis advantageous.

2.3. Desirable Properties for Management ScienceFrom the perspective of management science, a sce-nario analysis technique should be optimization ready,

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 3: A Spreadsheet Scenario Analysis Technique That Integrates with

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

stochastic ready, and scalable, and it should use standardterminology.A scenario analysis technique is optimization ready

when it can easily be combined with optimization.A scenario analysis technique is stochastic ready

when it can easily be combined with Monte Carlosimulation. Markham and Palocsay (2006) raise thisas a desirable property in the context of the Excel Sce-nario Manager tool, which does not allow for stochas-tic analysis.A scenario analysis technique is scalable when there

is no fixed upper bound on the number of inputs foreach scenario or on the number of scenarios.A scenario analysis technique uses standard MS/OR

terminology. Markham and Palocsay (2006) raise thisas a desirable property in the context of the Excel Sce-nario Manager tool, which uses the term “changingcell” in a nonstandard way.

3. Excel’s Scenario ManagerRates Poorly

Excel comes with a Scenario Manager tool thatis described thoroughly in Markham and Palocsay(2006). Unfortunately, this tool rates poorly in termsof the 10 desirable scenario analysis properties, satis-fying only the property of being protected.The Excel Scenario Manager tool is not transpar-

ent because the input values are buried in dialogboxes and are not readily accessible. (This concernwas raised by Markham and Palocsay 2006.) It isnot verifiable because the output values are numbersrather than formulas in a spreadsheet, so it is impos-sible to determine their origin after running the Sce-nario Manager tool. It is impossible to know whetherthe values have been manually overwritten. It is pro-tected because the scenario input values are stored ina dialog box, and it is difficult to accidentally over-write them.The Excel Scenario Manager tool is not dynamic

because the outputs are static and do not contain anyformulas. The Scenario Manager must be rerun when-ever a cell formula is changed or an input not inthe scenario list is changed. It is not flexible becauseit is cumbersome to modify input values across sce-narios as each scenario is buried in its own dialogbox. Markham and Palocsay (2006) point out thatthe inputs do not accept cell formulas, so if oneinput is to be changed across multiple scenarios, itrequires tedious dialog box navigation. It is not effi-cient because once the scenario input values have beendefined, each datum in each scenario must be manu-ally entered into a dialog box.The Excel Scenario Manager tool is not optimiza-

tion ready because it cannot be combined with Solver.

As Markham and Palocsay (2006) point out, the ExcelScenario Manager tool is not stochastic ready becauseit does not support Monte Carlo simulation. It is notscalable because it supports only 32 inputs. Markhamand Palocsay (2006) indicate that it does not use stan-dard MS/OR terminology because of its unusual use ofthe term “changing cell.”Therefore, we conclude that Excel’s Scenario Man-

ager has substantial shortcomings for serious analyti-cal work. In §5, we present a better approach, calledthe Scenario Engine, but we first present an examplemodel in §4.

4. Preliminaries: A Core Model anda List of Scenarios

Before employing a scenario analysis technique, theanalyst requires a “core model” and a list of scenarios.The core model is a spreadsheet computer programthat implements a mathematical model that is rele-vant to the business situation being considered. Thecore model should be accurate and meaningful. Thiscore model should be designed so that the inputs areclearly defined and documented. In this paper, wepresent models where all of the inputs are containedin a single module, but this is not a requirement.Our core model was used by Markham and Paloc-

say (2006) and is from the direct mail example inChapter 2 in Winston and Albright (2001). A companyplans to print a catalog and mail it to customers whomight order by using a reply envelope. The base casedata are as follows. The fixed cost to print (the setupcost) is $20,000, with a printing cost of $0.10 per cat-alog and mailing cost of $0.15 per catalog. The com-pany incurs a $0.20 cost for each reply envelope thatis returned by a customer. The average size of a cus-tomer order is $40, and the company’s variable costper order averages around 80% of the order’s value.The company plans to mail 100,000 catalogs, and theyexpect a response rate of 8%.Figure 1 presents a spreadsheet model for the direct

mail example, with cell formulas in Figure 2. Theoriginal model consists of the INPUTS module andthe MODEL module. The INPUTS module containsall the numeric values required by the model. TheMODEL module contains the cell formulas needed tocompute key outputs, which are net profit (Cell F16)and breakeven response rate (Cell F20).The list of scenarios is a well-organized set of

scenarios, where each scenario is a set of input valueswith a descriptive name, and the data for all scenariosare arranged in a consistent manner.Markham and Palocsay (2006) consider three sce-

narios. To better illustrate the purpose of scenarioanalysis, we use six scenarios.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 4: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 1 The Core Model and Scenario List for the Direct Mail Example

123456789

10111213141516171819202122232425262728293031323334

A B C D E F GCORE MODEL FOR DIRECTMAIL CAMPAIGN

MODEL

# of responses 8,000

INPUTSTotal revenue $ 320,000.00

Mailing inputs CostsFixed cost to print $ 20,000.00 Fixed costs $ 20,000.00 Var. cost for printing $ 0.10 Var. mailing costs $ 25,000.00 Var. cost for mailing $ 0.15 Var. order costs $ 257,600.00 # of catalogs mailed 100,000 Total cost $ 302,600.00

Order inputs NET PROFIT $ 17,400.00 Average order $ 40.00Var. % cost of order 80%Var. envelope cost $ 0.20 BE point 5,769.20Response rate 8% BE response rate 5.77%

Fixed cost to print Average order Var % cost of order Response rateCell C11 Cell C17 Cell C20

1 Current $ 20,000.00 $ 40.00 80% 8%2 Optimistic $ 18,000.00 $ 45.00 75% 9%3 Pessimistic $ 22,000.00 $ 35.00 85% 7%4 High Average Order $ 20,000.00 $ 65.00 80% 8%5 Very High Response $ 20,000.00 $ 40.00 80% 15%6 Very Low Response $ 20,000.00 $ 40.00 80% 4%

Model of responses

Model of profit

Breakeven (BE) Model

SCENARIOLIST

Cell C18

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

123456789

10111213141516171819202122232425262728293031323334

A B C D E F G

MODEL

Model of responses# of responses =C20*C14

INPUTS Model of profitTotal revenue =F6*C17

Mailing inputs CostsFixed cost to print 20,000 Fixed costs =C11Var. cost for printing 0.1 Var. mailing costs =(C12+C13)*C14Var. cost for mailing 0.15 Var. order costs =(C19+C18*C17)*F6# of catalogs mailed 100,000 Total cost =SUM(F11:F13)

Order inputs NET PROFIT =F9-F14Average order 40Var. % cost of order 0.8Var. envelope cost 0.2 BE point =(F11+F12)/(C17-C18*C17-C19)Response rate 0.08 BE response rate =F19/C14

Fixed cost to print Average order Var % cost of order Response rateCell C11 Cell C17 Cell C20

1 Current 20,000 40 0.80 0.082 Optimistic 18,000 45 0.75 0.093 Pessimistic 22,000 35 0.85 0.074 High Average Order 20,000 65 0.80 0.085 Very High Response 20,000 40 0.80 0.156 Very Low Response 20,000 40 0.80 0.04

Breakeven (BE) Model

SCENARIOLIST

Cell C18

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 5: A Spreadsheet Scenario Analysis Technique That Integrates with

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

• The “Current” scenario uses the base case data.• In the “Optimistic” scenario, the average order

is $45; the fixed cost to print is $18,000; the variableorder cost percentage is 75%; the response rate is 9%;whereas other inputs are at base.• In the “Pessimistic” scenario, the average order

is $35; the fixed cost to print is $22,000; the variableorder cost percentage is 85%; the response rate is 7%;and other inputs are at base.• The “High Average Order” scenario is the same

as the Current scenario, except that the average ordersize is $65.• The “Very High Response” scenario is the same

as the Current scenario, except that the response rateis 15%.• The “Very Low Response” scenario is the same

as the Current scenario, except that the response rateis 4%.The scenarios are in the SCENARIO LIST module

in Figure 1. Rows 26 and 27 contain documentation.Each scenario row contains information for one sce-nario, including the scenario number (Cells B28:B33),scenario name (Cells C28:C33), and a value for eachinput (Cells D28:G33). Scenario numbers are sequen-tial starting from 1. By convention, we use scenarionumber 1 (Row 28) for the base case. Any number ofscenarios is possible; for illustration we use only six.

5. The Scenario Engine Technique forScenario Analysis

Scenario analysis begins with a list of scenarios thatneed to be run through the core model. The ScenarioEngine is programmed in three steps. First, we selecta scenario (§5.1) by writing the scenario number asso-ciated with the selected scenario in Cell B4. Second,we create an IN USE module and write cell formulasin Row 26 to display the input values for the selectedscenario (§5.2). Third, we “echo” the values from theIN USE module to the INPUTS module by replac-ing appropriate input values in the INPUTS moduleswith cell references (§5.3). The existing core modellogic then “sees” the input values for the selected sce-narios, and the spreadsheet automatically computesthe key outputs.

5.1. Step 1: Select a ScenarioWe type into Cell B4 the scenario number of the sce-nario we want to evaluate (Figure 3). The ScenarioEngine takes it from there, obtaining the appropriateinput values from the list of scenarios (§5.3) and feed-ing them to the core model (§5.4).

5.2. Step 2: Display the Input Values forthe Selected Scenario

For convenience, we have (Figure 3) Cell B26 echothe scenario number in Cell B4, using the cell formula

Cell B26: = B4. We now need to program Cells C26:G26to display the input values from the scenario listthat correspond to the scenario number in CellB26. For example, Cell D26 will display the “Fixedcost to print” for the selected scenario. We use theINDEX function, Cell D26: = INDEX(D28:D33,$B$26)(Figure 4). This use of INDEX instructs Excel to exam-ine the range D28:D33 and return the value of the cellin the row specified in Cell B26. For example, when thescenario number in Cell B26 is 2, the INDEX functionexamines the column range D28:D33, finds the secondrow within the column range (Row 29), and returnsfrom Cell D29 the value 18,000.We copy the formula in Cell D26 to Cells C26:G26.

(To facilitate this copy operation, Cell B26 is pro-grammed in the INDEX function using an absolutereference of $B$26.) Note that the scenario number inCells B28:B33 is a memory aid and is not directly ref-erenced by the INDEX function.

5.3. Step 3: Send the Input Values tothe Core Model

To complete the Scenario Engine, we need the coremodel to “see” the input values from the selected sce-nario. In each core model input cell that appears inthe scenario list, we write a cell formula that echoes(points to) the displayed scenario input value. Forexample, the core model input “Fixed cost to print”(Cell C11) is programmed to refer to the sales rep costvalue in Cell D25 (Figure 4), Cell C11: =D26. Simi-lar changes are made for the other inputs. The input“Average order” in Cell C17 is changed to refer tothe value in Cell E25; Cell C17: = E26. For the othertwo scenario inputs, we enter similar formulas; CellC18: = F26, and Cell C20: =G26.Typically, some core model inputs will not be

included in the scenarios. The cells for these coremodel inputs are not modified when programmingthe Scenario Engine; they remain numeric values.This completes the programming of the Scenario

Engine. To use the Scenario Engine, simply enter theselected scenario number into Cell B4, and the spread-sheet instantly computes the core model using theinputs from the selected scenario.

5.4. Step 4 (Optional): Improved SpreadsheetEngineering

It is a wise spreadsheet engineering practice to sepa-rate data from formulas. For this reason, the INPUTSmodule contains only numeric data. However, theScenario Engine approach places cell formulas intosome data cells to “echo” the values of the selectedscenario.Faculty who emphasize sound spreadsheet engi-

neering may want to redesign the INPUTS module to

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 6: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 3 The Scenario Engine Displaying Scenario 2

12

34567891011121314151617181920212223

2425262728293031323334

A B C D E F GSCENARIO ANALYSIS FOR DIRECTMAIL CAMPAIGN

SCENARIOSELECTED

MODEL

2

# of responses 9,000

Total revenue $ 405,000.00CostsFixed costs $ 18,000.00Var. mailing costs $ 25,000.00Var. order costs $ 305,550.00Total cost $ 348,550.00

NET PROFIT $ 56,450.00

BE point 3,891.40BE response rate 3.89%

Fixed cost to print Average order Var % cost of order Response rate

Scenario number Scenario Name Cell C11 Cell C17 Cell C20IN USE 2 Optimistic $ 18,000.00 $ 45.00 75% 9%

1 Current $ 20,000.00 $ 40.00 80% 8%2 Optimistic $ 18,000.00 $ 45.00 75% 9%3 Pessimistic $ 22,000.00 $ 35.00 85% 7%4 High Average Order $ 20,000.00 $ 65.00 80% 8%5 Very High Response $ 20,000.00 $ 40.00 80% 15%6 Very Low Response $ 20,000.00 $ 40.00 80% 4%

Model of profit

Model of responses

Breakeven (BE) Model

SCENARIOLIST

INPUTS

Mailing inputsFixed cost to print $ 18,000.00Var. cost for printing $ 0.10Var. cost for mailing $ 0.15# of catalogs mailed 100,000

Order inputsAverage order $ 45.00Var. % cost of order 75%Var. envelope cost $ 0.20Response rate 9%

Cell C18

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 F20display the key outputs for Scenario 2.

Figure 4 Cell Formulas for the Scenario Engine

2345678910111213141516171819202122232425262728293031323334

A B C D E F G

MODEL2

Model of responses# of responses =C20*C14

INPUTS Model of profitTotal revenue =F6*C17

Mailing inputs CostsFixed cost to print =D26 Fixed costs =C11Var. cost for printing 0.1 Var. mailing costs =(C12+C13)*C14Var. cost for mailing 0.15 Var. order costs =(C19+C18*C17)*F6# of catalogs mailed 100,000 Total cost =SUM(F11:F13)

Order inputs NET PROFIT =F9-F14Average order =E26Var. % cost of order =F26Var. envelope cost 0.2 BE point =(F11+F12)/(C17-C18*C17-C19)Response rate =G26 BE response rate =F19/C14

Fixed cost to print Average order Var % cost of order Response rateScenario Number Scenario Name Cell C11 Cell C17 Cell C20

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)

1 Current 20,000 40 0.80 0.082 Optimistic 18,000 45 0.75 0.093 Pessimistic 22,000 35 0.85 0.074 High Average Order 20,000 65 0.80 0.085 Very High Response 20,000 40 0.80 0.156 Very Low Response 20,000 40 0.80 0.04

Breakeven (BE) Model

SCENARIOLIST

SCENARIOSELECTED

Cell C18

Notes. The programming required for the Scenario Engine is in Cells C11, C17, C18, C20, and B26:G26.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 7: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 5 The Direct Mail Spreadsheet Model (Redesigned)

12

34567891011121314151617181920212223

2425262728293031323334

A B C D E F GSCENARIO ANALYSIS FOR DIRECTMAIL CAMPAIGN

SCENARIOSELECTED

MODEL

2

# of responses 9,000

FIXED INPUTSVar. cost for printing $ 0.10 Total revenue $ 405,000.00Var. cost for mailing $ 0.15 Costs# of catalogs mailed 100,000 Fixed costs $ 18,000.00Var. envelope cost $ 0.20 Var. mailing costs $ 25,000.00

Var. order costs $ 305,550.00Total cost $ 348,550.00

NET PROFIT $ 56,450.00Fixed cost to print $ 18,000.00Average order $ 45.00Var. % cost of order 75% BE point 3,891.40Response rate 9% BE response rate 3.89%

Fixed cost to print Average order Var % cost of order Response rate

Scenario Number Scenario Name Cell C17 Cell C18 Cell C19 Cell C20IN USE 2 Optimistic $ 18,000.00 $ 45.00 75% 9%

1 Current $ 20,000.00 $ 40.00 80% 8%2 Optimistic $ 18,000.00 $ 45.00 75% 9%3 Pessimistic $ 22,000.00 $ 35.00 85% 7%4 High Average Order $ 20,000.00 $ 65.00 80% 8%5 Very High Response $ 20,000.00 $ 40.00 80% 15%6 Very Low Response $ 20,000.00 $ 40.00 80% 4%

Model of profit

Model of responses

INPUTS FROM SELECTED SCENARIO

Breakeven (BE) Model

SCENARIOLIST

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 andinput cells controlled by the Scenario Engine.Figure 5 presents such a redesign. The FIXED

INPUTS module (Cells C9:C12) contains numbers,and the INPUTS FROM SELECTED SCENARIO mod-ule (Cells C17:C20) contains formulas.

5.5. Rapid Creation of a Scenario Summary ReportIt is often desirable to create a “scenario summaryreport” that presents the key outputs from each sce-nario, along with other information such as the sce-nario number, scenario name, and selected input andoutput values for each scenario. This can be donemanually by entering different scenario numbers intoCell B4 and recording the results.It is less tedious and more reliable to create a sce-

nario summary report by performing a one-parametersensitivity analysis on the scenario number. The ana-lyst can perform the sensitivity analysis by using thecommercial add-in SensIt (2008), the Data Sensitivitytool of the Sensitivity Toolkit (2007), the Data Tablefeature of Excel, or by writing simple VBA code. TheData Sensitivity tool is easy to use, but the results are

not dynamic. The Data Table is slightly harder to use,but the results are dynamic (cf. Wagner and Keisler2006). VBA code is difficult to write well, and we donot use it in our courses.We demonstrate in native Excel using the Data

Table feature. We create a scenario summary report(using a process shown in Figure 6 with the resultsin Figure 7) that shows for each scenario the cor-responding scenario name (Cell C26), average order(Cell C17), net profit (Cell F16), and the breakevenresponse rate (Cell F20).To set up the table in Figure 6, we enter documen-

tation in Cells C36:F37 using text labels (Row 36) andthe corresponding cell addresses (Row 37). In Row38, we enter a pointer to each cell documented inthe row above. Thus, Cell C38: =C26 (as documentedin Cell C37). We do the same in the next cell to theright, Cell D38: =C17, and continue this process forCells E38:F38. We leave Cell B38 blank. We enter thevalue 1 in Cell B38, continuing down to the value 6in Cell B44.To populate the data table (Figure 6), we select

Cells B38:F44 and perform Data\Table � � �\, setting the

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 8: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 6 Data Table to Create a Scenario Summary Report

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 inCell B4, and click “OK” as shown in Figure 6. Theresults are shown in Figure 7 and the formula viewin Figure 8.The scenario summary report allows for quick

comparison of model results for each scenario. Thescenario summary report is suitable for inclusionin documents or presentations, and it can easily beedited or formatted as desirable. Note that the ana-lyst can include in the scenario summary report anydesirable inputs or outputs.When created using Data Table, the scenario sum-

mary report is dynamic. Should there be a change tothe original model or to inputs not included in thescenarios (for example, a change to the number ofcatalogs mailed in Cell C14), the information in thescenario summary report instantly updates. This pow-erful functionality is not available with the Excel Sce-nario Manager tool.

Figure 7 Completed Scenario Summary Report

35

36373839404142434445

A B C D E F

Scenario Name Average order Net ProfitBreakeven

Response RateCell C26 Cell C17 Cell F16 Cell F20

Optimistic $ 45.00 $ 56,450.00 3.89%1 Current $ 40.00 $ 17,400.00 5.77%2 Optimistic $ 45.00 $ 56,450.00 3.89%3 Pessimistic $ 35.00 $ (11,650.00) 9.31%4 High Average Order $ 65.00 $ 57,400.00 3.52%5 Very High Response $ 40.00 $ 72,000.00 5.77%6 Very Low Response $ 40.00 $ (13,800.00) 5.77%

SCENARIOOUTPUT

5.6. The Scenario Engine Technique Satisfies theDesirable Scenario Analysis Properties

The Scenario Engine technique satisfies all 10 of thedesirable scenario analysis properties defined in §2.The Scenario Engine is transparent because the input

values are taken directly from the scenario list inthe spreadsheets. It is verifiable because the outputvalues displayed in the model and in the summaryreport (§5.5) can be traced back using cell formulas tothe values in the scenario list. It is easily made pro-tected by locking the scenario list values (using stan-dard Excel protections), so they cannot be accidentallyoverwritten.The Scenario Engine is flexible because it is easy to

modify input values and to use cell formulas for inputvalues. It is dynamic because the outputs are live; ifa cell formula is changed, the outputs—including thescenario summary table—automatically update with-out further effort by the analyst. It is efficient because

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 9: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 8 Completed Scenario Summary Report (Formula View)

35

36373839404142434445

A B C D E F

Scenario Name Average order Net Profit Breakeven Response Rate

Cell C25 Cell C17 Cell F16 Cell F20=C26 =Average_order =Net_profit =Breakeven_response_rate

1 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)2 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)3 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)4 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)5 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)6 =TABLE(,B4) =TABLE(,B4) =TABLE(,B4) =TABLE(,B4)

SCENARIOOUTPUT

once the scenario input values have been defined, theprogramming is quick and easy, typically less than twominutes.The Scenario Engine is optimization ready because

it integrates with Solver as shown in §7 below. It isstochastic ready because it supports Monte Carlo sim-ulation, as shown in §8 below. It is scalable because itsupports any number of inputs and any number ofscenarios. It is consistent with standard MS/OR termi-nology because it introduces no new terms.

6. Integrating Solver Optimizationwith the Scenario Engine

An analyst performing optimization with Solvermight want to optimize multiple scenarios to see howthe optimal decisions are affected by different pos-sible sets of future parameter values. Although thiscan be done manually, it is preferable to automatethe optimization and reporting process. We show howto do this by integrating Solver with the ScenarioEngine.

6.1. Example Model for OptimizationWe show in Figure 9 an example model from Powelland Baker (2007, §5.1). A product-marketing manager

Figure 9 Core Model for Advertising Budget Example

123456789

1011121314151617181920212223

A B C D E F J K L MG H I

DECISIONS Q1 Exp Q2 Exp Q3 Exp Q4 Exp Total$972 $2,919 $135 $4,063 $8,089

INPUTS MODELQuarter Q1 Q2 Q3 Q4 Total

Price 40.00$ Units Sold 1,985 2,962 1,568 3,530 10,045Cost 25.00$ Revenue 79,412$ 118,475$ 62,710$ 141,192$ 401,789$Ad Budget 40,000$ Cost of Goods 49,632$ 74,047$ 39,194$ 88,245$ 251,118$Overhead Rate 15% Gross Margin 29,779$ 44,428$ 23,516$ 52,947$ 150,671$Sales Parameters 35 3,000

Sales Expense 8,000$ 8,000$ 9,000$ 9,000$ 34,000$Q1 Q2 Q3 Q4 Advertising 972$ 2,919$ 135$ 4,063$ 8,089$

Sales Expense 8,000 8,000 9,000 9,000 Overhead 11,912$ 17,771$ 9,407$ 21,179$ 60,268$Seasonal 0.9 1.1 0.8 1.2 Total Fixed Cost 20,884$ 28,690$ 18,542$ 34,242$ 102,357$

Profit 8,895$ 15,738$ 4,975$ 18,705$ 48,314$Profit Margin 11.20% 13.28% 7.93% 13.25% 12.02%

OUTPUTSProfit $48,314

CORE MODEL FOR ADVERTISING BUDGET

Note. The core model is in the INPUTS, DECISIONS, MODEL, and OUTPUTS modules.

needs to decide how an advertising budget of $40,000should be allocated to the upcoming four quarters.The product sells for $40 and costs $25 to produce.The overhead rate is 15%. Quarterly sales are adjustedby a seasonal factor: 90% for Quarter 1, 110% forQuarter 2, 80% for Quarter 3, and 120% for Quarter 4.There is sales expense of $8,000 for Quarters 1 and 2and $9,000 for Quarters 3 and 4. There are also quar-terly ad expenditures (which are decision variables).Consultants to the company assume the following

formula for the relationship between advertising andquarterly unit sales:

unit sales= 35× seasonal factor×√3�000+ ad budget�

6.2. ScenariosWe illustrate our approach using six scenarios(Figure 10). In practice, one might use many more.For each scenario, inputs that are not mentioned areat their base case values.• The “Current” scenario is the base case.• The “Optimistic” scenario has a price of $41, cost

of $24, overhead rate of 12%, and an ad budget of$45,000.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 10: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 10 Core Model with Scenario Engine Displaying Scenario 2

123456789

10111213141516171819202122

23

A B C D E F J K L MG H I

24252627282930313233

DECISIONS Q1 Exp Q2 Exp Q3 Exp Q4 Exp Total2 $8,261 $13,822 $5,898 $17,019 $45,000

MODEL

FIXED INPUTS Quarter Q1 Q2 Q3 Q4 TotalSales Parameters 35 3,000 Units Sold 3,343 4,993 2,641 5,943 16,920

Revenue 137,051$ 204,731$ 108,287$ 243,646$ 693,715$

Q1 Q2 Q3 Q4 Cost of Goods 80,225$ 119,842$ 63,388$ 142,622$ 406,077$

Sales Expense 8,000 8,000 9,000 9,000 Gross Margin 56,826$ 84,888$ 44,900$ 101,024$ 287,638$

Seasonal 0.9 1.1 0.8 1.2Sales Expense 8,000$ 8,000$ 9,000$ 9,000$ 34,000$Advertising 8,261$ 13,822$ 5,898$ 17,019$ 45,000$

Price $ 41.00 Overhead 16,446$ 24,568$ 12,994$ 29,238$ 83,246$Cost $ 24.00 Total Fixed Cost 32,707$ 46,390$ 27,892$ 55,257$ 162,246$Ad Budget $ 45,000Overhead Rate 12% Profit 24,119$ 38,499$ 17,008$ 45,767$ 125,392$

Profit Margin 17.60% 18.80% 15.71% 18.78% 18.08%OUTPUTSProfit $125,392

Price CostOverhead

Rate Ad Budget

Scenario NumberScenario

Name Cell C8 Cell C9 Cell C11 Cell C10IN USE 2 Optimistic $ 41.00 $ 24.00 12% $ 45,000

1 Current 40.00$ 25.00$ 15% 40,000$2 Optimistic 41.00$ 24.00$ 12% 45,000$3 Pessimistic 37.00$ 26.00$ 18% 35,000$4 High Price 45.00$ 25.00$ 15% 40,000$5 High Cost 40.00$ 30.00$ 15% 40,000$6 High Budget 40.00$ 25.00$ 15% 55,000$

SCENARIOLIST

SCENARIO SELECTED

SCENARIO ANALYSIS FOR ADVERTISING BUDGET

INPUTS FROM SELECTED SCENARIO

Notes. The INPUTS module is divided into the FIXED INPUTS and INPUTS FROM SELECTED SCENARIO modules. The Scenario Engine is programmed in CellsB25: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, costof $26, overhead rate of 18%, and an ad budget of$35,000.• The “High Price” scenario has a price of $45.• The “High Cost” scenario has a cost of $30.• The “High Budget” scenario has an ad budget of

$55,000.

6.3. Scenario EngineWe program a Scenario Engine as described in §5. InFigure 10, the cells related to the Scenario Engine cellsare colored a shade of green. The scenarios themselvesare in Rows 27–32. The IN USE scenario values arein Row 25. The selected scenario is in Cell B4. Wesplit the INPUTS module (of Figure 9) into two mod-ules with the inputs controlled by the Scenario Engineplaced in the INPUTS FROM SELECTED SCENARIOmodule and the remaining inputs placed in the FIXEDINPUTS module.

6.4. Combining Solver with the Scenario EngineWe program Solver with the ad expenditures (CellsI4:L4) as the changing cells, the profit (Cell M22)as the target cell, and the constraint that the totalad expenditures ⇐ ad budget (M4 ⇐ C17), plusnonnegativity.To manually connect optimization to the Scenario

Engine, we simply set the scenario selected (Cell B4)to the desired scenario number and invoke Solver. To

optimize multiple scenarios, we repeat this processusing different values in Cell B4. The manual pro-cess of running Solver and summarizing optimizationresults for all the scenarios in a well-organized tableis tedious and error prone, especially with a sizablenumber of scenarios. It should be automated.Automation can be achieved using a parametric

optimization add-in such as Solver Table (2003) or theSolver Sensitivity tool of Sensitivity Toolkit (2007), orby writing VBA code. Solver Table and the SolverSensitivity tools are easy to use. We used the SolverSensitivity tool (Figure 11), which allows us to includeany outputs as long as they are in cells adjacent to oneanother, to generate the results shown in Figure 12.This section showed how to perform optimiza-

tion on any number of scenarios. This approach isquick and easy. The prerequisites are a fully speci-fied Solver model and a set of scenarios. The analystmust program a Scenario Engine and then run SolverSensitivity. For an analyst who is comfortable imple-menting the Scenario Engine technique and using theSolver Sensitivity tool, this requires only a few min-utes of effort. More importantly, using the ScenarioEngine, the analyst can change any number of modelinputs, as opposed to at most two inputs that can bechanged using either Solver Table or the Solver Sen-sitivity tool.Solver returns static output, so any approach

that uses Solver will also have static output. Hence,

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 11: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 11 Solver Sensitivity Dialog Boxes

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

the Solver scenario analysis is not dynamic. Note thatSolver does not function on worksheets that haveExcel’s “protect sheet” feature enabled, so wheneverSolver is used, cells on the worksheet cannot beprotected.

7. Integrating Crystal Ball Simulationwith the Scenario Engine

Markham and Palocsay (2006) point out that theExcel Scenario Manager tool does not allow stochasticanalysis. This is a serious shortcoming for the man-agement scientist. In this section, we show how tocombine stochastic analysis with scenario analysis byintegrating the Scenario Engine with the Crystal Balladd-in for Monte Carlo simulation.

7.1. Example Model for SimulationWe illustrate (Figure 13) our approach using Prob-lem 15.9 from Powell and Baker (2007). A small pri-vate company is considering an initial public offering.The initial price of the stock ranges from $10 to $15with the discrete distribution shown in Table 1.

Figure 12 Solver Scenario Analysis Summary

1

2

3

4

5

6

7

8

A B C D E GF

SCENARIO SELECTED Objective: Profit Change Q1 Exp Q3 ExpQ2 Exp Q4 Exp

1 $71,446.79 $7,273 $12,346 $5,117 $15,263

2 $125,392.21 $ 53,945.42 $8,261 $13,822 $5,898 $17,020

3 $1,650.45 $ (123,741.76) $1,672 $3,980 $692 $5,307

4 $140,130.00 $ 138,479.55 $7,273 $12,346 $5,117 $15,263

5 ($1,910.00) $ (142,040.00) $969 $2,929 $136 $4,056

6 $76,097.27 $ 78,007.27 $10,237 $16,773 $7,459 $20,532

There is 30% probability that the company will failin the first year and this probability remains the samein each of the first five years. If the company doesnot fail, then its stock value increases each year by apercentage given by a lognormal distribution with amean of 1.5% and standard deviation of 0.5%.We place probability distributions into “Initial

Price” (Cell D19), “Fail or Not” (Cells E22:I22), and “%Price Increase” (Cells E23:I23) by designating them asCrystal Ball “Assumptions.”The company would like to determine the probabil-

ity distribution for the price of the stock in five years(Cell D26); hence we designate this cell as a CrystalBall “Forecast.”

7.2. ScenariosWe will use the following six scenarios, although inpractice one might use many more. For each scenario,inputs that are not mentioned are at their base casevalues.• The “Current” scenario is the base case.• In the “Optimistic” scenario, failure probability

in Year 1 is 15% in the first year and decreases by 2%

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 12: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 13 Core Model for Simulation Example

123

456789

10111213141516171819202122232425

262728

A B C D E F G H ICORE MODEL FOR IPO VALUE

INPUTS

Mean Std. dev.Distrn of Increase 1.50% 0.50%

IPO Price $ 10.00 11.00$ 12.00$ 13.00$ 14.00$ 15.00$Probability 0.10 0.20 0.30 0.20 0.10 0.10

Year 0 1 2 3 4 530% 30% 30% 30% 30%

MODELInitial Price 12.00

Year 0 1 2 3 4 5Fail or Not (Fail=0)

% Price IncreaseValue 12.00 12.12 12.24 12.36 12.49 12.61

Price in 5 years 12.61

LogNormal Distribution

0%

Probability of Failure

Failure ProbabilityAnnual Change

1 1 1 1 11.00% 1.00% 1.00% 1.00% 1.00%

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 is2%, and the standard deviation is 0.50%.• In the “Pessimistic” scenario, failure probability

in Year 1 is 36% for the first year and increases by 3%every year. The mean of the lognormal distribution is1%, and the standard deviation is 0.90%.• In the “High Mean” scenario, the mean of the

lognormal distribution is 4.00%.• In the “High Year 1 Probability” scenario, failure

probability in Year 1 is 50%, for the first year.• In the “High S.D.” scenario, the standard devia-

tion of the lognormal distribution is 2%.

7.3. Scenario EngineWe program a Scenario Engine as described in§§5.1–5.3. In Figure 14, the cells related to the ScenarioEngine are colored a shade of green. The scenariosthemselves are in Rows 33–38. The IN USE scenariovalues (which are echoed into the INPUTS module)are in Row 31. The selected scenario is in Cell B4.

7.4. Combining Crystal Ball withthe Scenario Engine

To manually connect simulation to the ScenarioEngine, we simply set the scenario selected (Cell B4)

Table 1 Probability Distribution for Simulation Model

Price ($) 10 11 12 13 14 15

Probability 0.10 0.20 0.30 0.20 0.10 0.10

to the desired scenario number and run Crystal Ball.To simulate multiple scenarios, we repeat this processusing different values in Cell B4. The manual processof running Crystal Ball and summarizing simulationresults for all the scenarios in a well-organized tableis tedious and error prone (especially with a sizablenumber of scenarios). It should be automated.To automate the simulation of each scenario, we

can use the Crystal Ball Sensitivity tool provided inthe Sensitivity ToolKit (2007), the Crystal Ball Deci-sion Table tool (which, despite its name, is actually asensitivity analysis tool), or by writing VBA code. TheCrystal Ball Sensitivity tool is easy to use. The Crys-tal Ball Decision Table tool is slightly more difficult touse, but it generates the histogram plots of the simu-lation output values. We used the Crystal Ball Sensi-tivity tool (Figure 15) to generate the results shown inFigure 16. Note that in Figure 16 we do not report thescenario name because Crystal Ball Sensitivity cannotdo this. (If necessary, the scenario name could be pro-grammed using a lookup function.)This approach is consistent with the use of common

random numbers, because the random numbers arecontrolled by the simulation add-in.This section showed how to perform Monte Carlo

simulation using Crystal Ball on any number ofscenarios. This approach is quick and easy. The prereq-uisites are a fully specified Crystal Ball model and aset of scenarios. The analyst must program a ScenarioEngine and then run the Crystal Ball Sensitivity tool.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 13: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 14 Core Model with Scenario Engine Displaying Scenario 3

123

456789

10111213141516171819202122232425

262728

2930

3132

333435

36373839

4041

A B C D E F G H ISCENARIO ANALYSIS FOR IPO VALUE

3

Year 0 1 2 3 4 5IPO Price $ 10.00 $ 11.00 $ 12.00 $ 13.00 $ 14.00 15.00$

Probability 0.10 0.20 0.30 0.20 0.10 0.10

Mean Std. dev.1.00% 0.90%

Year 0 1 2 3 4 5

36% 39% 42% 45% 48%

MODELInitial price 12.00

Year 0 1 2 3 4 51 1 1 1 1

% Price Increase 1.00% 1.00% 1.00% 1.00% 1.00%Value 12.00 12.12 12.24 12.36 12.49 12.61

Price in 5 years 12.61

FailureProbabilityYear One

FailureProbability

AnnualChange

LogNormalMean

LogNormalSD

Scenario Name Cell E17 Cell G14 Cell D14 Cell E14

IN USE 3 Pessimistic 0.36 3% 1% 0.90%

1 Current 30% 0% 1.50% 0.50%2 Optimistic 15% –2% 2.00% 0.10%3 Pessimistic 36% 3% 1.00% 0.90%4 High Mean 30% 0% 4.00% 0.50%5 High Year 1 Prob. 50% 0% 1.50% 0.50%6 High S.D. 30% 0% 1.50% 2.00%

3%

FIXED INPUTS

INPUTS FROM SELECTED SCENARIO

Probability of Failure

Failure ProbabilityAnnual Change

SCENARIO SELECTED

SCENARIOLIST

Distrn of Increase

Fail or Not (Fail=0)

LogNormal Distribution

Notes. The INPUTS module is divided into the FIXED INPUTS and INPUTS FROM SELECTED SCENARIO modules. The Scenario Engine is programmed in CellsD14, 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 theScenario Engine technique and using the Crystal BallSensitivity tool, this requires only a few minutes ofeffort.Because the simulation results generated by Crystal

Ball are static, the simulation scenario analysis is notdynamic.

8. Classroom Experience withthe Scenario Engine

We have taught the Scenario Engine to hundreds ofstudents. With an explanation of the INDEX functionand a bit of practice, both undergraduate and MBAstudents are able to learn it in 30–60 minutes of class

time, in a setting where all students have comput-ers. Many of our MBA students are well aware, fromprior experience, of the cumbersome nature of Excel’sScenario Manager tool and greatly prefer the ScenarioEngine technique.With a bit of practice, our students are able to build

a Scenario Engine for any existing spreadsheet model.Those students who apply themselves tell us they cando this in less than two minutes—even on a spread-sheet they have not seen before. The only requirementis that the inputs be organized in a well-documentedinputs module, and that the scenarios be predefinedin a well-documented scenario list such as in Figure 1.Students’ Excel skills upon entering our course typ-

ically range from beginner to expert. We take action

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 14: A Spreadsheet Scenario Analysis Technique That Integrates with

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

Figure 15 Crystal Ball Sensitivity Dialog Boxes

Source. Adapted from Powell and Baker (2007).Notes. Note that the worksheet name is “with Scenario.”

to fix student spreadsheet deficiencies with minimaluse of class time using “student-led remediation”described in Grossman (2006). Students need to beable to use the INDEX function to program the Sce-nario Engine and Excel’s Data Table tool to build thescenario summary report. We teach both during classbefore we spend the 30–60 minutes on the ScenarioEngine. We present a simple tutorial on INDEX (seethe appendix) that takes 5 to 10 minutes. We provide asimple handout with screenshots that walks studentsthrough the use of Data Table, described in Gross-man (2008). Teaching Data Table takes about 10 min-utes with MBAs and 20 minutes with undergraduates.They have no difficulty learning it, provided that wemotivate them with an interesting context.When we teach parametric optimization or simula-

tion sensitivity, students have no difficulty combiningthese techniques with the Scenario Engine.

9. ConclusionScenario analysis is an important and useful tech-nique for obtaining business insight from a model.

Figure 16 Simulation Scenario Analysis Summary for Problem 15.9

1

2

3

4

5

6

7

8

A B C D E

SCENARIO SELECTED Price in 5 years: Mean Price in 5 years: StDev Price in 5 years: Min Price in 5 years: Max

1 $ 2.26 $ 5.04 $ - $ 16.66

2 $ 7.62 $ 6.83 $ - $ 16.67

3 $ 0.82 $ 3.18 $ - $ 16.674 $ 2.60 $ 5.72 $ - $ 18.93

5 $ 0.40 $ 2.27 $ - $ 16.486 $ 2.27 $ 5.03 $ - $ 22.80

Source. Adapted from Powell and Baker (2007).

As discussed in Markham and Palocsay (2006), stu-dents should be proficient in scenario analysis. Wepresent a set of 10 desirable scenario analysis prop-erties. Unfortunately, the Excel Scenario Manager sat-isfies only one of these properties, sorely limiting itsusefulness for serious analytical work.We present the Scenario Engine technique for sce-

nario analysis in a spreadsheet. It satisfies all 10desirable scenario analysis properties. The ScenarioEngine can be quickly programmed into any well-designed spreadsheet model. This approach greatlyreduces manual data entry and copying of outputsinto summary reports, increasing analyst productivityand accuracy.We demonstrate the ease with which an analyst

can integrate the Scenario Engine with Solver foroptimization and with Crystal Ball for Monte Carlosimulation.Markham and Palocsay (2006) demonstrate the

straightforward integration of the Scenario Managertool with the decision analysis add-in TreePlan (SensIt2008). We believe that integration of the ScenarioEngine with TreePlan for decision analysis would be

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 15: A Spreadsheet Scenario Analysis Technique That Integrates with

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

straightforward, and we see this as an avenue for fur-ther research.We have used the Scenario Engine with undergrad-

uate and MBA students and have found they canlearn it with modest effort. We anticipate that it willbe of value in many business school management sci-ence courses.

AcknowledgmentsWe thank the editors and the anonymous referees for theirthoughtful reviews and valuable comments. We also thankPatrick O’Beirne for his comments on the OFFSET function.

AppendixThis appendix describes the INDEX function, which mightnot be familiar to some readers or their students. We pro-vide to students a spreadsheet containing this informationprior to teaching the Scenario Engine.

Essential Functionality of INDEXThe INDEX function is a convenient way to obtain the con-tents of a cell located within a particular range of cells. Forthe Scenario Engine, we need to make use of only a subsetof the functionality of INDEX, described here.The syntax for our purposes is =INDEX(range, row_num),

where range is a single column of cells, and row_num is therow number within the range. The INDEX function returnsthe value in the cell at row_num within the range.Examples (see Figure A.1):=INDEX(G7:G9,2) returns 20, the value in Cell G8: Row 2

of G7:G9.=INDEX(G7:G9,5) returns #REF!; Row 5 was specified for

a range with only three rows.

Enrichment: Additional Functionality of INDEXNote that there is an “advanced” syntax for INDEX that isnot required for the Scenario Engine. It can be desirable toexpand students’ knowledge of Excel by showing them thisfunctionality.The “advanced” syntax is =INDEX(range, row_num,

col_num). Range is a rectangular selection of cells, row_numis the row number within the range, and col_num is the col-umn number within the range. INDEX returns the value inthe cell at row_num and col_num within the range.Examples (see Figure A.1):=INDEX(G7:K9,1,1) returns 10, the value in Cell G7:

Row 1, Column 1 of G7:K9.=INDEX(H8:J9,1,1) returns 70, the value in Cell H8:

Row 1, Column 1 of H8:J9.=INDEX(G7:K9,2,5) returns 220, the value in Cell K8:

Row 2, Column 5 of G7:K9.=INDEX(G7:K9,4,5) returns the error message #REF!; the

range has only three rows.

Figure A.1 INDEX Example for Additional Functionality

G H I J K789

10

10 60 110 160 21020 70 120 170 22030 80 130 180 230

Choice of Lookup FunctionsExcel provides a class of “lookup” functions that are usefulfor extracting data from a list. We recommend the INDEXfunction. However, Tennent and Friend (2001) use OFFSET,and Powell and Baker (2007) use CHOOSE. Each of thesethree functions is capable of providing the necessary func-tionality. However, from a spreadsheet engineering perspec-tive, OFFSET should be avoided whenever possible, andCHOOSE requires excessive programming and can be dif-ficult to verify. INDEX has none of these difficulties andtherefore is preferred. (Note that VLOOKUP does not workwell for this application because it requires a column num-ber that has to be changed for each column. LOOKUP canbe used for this application, but it requires one more rangeargument than INDEX and is therefore more challenging toprogram.)

OFFSET. The OFFSET function (along with the INDI-RECT function) works not by the usual spreadsheet cellreferencing but instead by addressing a cell that is a spec-ified number of rows and columns away from a specifiedlocation in the spreadsheet. This poses serious problems foraccurate, reliable programming. In general in Excel, whena user drags-and-drops (or cuts-and-pastes) a cell contain-ing a formula, the spreadsheet automatically adjusts andcells return the same values they contained prior to the edit.However, OFFSET does not reliably exhibit this behavior.A simple drag-and-drop can cause the value returned by theOFFSET function to change. Likewise, in general in Excel,when a user inserts or deletes a new row, the spread-sheet automatically adjusts, and cells return the same val-ues they contained prior to the row insertion. However,OFFSET does not reliably exhibit this behavior. If a rowis inserted or deleted between the “range” of OFFSET andthe offset location, the value returned by the OFFSET func-tion changes. Due to this unusual behavior in response tonormally benign programming actions, a spreadsheet con-taining OFFSET must be considered inherently risky.Furthermore, OFFSET does not work properly with

Excel’s formula auditing tools. A cell whose value isreturned by OFFSET does not provide an arrow to the OFF-SET cell when Trace Dependents is used. This can causesuch a cell to be perceived as “orphan data” (and thereforea candidate for deletion during routine quality assurance),when in fact it is used by the OFFSET function. Finally,OFFSET is one of a handful of “volatile” functions (mean-ing that it always recalculates), which increases calculationtime in larger spreadsheets.

CHOOSE. The CHOOSE function is unwieldy andrequires excessive programming. With CHOOSE, the pro-grammer cannot provide a single range for all scenarios butmust program an individual argument for each scenario.For example, with six scenarios the programmer mightwrite CHOOSE(Scenario_Number, L14, L15, L16, L17, L18,L19) but cannot write this as CHOOSE(Scenario_Number,L14:L19). If there were 20 scenarios, the CHOOSE functionwould require 21 separate arguments, which is impracticalas well as hard to verify.In addition, in Excel 2003 and earlier, CHOOSE was lim-

ited to 29 scenarios. This has increased in Excel 2007 to 254scenarios (requiring 255 arguments). Conceptually, there is

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.

Page 16: A Spreadsheet Scenario Analysis Technique That Integrates with

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

no limit on the number of scenarios a user might want todeploy; hence, Excel’s limitation to 254 scenarios compro-mises scalability.

INDEX. In contrast, the INDEX function has none of theabove shortcomings. Unlike OFFSET, it uses standard cellreferencing and hence is well behaved with regard to cut-and-paste and row insertions and deletions. It works wellwith Excel’s Trace Dependents feature, and like most Excelfunctions, is nonvolatile. In contrast to CHOOSE, it acceptsa single range for all the scenarios; it is therefore faster toprogram and easier to verify.

ReferencesBuehlmann U., C. T. Ragsdale, B. Gfeller. 2000. Spreadsheet-based

decision support system for wood panel manufacturing. Deci-sion Support Systems 29(3) 207–227.

Coles, S., J. Rowley. 1996. Spreadsheet modelling for manage-ment decision making. Indust. Management Data Systems 96(7)17–23.

Croll, G. 2005. The importance and criticality of spreadsheets in thecity of London. Eur. Spreadsheet Risks Interest Group 6th AnnualConf., London, European Spreadsheet Risks Interest Group,Greenwich, UK, 83–93. Accessed July 1, 2008, http://sprig.section.informs.org/sprigfiles/Croll05.pdf.

Grossman, T. A. 2006. Integrating spreadsheet engineering ina management science course—A hierarchical approach.INFORMS Trans. Ed. 7(1) 18–36, http://ite.pubs.informs.org/.

Grossman, T. A. 2008. A primer on spreadsheet analytics. Eur.Spreadsheet Risks Interest Group 9th Annual Conf., EuropeanSpreadsheet Risks Interest Group, Greenwich, UK, 129–139.

Grossman, T. A., Ö. Özlük. 2004. A paradigm for spreadsheet engi-neering methodologies. Eur. Spreadsheet Risks Interest Group5th Annual Conf., European Spreadsheet Risks Interest Group,Greenwich, UK.

Grossman, T. A., V. Mehrotra, Ö. Özlük. 2007. Lessons frommission-critical spreadsheets. Comm. Assoc. Inform. Systems20(60) 1009–1042.

LeBlanc L. J., T. A. Grossman. 2008. The use of spreadsheet soft-ware in the application of management science and operationsresearch. Interfaces 38(4) 225–227.

Markham, I. S., S. W. Palocsay. 2006. Scenario analysis in spread-sheets with Excel’s scenario tool. INFORMS Trans. Ed. 6(2)23–31, http://ite.pubs.informs.org/.

Postma, M. J., M. A. Heijnen, J. C. Jager. 2001. Cost-effectivenessanalysis of pneumococcal vaccination for elderly individualsin 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,NJ.

Ragsdale, C. T. 2001. Teaching management science with spread-sheets: From decision models to decision support. INFORMSTrans. Ed. 1(2) 68–74, http://ite.pubs.informs.org/.

Ryan, P. A., G. P. Ryan. 2002. Capital budgeting practices of theFortune 1000: How have things changed. J. Bus. Management8(4) 355–364.

SensIt. 2008. SensIt sensitivity analysis add-in. Accessed July 1,2008, http://www.treeplan.com/sensit.htm.

Sensitivity Toolkit. 2007. Accessed July 1, 2008, http://mba.tuck.dartmouth.edu/toolkit/.

Solver Table. 2003. Accessed July 1, 2008, http://highered.mcgraw-hill.com/sites/0073129038/student_view0/solver_table.html.

Tennent, J., G. Friend. 2001. Guide to Business Modelling. ProfileBooks, London.

Wagner, J. M., J. Keisler. 2006. Enhance your own research produc-tivity using spreadsheets. Tutorials Oper. Res. 148–162.

Weisel, J. 2004. Add muscle to what-if analyses. J. Accounting 198(3)76–79.

Winston, W. L., S. C. Albright. 2001. Practical Management Science,2nd ed. Thomson Learning, Duxbury, Pacific Grove, CA.

Additional

inform

ation,includingsu

pplemen

talmaterialan

drights

andpermissionpolic

ies,

isav

ailable

athttp://ite.pubs.inform

s.org.