LogoCarlo
Modelling uncertainty doesn't have to be hard
Carlo is as easy to use as Google Sheets. And it works with your existing spreadsheets.
Example usage (45 second video)
Click to play (silent)

Example spreadsheets

Play with a live, editable example:


Why Carlo might be the right tool for you

100% compatible — by design

  • Carlo works without any changes to your formulas.
    • Your original calculation is unchanged and will always work in Excel/Sheets — with or without Carlo.
    • People you collaborate with can edit the spreadsheet without Carlo like they always do
  • How does it work? You specify your probability distributions in additional columns next to your calculations using a simple format .

Carlo exactly reproduces your spreadsheet's calculation, but lets you replace one or more of your deterministic inputs with a probability distribution. To do so, Carlo reads its instructions from additional spreadsheet columns to the right of your calculation.

The first of these is the keyword column. Place this column immediately to the right of your calculation, and mark it by entering the string UseCarlo into the column header.

Click to play (silent)

Once you have a keyword column, you place keywords into it to give Carlo instructions about a particular variable.

Probability distribution keywords

These keywords specify the distribution family of an input variable.

To the right of a distribution keyword, you can place either:

  • the parameters of the distribution, in the order given below
  • its quantiles (percentiles), in a column labeled e.g. p15, p42, etc.

This table shows all supported distribution families:

FamilyParametersQuantiles
Normalmeansd2
LogNormalmusigma2
Uniformab2
LogUniformab2
PERT — also known as beta-PERTminmodemaxlambda (optional)
Flexible — optionally give 1 or 2 bounds as p0,p100≥ 2
Metalog — not recommended, use Flexible instead
≥ 2
Betaalphabeta2
Discrete — Generic discrete distribution over any finite set of valuesx1w1x2w2...
Bernoullip
Poissonlambda

The Output keyword

This optional keyword marks one or more variables as outputs. If you don't use it, Carlo will try to guess which variables you are interested in.

The fine print

  • This input format has a potentially counter-intuitive consequence. 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 formula is used. The cell value is only considered for deterministic inputs that do not follow a probability distribution.
  • This is an early-stage product. It's likely there will be a small number of breaking changes to the input format before it stabilizes. We'll aim to reduce disruption from these changes to a minimum (e.g. by storing a backup of your last result from before a breaking change).
  • If a quantile or parameter itself depends on an uncertain variable, the most theoretically correct interpretation would be to create a hierarchical model. This is not supported at the moment. The actual behavior is currently undefined.
  • Giving a name to a variable is optional but greatly helps readability. Names are read from the cell immediately to the left of the calculation cell.

Works with Google Sheets and Excel Online

  • Edit and share your spreadsheet the same way you always do.
  • Collaborate in real time

Delightfully flexible input

  • Carlo doesn't require you to choose from a long menu of probability distributions.
  • Just use our Flexible distribution and tell us the exact shape you want using 2 or more percentiles. You can add bounds too. This gives you fine-grained control, whether you're an expert in uncertainty modelling or just getting started.
    Want to use flexible distributions without Carlo? Check out MakeDistribution.com
  • If you prefer, traditional distributions like the normal are supported too.

Mathematically sound

  • Our sensitivity analysis provides a genuine metric of variable importance by using Sobol' indices. This method is backed by rigorous mathematics, but intuitive to interpret: it simply tells you what fraction of the output variance is due to each of the inputs and their interactions.
  • You always see a histogram of the actual simulation data — not an artificially smoothed curve. Plus, you can download all raw data as CSV.
  • WIP We're working on bootstrap confidence intervals to quantify any imprecision that comes from the fact that the simulation has a finite sample size.

Fast

  • Your histograms update in real time as you edit your spreadsheet

It has a few limitations, too

Carlo has some limitations that are inherent to how it works (rather than merely features we haven't built yet).

  • Carlo's input format relies on additional columns in your spreadsheet instead of being more deeply tied to the internals of Google Sheets or Excel. This has major advantages (described above), but gives rise to limitations too:
    • Carlo can be inconvenient to use if you have a complex spreadsheet layout, or if your variables are primarily arranged in columns rather than rows.
    • There is likely no reasonable way to obtain summary statistics of distributions within the spreadsheet for further use in your calculation.
    • There is no straightforward way to allow users to supply correlations between input distributions.
      Versions of this are possible, but the user experience would be suboptimal, so we don't currently plan to add this.
  • Because the simulation code runs on our servers, we need to store and process a copy of your spreadsheet.
    We take privacy and security seriously. We'll never share your spreadsheets with any third party. You give and revoke access to us one spreadsheet at a time, not for all your files.

Evaluate for free

Evaluate Carlo for free with a limited number of simulations. (The exact number is not set in stone, but it's definitely enough to thoroughly explore the product and maybe even finish a small project). After that, our entry-level plan costs $2,990/year.