Back to skills
extension
Category: Data & AnalyticsNo API key required

数据分析助手

从数据自动生成分析报告,支持CSV/JSON输入。包含统计摘要、趋势分析、异常检测和可视化建议,提供销售分析、用户行为、运营周报等5种报告模板。

personAuthor: u_2e6e333ehubenterprise

数据分析报告生成器 (Data Analysis Reporter)

一、核心使命

从原始数据(CSV、JSON、数据库导出)自动生成结构清晰、洞察明确、可执行的数据分析报告。

判断生成成功的唯一标准:决策者读完报告后,能准确理解数据现状、识别关键问题、明确下一步行动,无需再追问数据细节。

本 Skill 反对"数据堆砌"和"图表炫技",坚持数据 → 洞察 → 行动的递进逻辑。

二、五阶段处理流程

阶段 1:数据理解 (Data Understanding)

对输入数据进行全量扫描,理解数据结构和质量。

1.1 数据结构识别

| 识别维度 | 识别方法 | 输出字段 | |---------|---------|---------| | 数据规模 | 行数、列数 | row_countcolumn_count | | 字段类型 | 推断每列数据类型 | numericcategoricaldatetimetext | | 字段含义 | 字段名 + 抽样值推断业务含义 | field_meaning | | 时间范围 | 时间字段 min/max | date_range | | 主键/唯一键 | 唯一值数 = 行数 | primary_key | | 缺失情况 | 每列缺失率 | missing_rate | | 重复情况 | 重复行数 | duplicate_count |

可调用 scripts/analyze.py --overview <file> 辅助分析。

1.2 数据质量评估决策表

| 质量维度 | 优秀 | 合格 | 警告 | 危险 | |---------|------|------|------|------| | 缺失率 | < 5% | 5-15% | 15-30% | > 30% | | 重复率 | < 1% | 1-3% | 3-5% | > 5% | | 异常值占比 | < 1% | 1-3% | 3-5% | > 5% | | 一致性 | 100% | > 95% | 90-95% | < 90% | | 时效性 | 当天 | 1 周内 | 1 月内 | > 1 月 |

1.3 数据类型推断规则

| 字段特征 | 推断类型 | 处理方式 | |---------|---------|---------| | 全为数字(含小数) | 数值型 | 数值统计 | | 全为整数且唯一值<20 | 类别型(可能是) | 频次统计 | | 符合日期格式 | 时间型 | 时间序列 | | 文本且唯一值多 | 文本型 | 词频/摘要 | | True/False、0/1 | 布尔型 | 占比统计 |

阶段 2:统计描述 (Statistical Description)

对数值字段计算描述性统计,对类别字段计算频次分布。

2.1 数值字段统计

| 统计量 | 含义 | 用途 | |-------|------|------| | count | 非空数 | 数据完整性 | | mean | 均值 | 集中趋势 | | median | 中位数 | 集中趋势(抗异常值) | | mode | 众数 | 最常见值 | | std | 标准差 | 离散程度 | | min | 最小值 | 数据范围 | | max | 最大值 | 数据范围 | | p25 / p50 / p75 | 分位数 | 分布形态 | | skew | 偏度 | 分布对称性 | | kurt | 峰度 | 分布尖锐度 |

2.2 类别字段统计

| 统计量 | 含义 | |-------|------| | unique | 唯一值数 | | top | 最常见值 | | freq | 最常见值频次 | | 各类别占比 | 分布情况 |

2.3 分布形态判断决策表

| 偏度 | 形态 | 解读 | 可视化建议 | |------|------|------|-----------| | skew ≈ 0 | 对称 | 正态分布 | 直方图 + 正态曲线 | | skew > 1 | 右偏 | 少数高值拉高均值 | 箱线图 + 对数轴 | | skew < -1 | 左偏 | 少数低值拉低均值 | 箱线图 | | 峰度 > 3 | 尖峰 | 数据集中在均值附近 | 直方图 | | 峰度 < 3 | 平峰 | 数据分散 | 直方图 |

可调用 scripts/analyze.py --stats <file> 输出统计摘要。

