返回 Skill 列表
extension
分类: 数据与分析无需 API Key

运营数据统计分析

对运营数据(Excel)进行产品列清洗归类、日期提取、省份统计,并按月度/季度/半年度/年度四个时间维度生成统计分析图表(柱状图/堆叠图/环形图/热力图/折线图/环比图共15张),每张图表单独保存JPG到独立文件夹,同时产出含数据分析文字的Word综合报告。跨平台支持macOS/Windows/Linux。触发词:运营数据统计、院校新增统计、数据清洗归类、多维度统计报告、月度季度半年度年度统计、环比分析、热力图、Word报告图表。

person作者: user_2ed69ff3hubcommunity

运营数据统计分析

概述

本技能处理运营业务数据(Excel格式),完成从原始杂乱数据到结构化多维度统计分析报告的完整流水线:

  1. 数据清洗:产品列杂乱名称归类为标准大类、从文本中提取交接日期
  2. 多维度统计:月度/季度/半年度/年度四个时间维度的交叉统计
  3. 图表生成:15种图表(柱状图、堆叠图、环形图、热力图、折线图、环比图),JPG单独保存
  4. Word报告:含封面、5章正文(概览/月度/季度/半年度/年度)、附录,每张图表配深度数据分析文字

适用场景

  • 用户提供含院校信息的Excel文件,要求产品归类整理
  • 需要按时间维度(月/季/半年/年)统计新增院校分布
  • 需要生成图表并产出Word版本统计报告
  • 需要环比增长率分析
  • 需要图表JPG独立保存供其他用途使用

工作流程

前置条件

  • Python 3.8+ 环境已安装:openpyxl、matplotlib、python-docx、numpy
  • 中文字体(按操作系统选择):
    • macOS:Arial Unicode MS / PingFang SC / Heiti SC
    • Windows:Microsoft YaHei(微软雅黑)/ SimHei(黑体)
    • Linux:WenQuanYi Micro Hei / Noto Sans CJK SC / Source Han Sans CN
  • 脚本内置跨平台字体自动检测,按上述顺序尝试,无需手动配置

第一步:数据清洗

运行 scripts/clean_data.py,完成:

  1. 产品列归类:通过 PRODUCT_MAP 精确映射表,将原始杂乱产品名拆分为三列:
    • 产品大类(成教平台/非学历平台/考务产品/制课服务/自考服务/同等学力申硕/其他)
    • 产品名称(清洗后)(标准化名称,保留版本差异)
    • 产品详情(附加模块、课程门数等补充信息)
  2. 日期提取:从"交接/下线"等杂乱文本列中用正则 (\d{4})年(\d{1,2})月(\d{1,2})日 提取标准日期
  3. 输出Excel:4个工作表(清洗数据/省份统计/月份统计/产品大类统计),新增列绿色高亮

产品映射规则详见 references/product_mapping_rules.md

第二步:图表生成 + Word报告

运行 scripts/generate_report.py,完成:

  1. 读取清洗后Excel,解析日期,按月/季/半年/年分组统计
  2. 生成15张JPG图表,保存到独立文件夹 图表_JPG/
  3. 计算分析指标(峰值、谷值、占比、环比增长率等)
  4. 生成Word报告,每张图表下方配【数据分析】段落(蓝色加粗前缀+正文),热力图额外配【图表说明】阅读指南

15种图表类型与报告章节结构详见 references/chart_types_catalog.mdreferences/report_chapter_structure.md

关键设计决策

产品归类逻辑

  • 成教平台:含"成教"关键字归入,版本号(高级版/标准版)保留在清洗后名称,附加模块放入详情
  • 非学历平台:含"非学历"关键字归入,版本差异(新版/智慧版/标准版/专技版/同等学力)保留在名称
  • 制课服务:含"制课"关键字归入,区分AI制课vs传统+AI,课程门数放入详情
  • 其余按业务类型单独归类

未命中映射表的归为"其他"类。映射表为精确匹配(PRODUCT_MAP.get(product_raw.strip())),新增产品名需手动添加映射。

环形图样式(make_donut_chart函数)

  • 环形结构(width=0.42),中心显示总数
  • 右侧图例含"标签+数量+百分比"
  • 最大扇区微凸出(explode=0.04)
  • 白色描边2.5px,柔和背景色#FAFBFC
  • 扇区降序排列,autopct显示数量

