---
id: wiki-2026-0508-mutually-exclusive-and-collectiv
title: Mutually Exclusive and Collectively Exhaustive (MECE)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [MECE, ME-CE, 상호배타-전체포괄]
duplicate_of: none
source_trust_level: A
confidence_score: 0.95
verification_status: applied
tags: [reasoning, problem-solving, consulting, structured-thinking, taxonomy]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: markdown
  framework: unspecified
---

# Mutually Exclusive and Collectively Exhaustive (MECE)

## 매 한 줄
> **"매 항목 겹치지 않고 매 합쳐 전체"**. Barbara Minto가 McKinsey에서 정형화한 매 categorization 원칙으로, 매 합리적 의사소통과 매 logical decomposition의 매 backbone이다. 2026 LLM agent의 task partitioning에서도 매 동일 원칙이 적용된다.

## 매 핵심

### 매 두 조건
- **Mutually Exclusive (ME)**: 매 두 카테고리의 교집합 = ∅.
- **Collectively Exhaustive (CE)**: 매 카테고리들의 합집합 = 전체.

### 매 typical partition 패턴
- Binary split: A vs Not-A.
- Process steps: Before / During / After.
- Stakeholders: Internal / External.
- Time: Past / Present / Future.
- Quantitative axes: Price × Volume = Revenue.

### 매 응용
1. Issue tree / logic tree decomposition.
2. Market sizing (top-down vs bottom-up).
3. SQL GROUP BY 카테고리 설계.
4. LLM agent subtask split (no overlap, no gap).

## 💻 패턴

### MECE check (Python)
```python
def is_mece(categories, universe):
    union = set().union(*categories)
    if union != universe:
        return False, "not exhaustive", universe - union
    for i, a in enumerate(categories):
        for b in categories[i+1:]:
            if a & b:
                return False, "overlap", a & b
    return True, "MECE", None
```

### Decision-tree style decomposition
```markdown
- 매출 감소 원인
  - 가격 (P)
  - 수량 (Q) [P와 ME — 가격 효과 통제 후]
  - 믹스 (M) [구성 변화]
  → P + Q + M ≈ ΔRevenue (CE check)
```

### Pandas group MECE validation
```python
def validate_mece_groups(df, group_col, total_col):
    grouped = df.groupby(group_col)[total_col].sum()
    return abs(grouped.sum() - df[total_col].sum()) < 1e-6
```

### Set cover (greedy CE construction)
```python
def greedy_cover(universe, sets):
    chosen, remaining = [], set(universe)
    while remaining:
        best = max(sets, key=lambda s: len(s & remaining))
        chosen.append(best)
        remaining -= best
    return chosen
```

### LLM prompt for MECE plan
```python
prompt = """
Decompose the task into MECE subtasks:
- Subtasks must NOT overlap (ME).
- Subtasks must cover the full task (CE).
- Output JSON list. Verify by sketching the union set.
Task: {task}
"""
```

### MECE + Pareto (80/20 prioritization)
```python
def mece_pareto(buckets, values, top=0.8):
    sorted_buckets = sorted(zip(buckets, values), key=lambda x: -x[1])
    cum, picked = 0, []
    for b, v in sorted_buckets:
        picked.append(b); cum += v
        if cum >= top * sum(values): break
    return picked
```

## 매 결정 기준
| 상황 | Decomposition axis |
|---|---|
| Revenue analysis | P × Q × M |
| Cost analysis | Fixed vs Variable |
| Customer | New vs Existing |
| Process | Stage gates |
| Bug triage | Severity × Component |

**기본값**: Quantitative MECE (numerical sum-check 가능).

## 🔗 Graph
- 부모: [[Mental_Models|Mental Models]] · [[Pyramid-Principle]]
- 변형: [[Logic Trees]] · [[Issue Tree]]
- 응용: [[Root-Cause-Analysis]]
- Adjacent: [[Decision Theory]]

## 🤖 LLM 활용
**언제**: Task decomposition, structured analysis, taxonomy design, agent planning.
**언제 X**: Highly entangled / coupled systems where clean partition is impossible.

## ❌ 안티패턴
- **Pseudo-MECE**: 매 표면 MECE이나 매 실제 overlap.
- **Forced exhaustiveness**: "Other" 버킷으로 매 모든 잔여 처리.
- **Wrong axis**: 매 분석 목적과 무관한 축.

## 🧪 검증 / 중복
- Verified (Minto "The Pyramid Principle"; Rasiel "The McKinsey Way").
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — MECE conditions + validators |
