// ============================================================================== // 江中乳酸菌素片儿童版 · VOC 深度洞察报告 · 主渲染器 // ============================================================================== // 01 · Cover // 02 · Agenda // 03-05 · Ch1 诘问起点(3 子章) // 06-09 · Ch2 药品益生菌 VOC 反面教材(4 子章) // 10-13 · Ch3 食品益生菌 VOC 矛盾盘(4 子章) // 14-18 · Ch4 KANO × JTBD 双视角(5 子章) // 19-22 · Ch5 场景四元素地图(4 子章) // 23-25 · Ch6 三轴图谱 × 无人地带(3 子章) // 26-28 · Ch7 新机会 × 新人群(3 子章) // 29-30 · Ch8 4P 配称蓝图(2 子章) // 总计 38 slides // ============================================================================== const STYLES = require('./voc-styles.js'); const SCRIPTS = require('./voc-scripts.js'); const LA = require('./lactic-analyze.js'); const C = require('./lactic-components.js'); const { BRAND, esc, fmtLikes } = C; // ============================================================ // 8 章元信息 // ============================================================ const CHAPTERS = [ { id: 1, num: '1', key: 'challenge', title: '诘问起点', en: 'THE CHALLENGE', tone: 'rose', color: BRAND.CORAL, icon: '🎯', summary: '6000万→10亿 · 差异化定位的起点 · 为什么只加"娃娃头"不够' }, { id: 2, num: '2', key: 'drug_voc', title: '药品益生菌 VOC 反面教材', en: 'RX PROBIOTIC VOC', tone: 'blue', color: BRAND.TECH_BLUE, icon: '💊', summary: '妈咪爱/亿活/金双岐痛点全扫描 · 冷链/处方/依赖焦虑' }, { id: 3, num: '3', key: 'food_voc', title: '食品益生菌 VOC 矛盾盘', en: 'FOOD PROBIOTIC VOC',tone: 'amber', color: BRAND.SUNNY_YELLOW, icon: '🍬', summary: '合生元/万益蓝/拜奥/inne 家长"怕没效果"的信任缺口' }, { id: 4, num: '4', key: 'kano', title: 'KANO × JTBD 双视角', en: 'USER INSIGHT', tone: 'purple', color: BRAND.PURPLE, icon: '🧠', summary: '家长 × 儿童双决策链 · F/E/S 三维价值' }, { id: 5, num: '5', key: 'scene', title: '场景四元素地图', en: 'SCENE MAP', tone: 'orange', color: BRAND.WARM_ORANGE, icon: '🗺', summary: '入园/抗生素后/挑食/换季 · 四大高频触发场景' }, { id: 6, num: '6', key: 'competitor', title: '三轴图谱 × 无人地带', en: 'COMPETITION AXES', tone: 'rose', color: BRAND.ROSE, icon: '⚔', summary: '药品 / 食品 / 营养软糖 三轴 · 乳酸菌素片独占坐标' }, { id: 7, num: '7', key: 'opportunity',title: '新机会 × 新人群', en: 'OPPORTUNITY', tone: 'green', color: BRAND.JIANG_GREEN, icon: '💡', summary: '分龄产品线 / 内源吸收赛道 / 包装差异化三大破局' }, { id: 8, num: '8', key: 'blueprint', title: '4P 配称蓝图', en: '4P BLUEPRINT', tone: 'green', color: BRAND.LACTIC_MINT, icon: '🚀', summary: '产品/渠道/推广/价格 · 6000万→10亿 三年路径' }, ]; // ============================================================ // 各章节 subsections 清单 // ============================================================ const CHAPTER_SUBSECTIONS = { challenge: [ '现状困境·6000万规模 × 0 差异化', '10亿目标·药品/食品/软糖三轴破局', 'VOC 反向验证·家长 × 儿童双视角起点', ], drug_voc: [ '妈咪爱·冷链活菌 × 处方门槛痛点', '亿活/金双岐·依赖焦虑 × 停药反弹', '喂药难·口感苦 × 不独立包装', '药品益生菌 GAP·乳酸菌素片切入点', ], food_voc: [ '合生元·食品级 × 家长怀疑效果', '万益蓝/拜奥·菌株混乱 × 价格贵', 'inne 噗噗宝·便秘单点但单薄', '食品益生菌 GAP·OTC 信任空白', ], kano: [ 'KANO 五类·必备/期望/兴奋/无差异/反向', 'JTBD·家长 Functional 功能价值', 'JTBD·家长 Emotional 情绪价值', 'JTBD·儿童 × 家长 Social 社会价值', '决策优先级·SKU / 话术 / 包装映射', ], scene: [ '场景#1·入园生病·集体生活综合征', '场景#2·抗生素后·肠道修复刚需', '场景#3·挑食积食·日常消化养护', '场景#4·换季腹泻·季节性防护', ], competitor: [ '三轴图谱·药品 / 食品 / 营养软糖', '无人地带坐标·乳酸菌素片独占位', '8 竞品精对标·VOC 差异化 MOAT', ], opportunity: [ '新机会·分龄产品线(0-3 / 3-6 / 6-12)', '新赛道·告别瓶瓶罐罐内源吸收', '新包装·卡通 IP × 咀嚼片革命', ], blueprint: [ '4P 配称·产品 + 渠道 + 推广 + 价格', '10 亿路径·3 年 × 4 渠道分阶段', ], }; // ============================================================ // 每章 hero line // ============================================================ const CHAPTER_HERO_LINES = { challenge: `江中乳酸菌素片儿童版当前规模 线下 6000 万 + 线上 400-500 万,与成人版唯一区别是"包装上加了个娃娃头"。妈咪爱线下 3.6 亿 + 线上 3848 万,合生元益生菌全家桶 5 亿+。我们不能再把儿童当"成人减量版"卖。本章直面困境:没有儿童专属定位 / 没有专属场景 / 没有家长非买不可的理由,VOC 反向验证是唯一出路。`, drug_voc: `药品益生菌(妈咪爱 / 亿活 / 金双岐)是家长"孩子生病时想起的那个药",但也背负着三大痛点:冷链储存麻烦必须医生处方才敢用停药就反弹的依赖焦虑。本章逐一解剖妈咪爱、亿活、金双岐的 XHS / 抖音真实家长吐槽,找出乳酸菌素片"非活菌常温稳定 × OTC 无需处方 × 可日常长期"的差异化切入点。`, food_voc: `食品益生菌(合生元 / 万益蓝 / 拜奥 / inne / 小胖瓶 / 康萃乐)靠果味 + 卡通包装 + 颜值营销在小红书起量,但也背负着家长最大的信任焦虑:"没有 OTC 药品背书 / 菌株效果不稳定 / 价格贵但不确定值不值"。本章解剖食品益生菌的 VOC 矛盾盘——家长给孩子吃得多,但心里不踏实。乳酸菌素片的 OTC 蓝帽子背书 是这个赛道里的天然信任壁垒。`, kano: `儿童产品不是单人决策,是 家长 × 儿童双引擎:家长决定买什么、孩子决定吃不吃。KANO 五类需求(必备=安全OTC / 期望=见效 / 兴奋=分龄礼盒 / 反向=药盒感)映射到 SKU/包装/话术。JTBD 三维价值:Functional(解决便秘/积食/抗生素后)、Emotional(家长不焦虑带娃)、Social(妈妈圈专业感 + 孩子被羡慕)。`, scene: `时间 × 空间 × 触发事件 × 人群 四元素交叉,乳酸菌素片独占 入园生病 / 抗生素后 / 挑食积食 / 换季腹泻 四大高频场景——每个场景都在 XHS + 抖音有高赞家长 VOC 可做证据。其中入园季(9月)+ 开学季(3月)是全年两个消费高峰,带独特人群(新手妈妈 + 3-6 岁宝宝)和独家话术模板。`, competitor: `药品益生菌 ↔ 食品益生菌 ↔ 营养软糖 三轴定位图谱上,乳酸菌素片的无人地带坐标 = "药品级 OTC 背书 × 食品级日常安全 × 营养吸收源头改善"。直接对标 8 大竞品(妈咪爱 / 亿活 / 金双岐 / 合生元 / 万益蓝 / 拜奥 / inne / 康萃乐)的 VOC 真痛点,找出乳酸菌素片的差异化 MOAT。`, opportunity: `基于 VOC 深挖,提炼 3 条长尾赛道
分龄产品线(0-3 颗粒 / 3-6 水果咀嚼片 / 6-12 加量片)三 SKU 矩阵
"告别瓶瓶罐罐"内源吸收赛道切入 100 亿儿童营养软糖市场
卡通 IP × 咀嚼片革命解决喂药依从性 + 建立货架辨识度。每条赛道配真实 VOC 证据 + 场景话术 + 规模预估。`, blueprint: `以 VOC 洞察反推 4P 配称产品(颗粒 / 咀嚼片 / 独立包装 / 分龄礼盒 8 SKU)+ 渠道(药店线下 + 京东 / 天猫线上 + 母婴连锁 + 微信社群)+ 推广(XHS 新手妈妈种草 + 抖音儿科医生科普 + 丁香妈妈合作)+ 价格(¥30-298 三带位)。3 阶段落地:Y1 差异化升级 3 亿 → Y2 赛道突破 6 亿 → Y3 生态化 10 亿。`, }; // ============================================================ // utils // ============================================================ function sn(n) { return String(n).padStart(2, '0'); } // ============================================================ // 共用组件(导航 / 键盘提示) // ============================================================ function renderNav() { const dots = [ { tip: '封面', href: '#s0' }, { tip: '目录', href: '#agenda' }, ...CHAPTERS.map((c) => ({ tip: `${c.num} ${c.title}`, href: `#${c.key}` })), ]; return `
6000万→10亿 / 3 赛道 / 8 假设
`; } function renderKbdHint() { return `
键盘切换 PgUpPgDn
`; } // ============================================================ // Slide 01 · Cover // ============================================================ function renderCover({ product, collectedAt, slideNum, slideTotal, meta }) { const totalComments = meta?.comments || 0; const platformCount = Object.values(meta?.platforms || {}).filter((n) => n > 0).length; const productsCount = meta?.productsCount || 0; const stage = meta?.stage || 'skeleton'; const tier = meta?.sourceTier || 'unknown'; const isScaffold = stage === 'skeleton'; const isReal = tier === 'real-collected'; const sourceBadge = isReal ? { label: '真实采集 · XHS + 抖音评论颗粒度', color: BRAND.JIANG_GREEN, icon: '✓' } : { label: '骨架版 · 待 VOC 数据加载', color: BRAND.CORAL, icon: '○' }; const commentsDisplay = isScaffold ? '待采集' : totalComments.toLocaleString(); return `
江中 / 产品开发部 / 2026 · ${esc(product)} · VOC 深度洞察 ${sourceBadge.icon}${esc(sourceBadge.label)}

