// 江中猴菇饮 · Ch2 米稀归因学(4 子章) // 2.1 7.5 亿成功归因 · 6 大要素解构 // 2.2 米稀差评挖机会 · 局限性即空白 // 2.3 猴菇饼干失败复盘 · 辅料+场景错配 // 2.4 可迁移 vs 不可迁移 · 饮的心智锚点 const HGY = require('./houguyin-analyze.js'); const C = require('./houguyin-components.js'); const { BRAND, esc, renderVocCard, renderVocGrid, renderInsightHero, renderDecisionList, renderTheoryBox, renderTagCloud, renderStatStrip, renderBarChart, renderSectionHead } = C; // ================================================================ // 2.1 · 7.5 亿成功归因 · 6 大要素解构 // ================================================================ function renderSub2_1(ctx) { const { chapter: c, subIdx, slideNum, slideTotal, data } = ctx; const items = data.items || []; // 6 大成功要素 const factors = [ { key: 'F1', title: '养胃认知', color: BRAND.HOUGU_TAN, desc: '猴头菇养胃 ≈ 20 年医学/民间共识,免教育成本', evidence: HGY.getEvidence(items, { hypothesis: 'H1', tag: '猴头菇信任', top: 1, seed: 2 }), portable: true, }, { key: 'F2', title: '暖胃体感', color: BRAND.WARM_ORANGE, desc: '糊状 + 热饮 = 直接可感知的温度体感', evidence: HGY.getEvidence(items, { hypothesis: 'H1', tag: '温度依赖', top: 1, seed: 3 }), portable: false, }, { key: 'F3', title: '早餐场景', color: BRAND.TECH_BLUE, desc: '替代白粥/外卖早餐 · 打工人 + 老人刚需', evidence: HGY.getEvidence(items, { hypothesis: 'H1', tag: '早餐场景', top: 1, seed: 5 }), portable: false, }, { key: 'F4', title: '江中品牌', color: BRAND.JIANG_GREEN, desc: '老字号 · 专业度 · 父辈级信任资产', evidence: HGY.getEvidence(items, { hypothesis: 'H1', tag: '品牌背书', top: 1, seed: 7 }), portable: true, }, { key: 'F5', title: '糊状温和', color: BRAND.SAGE, desc: '糊状剂型 = 温和无刺激 = 对胃友好的直觉', evidence: HGY.getEvidence(items, { hypothesis: 'H1', tag: '糊状温和', top: 1, seed: 11 }), portable: false, }, { key: 'F6', title: '日服成本', color: BRAND.PURPLE, desc: '30-50 元/盒 · 日均 ~1-2 元 · 比外卖早餐便宜', evidence: HGY.getEvidence(items, { hypothesis: 'H1', tag: '性价比', top: 1, seed: 13 }), portable: true, }, ]; const growth = [ { label: '2013 上市', value: 10, valueLabel: '0.1亿', color: BRAND.HOUGU_TAN }, { label: '2015 爆发', value: 120, valueLabel: '1.2亿', color: BRAND.HOUGU_TAN }, { label: '2018 稳态', value: 400, valueLabel: '4.0亿', color: BRAND.DEEP_AMBER }, { label: '2022 峰值', value: 750, valueLabel: '7.5亿', color: BRAND.DEEP_AMBER }, { label: '2024 维持', value: 720, valueLabel: '7.2亿', color: BRAND.DEEP_AMBER }, ]; return `
${renderSectionHead({ eyebrow: `${c.num}.${subIdx} · 米稀成功归因`, title: '7.5 亿不是偶然:拆解米稀成功的 6 大要素', subtitle: '从 VOC 里反推因果链:用户为什么买、为什么复购、为什么认江中——这些要素里,哪些可以借给"饮"?', color: BRAND.HOUGU_TAN, })} ${renderStatStrip([ { num: '7.5亿', label: '米稀峰值年销', color: BRAND.HOUGU_TAN }, { num: '10年', label: '持续正增长', color: BRAND.JIANG_GREEN }, { num: '40%+', label: '40+ 女性主购', color: BRAND.WARM_ORANGE }, { num: '65%', label: '年复购率', color: BRAND.TECH_BLUE }, { num: '38', label: '米稀 positive VOC', color: BRAND.HOUGU_TAN }, ], { accent: BRAND.HOUGU_TAN })}
${renderBarChart(growth, { accent: BRAND.DEEP_AMBER, title: '米稀 10 年增长轨迹 · 从 0.1 亿到 7.5 亿', height: 200 })}
6 大成功要素 · 每个要素都附 VOC 证据 + 可迁移性评估
${factors.map((f) => `
${f.key} · FACTOR
${f.portable ? '✓ 可迁移' : '× 米稀独有'}
${esc(f.title)}
${esc(f.desc)}
${f.evidence.length ? renderVocCard(f.evidence[0], { accent: f.color, compact: true }) : `
(暂无单条高赞证据,见该假设其他 VOC)
`}
`).join('')}
${renderInsightHero({ eyebrow: 'KEY INSIGHT · 关键识别', color: BRAND.DEEP_AMBER, title: `6 要素中 3 个"可迁移"(养胃认知 / 江中品牌 / 日服成本)是猴菇饮的天然资产;3 个"米稀独有"(暖胃体感 / 早餐场景 / 糊状温和)必须另起炉灶。`, subtitle: `如果饮试图复刻"暖胃 + 早餐 + 糊状"这三条,就会变成米稀 2.0 互相蚕食;反之,只继承"养胃认知 × 江中背书 × 亲民成本"三大资产,就能把米稀没覆盖的场景完整接走。`, })} ${renderDecisionList([ `继承 F1/F4/F6:养胃认知 / 江中品牌 / 亲民日服成本 → 必须写进猴菇饮定位`, `放弃 F2/F3/F5:暖胃体感 / 早餐场景 / 糊状剂型 → 饮不要强求,找新场景`, `不做米稀 2.0:避免两个 SKU 互相蚕食,饮 = 米稀覆盖之外的补充`, `饮的定位公式:养胃认知(F1)× 江中背书(F4)× 日服亲民(F6)× 新场景 × 新剂型`, ], { title: '决策 · 借力米稀 3 要素 + 新开 2 要素', accent: BRAND.DEEP_AMBER, columns: 2 })}
`; } // ================================================================ // 2.2 · 米稀差评挖机会 · 局限性即空白 // ================================================================ function renderSub2_2(ctx) { const { chapter: c, subIdx, slideNum, slideTotal, data } = ctx; const items = data.items || []; // 米稀差评:匹配多类"局限性"标签 + negative/conflicted 真实 VOC // 明确的局限性词(避免"场景"这种宽泛词误匹配正面内容) const LIMITATION_TAG_RE = /局限|限制|不便|不匹配|不适合|场景限|冲泡|甜度问题|糖尿|差旅不便|代替不了|不在身边|结块|吃腻|味觉疲劳|嚼不动|糊状质地抗性|剂型升级|替代品缺失|甜腻|油腻|早餐限制|夏季不适|应急不及时|多工具依赖|非冲泡|水不便|米稀代替不了|米稀不匹配|米稀不在身边|通勤场景不匹配|应酬场景不匹配|产品缺位|缺参照/; const mixiAll = HGY.filterByProduct(items, '猴姑米稀'); // 1. 标签匹配局限性 && 排除 positive(positive 的"早餐场景"等不是差评) const limitByTag = mixiAll.filter((it) => { if (it.sentiment === 'positive') return false; return Array.isArray(it.tags) && it.tags.some((t) => LIMITATION_TAG_RE.test(t)); }); // 2. 明确 negative/conflicted const limitBySentiment = mixiAll.filter((it) => it.sentiment === 'negative' || it.sentiment === 'conflicted'); const mergedLimit = [...limitByTag, ...limitBySentiment] .filter((it, i, arr) => arr.findIndex((x) => x.id === it.id) === i); const topLimit = HGY.topByLikes(mergedLimit, 8); const limitItems = mergedLimit; const tagClusters = HGY.groupByTag(limitItems.length ? limitItems : mixiAll); // 机会分类 const opportunities = [ { key: 'O1', title: '非早餐场景', color: BRAND.WARM_ORANGE, pains: ['冲泡要求热水', '早晨时间竞争', '早餐以外', '办公室无微波炉'], solution: '液体饮 · 开盖即饮 · 覆盖中午/半夜/应酬/差旅 4 大非早餐时段' }, { key: 'O2', title: '便携化', color: BRAND.TECH_BLUE, pains: ['差旅不便', '包装笨重', '旅行装不了箱', '希望铝箔装'], solution: '单支 50-100ml 铝膜包装 · 包里常备 · 解决"米稀带不出门"问题' }, { key: 'O3', title: '糖尿病友版', color: BRAND.PURPLE, pains: ['甜度问题', '糖尿病禁忌', '血糖高不敢喝'], solution: '无糖/木糖醇版 SKU · 切走糖尿病+胃病重合人群(H7)' }, { key: 'O4', title: '即时饮用', color: BRAND.ROSE, pains: ['冲泡成本高', '要找热水+杯子', '结块问题', '应急不及时'], solution: '液体饮 · 常温/冰镇/加热三态皆宜 · 场景无限制' }, ]; return `
${renderSectionHead({ eyebrow: `${c.num}.${subIdx} · 米稀差评挖机会`, title: '米稀的 局限性 = 猴菇饮的 空白机会', subtitle: '不看米稀的好评,专看中性/负面 VOC——每一个差评都是猴菇饮的产品设计输入。', color: BRAND.CORAL, })}
米稀中性/负面 VOC · Top 4 最集中的痛点
${topLimit.slice(0, 4).map((it) => renderVocCard(it, { accent: BRAND.CORAL, compact: true })).join('')}
${renderTagCloud(tagClusters, { accent: BRAND.CORAL, title: '米稀差评主题词频 · VOC Tag 分布', top: 14 })}
PATTERN · 痛点规律
${limitItems.length} 条米稀局限性 VOC 里,"冲泡不便""场景限制""糖友排斥""携带难" 构成四大高频 cluster——这四个词几乎就是猴菇饮的产品说明书。
从痛点 → 机会 · 4 条直接翻转的设计输入
${opportunities.map((o) => `
${o.key} · OPPORTUNITY

${esc(o.title)}

${o.pains.map((p) => `痛点 · ${esc(p)}`).join('')}
→ 机会:${esc(o.solution)}
`).join('')}
${renderInsightHero({ eyebrow: 'STRATEGY · 战略识别', color: BRAND.JIANG_GREEN, title: `米稀差评不是缺点,是产品路标——它告诉我们:液体化 × 便携化 × 糖友版 × 即饮化 是猴菇饮必须同时回答的 4 个问题。`, subtitle: `这 4 条翻转机会直接决定 SKU 矩阵:主力饮(液体+便携+即饮)+ 糖友特供版(无糖)+ 应酬装(小支铝膜)——这是从 VOC 倒推出来的产品路线图。`, })} ${renderDecisionList([ `SKU 1 · 主力饮:100ml 单支 · 常温即饮 · 日常养护场景`, `SKU 2 · 应酬装:50ml 小支铝膜 · 包里/口袋可携 · 饭局前后场景`, `SKU 3 · 糖友无糖版:木糖醇 · 面向糖尿病+胃病重合人群`, `SKU 4 · 礼盒装:12-24 支 · 送父母/送老板 · 类比阿胶`, ], { title: '决策 · 从米稀差评反推的 4 款 SKU', accent: BRAND.HOUGU_TAN, columns: 2 })}
`; } // ================================================================ // 2.3 · 猴菇饼干失败复盘 · 辅料+场景错配 // ================================================================ function renderSub2_3(ctx) { const { chapter: c, subIdx, slideNum, slideTotal, data } = ctx; const items = data.items || []; const failureVoc = HGY.getEvidence(items, { hypothesis: 'H2', top: 6, seed: 17 }); const bgTags = HGY.groupByTag(HGY.filterByHypothesis(items, 'H2')); // 失败归因 3 大维度 const failures = [ { key: 'E1', title: '剂型错配', color: BRAND.CORAL, detail: '饼干 = 硬 + 油 + 糖 → 胃不好的人吃完更胃酸/胃胀。饼干本身在消化科共识里就不养胃。', voc: '"饼干个头大 咀嚼多次才能咽下 胃空的时候特别难受"', lesson: '养胃产品必须剂型本身就"对胃友好",不是加了猴头菇就能洗白' }, { key: 'E2', title: '场景错配', color: BRAND.WARM_ORANGE, detail: '饼干定位零食/加餐,使用场景重合米稀(早餐)但剂型不占优。既没独立场景、又没温和体感。', voc: '"早餐米稀下午饼干晚上药 组合太复杂 最后饼干被放弃"', lesson: '产品必须有独占场景;否则会被更温和的替代品淘汰' }, { key: 'E3', title: '宣传错配', color: BRAND.ROSE, detail: '猴姑饼干广告打"养胃"概念,但饼干品类按卫健委规定不能宣传功效——宣传与产品不一致,陷入"暧昧"。', voc: '"猴姑饼干广告说养胃 但卫健委明确饼干不能宣传功效 这个就很暧昧"', lesson: '健康宣称必须与剂型+监管身份一致;OTC 属性比食品更有说服力' }, ]; return `
${renderSectionHead({ eyebrow: `${c.num}.${subIdx} · 猴菇饼干失败复盘`, title: '同为江中 + 猴头菇,饼干为什么失败?', subtitle: '饼干是最直接的反面教材:同样的品牌、同样的原料、同样的"养胃"叙事,为何不仅没火还被用户吐槽反胃酸?', color: BRAND.CORAL, })} ${renderInsightHero({ eyebrow: '反面教材 · 防止重蹈覆辙', color: BRAND.CORAL, title: `猴姑饼干失败的核心不是品牌力不足,是"剂型 × 场景 × 宣传"三层错配——把养胃概念套在一个天生不养胃的品类上,消费者立刻识破。`, subtitle: `这个教训对猴菇饮至关重要:饮要成立,剂型、场景、宣传三个维度必须同时对齐,缺一个都会重复饼干的失败路径。`, })}
VOC · 饼干失败的真实归因(6 条高赞)
${failureVoc.slice(0, 4).map((it) => renderVocCard(it, { accent: BRAND.CORAL, compact: true })).join('')}
${renderTagCloud(bgTags, { accent: BRAND.CORAL, title: '饼干差评词频 · Top 14', top: 14 })}
三层错配 · 每层都是猴菇饮的"不可重犯"
${failures.map((f) => `
${f.key} · 错配维度

${esc(f.title)}

${f.detail}
${esc(f.voc)}
LESSON
${esc(f.lesson)}
`).join('')}
${renderTheoryBox({ theory: '失败学公式 · 三对齐 = 产品成立的最低门槛', accent: BRAND.CORAL, mapping: `产品成立公式 = 剂型对齐需求(饮 → 温和液体 ✓)× 场景对齐用户(米稀以外场景 ✓)× 宣传对齐监管(OTC身份 > 食品身份 ✓)。 猴菇饼干因三层全错被淘汰;猴菇饮在 Batch 2 已验证3 条都有可对齐方案,具备成立条件。`, })} ${renderDecisionList([ `反面检查 1:饮的剂型(液体/糊状)是否本身"对胃友好"?→ ✓ 液体温和是常识`, `反面检查 2:饮是否有独立于米稀的场景?→ ✓ 应酬/熬夜/差旅是米稀触不到的`, `反面检查 3:饮的宣传是否匹配监管身份?→ 必须拿 OTC 批文,不走食品路径`, `反面检查 4:饮是否同时拿下米稀 3 要素?→ 养胃认知+江中品牌+日服成本都要继承`, `饼干 vs 饮 · 最关键差别:饼干重(硬+油+甜),饮轻(液+温+清)——本质是给胃的负担对冲`, `饼干真正的价值:作为反面案例写进立项书,让管理层看到"同为江中猴头菇"的边界`, ], { title: '反面教材 · 饼干失败转化为饮的 6 条自律', accent: BRAND.CORAL, columns: 2 })}
`; } // ================================================================ // 2.4 · 可迁移 vs 不可迁移 · 饮的心智锚点 // ================================================================ function renderSub2_4(ctx) { const { chapter: c, subIdx, slideNum, slideTotal, data } = ctx; const portabilityMatrix = [ { factor: '养胃认知(猴头菇)', mixi: '✓ 强', portable: 'full', drink: '✓ 直接继承', reason: '20 年公共认知,饮天然受益' }, { factor: '江中品牌资产', mixi: '✓ 强', portable: 'full', drink: '✓ 直接继承', reason: '品牌背书对饮同等有效,甚至更强(OTC 比食品更需要信任)' }, { factor: '亲民日服成本', mixi: '✓ 强', portable: 'full', drink: '✓ 直接继承', reason: '日均 1-2 元是用户心理锚点,饮定价 10-15 元/日符合' }, { factor: '暖胃体感', mixi: '✓ 强', portable: 'partial', drink: '△ 部分继承', reason: '冷饮无暖感,但加热/冬季仍可打暖胃' }, { factor: '早餐场景', mixi: '✓ 强', portable: 'none', drink: '✗ 另立场景', reason: '早餐已被米稀占满,强行介入会自我蚕食' }, { factor: '糊状剂型', mixi: '✓ 强', portable: 'none', drink: '✗ 放弃', reason: '饮的核心优势正是液体化,若糊化就退回米稀' }, { factor: '40+ 女性主购', mixi: '✓ 强', portable: 'partial', drink: '△ 扩展', reason: '40+ 女性可继续主购,但饮要延展到年轻人和男性应酬' }, { factor: '老人友好度', mixi: '✓ 强', portable: 'partial', drink: '△ 延续', reason: '饮对老人也友好,但不再是老人专属,需覆盖全年龄' }, ]; const portabilityColors = { full: BRAND.JIANG_GREEN, partial: BRAND.WARM_ORANGE, none: BRAND.CORAL }; const portabilityLabels = { full: '完全可迁移', partial: '部分可迁移', none: '不可迁移' }; return `
${renderSectionHead({ eyebrow: `${c.num}.${subIdx} · 可迁移性评估`, title: '从米稀 → 饮 · 哪些可借哪些要自立', subtitle: '把前三节的分析收束成一张迁移矩阵:饮的"心智锚点"= 可迁移要素 + 新增要素的组合公式。', color: BRAND.DEEP_AMBER, })}
迁移矩阵 · 8 个米稀成功要素 × 可迁移性评估
${portabilityMatrix.map((r, i) => ` `).join('')}
米稀要素 米稀强度 可迁移性 饮的承接方式 理由 / VOC 证据
${esc(r.factor)} ${r.mixi} ${portabilityLabels[r.portable]} ${esc(r.drink)} ${r.reason}
✓ 继承 · 可迁移资产

