# Decision Matrix

> Apply Pugh matrix + Multi-Criteria Decision Analysis (MCDA) when choosing among multiple options across multiple weighted criteria. Use whenever 用户 says "几个方案选哪个" / "怎么决定" / "团队意见不一致" / "vendor 选型" / "技术选型" / "供应商对比" / "decision matrix" / "比较 X 和 Y 和 Z". Forces criteria definition with explicit weights, scores each option per criterion, identifies dominant solutions, surfaces hidden disagreements (when team scores diverge significantly). Stops "感觉 X 比较好" decision by structure. Distinct from RICE (RICE = single-dimension prioritization, this = multi-criteria comparison). Self-contained methodology — no external docs required.

- Skill: `marsloting/decision-matrix` (Agent Skill)
- Install (CLI): `npx skillmds@latest add marsloting/decision-matrix`
- Raw SKILL.md: https://api.skillmd.com/api/skills/marsloting/decision-matrix/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: marsloting (https://skillmd.com/u/marsloting)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/marsloting/decision-matrix

---


# 决策矩阵（Pugh + MCDA）

## 何时触发

- 多个候选方案中选一个（vendor / 技术 / 框架 / 设计方向）
- 团队意见不一致需要结构化收敛
- "感觉 X 比较好但说不上为什么"
- 二选一决策但有 ≥ 3 个评估维度
- vendor 选型 / 招聘候选人对比 / 技术选型

## 何时不触发

- 单一选项是否做的二元决策 → 用 `pre-mortem` 跑正反推演
- 多个候选项排序但只有单一价值维度 → 用 `rice-prioritization`
- 用户需求挖掘 → `jtbd-framework`

## 与 RICE 的区别

| 维度 | RICE | Decision Matrix |
|---|---|---|
| 用途 | 多个待办项排优先级 | 多个候选方案中选一个 |
| 评分维度 | 固定 4 维（Reach/Impact/Confidence/Effort） | 自定义 N 维（场景决定） |
| 输出 | 排序 list（top 30% do） | 单一最优解（dominant option） |
| 例子 | "这 5 个 feature 哪几个先做" | "这 3 个 vendor 选哪个" |

## 默认框架 1：Pugh Matrix（轻量版）

适合：候选方案 ≤ 5 个，标准 ≤ 7 个，相对评估足够。

### 流程

1. **确定 Baseline**：选一个方案当基准（通常是当前方案 / 默认方案）
2. **列评估标准**：3-7 条
3. **每个候选 vs Baseline 评分**：
   - `+` 比 baseline 好
   - `0` 和 baseline 差不多
   - `-` 比 baseline 差
4. **统计**：每个候选数 + / - / 净分
5. **决策**：净分最高 = 最佳候选

### 例子（vendor 选型）

| 标准 | Baseline (现 vendor A) | Vendor B | Vendor C |
|---|---|---|---|
| 价格 | 0 | + | - |
| 性能 | 0 | + | + |
| 客服响应 | 0 | - | + |
| 集成易用度 | 0 | 0 | + |
| 合规支持 | 0 | + | 0 |
| **净分** | 0 | +2 | +2 |

净分平 → 升级到 MCDA 加权重。

## 默认框架 2：MCDA（精确版）

适合：候选方案 ≥ 3 个 + 标准之间重要性差异大 + 决策影响重大。

### 流程

1. **列评估标准**：3-10 条
2. **每个标准分配权重**：百分比，总和 = 100%
3. **每个候选每个标准打分**：1-10 分
4. **加权总分**：每个候选总分 = Σ (权重 × 分数)
5. **决策**：加权总分最高 = 最佳候选

### 例子（vendor 选型 MCDA）

| 标准 | 权重 | Vendor A | Vendor B | Vendor C |
|---|---|---|---|---|
| 价格 | 25% | 6 | 8 | 4 |
| 性能 | 30% | 7 | 9 | 9 |
| 客服响应 | 15% | 8 | 5 | 9 |
| 集成易用度 | 15% | 7 | 7 | 9 |
| 合规支持 | 15% | 6 | 9 | 7 |
| **加权总分** | 100% | 6.85 | 7.85 | 7.40 |

→ Vendor B 胜出（7.85）。

## 7 步标准流程（MCDA 完整版）

### Step 1：列候选方案

至少 3 个（少于 3 个用 pre-mortem 而非 decision matrix）。

### Step 2：列评估标准

5-10 条。覆盖：
- **价值层**：业务价值 / 用户价值 / 战略契合
- **成本层**：钱 / 时间 / 人力 / 学习曲线
- **风险层**：技术风险 / 合规风险 / 退出成本 / vendor lock-in
- **质量层**：可靠性 / 可维护性 / 扩展性 / 安全性