KANO × JTBD × SCENE × COMPETITOR · 四维儿童 VOC 验证

${esc(product)}
VOC 深度洞察报告

儿童肠道调理专属 OTC · 从 6000 万到 10 亿的真实路径

基于 0.基础调研.md + 1.场景的补充.md 会议确认 的"10 亿 × 3 赛道破局"落地框架, 以 OTC 蓝帽子非活菌 + 儿童专属剂型 为起点, 通过 KANO × JTBD × 场景四元素 × ${commentsDisplay} 条真实家长评论颗粒度 VOC 交叉验证, 对标 6 亿药品益生菌 + 20 亿食品益生菌 + 100 亿儿童营养软糖 的痛点地图, 在 药品 ↔ 食品 ↔ 营养软糖三轴 找到乳酸菌素片无人地带, 提炼 3 条长尾赛道,输出 4P 配称蓝图,闭环 10 亿 · 3 年 路径。

10亿
3 年目标
${commentsDisplay}
真实家长 VOC
${isScaffold ? '2' : platformCount}
采集平台
8
核心假设
${isScaffold ? '30' : (productsCount || 30)}
关键词维度
${slideTotal}
slides
DATA FOUNDATION · 数据底座

本报告基于 docs/乳酸菌/raw/_merged.json 真实多平台采集: XHS ${meta?.platforms?.xhs || '待采集'} 条评论 + 抖音 ${meta?.platforms?.douyin || '待采集'} 条评论。 每条 VOC 带 source=real-collected 明确标识。

