Skip to main content

Core concepts

Sketches and templates​

An estimator is either a sketch or a template, determined automatically by whether it has user input fields:

  • Sketch — all variables are either fixed constants or sampled distributions. The model is self-contained and produces a result immediately. Use a sketch for one-off explorations where you don't need to reuse the model with different inputs.
  • Template — at least one variable is marked as a user input. A template is filled in by a runner (you or a colleague) who provides values for those inputs; each filled-in case is saved as a named run. The model definition stays separate from the run instances.

The promotion from sketch to template is automatic: add a user input field, and the analyses list starts treating the estimator as a folder of runs.

Engines​

The engine determines how you author the model and how it executes:

EngineAuthoringRunningBilling
FormulaMini-language formula textareaSynchronous — results appear inlineFree
SpreadsheetUpload an .xlsx workbook, mark cellsAsynchronous — background jobCreating and editing free; running requires Pro

The engine is set when you create the estimator and cannot be changed afterward. Both engines produce the same downstream structure — the same parameters manifest, outputs manifest, template/run/drift machinery — so a runner never sees the underlying engine; they just fill in a form.

Runs​

A run is a concrete case of a template — the runner's input values plus a snapshot of the resulting samples and computed metrics. Runs are stored alongside the template and visible in the template detail page, where they can be sorted, filtered, and exported as CSV.

Sketch results are not saved as runs. A saved run only comes from filling in a template's run form and clicking Save run.

Definition drift​

A run captures a snapshot of the template's definition (model string or workbook, parameters manifest, outputs manifest) at the time it was saved. If the template is later changed — the formula is edited, a new workbook is uploaded, an input is renamed — existing runs show a drift warning banner:

This template was updated on Mar 5. This run still uses the previous definition. [Re-run against latest ↻] [Keep as-is]

The drift badge (⚠︎) also appears in the template detail runs table.

The formula mini-language​

The formula engine uses a text-based mini-language where each line is a statement. Variable names may contain internal spaces (e.g. hrs per phase, close prob).

  • Random variable — name ~ distribution(params). Each simulation iteration draws a new sample from the distribution.
  • Derived variable — name = expression. Arithmetic computed from other variables. Resolved in dependency order regardless of declaration order.

The right-hand panel auto-populates from the formula text:

  • Outputs — every variable defined in the textarea. Click to configure metrics (mean, percentiles, probability thresholds).
  • Inputs — any identifier referenced but never defined. Automatically removed when no longer referenced.

User input types​

When a variable is marked as a user input in a template, the runner fills it in using one of three controls:

TypeRunner control
NumberA numeric field; the runner enters any value
ChoiceA set of radio buttons; the author defines the options and their underlying numeric values
DistributionA family-locked, parameter-tunable distribution control with a live density preview

Output metrics​

Each output variable can show any combination of:

  • Mean — the average across iterations
  • Median — the 50th percentile
  • Percentile — any p-value (e.g. P10, P90)
  • Probability — Pr(output > value), Pr(output < value), etc.
  • Std / min / max

Replications​

Each simulation run executes the model N times (default 1,000). Each replication draws one fresh sample per random variable, recalculates the model, and records the output values. More replications produce smoother histograms and more reliable percentiles:

  • 100–1,000 — quick exploration
  • 5,000–10,000 — stable statistics for presenting results

Reading results​

Each output produces a histogram of values across all replications. Use it to answer questions like "what's the range of likely outcomes?" or "how probable is a loss?":

  • Narrow, tall peak — low uncertainty; most replications produced similar values
  • Wide, flat shape — high uncertainty; values varied widely across replications
  • Skewed shape — mean and median differ; some tail outcomes pull the average

The Pr(x < X) line is draggable: move it to any threshold to read off the probability the output falls below that value (e.g., "13% chance profit is negative").

Sharing​

Two independent share tokens exist per estimator:

Share typeRecipient sees
Template shareThe template detail page read-only, plus a button to clone the template into their own account
Run shareA single run's inputs and outputs, read-only

Shared links are publicly viewable without logging in.