|
|
@@ -1,56 +1,189 @@
|
|
|
-# 舒华跑步机 · 四月小红书 KOC 宣发 VOC
|
|
|
+# 小红书 VOC 双案例工作流 · 舒华跑步机 + 马记永牛肉面
|
|
|
|
|
|
-> 基于可复用 VOC 工作流 + 小红书公开评论抓取
|
|
|
+> **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/
|
|
|
-├── 舒华跑步机四月宣发报备KOC发布数据.xlsx ← 输入: 蒲公英 KOC 报备表 (45 行)
|
|
|
-├── shuhua-voc-report.md ← 输出: VOC 深度报告 (本次产出物)
|
|
|
-├── scripts/
|
|
|
-│ ├── collect-shuhua-voc.js ← 解析 xlsx + 短链跳转 + 评论拉取
|
|
|
-│ └── gen-shuhua-report.js ← 报告生成器
|
|
|
-├── data/
|
|
|
-│ ├── raw-merged.json ← 合并后的原始数据 (含评论)
|
|
|
-│ ├── notes/ ← 短链解析缓存 (1 个 noteId/文件)
|
|
|
-│ ├── comments/ ← 评论缓存 (按 noteId)
|
|
|
-│ ├── audit.log ← 采集日志
|
|
|
-│ └── collect-run.log ← 控制台输出归档
|
|
|
-└── node_modules/ ← xlsx 依赖
|
|
|
+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)
|
|
|
```
|
|
|
|
|
|
-## 复现步骤
|
|
|
+---
|
|
|
+
|
|
|
+## 三、可复现命令
|
|
|
+
|
|
|
+### 1) 安装依赖 (仅首次)
|
|
|
|
|
|
```powershell
|
|
|
-# 1. 安装依赖 (仅首次)
|
|
|
npm install --no-save xlsx
|
|
|
+```
|
|
|
|
|
|
-# 2. 采集 (默认走 24h 缓存,加 --force 强抓)
|
|
|
-node scripts/collect-shuhua-voc.js
|
|
|
+### 2) 舒华跑步机案例
|
|
|
|
|
|
-# 3. 生成报告
|
|
|
-node scripts/gen-shuhua-report.js
|
|
|
+```powershell
|
|
|
+# 采集 (默认 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/` 目录。
|
|
|
|
|
|
-| 接口 | 用途 | 来源 |
|
|
|
-|---|---|---|
|
|
|
-| 短链跳转 | xhslink → 真实 noteId | xhs CDN (无需鉴权) |
|
|
|
-| 评论接口 | 获取笔记下评论列表 | 公开代理服务 (Bearer Token) |
|
|
|
+### 3) 马记永牛肉面案例
|
|
|
+
|
|
|
+```powershell
|
|
|
+# 采集 (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` 只解析短链,跳过评论拉取
|
|
|
|
|
|
-**Token 来源**: 默认从环境变量读取 (具体变量名见 `scripts/collect-shuhua-voc.js`)。
|
|
|
+---
|
|
|
|
|
|
-**响应嵌套结构**: `data.data.data.comments[]` (3 层 `data` 包装,易踩坑)。评论字段:
|
|
|
-- `id`, `content`, `time`, `like_count`, `ip_location`, `sub_comment_count`
|
|
|
-- `user.nickname`, `user.userid`
|
|
|
-- `sub_comments[].content`, `sub_comments[].user.nickname`
|
|
|
+## 四、6 阶段 VOC 工作流
|
|
|
|
|
|
-## 关键发现 (TL;DR)
|
|
|
+本仓库验证的可复用方法论:
|
|
|
|
|
|
-参见 `shuhua-voc-report.md` 完整报告。三大核心结论:
|
|
|
+| 阶段 | 步骤 | 输出 |
|
|
|
+|---|---|---|
|
|
|
+| 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) |
|
|
|
+
|
|
|
+**关键技术细节**:
|
|
|
+- API 响应嵌套结构: `data.data.data.comments[]` (3 层 `data` 包装,易踩坑)
|
|
|
+- 评论字段: `id`, `content`, `time`, `like_count`, `ip_location`, `user.nickname`, `sub_comments[]`
|
|
|
+- Token 来源: 环境变量,见 `scripts/collect-shuhua-voc.js`
|
|
|
+
|
|
|
+---
|
|
|
|
|
|
-1. **评论维度严重缺失** — 总互动率 5.37% 表面达标,但点赞:收藏:评论 ≈ 30:12:1,评论占比仅 2.3% 远低于种草健康范围
|
|
|
+## 五、关键发现 (TL;DR)
|
|
|
+
|
|
|
+### 舒华跑步机 (`shuhua-*`)
|
|
|
+1. **评论维度严重缺失** — 总互动率 5.37% 表面达标,但点赞:收藏:评论 ≈ 30:12:1
|
|
|
2. **内容形态 CPE 差距 2.3 倍** — 干货教程型 (¥9.97) > 效果展示型 (¥10.13) >> 泛流量型 (¥22.5)
|
|
|
3. **三个未被回应的高价值方向** — 扰邻焦虑 / 专业参数 / 365 天身材日记
|
|
|
+4. **Top 5 P0 新机会**: A1 静音减震 RTB / A2 坡度参数明牌 / C1 KOC 性别年龄重构 / B3 泛流量型升级 / E1 投后 24h 抓取
|
|
|
+
|
|
|
+### 马记永牛肉面 (`majiyong/majiyong-*`)
|
|
|
+1. **「非美食创意 KOL」单篇 1.6x 美食探店** — Top KOL 单篇互动 ≈ KOL 中位 4 倍
|
|
|
+2. **「新鲜菜」心智渗透成功** — 自发命中 64 条,超越价格主题 (43 条)
|
|
|
+3. **57 条「我们这没有」评论 = 免费选址数据** — 应反向输入拓店决策
|
|
|
+4. **Top 5 P0 新机会**: C1 求开店转私域 / A1 鲜菜可视化 / B1 探店 5 赛道差异化 / D1 KOC 长尾止损 / E1 主题词典版本化
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 六、4 份交付物的差异化定位
|
|
|
+
|
|
|
+| 文档 | 受众 | 用途 | 形态 |
|
|
|
+|---|---|---|---|
|
|
|
+| `*-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 仓库说明
|
|
|
+
|
|
|
+仓库已通过 git 版本管理。建议提交规范:
|
|
|
+
|
|
|
+- `feat:` 新增交付物或脚本
|
|
|
+- `fix:` 修复采集 / 生成 bug
|
|
|
+- `data:` 重新采集后的数据更新
|
|
|
+- `docs:` 报告文档迭代
|
|
|
+
|
|
|
+`.gitignore` 应排除 `node_modules/`、`shuhua/data/notes/`、`shuhua/data/comments/`、`majiyong/data/notes/`、`majiyong/data/comments/` (缓存文件,可重建)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 八、下一步迭代建议
|
|
|
+
|
|
|
+1. **抽取共享模板层** — 当前两个 `gen-*-closing-report.js` 有约 70% 重复代码 (CSS / wordcloud / Section 框架),可抽到 `lib/closing-report-template.js`
|
|
|
+2. **主题词典外置** — 把 12 主题正则从代码中外置为 `topics/{shuhua,majiyong}.json`,便于业务侧维护
|
|
|
+3. **竞品对照基线** — 抓取陈香贵 / 张拉拉 / 易跑 / 麦瑞克 Top 50 笔记,建立心智份额对照
|
|
|
+4. **投后多次快照** — 24h / 7d / 30d 三次抓取,捕捉博主自删 / 长效衰减信号
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+*基于 ~1,629 条真实小红书公开评论 + 336 篇笔记元数据 · 可复用 VOC 工作流 v2 · 2026-05-14*
|