---
name: data-insight
slug: data-insight
version: "1.0.1"
displayName: 数据分析
summary: 先画像定边界，再按数据结构选问题，算指标时把分母写出来，区分「显示了」「暗示了」「答不了」，把原始记录变成能做决策的发现。
description: Turns an exported table, a spreadsheet or a pile of raw records into findings a decision can be made on, instead of a pile of charts. It profiles the data and states its limits before analysing, picks the questions worth asking given what the columns can actually support, runs the analysis with the denominators written down, and separates what the data shows from what it merely hints at. Use when the user asks 数据分析、分析这份数据、看看这张表、销售数据分析、用户数据分析、运营数据分析、指标分析、漏斗、留存、转化、复购、客单价、渠道效果、活动效果、AB 测试结果、同比环比、趋势、异常波动、分群、用户分层、RFM、相关性、分布、离群值、缺失值、数据清洗、字段说明、数据透视、交叉分析、画像、排行榜、TOP N、占比、环比、周报数据、月度复盘、经营分析、业务诊断、数据结论怎么写, or says data analysis, analyze this dataset, look at this spreadsheet, sales analysis, user analysis, operations analysis, metrics analysis, funnel, retention, conversion, repeat purchase, average order value, channel performance, campaign performance, AB test results, year over year, month over month, trend, anomaly, segmentation, user tiers, RFM, correlation, distribution, outliers, missing values, data cleaning, pivot, cross tab, ranking, top N, share, business review, what does the data say.
license: MIT
allowed-tools: Read, Write, Bash
tags: [数据分析, 数据洞察, 指标分析, 漏斗, 留存, 转化, AB测试, 同比环比, 用户分层, 数据清洗]
---

# Data Insight

把一份导出的表或一堆原始记录，变成**能做决策的发现**，而不是一堆图表。

绝大多数数据分析的失败在第一步：没先搞清楚**这份数据能支撑什么**。
一份只有「订单表」的数据，答不了「用户为什么流失」。所以流程先做**数据画像**，
先划出能力边界，再决定问什么问题。

## 何时使用

- 给一份表，问「能看出什么」→ 走完整流程
- 有明确指标要算（留存、漏斗、客单价）→ 走「指定指标」分支，但仍需先画像
- 数据很脏 → 先走「清洗」分支
- 要写经营分析/月报 → 走完整流程 + 「结论优先」输出

## 工作流

### 第 1 步：数据画像（必做，先于一切分析）

先回答六个问题：

1. **每行是什么** —— 一条订单？一个用户？一次访问？
2. **有多少行、覆盖多久** —— 时间跨度决定能不能谈趋势
3. **有哪些字段** —— 维度字段和度量字段分别是什么
4. **缺失情况** —— 哪些字段缺失多？缺失是随机的还是有规律的？
5. **唯一性** —— 主键是什么？有没有重复行？
6. **量级与分布** —— 数值字段的范围、有无离群值

**判据**：这六问答完，要能说出「这份数据**答不了**什么」。
说不出边界，后面的结论就不可信。

### 第 2 步：按「数据能支撑什么」选问题

见 `references/question-bank.md`。核心原则：

- 有时间序列 → 能谈趋势、环比、季节性
- 有用户标识 + 多次行为 → 能谈留存、复购、频次
- 有漏斗各环节 → 能谈转化与流失点
- **只有汇总数字 → 只能谈结构，不能谈因果，也不能谈个体行为**

🔴 **不要用一份数据回答它答不了的问题。**
宁可说「这份数据答不了，需要补 X 字段」。

### 第 3 步：算，但把分母写出来

每个指标都要写清：

```
指标 = 分子 / 分母
分母定义：<哪些行计入>
时间窗：<起止>
去重口径：<按什么键>
```

**判据**：两个人对着同一份数据，按这个定义算出来的数应该一样。
算出来不一样，说明定义没写清。

### 第 4 步：找发现，按决策影响排序

不是所有差异都是发现。判据：**这个发现会让人改主意吗？**

最多 3 条主发现，每条配：

```
发现：<一句话>
支撑：<数字 + 对比基准>
口径：<在什么定义下成立>
边界：<什么情况下不成立>
```

### 第 5 步：区分「显示了」和「暗示了」

🔴 这一步不能省：

| 层级 | 说法 | 要求 |
|---|---|---|
| **显示了** | 数据直接支持的 | 给数字和口径 |
| **暗示了** | 需要额外验证的推测 | 标「待验证」，并给出验证办法 |
| **答不了** | 这份数据支撑不了的 | 明确说，并指出需要什么数据 |

## 硬约束

- 🔴 不做因果断言 —— 只说「同期出现」，并给验证办法
- 🔴 分母必须写出来 —— 只给比例不给分母的报告是不完整的
- 不拿样本量过小的细分下结论 —— 每个细分标注样本量
- 不编造缺失数据 —— 缺失就说明缺失，并用能支撑的范围作答
- 涉及个人身份信息的数据提醒脱敏，且不做个体画像

## References

- `references/question-bank.md` —— 按数据结构能问什么问题
- `references/metric-definitions.md` —— 常用指标的口径定义与陷阱
