Crystal Ball utlizes several powerful functions and features to extract information and descriptive statistics. We are going to review these techniques and present the CB.GetForeStatFN in full detail, including Six Sigma Capability Metrics.
Often when we are modeling a model, we may want to monitor or focus on a particular statistic. Traditionally we always look at the statistics of the forecast of interest.
Figure 1: Viewing forecast statistics in Crystal Ball
Fortunately Crystal Ball offers several other powerful methods to extract data from a forecast:
Technique

Pros

Cons

Copy Stats table from forecast windows (Manual Approach)

 Easy
 Function is directly available from Edit Menu

 Data is static
 Process is manual

Auto – Extract Values from forecasts at the end of a simulation

 Will produce a wide array of data and descriptive statistics.
 Is easily configured in the forecast in dialog box in the Forecast Preferences
 Is visible to all nonCrystal Ball users

 Can overwrite portions of your model resulting in broken formulas
 Extractions are generated only when the simulation stops

CB.Get Functions (CB.GetForeFN, CB.GetForeStat)

 Dynamic data
 Can be used in Forecasts i.e. to see how a mean shifts
 Will produce a wide array of stats

 These functions tend to force CB to run in Normal speed.
 These functions are not available to noncb users
 Will display 0 until 1 trial has been run

Crystal Ball Reports

 Easy to generate
 Very complete and visual
 Easy to customize

 Are static
 Are in a separate file
 Not designed to reincoporate into models.

In this article, we will present the CB.GetForeStatFN function using the European Put Model (see Figure 2 ) developed by John Charnes for his book Financial Modeling with Crystal Ball and Excel (By the way, the model is available in the download section of this site.).
Figure 2: Black Sholes model using Crystal Ball
When we run this model for 10,000 trials, we obtain 2 forecasts: One for the present value of the option(see Figure 3) and the other is the Mean Present Value (Figure 4).
Figure 3: Present value of the option
The above forecast chart and statistics was generated using the first forecast cell in Figure 1. The chart below presents the distribution of the potential means associated with this simulation. It is worth noting that the mean shifted as the trials increased. Nevertheless, the usefulness of the knowing that the mean could also follow a distribution is very powerful but should be used with caution  generally because it will change each time a trial is added.
Figure 4: Distribution of the option's mean using the CB.GetForeStat function
HOW TO USE THE CB.GetForeStatFN
In Excel, you would use the following formula:
=CB.GetForeStatFN(ForecastCellLocation, Index)
=CB.GetForeStatFN(B13, 2) generates 9.83, the forecast's mean using the below forecast.
In order to extract the other parameters available in each forecast, use the following index parameters.
CB.GetForeStat (CellRef, Parameter)

1

Returns the number of trials

2

Returns the mean

3

Returns the median

4

Returns the mode

5

Returns the standard deviation

6

Returns the variance

7

Returns the skewness

8

Returns the kurtosis

9

Returns the coefficient of variation

10

Returns the range minimum

11

Returns the range maximum

12

Returns the range width

13

Returns the standard error

14

Returns the base case (initial value) of the forecast cell

50

Returns the Cp for shortterm data (or Pp for longterm data)

51

Returns the Cpklower for shortterm data (or Ppklower for longterm data)

52

Returns the Cpkupper for shortterm data (or Ppkupper for longterm data)

53

Returns the Cpk for shortterm data (or Ppk for longterm data)

54

Returns the Cpm for shortterm data (or Ppm for longterm data)

55

Returns the ZLSL

56

Returns the ZUSL

57

Returns the Zst

58

Returns the Zlt

59

Returns the p(N/C)below LSL

60

Returns the p(N/C)above USL

61

Returns the p(N/C)total

62

Returns the PPMbelow LSL

63

Returns the PPMabove USL

64

Returns the PPMtotal

There are many other functions that use these indecies in Crystal Ball... to get a full list, please see the complete list here
If you have any questions on how to incorporate this function in your models and VBA macro's, please don't hesitate to drop me a line at [email protected]