# Crystal Ball features

A list of all the public Crystal ball features, which are grouped into three types:

### 1. Distributions

Functions that generate random values from probability distributions.

Returns values from a Beta distribution.

Returns values from a Bernouilli distribution (or use Binomial(p, 1).

Returns values from a Binomial distribution.

With Crystal Ball's Custom Distribution you can represent six different distributions, all of which are described here:

2. Discrete

3. General

6. Combination of distributions

Returns integer values between a specified minimum and maximum, all with the same probability (the Integer Uniform distribution). Discrete Uniform distribution can be constructed with the Custom Distribution in Crystal Ball.

Returns values from an Exponential distribution.

Returns values from a Gumbel distribution for maximum observations. This is one of three Extreme Value distributions.

Returns values from a Gamma distribution.

Returns values from a Geometric distribution.

Returns values from a hypergeometric distribution.

Returns values from a Logistic distribution.

Returns values from a Lognormal distribution.

Returns values from a Gumbel distribution for maximum observations. This is one of three Extreme Value distributions.

Returns values from a Gumbel distribution for minimum observations. This is one of three Extreme Value distributions.

Returns values from a Negative Binomial distribution.

Returns values from a Normal distribution.

Returns values from a Pareto distribution.

Returns values from a Poisson distribution.

Returns values from a Student, or t- distribution (can also construct it in two other ways).

Returns values from a Triangle distribution.

Returns values from a Uniform distribution.

Returns values from a Weibull distribution.

### 2. Crystal Ball Tools

Crystal Ball Tools are programs that extend the functionality of Crystal Ball. They are ordered in two categories:

Setup Tools

The Batch Fit tool lets you "automatically" fit (continuous) probability distributions to multiple data series. At Epix Analytics, we don't use this tool often because fitting distributions to data should be done carefully (e.g. often one by one) and not always be based on just one of the available Goodness of Fit Statistics

The Correlation Matrix lets you enter a matrix of correlations between assumptions in one step. In the section about Rand Order Correlation, you can see how to use this tool.

The Tornado Chart Tool allows you to determine the impact of each model variable (one at a time) on one specific forecast. In the section about Spider Charts and the Tornado Chart tool, you can read how to use this tool.

Analysis Tools

The Bootstrap Tool of Crystal Ball is a special case of the more general Bootstrap method discussed in ModelAssist Advanced. Crystal Ball's Bootstrap tool looks at  how robust your  simulation forecast statistics are. For example, given that you have done 10,000  iterations, the Bootstrap Tool determines how precisely the forecast statistics have been determined, meaning by how much would those statistics change if one were to run an essentially infinite number of iterations. Therefore, the main use of the  Crystal Ball's Bootstrap Tool is to determine if you have run sufficient iterations. In contrast, the Bootstrap method discussed in ModelAssist Advanced helps you quantify the uncertainty you have about input parameters in your risk analysis model that have been estimated from data .

The Decision Table tool allows you to run multiple simulations to test different values of one or two decision variables. Here, you can see how this tool can be used, with an example model. The model Market growth model provides another example.

The Scenario Analysis Tool allows you to examine which combination of assumption values gives you a certain forecast result. The tool runs a simulation after which it matches all the forecasts with their corresponding assumption values. In the resulting table, it shows all the forecast values in the range you specified (e.g. between 95% and 100% percentile) sorted, along with all the corresponding assumption (input) values. This tool can therefore be used as one of the methods to get a better understanding of an output of a simulation.

The Two-Dimensional Simulation Tool in Crystal Ball lets you separate the effect of uncertainty (lack of knowledge) and variability and randomness in a forecast. For a more detailed descriptions, see here.

### 3. Statistics functions

Functions that report the simulation results within Excel cells. Although not always fully supported by Crystal Ball, these functions are very useful, in combination with on-screen recalculation, to monitor some aspect of the simulation. They are also useful for automatically producing reports in Excel, though this can slow down your models.

CB.GetForeStatFN(source,2) reports the mean of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,3) reports the median of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,4) reports the mode of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,5) reports the standard deviation of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,6) reports the Variance of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,7) reports the Skewness of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,8) reports the kurtosis of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,9) reports the coefficient of variability of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,10) reports the minimum of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,11) reports the maximum of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,12) reports the range width of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForeStatFN(source,13) reports the standard error of the values generated for the source (cell reference, cell name or output name) so far in the simulation.

CB.GetForePercentileFN(source,P) reports for which of the values generated for the source (cell reference, cell name or output name) so far in the simulation, the fraction P are lower.

CB.GetCertaintlyFN(Data source, target X value)/100 returns the cumulative probability for target value in the simulated distribution for the cell, output, or input.

CB.IterationsFN() reports the current iteration of the simulation when running.

• No labels