Reference
Node types
| Type | Shape | Purpose | Children |
|---|---|---|---|
| Decision | Square | A point where you choose a path | 2 or more branches; no probabilities |
| Chance | Circle | A point where the outcome is uncertain | 2 or more branches; each needs a probability that sums to 100% |
| Leaf | Rounded rectangle | End of a path — carries a terminal payoff | None |
Every tree starts with a Decision node as the root. A tree must have at least one Leaf node to display EV.
Decision node properties
| Field | Description |
|---|---|
| Label | Display name on the canvas (default: "Decision") |
| Payoff (optional) | A USD cost or revenue incurred when this path is chosen (e.g. a fixed setup cost) |
The Detail tab for a selected Decision node shows the EV of every child branch, with the highest EV highlighted in blue.
Chance node properties
| Field | Description |
|---|---|
| Label | Display name on the canvas (default: "Chance") |
| Payoff (optional) | A USD cost or revenue at this point in the path (e.g. an upfront investment before the uncertainty resolves) |
A yellow ! badge appears on any Chance node whose branch probabilities do not sum to 100%. The tree remains usable, but EV for that subtree shows — until the probabilities are corrected.
Leaf node properties
| Field | Description |
|---|---|
| Label | Display name on the canvas (default: "Outcome") |
| Payoff | Terminal USD value for this path. Can be positive (gain) or negative (loss). Default: $0 |
A Leaf node has no children — just an outcome. Every leaf should have a payoff; leaves without a payoff are treated as $0 in EV calculations. The Detail tab for a selected Leaf node shows the leaf's payoff, its path probability (product of all probabilities from root to this leaf), its weighted EV contribution to the root, and a breadcrumb of node labels from root to this leaf.
Canvas controls
| Control | Action |
|---|---|
| Scroll | Zoom in/out |
| Drag | Pan the canvas |
| ⤢ Fit (toolbar) | Zoom out and center the full tree in the viewport |
The canvas uses an automatic left-to-right hierarchical layout. Nodes cannot be dragged to arbitrary positions — the layout recalculates whenever the tree changes to keep the structure readable.
EV formulas
EV is computed bottom-up from the leaves to the root.
| Node type | Formula |
|---|---|
| Leaf | EV = payoff (0 if no payoff entered) |
| Chance | EV = payoff + Σ(probability_i × EV(child_i)) |
| Decision | EV is computed per child branch — not aggregated |
See Core concepts for why Decision nodes evaluate each child branch independently while Chance nodes blend theirs into a probability-weighted average.
Nodes with incomplete data show EV: —:
- A Chance node whose branch probabilities don't sum to 100%
- Any node in a subtree that contains an invalid Chance node
(A Leaf node with no payoff entered is treated as $0, so its EV will be $0, not —.)
Probability validation states
| Situation | What happens |
|---|---|
| Probabilities sum to 100% | No indicator — the node looks normal |
| Probabilities do not sum to 100% | A yellow ! badge appears on the Chance node |
| Subtree contains an invalid Chance node | EV: — is shown for that subtree |
When you select a Chance node with invalid probabilities, the Detail tab shows a running summary of the gap, for example:
Probabilities: 70% + 20% = 90% — missing 10%
Rounding: the tool accepts probabilities as percentages with up to two decimal places (e.g. 33.33%). Three equal branches can be entered as 33.33% + 33.33% + 33.34% = 100%.
Sensitivity panel fields
| Element | Description |
|---|---|
| Parameter name | The node label and field (e.g. "Market Success — probability") |
| Saved value | The value currently stored in the tree |
| Range | The slider range, calculated automatically from the saved value; you can edit the min and max directly |
| EV impact | How the best-path EV changes as you move the slider |
Up to 5 parameters can be active simultaneously. When you try to add a sixth, the action is silently skipped — remove an existing parameter to make room for a new one.
CSV export format
The exported file is named {project-name}_decision_tree.csv (spaces and special characters replaced with underscores). If the tree has no nodes yet, the file contains only the header row.
| Column | Description |
|---|---|
path | Node labels from root to leaf, separated by > — e.g. Enter Market > Success > Expand |
payoffs | Pipe-separated USD payoffs along the path (empty string for nodes with no payoff) |
probabilities | Pipe-separated probabilities along the path (empty string for Decision node branches) |
path_probability | Product of all probabilities along this path (0–1) |
path_payoff_sum | Sum of all USD payoffs along this path |
path_ev | path_probability × path_payoff_sum |
Each row represents one complete path through the tree — from the root Decision node to a single Leaf node.
Example — a tree with two branches ("Enter Market" at 60% success, "Don't Enter"):
path,payoffs,probabilities,path_probability,path_payoff_sum,path_ev
Enter Market > Success > Expand,-500000|2000000|,|0.6|,0.6,1500000,900000
Enter Market > Failure > Wind Down,-500000|-200000|,|0.4|,0.4,-700000,-280000
Don't Enter > Stay Put,,,,0,0
Trees with invalid Chance nodes (probabilities not summing to 100%) still export. Affected rows have path_probability and path_ev marked as incomplete instead of a number — downstream calculations that depend on these columns will produce errors or unexpected results. Identify and fix the flagged paths before using the export for analysis.
AI editing capabilities
| Task | Type | Example prompt |
|---|---|---|
| Add nodes | Edit | "Add a 60/40 chance node after 'Enter Market' with a $2M success payoff and a $200K failure payoff." |
| Edit values | Edit | "Change the development cost to -$750,000." |
| Restructure | Edit | "Add a second chance node between 'Launch' and the outcomes representing regulatory approval at 80%." |
| Rename | Edit | "Rename 'Node 3' to 'Regulatory Approval'." |
| Delete | Edit | "Remove the 'Abandon' branch entirely." |
| Explain | Query | "Why is Branch A's EV lower than Branch B?" |
| Find breakeven | Query | "What probability would make Branch A and Branch B break even?" |
Query tasks are read-only and return an explanation; edit tasks update the tree via a validated patch.
Context the AI sees:
- All node labels, types, payoffs, and probabilities
- Current EV for every node and branch
- Active sensitivity parameters and their ranges
- Any Chance nodes with probability validation warnings
Limitations:
- The AI can edit the current tree but cannot access other projects.
- Complex restructuring (e.g. "mirror this subtree onto every branch") may require multiple steps.
- The AI does not automatically run sensitivity analysis — ask explicitly if you want threshold or crossover analysis.
- Response times depend on an external AI API and may vary; occasional slowness or unavailability is possible.