环比分析

  • 季度/半年度统计表新增"环比增长数"和"环比增长率"列
  • 首期环比显示"—"(无前序对比)
  • 年度统计表新增"占比"列和合计行
  • 年度章节末尾新增"季度环比汇总表"(含累计完成率)
  • 环比图表:季度用双Y轴(柱+红线),半年度用双柱+弧形箭头标注

每图数据分析文字

使用 add_analysis(doc, text) 函数,格式为蓝色加粗"【数据分析】"前缀+正文。分析文字必须包含四个层次:

  1. 数据引用:具体数值和百分比
  2. 趋势判断:上升/下降/集中/分散
  3. 根因归因:为什么出现此趋势(学期周期、采购流程等)
  4. 管理建议:可操作的行动方向

热力图阅读说明

热力图下方额外使用 explain_para 添加【图表说明·如何阅读热力图】段落,从四个维度解释:横看产品宽度、竖看产品渗透、找空白格、看对角线趋势。

脚本定制指南

修改产品归类规则

编辑 scripts/clean_data.py 中的 PRODUCT_MAP 字典,按格式 "原始产品名": ("产品大类", "清洗后名称", "产品详情") 添加或修改映射。

修改图表配色

编辑 scripts/generate_report.py 中的 CAT_COLORS(产品大类配色)和 PROV_COLORS(省份配色)。

新增图表类型

generate_report.py 的图表生成区域添加新图表代码,保存到 chart_files 字典,并在 Word 报告对应章节插入 doc.add_picture() + add_analysis()

修改报告章节

编辑 generate_report.py 的 Word 生成部分,参照 references/report_chapter_structure.md 中的章节结构。

输出文件清单

| 输出物 | 路径 | 说明 | |--------|------|------| | 清洗统计Excel | {输出目录}/{文件名}_清洗统计.xlsx | 4个工作表 | | Word报告 | {输出目录}/{文件名}多维度统计报告.docx | 5章+附录 | | 图表JPG文件夹 | {输出目录}/图表_JPG/ | 15张JPG,编号01-15 |

依赖安装

方式一:pip 安装(推荐,使用清华 TUNA 镜像加速)

# macOS / Linux
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl matplotlib python-docx numpy

# Windows(CMD / PowerShell)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl matplotlib python-docx numpy

方式二:使用虚拟环境(推荐隔离安装)

# macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl matplotlib python-docx numpy

# Windows
python -m venv .venv
.venv\Scripts\activate
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl matplotlib python-docx numpy

国内镜像备选

| 镜像源 | URL | |--------|-----| | 清华 TUNA(推荐) | https://pypi.tuna.tsinghua.edu.cn/simple | | 阿里云 | https://mirrors.aliyun.com/pypi/simple | | 中科大 | https://pypi.mirrors.ustc.edu.cn/simple |

跨平台支持

本技能脚本已适配 macOS、Windows、Linux 三大操作系统:

| 维度 | macOS | Windows | Linux | |------|-------|---------|-------| | Python 命令 | python3 | pythonpython3 | python3 | | 路径分隔符 | / | \(脚本内用 os.path.join 自动处理) | / | | 中文字体 | Arial Unicode MS / PingFang SC | Microsoft YaHei / SimHei | WenQuanYi Micro Hei / Noto Sans CJK SC | | venv 激活 | source .venv/bin/activate | .venv\Scripts\activate | source .venv/bin/activate | | pip 命令 | pip3 | pip | pip3 |

脚本内所有路径操作均使用 os.path.join()os.makedirs(),不依赖特定操作系统的路径格式。

常见问题

  • matplotlib中文乱码:脚本内置跨平台字体自动检测函数 setup_chinese_font(),按 macOS → Windows → Linux 顺序尝试系统可用字体。如仍乱码,手动安装对应系统的中文字体包
  • Linux 安装中文字体sudo apt install fonts-wqy-microhei(Debian/Ubuntu)或 sudo yum install wqy-microhei-fonts(CentOS)
  • Windows 字体缺失:Microsoft YaHei 随 Windows 系统自带,通常无需额外安装
  • Word表头背景色XML解析错误:使用 OxmlElement("w:shd") 而非 parse_xml,避免命名空间问题
  • ax.pie返回值解包错误:带 autopct 参数时返回三元组 (wedges, texts, autotexts),不带时返回二元组
  • 产品未归类:检查原始产品名是否在 PRODUCT_MAP 中精确匹配,注意空格和标点