DevOps & CloudDocumentedScanned

decision-trees

Decision tree analysis for complex decision-making across all domains.

Share:

Installation

npx clawhub@latest install decision-trees

View the full skill documentation and source below.

Documentation

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)