商品表市场洞察分析
输入一张运营导出的商品列表表格(CSV 或 Excel),自动完成6个维度的市场洞察分析,生成交互式 HTML 可视化报告。
核心功能
- 类目分布分析 — 类目占比、集中度、各类目均价/销量
- 标题词频分析 — 高频关键词、卖点词发现(材质/功能/场景)
- 价格带分析 — 价格分布、最佳价格带、价量关系
- 卖家格局分析 — CR4/CR10 集中度、店铺详情、竞争格局判定
- 竞争度评估 — HHI 指数、价格变异系数、红海/蓝海判定
- 综合选品建议 — 基于以上维度自动生成 P0/P1/P2 行动建议
适用场景
运营已经从以下渠道拿到商品数据表,需要快速生成选品分析报告:
- 店透视 / 生意参谋等插件导出
- 平台后台的商品列表导出
- 手动整理的竞品监控表
- 第三方数据工具导出的商品表
触发条件
当用户上传或提及以下内容时激活此 Skill:
- 上传了 CSV/Excel 商品表格文件
- 提到"分析这张表"、"帮我看看这些商品"、"选品分析"、"市场洞察"、"商品表格"
- 粘贴了商品列表数据(制表符分隔或 Markdown 表格)
工作流
Phase 1: 依赖检查与准备
确认 Python 环境安装了必要依赖:
pip install jieba openpyxl
若用户环境中 jieba(中文分词)或 openpyxl(Excel 读取)未安装,使用以下命令安装:
python -m pip install jieba openpyxl
安装后验证:
python -c "import jieba; import openpyxl; print('OK')"
Phase 2: 数据接收
支持三种数据输入方式:
方式A — 用户上传文件: 直接指定文件路径,调用分析脚本。
方式B — 用户粘贴表格数据: 如果用户粘贴了制表符分隔或逗号分隔的数据,先将其写入临时 CSV 文件,再调用分析脚本。
示例:
商品名 价格 销量 店铺 类目
无线蓝牙耳机 89 12000 数码旗舰店 数码配件
写入临时文件后调用脚本。
方式C — 用户描述数据: 如果用户只描述了表格内容而未提供实际数据,先向用户索要具体的 CSV/Excel 文件或粘贴数据。
Phase 3: 执行分析
调用分析脚本,传递文件路径:
python "{baseDir}/scripts/analyze.py" "<文件路径>"
其中 {baseDir} 为 Skill 安装目录(WorkBuddy 中默认为 ~/.workbuddy/skills/product-table-analyzer,ClawHub 运行时自动替换)。
脚本输出为结构化的 JSON,包含以下顶层字段:
meta— 文件元信息(行数、识别到的列)categories— 类目分布分析结果keywords— 标题词频和卖点分析结果price_bands— 价格带分析结果sellers— 卖家格局分析结果competition— 竞争度综合评估recommendations— 综合选品建议
若 JSON 中 error 为 true,向用户说明错误原因并引导修正。
Phase 4: 生成 HTML 报告
从脚本输出的 JSON 中提取数据,生成交互式 HTML 可视化报告。
报告必须包含以下板块(按顺序):
板块1: 概览仪表盘
- 数据总览卡片(商品总数、店铺数、类目数、价格区间)
- 竞争度判定(红海/蓝海/中性)大标签
- 关键指标一行展示
板块2: 类目分布
- 使用 Chart.js 饼图展示类目占比
- 表格列出各类目的商品数、均价、平均销量
- 标注集中度等级(高/中/低)
板块3: 标题词频 & 卖点
- 词云或横向柱状图展示 Top 20 高频词
- 卖点分类卡片(材质、功能、场景、属性),每张卡片列出发现的卖点词
- 标注高频词在标题中的覆盖占比
板块4: 价格带分析
- 价格分布直方图(使用分析结果中的 bands 数据)
- 关键统计指标(均值、中位数、P25、P75)
- 若有价量关联数据,用双轴图展示价格带 vs 平均销量
板块5: 卖家品牌格局
- Top 10 店铺柱状图(按商品数排序)
- CR4/CR10 指标展示
- 竞争格局判定文字 + 各店铺均价/销量详情表
板块6: 竞争度雷达图
- 使用 Chart.js 雷达图展示多维度竞争评估
- 维度包括:卖家集中度、价格差异度、商品丰富度
板块7: 选品建议
- P0/P1/P2 优先级排序的行动建议卡片
- 每条建议包含:类型标签、标题、详细说明
HTML 报告技术要求
生成独立的 HTML 文件(非嵌入在对话中),包含以下特性:
- 响应式布局 — 适配桌面和移动端
- 使用 Chart.js CDN —
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script> - 现代化设计 — 参考下面的 CSS 颜色方案和布局
- 中文友好 — 所有标签、提示使用中文
- 保存路径 —
{用户当前工作目录}/市场洞察报告_{时间戳}.html
报告设计规范
配色方案:
- 主色:
#4F46E5(靛蓝,用于标题、重点指标) - 成功/蓝海:
#10B981(翠绿) - 警告/中性:
#F59E0B(琥珀) - 危险/红海:
#EF4444(红色) - 背景:
#F8FAFC(浅灰) - 卡片背景:
#FFFFFF - 文字主色:
#1E293B - 文字次级:
#64748B
排版规范:
- 标题字体加粗,使用
font-weight: 700或800 - 数据卡片使用圆角
border-radius: 12px+ 轻阴影box-shadow: 0 1px 3px rgba(0,0,0,0.1) - 板块之间使用
32px间距 - 数字使用等宽或加粗字体突出显示
交互规范:
- 图表悬浮显示具体数值(tooltip)
- 建议卡片可按优先级筛选(P0/P1/P2 切换按钮)
- 板块标题可点击折叠/展开
Phase 5: 呈现报告
报告 HTML 文件生成后,使用 present_files 展示给用户。同时给出文字摘要,包含:
- 关键发现(2-3 句话)
- 竞争度判定
- 最重要的 1-2 条建议
故障处理
| 问题 | 处理方式 | |------|----------| | 缺少 jieba/openpyxl | 自动安装 | | 文件编码无法识别 | 尝试 utf-8 → gbk → gb18030 | | 列名无法匹配 | 列出检测到的列名,请用户手动指定 | | 有效数据不足 | 提示用户至少需要 3 行数据 | | 某维度无数据 | 在报告中标注"N/A",不阻塞其他维度 |
注意事项
- 分析仅基于用户提供的数据表,不做联网搜索或数据增强
- 所有计算在本地完成,数据不会上传
- 报告中的建议为数据驱动的参考意见,最终决策需结合业务经验
- 数据表格至少需要包含"商品名"和"价格"列才能生成有价值的报告
- 更多列(销量、店铺、类目)会显著提升报告深度
微信扫一扫