SCROLL DOWN · ${isScaffold ? 'Batch 1 · 骨架版 · 待逐章填充' : `采集截止 ${esc(collectedAt || '')} · ${commentsDisplay} 条真实 VOC`}

`; } // ============================================================ // Slide 02 · Agenda // ============================================================ function renderAgenda({ slideNum, slideTotal }) { return `
CONTENTS · 8 章认知递进

从诘问到蓝图 · 家长 × 儿童 双视角 VOC 实证

认知深度递进:① 诘问 → ② 药品VOC → ③ 食品VOC → ④ KANO×JTBD → ⑤ 场景地图 → ⑥ 三轴定位 → ⑦ 新机会 → ⑧ 4P 蓝图

METHODOLOGY · 方法论自律
本报告严格遵循 《docs/乳酸菌/0.基础调研.md + 1.场景的补充.md》10 亿 × 3 赛道破局方法论:
❌ 不做:改药理主成分、宣称"提升免疫力/促进生长发育"(需场景化话术替代)、装饰性图表、脱离 VOC 的拍脑袋;
✅ 做:8 条核心假设 H1-H8 × 多平台 VOC 实证 × KANO × JTBD × 场景四元素 × 3 轴竞品地图 × 4P 落地映射;
每一个结论都附 真实家长原声(昵称 + IP + 点赞)+ 理论模型映射 + 可落地决策项 三重验证。
`; } // ============================================================ // 章节 Divider(8 个) // ============================================================ function renderChapterDivider({ chapter, slideNum, slideTotal }) { const c = chapter; const heroLine = CHAPTER_HERO_LINES[c.key] || c.summary; const subs = CHAPTER_SUBSECTIONS[c.key] || []; return `
0${c.num}
CHAPTER ${c.num} · ${c.en}
${c.icon}

${esc(c.title)}

