Generating Assumption Values

This appendix provides a brief description of how Crystal Ball generates values from its assumptions, which we refer to in this appendix as random numbers and random variates. For our purposes, a random number is a computer-generated number that appears to be drawn from the uniform probability distribution with a=0 and b=1 (see Appendix A), independently of the other random numbers. A random variate is a computer-generated number that appears to be drawn independently from any other probability distribution.

Crystal Ball uses a variety of methods to generate independent random variates by transforming random numbers. The choice of transformation depends on several factors, such as the type and parameters of the distribution, as well as the sampling method used (Monte Carlo or Latin hypercube). For illustration, the inverse transform random-variate generation method is described in the following section, and references are given for the other methods Crystal Ball uses. For more information about generating random numbers and variates, see Bratley, Fox, and Schrage (1987), Fishman (2006), Glasserman (2004), Law and Kelton (2000), and the references listed in the Bibliography section of the Crystal Ball User Manual.


Crystal Ball generates random numbers using a linear congruential generator (LCG). An LCG is defined by the recursive formula


where m is the modulus, a is the multiplier, c is the increment, ...

Get Financial Modeling with Crystal Ball and Excel, + Website, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.