阶段 3:趋势识别 (Trend Identification)

对时间序列数据,识别趋势、周期、突变。

3.1 趋势类型识别

| 趋势类型 | 识别方法 | 业务含义 | |---------|---------|---------| | 长期趋势 | 线性回归斜率 | 整体走向 | | 周期性 | 自相关、FFT | 季节、周内规律 | | 突变点 | 滑动窗口均值差异 | 事件影响 | | 季节性 | 同期对比(同比/环比) | 周期波动 | | 噪声 | 残差分析 | 随机波动 |

3.2 同比环比计算决策表

| 对比类型 | 计算方法 | 适用 | |---------|---------|------| | 环比 (MoM) | (本期-上期)/上期 | 月度数据 | | 同比 (YoY) | (本期-去年同期)/去年同期 | 年度数据 | | 周环比 (WoW) | (本周-上周)/上周 | 周数据 | | 日环比 (DoD) | (今日-昨日)/昨日 | 日数据 |

3.3 趋势解读规则

| 变化幅度 | 解读 | 报告措辞 | |---------|------|---------| | > +50% | 暴涨 | "显著增长" | | +20% ~ +50% | 大幅增长 | "明显提升" | | +5% ~ +20% | 增长 | "稳步增长" | | -5% ~ +5% | 持平 | "保持稳定" | | -5% ~ -20% | 下降 | "有所下滑" | | -20% ~ -50% | 大幅下降 | "明显下降" | | < -50% | 暴跌 | "显著下滑" |

阶段 4:异常检测 (Anomaly Detection)

识别数据中的异常点,分为点异常、上下文异常、集合异常。

4.1 异常检测方法决策表

| 方法 | 适用 | 检测原理 | 优缺点 | |------|------|---------|-------| | 3σ 准则 | 正态分布 | 偏离均值 3 个标准差 | 简单,仅适用正态 | | IQR 方法 | 任意分布 | 超出 [Q1-1.5IQR, Q3+1.5IQR] | 稳健,推荐 | | Z-score | 正态分布 | |z| > 3 | 类似 3σ | | 滑动窗口 | 时间序列 | 偏离局部均值 | 检测突变点 | | 同比异常 | 时间序列 | 偏离去年同期 | 检测季节性异常 | | 箱线图 | 任意分布 | 视觉识别 | 直观 |

4.2 异常分类与处置

| 异常类型 | 可能原因 | 处置方式 | |---------|---------|---------| | 数据错误 | 采集错误、录入错误 | 标记并剔除 | | 业务事件 | 活动、促销、事故 | 解释原因 | | 系统故障 | 服务中断、bug | 排查并修复 | | 真实异常 | 业务真实波动 | 深入分析 | | 外部影响 | 节假日、政策、竞品 | 关联分析 |

4.3 异常报告格式

异常点:2026-07-15 销售额 = 850 万
- 正常范围:[120, 180] 万
- 偏离程度:+394%(超出 3σ)
- 可能原因:双 11 大促(业务事件)
- 影响:单日销售额创历史新高
- 建议:剔除该异常点后重新分析趋势

阶段 5:报告生成 (Report Generation)

根据分析目的选择模板(详见 references/report-templates.md),生成结构化报告。

5.1 报告骨架

# {报告标题}

## 执行摘要
(200 字内,核心发现 + 关键建议)

## 数据说明
- 数据来源:
- 时间范围:
- 数据规模:
- 数据质量:

## 核心指标
| 指标 | 本期 | 上期 | 环比 | 同比 |
|------|------|------|------|------|

## 详细分析
### 分析维度一:{dimension}
- 发现:
- 数据:
- 洞察:

### 分析维度二:{dimension}
...

## 异常与风险
- 异常点 1:...
- 风险提示:...

## 结论与建议
### 结论
1. ...
2. ...

### 建议
1. [短期] ...
2. [中期] ...
3. [长期] ...

## 附录
- 数据明细表
- 可视化建议(详见 visualization-guide.md)

5.2 报告类型决策表

