# CMA数据治理规范：科目≠KPI（参考数据与衍生指标分离）

> 建立：2026-08-17 | 触发：修复财务维度失衡（287→86个KPI）
> 背景：ERP导入的201个会计科目（EXT_xxx）混入KPI字典，导致财务维度虚高到80%，工作台/维度分析/因果链全被科目噪声干扰

## 一、核心原则

```
科目（account）= 参考数据（reference data）
  → 记账用的原始科目（库存现金/应收账款/固定资产...）
  → 描述"账怎么记"，不是考核目标

KPI（Key Performance Indicator）= 衍生指标（derived metric）
  → 考核用的业务指标（净利润/交付及时率/客户满意度...）
  → 描述"目标是什么、做到没有"

两者不可混用 —— 混用 = 数据字典污染 = 统计失真
```

## 二、判定标准

| 特征 | 科目（account） | KPI（指标） |
|:----|:--------------|:-----------|
| 用途 | 记账/核算 | 考核/管理 |
| 粒度 | 科目级（EXT_xxx） | 指标级（F_/C_/P_/L_前缀） |
| 编码 | EXT_开头（ERP导入） | 语义编码（F_REVENUE等） |
| 变化 | 随记账增减 | 有目标值/阈值 |
| 责任人 | 会计 | 业务负责人 |

**快速判定**：有 target_value（目标值）和红黄绿阈值的是KPI；只有余额/发生额的是科目。

## 三、操作规范（强制）

### 1. 新KPI录入
```
✅ 必须：语义编码（F_财务 / C_客户 / P_流程 / L_学习）+ 目标值 + 阈值 + 责任人
❌ 禁止：把ERP科目直接复制进KPI字典
```

### 2. ERP数据导入
```
✅ 科目数据走独立通道（账户余额表/财务报表，不进KPI字典）
❌ 禁止：ERP科目导入时自动创建KPI记录（2026-08-17前发生过，EXT_xxx×201）
```

### 3. 发现混入的科目
```
处置：status → archived（归档，保留数据可查，不参与统计）
步骤：备份 → 检查关联（kpi_alerts/action_plans/alert_rules）→ 归档 → 验证分布
参考：2026-08-17 方案A执行记录（备份 /tmp/kpi_definitions_backup_20260817.sql）
```

## 四、本次修复记录（2026-08-17）

```
问题：EXT_xxx科目201个混入KPI字典（174个活跃），财务维度80%
根因：ERP科目导入未做类型区分，直接落KPI表
    ↓
修复：
  ① 备份 kpi_definitions（117KB）
  ② 归档174个活跃EXT_科目（status→archived）
  ③ 检查关联：kpi_alerts(0)/action_plans(0)/alert_rules(0)，无副作用
  ④ 补录6个真KPI（客户+4：复购/转介绍/投诉/响应时长；学习+2：知识沉淀/认证通过）
    ↓
结果：财务80%→35%，四维度 36/35/15/14 均衡
```

## 五、长期建议

```
① 建独立表 account_subjects（科目表），ERP导入只写此表
② KPI字典加 kpi_type 字段（kpi/account）做硬性区分
③ 数据质量检查（consistency-check）增加：KPI字典中不允许出现科目编码（EXT_前缀）
④ 与CDGA备考联动：这是"参考数据管理"+"数据标准"的实战案例
```

## 六、关联

- 知识库：token-governance-methodology.md（数据治理方法论）
- CDGA：参考数据管理 / 数据质量管理 / 元数据管理章节
- **KPI设计规范（第2份）**：`kpi-design-rule.md`（五步法/五规则/三路径——KPI从哪来、怎么设计好；本文档管KPI入库后的纯净）
