Block Types
Blocks are the building units of your model. Reference variables in formulas to define data flow—connections are created automatically.
Variable
An uncertain input sampled from a probability distribution. Each iteration draws a new value.
Example
Project duration with Triangular distribution: min=10, mode=15, max=25 days.
| Property | Description |
|---|---|
| Label | Display label (max 40 characters) |
| Variable Name | Identifier used in formulas (lowercase letters, numbers, underscores, dashes; cannot start with a number) |
| Distribution | Probability distribution type |
| Parameters | Distribution-specific settings |
| Annotation | Optional notes |
Constant
A fixed value that remains the same across all iterations. Use for known parameters and assumptions.
Example
Tax rate set to 0.25 (25%).
| Property | Description |
|---|---|
| Label | Display label (max 40 characters) |
| Variable Name | Identifier used in formulas (lowercase letters, numbers, underscores, dashes; cannot start with a number) |
| Value | Numeric value |
| Annotation | Optional notes |
Formula
Computes a value from other blocks using mathematical expressions. Connections are created automatically when you reference variable names in the expression.
Example
Expression: revenue - cost - (revenue * tax_rate)
| Property | Description |
|---|---|
| Label | Display label (max 40 characters) |
| Variable Name | Output identifier (lowercase letters, numbers, underscores, dashes; cannot start with a number) |
| Expression | Mathematical formula (variables auto-extracted as input ports) |
| Annotation | Optional notes |
Output
Marks a value for inclusion in results. Connect final calculations here to generate histograms and statistics.
Example
Reference net_profit in an Output block to see its distribution after simulation. Set a goal of $50,000 (above) to see the probability of exceeding that target.
| Property | Description |
|---|---|
| Label | Display label (max 40 characters) |
| Track Variable | The variable name to collect samples from |
| Goal | Optional target value with direction (above/below) for probability calculations |
| Primary Metric | Which statistic to display: Median, Mean, P5, P25, P75, or P95 |
| Unit | Display unit prefix/suffix (e.g., $, %, days) |
| Annotation | Optional notes |
Copula
Models statistical dependence between variables. Applies correlations while preserving each variable's marginal distribution. Output ports use a '_c' suffix (e.g., stock_a → stock_a_c) to distinguish correlated values from originals.
Example
Two stocks (stock_a, stock_b) with ρ=0.7. Use stock_a_c and stock_b_c in formulas to reference the correlated outputs.
| Property | Description |
|---|---|
| Label | Display label (max 40 characters) |
| Correlation Matrix | Pairwise correlations (-1 to 1) |
| Input Count | Number of variables |
| Annotation | Optional notes |
Time Series
Tracks values that evolve over time with self-contained configuration. Use context-aware keywords like 'past_year' to reference the previous period's value. The results display as a fan chart showing the distribution of possible paths.
Example
Compound growth: past_year * (1 + growth_rate). Phase-dependent logic: if(t < 10, past_year * 1.08, past_year * 1.03) — grow 8% for first 10 years, then 3%.
| Property | Description |
|---|---|
| Output as | Variable name for downstream formulas (lowercase letters, numbers, underscores, dashes) |
| Duration | Number of periods (e.g., 'For 30 Years') |
| Start Value | Initial value at period 0 (number or variable reference) |
| Each Period | Formula using period keyword (past_year, past_month, etc.) and optionally 't' for period index |
| Annotation | Optional notes |
Data
Upload CSV or Excel data and reference columns in formulas using $blockname.column syntax. Supports four sampling modes with intelligent row-locking to preserve data relationships.
Example
Upload sales.csv with columns 'revenue' and 'cost'. Reference $sales.revenue and $sales.cost in formulas. With Scenarios mode (default), each iteration samples values from the same row, preserving the relationship between revenue and cost.
| Property | Description |
|---|---|
| Variable Name | Reference name for $blockname.column syntax |
| Data Source | CSV or Excel file upload (max 2MB, 10,000 rows, 50 columns) |
| Sampling Mode | How values are selected: Scenarios (row-locked, recommended), Independent (per-column), Sequential (time order), or Summary (aggregate statistic) |
| Aggregate Function | Statistic to use in Summary mode: Mean, Sum, Min, Max, First, Last |
| Annotation | Optional notes |
Annotation
A documentation note. Does not affect calculations or have ports.
Example
Document assumptions, data sources, or methodology.
| Property | Description |
|---|---|
| Name | Heading text |
| Content | Description |
| Color | Visual style |