Вы находитесь на странице: 1из 8

Ever Wanted to Look into a Crystal Ball?

By Philip Hulsebosch, Trexco b.v.


Who does not want to know the future? Only a few people like risk and uncertainty. In the old Greek
mythology, the Oracle of Delphi was consulted for decision making, and it was assumed to be
inspired by the gods (Hyperion was one of them). The myth is, the oracle looked into a crystal ball
and saw the future. Some of us still rely on this kind of approach, others using statistical methods.
Oracle Crystal Ball (CB) is an analytical tool to simulate, quantify, and manage risk and uncertainty in
a spreadsheet model. It is a Microsoft Excel add-in that is leveraging the easy interface of a
spreadsheet and the calculation power and modelling capabilities of Excel. Crystal Ball adds strong
statistical and analytical functionality, which should validate a model with scientific measures.
After the installation, Excel opens with an additional menu ribbon to define, run, and analyze a
spreadsheet model with CB.

Picture 1: Menu ribbon of Crystal Ball


Oracle Crystal Ball has three different tools to manage risk and improve forecast accuracy. These are
shown in table 1.
Manage risk and improve forecast accuracy
Simulation
Forecasting
Optimization
Monte Carlo simulation
Predictor
OptQuest
Random numbers are
Historical data is analyzed for
With calculating and sorting all
generated for variables in a
trends and seasonality.
possible outcomes, the optimal
model to measure the effects
Exceptions and random
solution can be found to the
of uncertainty.
fluctuations are eliminated
model.
when future values are
predicted based on this
information.
Table 1: Tools of Crystal Ball
Here, we will focus on the Monte Carlo simulation only.

Why can normal spreadsheet models not capture uncertainty?


A simple definition of a spreadsheet model is the translation of a real-world problem into a
spreadsheet calculation. A model represents the relationships between input and output variables
using a combination of functions, formulas, and data.
An example for a model can be a calculation on how many working days a version upgrade would
take. The tasks are listed and an estimated duration will be assigned to each task. A sum of all hours
will be made, and this would be the estimated time requirement.
This traditional spreadsheet analysis captures uncertainty with just one point estimate being the
most likely value. The more experienced the person doing the estimate, the closer it will get to what
will be the outcome.
For a fixed-price offer, the person will likely extend the model with range estimates (best case, worst
case, and most likely case) and maybe even do some what-if scenarios (combining some estimates).
This still does not tell how likely each estimate will be. How probable1 will be the most likely case?
How large is the risk2 of more time needed for the upgrade? We cant tell, unless we apply statistical
tools.
Crystal Ball models capture uncertainty with Monte Carlo spreadsheet simulation. In this process,
randomly generated values are applied for uncertain variables in a model simulation. These values
for these uncertain variables are defined in probability distributions. A simulation calculates
numerous scenarios of a model by repeatedly picking values from the probability distribution for the
uncertain variables and using those values for the cell.

Picture 2: Probability Distributions: left side a normal distribution, right side a yes-no distribution.
In the example of the upgrade, a task of exporting all data from databases might take 20 hours or
somewhere between 18 and 25 hours, with the most likely value of 20 hours. This probability
distribution would look likely like Picture 3.

Probability is the likelihood of an event. Coin flipping - 50% probability the guess is correct - two possible and
equally likely outcomes.
2

Risk is the uncertainty or variability in the outcome of an event; often related to a possible undesired effect
or significant loss. Almost any change, good or bad, poses some risk.

Picture 3: Probability of duration of export data task (Beta distribution)


A Crystal Ball simulation3 takes many hundreds trails. In each trail, a value will be inserted for each
individual task and a sum of the time required will be calculated. This can do Excel very quickly.
The value inserted is not always the same. Crystal Ball will pick at random values for each variable.
So, for the data export task in the model, it will pick a value between 18 hours and 25 hours but
respect the likelihood of the curve. So most likely it will pick a value around the 20 hours and less
likely a value around the 23 hours as can be seen in Picture 3.
Instead of having a best case, worst case, and most likely case with data values inserted by the
analyst, we get many hundreds of cases, based on at-random input on the variables. These will be
sorted and prepared for analysis.

How to do a Monte Carlo simulation?