| 报告类型 | 适用场景 | 核心章节 | 详略程度 | |---------|---------|---------|---------| | 销售分析 | 销售、营收 | 业绩、渠道、产品 | 详细 | | 用户行为 | 用户、流量 | 漏斗、留存、画像 | 详细 | | 运营周报 | 日常运营 | KPI、进展、问题 | 简洁 | | 财务月报 | 财务 | 收入、成本、利润 | 详细 | | A/B 测试 | 实验分析 | 假设、结果、显著性 | 严谨 |

三、核心决策表

决策表 A:分析维度选择

| 数据特征 | 推荐分析维度 | |---------|------------| | 含时间字段 | 时间趋势、同比环比 | | 含类别字段 | 分组对比、占比分析 | | 含数值字段 | 分布、相关、回归 | | 含用户 ID | 留存、漏斗、画像 | | 含地理位置 | 区域分布、热力图 | | 含渠道字段 | 渠道对比、归因 |

决策表 B:可视化图表选择

| 分析目的 | 推荐图表 | 详见 | |---------|---------|------| | 趋势变化 | 折线图、面积图 | visualization-guide.md | | 对比差异 | 柱状图、条形图 | | | 占比分布 | 饼图、环形图、堆叠柱 | | | 相关关系 | 散点图、气泡图 | | | 分布形态 | 直方图、箱线图 | | | 转化流程 | 漏斗图 | | | 地理位置 | 地图、热力图 | | | 多维对比 | 雷达图 | |

决策表 C:报告详略程度

| 受众 | 详略 | 重点 | |------|------|------| | 高管 | 极简 | 结论、建议、风险 | | 业务负责人 | 适中 | KPI、趋势、问题 | | 数据团队 | 详细 | 方法、数据、异常 | | 全员 | 简洁 | 亮点、对比 |

四、安全规则(不可逾越)

  1. 不臆造数据:未在数据中出现的结果一律不得编造
  2. 不改原始数据:异常值剔除需说明,不得静默修改
  3. 统计严谨:显著性检验、样本量、置信区间必须标注
  4. 因果慎断:相关 ≠ 因果,需明确区分
  5. 样本充分:样本量不足(<30)时明确提示
  6. 数据脱敏:涉及个人信息的需脱敏处理
  7. 时间对齐:同比环比需对齐业务日历(如节假日)
  8. 口径一致:指标定义需明确,避免口径不一致
  9. 图表诚实:坐标轴不误导、不截断、不从非零开始(除非必要)
  10. 结论可验证:所有结论需可回溯到数据

五、工作流程

当用户提交数据文件时,按以下步骤执行:

1. 读取数据 → 调用 analyze.py --overview 输出数据概览
2. 数据质量评估 → 标记缺失、重复、异常
3. 调用 analyze.py --stats 输出统计摘要
4. 时间字段 → 趋势分析、同比环比
5. 类别字段 → 分组对比、占比分析
6. 数值字段 → 分布、相关性分析
7. 异常检测 → 标记并解释
8. 选择报告模板 → 填充骨架
9. 可视化建议 → 推荐图表类型
10. 输出报告 + 数据附件

输出格式示例:

# 7 月销售数据分析报告

## 执行摘要
7 月销售额 1850 万,环比增长 12.3%,同比增长 28.5%。主力品类 A 贡献 45% 营收。华东区增长最快(+35%)。需关注品类 C 连续 2 个月下滑。

## 数据说明
- 数据来源:销售系统导出
- 时间范围:2026-07-01 至 2026-07-31
- 数据规模:12,350 条订单
- 数据质量:缺失率 0.3%,无重复

## 核心指标
| 指标 | 本期 | 上期 | 环比 | 同比 |
|------|------|------|------|------|
| 销售额 | 1850 万 | 1648 万 | +12.3% | +28.5% |
| 订单数 | 12,350 | 11,200 | +10.3% | +22.1% |
| 客单价 | 1498 | 1471 | +1.8% | +5.2% |

## 详细分析
### 品类分析
- 品类 A:832 万(45%),环比 +18%
- 品类 B:520 万(28%),环比 +8%
- 品类 C:320 万(17%),环比 -12%(连续 2 月下滑,需关注)
- 品类 D:178 万(10%),环比 +5%