### Step 3：分配权重

总和 100%。**红线**：

- 单一标准权重 > 50% → 这其实是单维决策，不需要矩阵
- 任何标准权重 < 5% → 没有意义（去掉）
- 常见错配：把"价格"权重打 50% → 通常是没把"长期成本 / 退出成本"也算进来

权重分配建议：团队先**独立**填一份 → 合并对比 → 差异大的项讨论 → 收敛。不允许"先讨论再填"——会从众。

### Step 4：候选打分

1-10 分。每个候选每个标准独立评分。

### Step 5：加权计算

```
候选 X 总分 = Σ (权重_i × 分数_i)
```

### Step 6：敏感度分析（关键，常被跳过）

如果第一名和第二名差距 < 10%，做敏感度分析：

- **改权重**：把权重 ±5% 调整，看第一名是否变
- **改分数**：把分数 ±1 调整，看排名是否稳定
- 不稳定 = 当前数据不足以支持决策 → 需要补数据 / 缩小候选

### Step 7：决策记录

```markdown
## 决策记录

- **选择**：Vendor X
- **总分**：8.2 vs 第二名 7.5（差距 9%）
- **敏感度**：在 ±5% 权重 / ±1 分数范围内排名稳定
- **次优选项**：Vendor Y（7.5）—— 退出方案
- **关键 trade-off**：选 X 牺牲了 Z 维度，因为 Z 的权重只有 10%
- **复盘触发**：3 个月后 / Z 维度发生预期外问题时
```

## 完整模板

```markdown
# <决策主题> Decision Matrix

## 候选方案
- A: ...
- B: ...
- C: ...

## 评估标准 + 权重

| 标准 | 权重 | 理由 |
|---|---|---|
| 价格 | 25% | ... |
| 性能 | 30% | ... |
| ... |

## MCDA 评分

| 标准 | 权重 | A | B | C |
|---|---|---|---|---|
| 价格 | 25% | 6 | 8 | 4 |
| 性能 | 30% | 7 | 9 | 9 |
| ... |
| **总分** | | 6.85 | 7.85 | 7.40 |

## 敏感度分析

权重 ±5% 范围：
- 排名变化：B 仍第一 / B 第二 / B 与 A 平 / ...

分数 ±1 范围：
- 排名变化：...

→ 排名稳定 / 不稳定（如不稳定补什么数据）

## 决策

- **选**：B
- **理由**：加权总分最高 + 敏感度稳定
- **接受 trade-off**：客服响应（B 仅 5 分），mitigation = 准备 backup vendor
- **退出方案**：6 个月后评估 / 客服响应导致重大问题时切到 C
```

## Anti-Rationalization

| 逃逸路径 | 为什么不行 |
|---|---|
| "已经知道选哪个了走流程多此一举" | "已经知道"通常基于隐性偏好。走完矩阵后如果还是同选项 → 决策可追溯。如果不同 → 隐性偏好暴露，反而是高价值发现 |
| "权重难定" | 权重难定 = 价值观没对齐。这正是要做的事。难也要做 |
| "团队意见不一致就不写矩阵" | 反过来——意见不一致时矩阵最有价值。矩阵不是为消除分歧，是为定位**分歧在哪个维度**（权重还是分数？） |
| "Pugh 加 + - 0 太粗" | Pugh 是快速版。Pugh 净分相同时升级到 MCDA。从 Pugh 起步 = 正确顺序，跳过 Pugh 直接 MCDA = 浪费时间 |
| "评分主观无意义" | 主观但可对账。三人独立评分 → 差异 > 3 时讨论 → 收敛。比"凭感觉决定"准 5 倍 |
| "敏感度分析太复杂跳过" | 跳过敏感度 = 用不可靠的细微差距决策。差距 < 10% 不做敏感度 = 60% 概率决策错 |
| "标准列 3 条够了" | 3 条标准 = 决策维度太少 = 容易被单维度操纵。建议 5-7 条覆盖价值 / 成本 / 风险 / 质量四象限 |
| "权重相加不等于 100% 也行" | 不等于 100% = 各候选总分不可比 = 矩阵结果错。强制归一化 |

## 关联

- 决策前评估失败模式 → `pre-mortem`
- 决策后拆任务 → `story-splitting`
- 多个待办（不是多方案选一）排优先级 → `rice-prioritization`
- 决策记录写入：你的决策记录文件（decisions-log）
- 决策回滚触发条件：3 月 / 6 月时点自动 review

## Status

v1.0 — 2026-05-08 product-thinking plugin v0.1.0 首发。

