# Values with Uncertainty

### Ranges and the Monte Carlo method

When variables are in the format of a range (e.g. 0 to 100, uniform(0,100), a **Monte Carlo** **simulation** is run to estimate the possible outcomes of an uncertain event. Monte Carlo will randomly pick a value from the distribution and compute the whole model as if it were that random constant value. This process is repeated multiple times to generate distributions for the output variables.

The use of the simulation allows Causal to perform computations using values with uncertainty that are not possible without it. Due to this method of handling uncertainty, you may notice that the range of the cell and the value are not the numbers you inputted or would expect, but only by a trivial amount.

### Distribution Shapes

There are many different types of distribution shapes for values with uncertainty. Here are three examples of distributions that Causal supports:

#### Triangular Distribution

Values in the format of '# to #' produce a triangle distribution where the center value is the most likely value, while the edges of the range are the least likely:

#### Uniform Distribution

Using the function of 'uniform(from, to)', a uniform distribution can be produced

#### Poisson Distribution

Using the function 'poisson(lambda)', a poisson distribution will be produced

#### Sample

The sample function takes a random sample from the provided numbers. For example, `sample(1,2,3)` may return 1, 2 or 3 with equal probability.