Imported from sundial-org/awesome-openclaw-skills (
skills/decision-trees/SKILL.md). Install upstream withnpx skills add sundial-org/awesome-openclaw-skills --skill decision-trees. Copyright stays with the author.
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)
