|
|
4 ヶ月 前 | |
|---|---|---|
| majiyong | 4 ヶ月 前 | |
| node_modules | 4 ヶ月 前 | |
| scripts | 4 ヶ月 前 | |
| shuhua | 4 ヶ月 前 | |
| README.md | 4 ヶ月 前 |
2026 年 4 月 两个独立投放案例的小红书公开评论 VOC 深度分析,验证一套可复用的 6 阶段 VOC 工作流在 不同品类 / 不同体量 / 不同生命周期 下的适配能力。
| 维度 | 舒华跑步机 (耐用消费品) | 马记永牛肉面 (餐饮连锁) |
|---|---|---|
| 投放规模 | 43 KOC (1 sheet) | 293 (12 KOL + 281 KOC,2 sheet) |
| API 抓取评论 | 17 (含子评论) | 1,612 (≈ 舒华 95 倍) |
| 噪声率 | 47% (KOC 互助互赞严重) | < 1% |
| 竞品提及 | 易跑 1 次 | 0 次 (品牌护城河深) |
| 心智阶段 | 知名度待建立 | 心智已渗透,需后端承接 |
| 核心问题 | "用户不知道我" | "用户提了请求我没承接" |
| 第一优先动作 | 静音减震 RTB 具象化 | 求开店评论转私域线索 |
核心结论: 同一套 VOC 工作流,在 17 条评论的小样本和 1,612 条评论的大样本上都能产出结构化、可执行的洞察。区别只是行动差异化。
shuhua-majiyong_VOC/
├── README.md ← 本文档 (顶层入口)
│
├── 【新鲜菜项目】马记永4月宣发数据汇总(1).xlsx ← 马记永输入 (脚本以 ../ 引用)
│
├── shuhua/ ← 舒华跑步机子项目
│ ├── README.md ← 子项目说明
│ ├── 舒华跑步机四月宣发报备KOC发布数据.xlsx ← 舒华输入
│ ├── shuhua-voc-report.md ← v1 VOC 深度分析
│ ├── shuhua-closing-report.md ← v2 结案报告 (Markdown)
│ ├── shuhua-closing-report.html ← v2 结案报告 (交互式 HTML)
│ ├── shuhua-new-opportunities.md ← v2 新机会挖掘 (17 个)
│ ├── scripts/
│ │ ├── collect-shuhua-voc.js ← 采集
│ │ ├── gen-shuhua-report.js ← v1 报告生成
│ │ └── gen-shuhua-closing-report.js ← v2 结案报告
│ └── data/
│ ├── raw-merged.json ← 合并后原始数据
│ ├── notes/ (43 个) ← 短链 → noteId 缓存
│ ├── comments/ (42 个) ← 评论缓存
│ ├── audit.log
│ └── collect-run.log
│
├── majiyong/ ← 马记永子项目
│ ├── README.md ← 子项目说明
│ ├── majiyong-voc-report.md ← v1 VOC 深度分析
│ ├── majiyong-closing-report.md ← v2 结案报告 (Markdown)
│ ├── majiyong-closing-report.html ← v2 结案报告 (交互式 HTML)
│ ├── majiyong-new-opportunities.md ← v2 新机会挖掘
│ ├── scripts/
│ │ ├── collect-majiyong.js ← 采集 (双 sheet · 293 条)
│ │ ├── gen-majiyong-report.js ← v1 报告生成
│ │ ├── gen-majiyong-closing-report.js ← v2 结案报告数据层
│ │ └── gen-majiyong-closing-render.js ← v2 HTML+MD 渲染层
│ └── data/
│ ├── raw-merged.json ← 293 行 + 评论
│ ├── notes/ (293 个) ← 短链解析缓存
│ ├── comments/ (233 个) ← 评论缓存
│ ├── audit.log
│ └── collect-run.log
│
└── node_modules/ ← 共享依赖 (xlsx)
npm install --no-save xlsx
# 采集 (默认 24h 缓存,加 --force 强抓)
node shuhua/scripts/collect-shuhua-voc.js
# 生成 v1 VOC 报告 (Markdown)
node shuhua/scripts/gen-shuhua-report.js
# 生成 v2 结案报告 (HTML + MD,自动)
node shuhua/scripts/gen-shuhua-closing-report.js
输出: 4 份交付物均位于 shuhua/ 目录。
# 采集 (293 条 · ~10 分钟首次,带缓存)
node majiyong/scripts/collect-majiyong.js
# 生成 v1 VOC 报告
node majiyong/scripts/gen-majiyong-report.js
# 生成 v2 结案报告 (HTML + MD,会自动调用 render 层)
node majiyong/scripts/gen-majiyong-closing-report.js
采集可选参数:
--force 强制重抓 (绕过 24h 缓存)--limit=N 仅采集前 N 条 (调试用)--only-resolve 只解析短链,跳过评论拉取本仓库验证的可复用方法论:
| 阶段 | 步骤 | 输出 |
|---|---|---|
| 1 | 数据接入 | xlsx 解析 (单/多 sheet 自适应) → 内部行结构 |
| 2 | 短链解析 | xhslink → 真实 noteId (302 跳转 + 直连双策略) |
| 3 | 评论抓取 | 公开代理 API + Bearer Token + 24h 文件缓存 |
| 4 | 数据合并 / 去重 | xlsx + noteId + 主评论 + 子评论 → raw-merged.json |
| 5 | 主题词典 + 规则标注 | 12 主题词典 + 噪声识别 + 信号提取 |
| 6 | 多形态产出 | v1 VOC 报告 (MD) / v2 结案报告 (HTML+MD) / 新机会挖掘 (MD) |
关键技术细节:
data.data.data.comments[] (3 层 data 包装,易踩坑)id, content, time, like_count, ip_location, user.nickname, sub_comments[]scripts/collect-shuhua-voc.jsshuhua-*)majiyong/majiyong-*)| 文档 | 受众 | 用途 | 形态 |
|---|---|---|---|
*-voc-report.md |
数据分析师 / 产品 | 过程性深度分析,完整数据透视 | Markdown |
*-closing-report.md |
项目经理 / 老板 | 结案汇报,优点/不足/建议三段式 | Markdown |
*-closing-report.html |
老板 / 客户 | 演示版 (暗色 + ECharts + 词云,可滑动汇报) | HTML |
*-new-opportunities.md |
业务团队 / 下一轮规划 | 前瞻性新机会,17 个 P0/P1/P2 行动项 | Markdown |
两两关系:
voc-report 偏过程,closing-report 偏结论 — 互补closing-report 看过去,new-opportunities 看未来 — 互补.md 给团队,.html 给老板 — 同源不同形仓库已通过 git 版本管理。建议提交规范:
feat: 新增交付物或脚本fix: 修复采集 / 生成 bugdata: 重新采集后的数据更新docs: 报告文档迭代.gitignore 应排除 node_modules/、shuhua/data/notes/、shuhua/data/comments/、majiyong/data/notes/、majiyong/data/comments/ (缓存文件,可重建)。
gen-*-closing-report.js 有约 70% 重复代码 (CSS / wordcloud / Section 框架),可抽到 lib/closing-report-template.jstopics/{shuhua,majiyong}.json,便于业务侧维护基于 ~1,629 条真实小红书公开评论 + 336 篇笔记元数据 · 可复用 VOC 工作流 v2 · 2026-05-14