The basis of a Monte Carlo simulation is a spreadsheet model. This will hold some input values that
will be converted into variables and at least one result that will be converted into a forecast.
A simple model will be taken to explain the steps. This is shown in the table below.
Task
Duration in hours
Installation on new hardware
60
Transfer of repositories
10
Export data
20
Import data
10
Testing
10
Total hours
110
Table 2: Application upgrade model
When developing a model, the input values are not important yet. These will be replaced with
probability distributions later and then named assumptions. Start simple; the model can be
extended later without problems.
3

Simulation is the measurement of probability and measurement of risk.

When the model is ready, the input values do not vary need to be identified because those that do
not change cannot be modeled. For example, fixed values such as VAT% do not change, so we cant
model a 10% in trail 1 and a 12% in trail 2. That does not make sense.
Assumptions
In the next step, the input values become assumptions. In this example, a triangular distribution type
is taken and the minimum and maximum duration given per task.
Task

Duration in hours
Most likely
Minimum
Maximum
Installation on new hardware 60
40
80
Transfer of repositories
10
8
12
Export data
20
18
25
Import data
10
9
12
Testing
10
5
12
Total hours
110
80
141
Table 3: Application upgrade model with variables

Distribution type
Triangular
Triangular
Triangular
Triangular
Triangular

With a different distribution type, the assumption on the task export data looks different and will
give different results. Crystal Ball has more than 40 different distribution types and with data,
specific distribution types can be created as well.

Picture 4: Probability of duration of export data task (Triangular distribution)


Cell references can be given for the input parameters of the assumptions.

Forecast value
The forecast value or values are those cells in the model that contain a formula and are derived from
a calculation. In our example, total hours is the forecast value and a sum of all tasks. As we see,
this value is somewhere between 80 and 141 hours. The most likely value is 110 hours. What will the
simulation show? What will be the likelihood of spending more than, lets say, 120 hours on the
upgrade project?
Simulation
The simulation is set to run 10.000 trails. In each trail, CB will pick random one value for each
assumption from their distribution. When this placed into the Excel model, the total hours are
calculated. The result is captured into the result set. Then the next trail starts, and again CB will pick
one random value for each assumption from their distribution.
This will be done until 10.000 trails have been executed and 10.000 results are in the result set. Then
these data values of the result set are displayed and statistical logics applied.
The result is shown in Picture 5 and shows a probability of 14.45% the upgrade will take more than
120 hours.

Picture 5: Frequency view of the simulation outcome


Crystal Ball calculates various other statistical measures as shown in Picture 6.

Picture 6: Statistics of the simulation outcome


One of the interesting charts is the sensitivity chart. This shows the contribution of each variable to
the variation of the total outcome.

Picture 7: Sensitivity chart on the contribution of each variable to the variation

Picture 8: Trail values of 10.000 trails


Analysis of results
The results are always related to the input. The rule garbage in, garbage out applies here, and
Crystal Ball does not do magic; it does mathematics.
That is also the reason a senior person with business knowledge and background in statistics should
do selection of the probability distributions and the numbers of the assumption. It is important to
store these values and add comments to verify the data later and make improvements to the model.
The trial values, the statistics, and the assumptions can be stored either in the Excel Workbook or be
uploaded via Smart View into Essbase, Planning, or HFM. When questions are asked about the
results, the model and the assumptions are needed to reproduce it.
When we see that the probability is 15% the upgrade will take more than 120 hours, then it is a
management decision to offer a fixed-price proposal at this amount of time or not. It is important to
see that the installation task counts for the majority of the variation, so controlling this part of the
project makes more sense than ensuring the import data is going on time. When management wants
to add a risk margin to the calculated hours, then the concept of Crystal Ball and Monte Carlo
simulation needs to be explained (again).

And now?
A given spreadsheet model could maybe further be extended into areas in which modelling makes
sense. Another option is to make the model and assumptions dynamic. This makes it better readable
and adjustments are easier.
Because the assumptions are the backbone of the model, improving them is likely possible,
especially when actuals become available or new insights are gathered.

About the author


Philip Hulsebosch (phulsebosch@trexco.nl) has worked for more than 15 years as an Oracle Essbase
and Oracle Hyperion Planning specialist in Europe. As a principal consultant, he has done
implementations and improvement work on existing applications, provided admin training sessions,
and done application audits and tuning. He also advised and guided customers in the field of
scenario analysis with Oracle Crystal Ball.

Вам также может понравиться