${c.en}

${heroLine}

${subs.map((sub, i) => `
${c.num}.${i + 1}
${esc(sub)}
`).join('')}
SCROLL DOWN · ${subs.length} 个子章 · VOC 实证 × 理论 × 决策
`; } // ============================================================ // 占位子章(Coming Soon) // ============================================================ function renderComingSoon({ chapter, subIdx, sub, slideNum, slideTotal, targetBatch, meta }) { const c = chapter; const hs = LA.CHAPTER_HYPOTHESIS_MAP[c.key] || []; const hsCount = hs.reduce((s, h) => s + (meta?.hypotheses?.[h] || 0), 0); return `
${c.num}.${subIdx} · ${esc((sub || '').split('·')[0].toUpperCase())}

${esc(sub)}

此子章将在 Batch ${targetBatch} 填充 VOC 证据卡 + 理论映射 + 决策项

🚧
Coming in Batch ${targetBatch}
${hsCount ? `
数据就绪 · ${hsCount} 条 ${hs.join('/')} 相关真实 VOC

docs/乳酸菌/raw/_merged.json 已就绪 ${meta?.comments || 0} 条真实 VOC
Batch ${targetBatch} 将基于本假设的 ${hsCount} 条 证据 + 理论工具,输出 证据卡 × 理论映射 × 决策项

` : `

Batch ${targetBatch} 将基于已采集 VOC 数据填充本子章内容。

`}
`; } // ============================================================ // 子章 → Batch 映射 // ============================================================ const SUB_TO_BATCH = { 'challenge': 2, 'drug_voc': 2, 'food_voc': 2, 'kano': 3, 'scene': 3, 'competitor': 4, 'opportunity': 4, 'blueprint': 5, }; // ============================================================ // 子章渲染器注册表 // ============================================================ let SLIDE_RENDERERS = {}; function tryRequire(modPath) { try { return require(modPath); } catch (e) { return null; } } const CH1 = tryRequire('./lactic-ch1-challenge.js'); const CH2 = tryRequire('./lactic-ch2-drug-voc.js'); const CH3 = tryRequire('./lactic-ch3-food-voc.js'); const CH4 = tryRequire('./lactic-ch4-kano.js'); const CH5 = tryRequire('./lactic-ch5-scene.js'); const CH6 = tryRequire('./lactic-ch6-competitor.js'); const CH7 = tryRequire('./lactic-ch7-opportunity.js'); const CH8 = tryRequire('./lactic-ch8-blueprint.js'); SLIDE_RENDERERS = { ...(CH1 || {}), ...(CH2 || {}), ...(CH3 || {}), ...(CH4 || {}), ...(CH5 || {}), ...(CH6 || {}), ...(CH7 || {}), ...(CH8 || {}), }; // ============================================================ // buildHTML · 主装配 // ============================================================ function buildHTML({ product, collectedAt } = {}) { product = product || '江中乳酸菌素片儿童版'; collectedAt = collectedAt || new Date().toISOString().slice(0, 10); const data = LA.loadMerged(); const meta = LA.getMeta(data); // slide 总数:2 (cover+agenda) + 每章 (1 divider + N 子章) let slideTotal = 2; for (const c of CHAPTERS) { slideTotal += 1 + (CHAPTER_SUBSECTIONS[c.key] || []).length; } const slides = []; let num = 1; slides.push(renderCover({ product, collectedAt, slideNum: sn(num), slideTotal: sn(slideTotal), meta })); num++; slides.push(renderAgenda({ slideNum: sn(num), slideTotal: sn(slideTotal) })); num++; for (const c of CHAPTERS) { slides.push(renderChapterDivider({ chapter: c, slideNum: sn(num), slideTotal: sn(slideTotal) })); num++; const subs = CHAPTER_SUBSECTIONS[c.key] || []; for (let i = 0; i < subs.length; i++) { const subIdx = i + 1; const subKey = `${c.key}-${subIdx}`; const renderer = SLIDE_RENDERERS[subKey]; const slideCtx = { chapter: c, subIdx, sub: subs[i], slideNum: sn(num), slideTotal: sn(slideTotal), data, meta, }; if (renderer) { slides.push(renderer(slideCtx)); } else { slides.push(renderComingSoon({ ...slideCtx, targetBatch: SUB_TO_BATCH[c.key] || 2, meta })); } num++; } } return ` ${esc(product)} · VOC 深度洞察报告 · 6000万→10亿 ${STYLES} ${renderNav()} ${renderKbdHint()}
${slides.join('\n')}
`; } module.exports = { buildHTML, BRAND, CHAPTERS, CHAPTER_SUBSECTIONS, CHAPTER_HERO_LINES, SUB_TO_BATCH, renderCover, renderAgenda, renderChapterDivider, renderComingSoon, };