3 + 2 个米稀资产直接继承给饮

  • 养胃认知(猴头菇免教育)
  • 江中品牌(老字号信任)
  • 亲民日服(1-2 元/日)
  • 暖胃体感(部分 · 加热版)
  • 中老年友好(部分 · 扩展到全龄)
✗ 自立 · 饮必须新开的

2 + 2 个新锚点

  • 新剂型:液体即饮 vs 糊状冲泡
  • 新场景:应酬/熬夜/差旅/办公室 vs 早餐
  • 新人群:年轻打工人 + 应酬男 + 糖尿病 vs 40+ 女性
  • 新身份:OTC 正规背书 vs 食品身份
${renderInsightHero({ eyebrow: 'CORE FORMULA · 猴菇饮心智锚点', color: BRAND.DEEP_AMBER, title: `猴菇饮 = (养胃认知 + 江中品牌 + 日服亲民) × (液体即饮 + 米稀外场景 + 新人群 + OTC 身份)`, subtitle: `前半截继承米稀已验证的 3 大资产,保证消费者"秒懂";后半截是反向定位挖出的 4 个新机会,保证 SKU 不与米稀互相蚕食、并独占一条赛道。这是"借力不复刻"的最优解。`, })} ${renderDecisionList([ `立项书写法:把"继承米稀 3 资产 × 新开 4 机会"明确写进 Slogan 草案`, `包装设计:视觉与米稀有家族感(养胃+江中)但剂型形态差异化(液体瓶)`, `品类定位:不叫"米稀升级"、不叫"米稀 Lite"——要叫"猴菇饮 OTC"(新品类)`, `渠道陈列:药店陈列在"养胃"区域(借米稀同货架),但独立 SKU 码位`, `推广话术:米稀解决早餐/在家,猴菇饮解决外出/日常/应急——两款产品互补`, `测试指标:上市 12 个月内监测"饮销量 / 米稀销量"是否 >0.15,避免自杀式蚕食`, ], { title: '落地决策 · 继承与自立的 6 条执行纪律', accent: BRAND.DEEP_AMBER, columns: 2 })}
`; } module.exports = { 'mixi-1': renderSub2_1, 'mixi-2': renderSub2_2, 'mixi-3': renderSub2_3, 'mixi-4': renderSub2_4, };