decision-matrix · git:20260615.6d899e8 · 2026-06-15 · sha256 f5005557e2097628

decision-matrix git:20260615.6d899e8A

Immutable. This exact content is served forever at /api/v1/blob/f5005557e2097628.

---
name: decision-matrix
description: "Weighted criteria scoring for multi-option decisions — makes trade-offs explicit and defensible with sensitivity analysis."
group: thinking
keywords: [decision-matrix, weighted-scoring, criteria, trade-off, comparison, evaluation, vendor, tool-selection]
task_strategies: [spike, investigation]
stream_affinity: [roadmap, research]
allowed-tools:
  - Read
  - Glob
  - Grep
  - AskUserQuestion
status: experimental
source: "Pugh Concept Selection (1981); Stuart Pugh — Total Design (1990); weighted scoring matrix method"
acquired: "2026-06-15"
---
# Decision Matrix

**Make trade-offs explicit. Score each option against weighted criteria.**

A decision matrix forces you to separate "what matters" from "how each option performs" — avoiding the trap of choosing the option you want and then finding criteria that justify it.

---

## When to use

- Choosing between 2–6 alternatives with multiple competing criteria
- Vendor/tool/technology selection
- Architecture decision records (ADRs) with real trade-offs
- When the team is split and needs a shared evaluation framework
- When you need a defensible, transparent decision
- Pairs with `/brana:swot-analysis` for strategic decisions; `/brana:six-thinking-hats` for perspective sweep before scoring

---

## Step 1 — Define the decision

What are we choosing between?

```
AskUserQuestion: "What decision are we making? List the alternatives (2–6)."
```

---

## Step 2 — Define criteria

What factors matter for this decision? Generate 4–8 criteria. Each criterion should be:
- Independently measurable (you can score options against it without circular reasoning)
- Relevant to the decision (not just "nice to have")
- At the right level of abstraction (not too broad, not too narrow)

Common criteria clusters:

| Category | Example criteria |
|----------|-----------------|
| **Cost** | Upfront cost, ongoing cost, switching cost |
| **Performance** | Speed, throughput, reliability, scalability |
| **Risk** | Vendor lock-in, maturity, team familiarity, security |
| **Fit** | Integration effort, ecosystem compatibility, flexibility |
| **Time** | Time to implement, time to value, maintenance burden |
| **Strategic** | Alignment with long-term direction, community/support |

---

## Step 3 — Assign weights

Distribute 100 points across criteria based on importance to this specific decision.

```
Criteria                | Weight
------------------------|--------
[Criterion 1]           | [X]
[Criterion 2]           | [Y]
...                     | ...
Total                   | 100
```

Rule: if two criteria have the same weight, that's fine. If one criterion has >40% of weight, consider splitting it — a single criterion dominating is often a sign it contains multiple concerns.

---

## Step 4 — Score each option

Score each alternative against each criterion on a 1–5 scale:
- 1 = Poor / doesn't meet the need
- 2 = Below average
- 3 = Adequate / meets minimum
- 4 = Good / clearly meets the need
- 5 = Excellent / exceeds expectations

```
Criteria           | Wt | Option A | Option B | Option C
-------------------|----|----------|----------|----------
[Criterion 1]      | 30 | 4        | 3        | 5
[Criterion 2]      | 25 | 3        | 5        | 2
[Criterion 3]      | 20 | 5        | 4        | 3
[Criterion 4]      | 15 | 2        | 4        | 4
[Criterion 5]      | 10 | 4        | 3        | 3
-------------------|----|----------|----------|----------
Weighted total     |    | [calc]   | [calc]   | [calc]
```

Weighted total = sum of (weight × score) for each criterion. Divide by 100 to normalize.

---

## Step 5 — Sensitivity analysis

The winner is often fragile. Test it:

1. **Swap the top two weights** — does the winner change?
2. **Remove the highest-weight criterion** — does the winner change?
3. **Shift the top option's lowest score by +1** — does it change the ranking?

If the winner changes under any of these: the decision is sensitive to assumptions. State which assumptions are load-bearing.

```
Sensitivity:
- Winner holds if [assumption A] remains true
- Winner changes if [criterion X] weight drops below [Y]
- Risk: [what to monitor that could invalidate this choice]
```

---

## Step 6 — Output

```
**Decision matrix: [decision]**

Options evaluated: [list]
Criteria: [N] factors, highest weight: [criterion] ([W]%)

Results:
1. [Option A] — [score] (winner)
2. [Option B] — [score]
3. [Option C] — [score]

Gap between top 2: [X pts]
If gap < 10 pts: decision is close — review scores for calibration bias

Sensitivity: winner is [stable/fragile] — [key assumption]

Recommendation: [Option A]
Key trade-off accepted: [what we're giving up]
```

---

## Notes

- Score independently, then calculate — don't set scores to make your preferred option win
- If the matrix produces a surprise winner you're reluctant to accept, that's a signal: either the scoring was biased, or your preference is based on an unlisted criterion (add it and re-score)
- The matrix is a decision support tool, not a decision-making machine. It surfaces trade-offs; humans make the call
- For ADRs: include the matrix as the evidence base for the chosen option
- Calibration check: if all options score 4–5 on every criterion, your criteria aren't discriminating — tighten them