Spreadsheet: how it works

If you:

  1. Take an existing spreadsheet (works with Google Sheets, OneDrive, or a direct URL to any .xlsx file)
  2. Add columns to specify probability distributions for (some) variables using a simple format

Then:

  1. Your calculation is run as a Monte Carlo simulation
  2. The results are displayed on this website.

Input format

Each of the cells the result depends on corresponds to a variable (or 'node') in our calculation. For each variable, you can optionally supply a name and/or a probability distribution. This information must be given in the cells to the left and right of the variable cell.

Probability Distribution

Input probability distributions must be specified in the columns to the right.

The first cell to the right contains a string for the distribution family. This should be left blank for a deterministic variable. Options are:

Family Quantiles Notes
Normal mean std 2
LogNormal mu sigma 2 Be careful, mu and sigma are not the mean and standard deviation of the distribution.
Uniform a b 2 a need not be less than b
PERT min mode max [lambda] Like the triangular, but a smoother shape (Wikipedia)

The optional parameter lambda (default: 4) controls the weight given to the mode. Values of lambda < 4 have the effect of flattening the density curve.
Beta alpha beta 2
LogUniform a b 2 a need not be less than b
Bernoulli p
Discrete x_1 p_1 x_2 p_2 ... Generic discrete distribution over any finite set of values
TwoPieceUniform min sep max [psep] A piecewise uniform distribution with two pieces: a left piece from min to sep, and a right piece from sep to max.

By default, each piece has 0.5 probability mass. If the optional parameter psep is supplied, it controls the probability of the left piece, i.e. the value of the CDF at sep.

The family is not case-sensitive.

A distribution's parameters can be specified in one of two ways: explicitly as parameters, or via quantiles.

A. Via quantiles

To the right of the distribution family, the next 1 or more columns specify the quantiles. The expected format is as follows:

  • For each quantile column, the column header (row 1) must be a string composed of the character p followed by 1 or 2 digits representing integer percentiles between 0 and 100. For example: p5, p05, or p42.
  • If quantiles are supplied, an n-parameter distribution must have exactly n quantiles. The CDF will pass through these quantiles exactly.
B. Via parameters

To the right of the quantiles (if any) the next 1 or more columns specify the distribution parameters directly. No column headers are expected (since the parameters in question are different for each distribution family). The parameters are interpreted based on their order (i.e. as positional arguments).

Name

The name of a variable is in the column to the left

Additional notes

  1. The calculations may be in any worksheet of the file, not just the result worksheet.
  2. Within a worksheet, the calculations must be arranged all in one column. Columns can vary across worksheets.
  3. For any variables that follow a probability distribution (either supplied as an input or computed by the simulation), the value taken by the cell in the spreadsheet is ignored: only the formulae are used. The cell value is only considered for deterministic inputs that do not follow a probability distribution.

Supported files

The URL field accepts any URL to a publicly accessible .xlsx file.

For your convenience, if a Google Sheets or OneDrive (Microsoft 365) URL is provided, we attempt to understand the URL and download the .xlsx file from the provider (so you don't need to link to where the .xlsx file is actually hosted).

Remember, if you create a new spreadsheet on Google Sheets or OneDrive, you need change sharing permissions so that Dagger can view it (to at least "anyone with the link can view").

Features

  • Probability distribution of each variable
    • View histogram, quantiles, moments
    • Download raw data as CSV
  • Mathematically rigorous sensitivity analysis using Sobol' indices - unlike most competitors
  • Zoomable, collapsible tree (inspired by Workflowy) summarizing your variables and their dependencies
  • Interactive 2D graph for another way to visualize the dependencies between your variables

Limitations

  • Some advanced spreadsheet functions are not supported
  • Spreadsheets must be publicly accessible
  • ...