Decision Trees — Structured Decision-Making
Decision tree analysis: a visual tool for making decisions with probabilities and expected value.
When to Use
✅ Good for:
- •Business decisions (investments, hiring, product launches)
- •Personal choices (career, relocation, purchases)
- •Trading & investing (position sizing, entry/exit)
- •Operational decisions (expansion, outsourcing)
- •Any situation with measurable consequences
❌ Not suitable for:
- •Decisions with true uncertainty (black swans)
- •Fast tactical choices
- •Purely emotional/ethical questions
Method
Decision tree = tree-like structure where:
- •Decision nodes (squares) — your actions
- •Chance nodes (circles) — random events
- •End nodes (triangles) — final outcomes
Process:
- •Define options — all possible actions
- •Define outcomes — what can happen after each action
- •Estimate probabilities — how likely is each outcome (0-100%)
- •Estimate values — utility/reward for each outcome (money, points, utility units)
- •Calculate EV — expected value = Σ (probability × value)
- •Choose — option with highest EV
Formula
EV = Σ (probability_i × value_i)
Example:
- •Outcome A: 70% probability, +$100 → 0.7 × 100 = $70
- •Outcome B: 30% probability, -$50 → 0.3 × (-50) = -$15
- •EV = $70 + (-$15) = $55
Classic Example (from Wikipedia)
Decision: Go to party or stay home?
Estimates:
- •Party: +9 utility (fun)
- •Home: +3 utility (comfort)
- •Carrying jacket unnecessarily: -2 utility
- •Being cold: -10 utility
- •Probability cold: 70%
- •Probability warm: 30%
Tree:
Decision ├─ Go to party │ ├─ Take jacket │ │ ├─ Cold (70%) → 9 utility (party) │ │ └─ Warm (30%) → 9 - 2 = 7 utility (carried unnecessarily) │ │ EV = 0.7 × 9 + 0.3 × 7 = 8.4 │ └─ Don't take jacket │ ├─ Cold (70%) → 9 - 10 = -1 utility (froze) │ └─ Warm (30%) → 9 utility (perfect) │ EV = 0.7 × (-1) + 0.3 × 9 = 2.0 └─ Stay home └─ EV = 3.0 (always)
Conclusion: Go and take jacket (EV = 8.4) > stay home (EV = 3.0) > go without jacket (EV = 2.0)
Business Example
Decision: Launch new product?
Estimates:
- •Success probability: 40%
- •Failure probability: 60%
- •Profit if success: $500K
- •Loss if failure: $200K
- •Don't launch: $0
Tree:
Launch product ├─ Success (40%) → +$500K └─ Failure (60%) → -$200K EV = (0.4 × 500K) + (0.6 × -200K) = 200K - 120K = +$80K Don't launch └─ EV = $0
Conclusion: Launch (EV = +$80K) is better than not launching ($0).
Trading Example
Decision: Enter position or wait?
Estimates:
- •Probability of rise: 60%
- •Probability of fall: 40%
- •Position size: $1000
- •Target: +10% ($100 profit)
- •Stop-loss: -5% ($50 loss)
Tree:
Enter position ├─ Rise (60%) → +$100 └─ Fall (40%) → -$50 EV = (0.6 × 100) + (0.4 × -50) = 60 - 20 = +$40 Wait └─ No position → $0 EV = $0
Conclusion: Entering position has positive EV (+$40), better than waiting ($0).
Method Limitations
⚠️ Critical points:
- •Subjective estimates — probabilities often "finger in the air"
- •Doesn't account for risk appetite — ignores psychology (loss aversion)
- •Simplified model — reality is more complex
- •Unstable — small data changes can drastically alter the tree
- •May be inaccurate — other methods exist that are more precise (random forests)
But: The method is valuable for structuring thinking, even if numbers are approximate.
User Workflow
1. Structuring
Ask:
- •What are the action options?
- •What are possible outcomes?
- •What are values/utility for each outcome?
- •How do we measure value? (money, utility units, happiness points)
2. Probability Estimation
Help estimate through:
- •Historical data (if available)
- •Comparable situations
- •Expert judgment (user experience)
- •Subjective assessment (if no data)
3. Visualization
Draw tree in markdown:
Decision ├─ Option A │ ├─ Outcome A1 (X%) → Value Y │ └─ Outcome A2 (Z%) → Value W └─ Option B └─ Outcome B1 (100%) → Value V
4. EV Calculation
For each option:
EV_A = (X% × Y) + (Z% × W) EV_B = V
5. Recommendation
Option with highest EV = best choice (rationally).
But add context:
- •Risk tolerance (can user handle worst case)
- •Time horizon (when is result needed)
- •Other factors (reputational risk, emotions, ethics)
Application Examples by Domain
Trading & Investing
Position Sizing:
- •Options: 5%, 10%, 20% of capital
- •Outcomes: Profit/loss with different probabilities
- •Value: Absolute profit in $
Entry Timing:
- •Options: Enter now, wait for -5%, wait for -10%
- •Outcomes: Price goes up/down
- •Value: Opportunity cost vs better entry price
Business Strategy
Product Launch:
- •Options: Launch / don't launch
- •Outcomes: Success / failure
- •Value: Revenue, market share, costs
Hiring Decision:
- •Options: Hire candidate A / candidate B / don't hire
- •Outcomes: Successful onboarding / quit after X months
- •Value: Productivity, costs, opportunity cost
Personal Decisions
Career Change:
- •Options: Stay / change job / start business
- •Outcomes: Success / failure in new role
- •Value: Salary, satisfaction, growth, risk
Real Estate:
- •Options: Buy house A / house B / continue renting
- •Outcomes: Price increase / decrease / personal situation changes
- •Value: Net worth, monthly costs, quality of life
Operations
Capacity Planning:
- •Options: Expand production / outsource / status quo
- •Outcomes: Demand increases / decreases
- •Value: Profit, utilization, fixed costs
Vendor Selection:
- •Options: Vendor A / Vendor B / in-house
- •Outcomes: Quality, reliability, failures
- •Value: Total cost of ownership
Calculator Script
Use scripts/decision_tree.py for automated EV calculations:
python3 scripts/decision_tree.py --interactive
Or via JSON:
python3 scripts/decision_tree.py --json tree.json
JSON format:
{
"decision": "Launch product?",
"options": [
{
"name": "Launch",
"outcomes": [
{"name": "Success", "probability": 0.4, "value": 500000},
{"name": "Failure", "probability": 0.6, "value": -200000}
]
},
{
"name": "Don't launch",
"outcomes": [
{"name": "Status quo", "probability": 1.0, "value": 0}
]
}
]
}
Output:
📊 Decision Tree Analysis
Decision: Launch product?
Option 1: Launch
└─ EV = $80,000.00
├─ Success (40.0%) → +$500,000.00
└─ Failure (60.0%) → -$200,000.00
Option 2: Don't launch
└─ EV = $0.00
└─ Status quo (100.0%) → $0.00
✅ Recommendation: Launch (EV: $80,000.00)
Final Checklist
Before giving recommendation, ensure:
- •✅ All options covered
- •✅ Probabilities sum to 100% for each branch
- •✅ Values are realistic (not fantasies)
- •✅ Worst case scenario is clear to user
- •✅ Risk/reward ratio is explicit
- •✅ Method limitations mentioned
- •✅ Qualitative context added (not just EV)
Method Advantages
✅ Simple — people understand trees intuitively ✅ Visual — clear structure ✅ Works with little data — can use expert estimates ✅ White box — transparent logic ✅ Worst/best case — extreme scenarios visible ✅ Multiple decision-makers — can account for different interests
Method Disadvantages
❌ Unstable — small data changes → large tree changes ❌ Inaccurate — often more precise methods exist ❌ Subjective — probability estimates "from the head" ❌ Complex — becomes unwieldy with many outcomes ❌ Doesn't account for risk preference — assumes risk neutrality
Important
The method is valuable for structuring thinking, but numbers are often taken from thin air.
What matters more is the process — forcing yourself to think through all branches and explicitly evaluate consequences.
Don't sell the decision as "scientifically proven" — it's just a framework for conscious choice.
Further Reading
- •Decision trees in operations research
- •Influence diagrams (more compact for complex decisions)
- •Utility functions (accounting for risk aversion)
- •Monte Carlo simulation (for greater accuracy)
- •Real options analysis (for strategic decisions)