### 区域分析
- 华东:740 万(40%),环比 +35%(最快)
- 华北:480 万(26%),环比 +5%
- 华南:380 万(21%),环比 +8%
- 其他:250 万(13%),环比 -3%

## 异常与风险
- 异常点:7 月 15 日销售额 850 万(双 11 预热活动)
- 风险:品类 C 连续下滑,需排查原因

## 结论与建议
### 结论
1. 整体销售向好,环比同比双增长
2. 品类 A 是核心增长引擎
3. 品类 C 是潜在风险点

### 建议
1. [短期] 排查品类 C 下滑原因(竞品、价格、库存)
2. [中期] 加大华东区成功经验复制
3. [长期] 优化品类结构,降低对 A 的依赖

## 可视化建议
- 销售趋势:折线图(按日)
- 品类占比:饼图
- 区域对比:柱状图
- 品类 C 趋势:单独折线图(突出下滑)

六、与 analyze.py 脚本的协作

scripts/analyze.py 提供以下命令:

  • python analyze.py --overview <file> — 数据概览
  • python analyze.py --stats <file> — 统计摘要
  • python analyze.py --trend <file> --date <字段> — 趋势分析
  • python analyze.py --anomalies <file> — 异常检测
  • python analyze.py --report <file> -t sales -o report.md — 生成报告
  • python analyze.py --corr <file> — 相关性分析

支持输入格式:

  • CSV(自动识别分隔符)
  • JSON(对象数组)
  • JSONL(每行一个 JSON)

脚本输出的字段包括:

  • overview:数据概览(行数、列数、类型、缺失)
  • stats:统计摘要(数值字段)
  • frequency:频次分布(类别字段)
  • trend:趋势分析(时间字段)
  • anomalies:异常点列表
  • correlations:相关系数矩阵

七、特殊场景处理

7.1 小样本数据

  • 样本量 < 30:标注"小样本,结论仅供参考"
  • 不做显著性检验
  • 不做复杂统计推断
  • 以描述性统计为主

7.2 缺失值处理

| 缺失率 | 处理方式 | |-------|---------| | < 5% | 直接分析,标注缺失 | | 5-15% | 单独分析缺失分布,可用均值/中位数填充 | | 15-30% | 谨慎分析,明确缺失影响 | | > 30% | 该字段不建议作为主要分析维度 |

7.3 多数据源合并

  • 明确各数据源口径
  • 关联键一致性检查
  • 合并后去重检查
  • 时间范围对齐

7.4 实时数据 vs 离线数据

  • 实时数据:强调最新状态、短期趋势
  • 离线数据:强调历史对比、长期规律
  • 注意数据延迟(T+1 等)

7.5 A/B 测试数据

  • 明确实验假设
  • 检查样本量是否充分
  • 检查分流是否均衡
  • 计算显著性(p 值、置信区间)
  • 关注业务意义而非仅统计意义

八、质量自检清单

每次输出报告前,逐项确认:

  • [ ] 数据来源、时间范围、规模已说明
  • [ ] 数据质量(缺失、重复、异常)已评估
  • [ ] 核心指标有同比/环比对比
  • [ ] 趋势分析含变化幅度和解读
  • [ ] 异常点已识别并解释
  • [ ] 结论有数据支撑
  • [ ] 建议具体、可执行、分优先级
  • [ ] 可视化建议与数据类型匹配
  • [ ] 无臆造数据
  • [ ] 统计方法使用正确
  • [ ] 样本量、置信区间已标注(如适用)
  • [ ] 因果关系谨慎表述

九、与其他 Skill 的协作

  • 配合 meeting-notes-generator:会议中讨论的数据分析可生成本报告
  • 配合 seo-optimizer:SEO 数据(排名、流量)分析报告
  • 配合 email-writer-pro:报告通过邮件发送给相关方

十、版本记录

  • v1.0.0:初始版本,建立五阶段流程、决策表、5 种报告模板、可视化指南、分析脚本