lactic-ch8-blueprint.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. // ==============================================================================
  2. // 江中乳酸菌素片儿童版 · Ch8 4P 配称蓝图(2 子章)
  3. // ==============================================================================
  4. // 8.1 4P 配称·产品 + 渠道 + 推广 + 价格
  5. // 8.2 10 亿路径·3 年 × 4 渠道分阶段
  6. // ==============================================================================
  7. const LA = require('./lactic-analyze.js');
  8. const C = require('./lactic-components.js');
  9. const { BRAND, esc, fmtLikes } = C;
  10. // ==========================================================
  11. // 8.1 · 4P 配称
  12. // ==========================================================
  13. function renderSub8_1(ctx) {
  14. const { chapter: c, subIdx, sub, slideNum, slideTotal } = ctx;
  15. const ps = [
  16. {
  17. letter: 'P', big: 'Product', name: '产品', color: BRAND.BERRY_PINK,
  18. insight: '8 SKU 矩阵 × 3 分龄 × 4 场景覆盖',
  19. items: [
  20. { sku: '婴幼儿颗粒剂', price: '¥88/30袋', scene: '0-3 岁日常' },
  21. { sku: '学龄前咀嚼片瓶装', price: '¥58/60片', scene: '3-6 岁日常' },
  22. { sku: '学龄前独立板装', price: '¥45/14×2片', scene: '3-6 岁幼儿园/外带' },
  23. { sku: '学龄期加量片', price: '¥78/90片', scene: '6-12 岁' },
  24. { sku: '入园装', price: '¥75/30板', scene: '9月入园季' },
  25. { sku: '应急装 (抗生素后)', price: '¥38/14板', scene: '抗生素后修复' },
  26. { sku: '分龄礼盒', price: '¥198/3瓶', scene: '节日送礼' },
  27. { sku: '国礼装', price: '¥298/4瓶', scene: '祖辈孝心' },
  28. ],
  29. moat: `<strong>核心成分</strong>:乳酸菌素(鲜牛奶发酵物·非活菌)<br/>
  30. <strong>背书</strong>:江中 OTC + 国药准字 H20043347<br/>
  31. <strong>剂型</strong>:颗粒/咀嚼片 · 水果味 · 无糖<br/>
  32. <strong>分龄</strong>:0-3 / 3-6 / 6-12 三 SKU`,
  33. },
  34. {
  35. letter: 'P', big: 'Place', name: '渠道', color: BRAND.TECH_BLUE,
  36. insight: '4 渠道协同 · 基础盘 + 溢价盘分工',
  37. items: [
  38. { sku: '药店(线下)', price: '¥58-298', scene: '一心堂/大参林/国大/老百姓' },
  39. { sku: '电商(京东/天猫)', price: '¥58-298', scene: '京东自营 + 天猫旗舰' },
  40. { sku: '母婴连锁', price: '¥88-198', scene: '孩子王/爱婴岛/乐友' },
  41. { sku: '抖音电商', price: '¥58-128', scene: '直播 + 剧情号带货' },
  42. { sku: '微信社群', price: '订阅制', scene: '家长群 + 小程序' },
  43. { sku: '幼儿园 / 学校合作', price: '入园包', scene: '每学期一次' },
  44. ],
  45. moat: `<strong>药线 3 亿基础盘</strong>(核心壁垒)<br/>
  46. <strong>电商 3 亿品牌起量</strong><br/>
  47. <strong>母婴 2 亿高毛利</strong><br/>
  48. <strong>社群 + 学校 2 亿复购</strong>`,
  49. },
  50. {
  51. letter: 'P', big: 'Promotion', name: '推广', color: BRAND.PURPLE,
  52. insight: 'VOC 场景化内容 × 双视角 KOL',
  53. items: [
  54. { sku: 'XHS 新手妈妈种草', price: '500+ 素人笔记', scene: '入园/积食/挑食' },
  55. { sku: '抖音儿科医生科普', price: '50+ KOL', scene: '丁香妈妈/儿科专家' },
  56. { sku: '家长群口碑', price: '100+ 社群', scene: '宝妈互助 + KOC' },
  57. { sku: '节日事件', price: '入园/开学/春节', scene: '9月 + 3月 + 春节' },
  58. { sku: '公众号深度内容', price: '育儿大号合作', scene: '丁香妈妈/年糕妈妈' },
  59. { sku: '场景联合', price: '奶粉/辅食/牛奶', scene: '跨品类联合营销' },
  60. ],
  61. moat: `<strong style="color:${BRAND.WINE_RED};">❌ 禁止硬广 TVC</strong><br/>
  62. <strong style="color:${BRAND.WINE_RED};">❌ 禁止恐惧营销</strong><br/>
  63. <strong>✓ KOC &gt; KOL</strong><br/>
  64. <strong>✓ 科普 &gt; 卖货</strong>`,
  65. },
  66. {
  67. letter: 'P', big: 'Price', name: '价格', color: BRAND.JIANG_GREEN,
  68. insight: '分渠道定价 × 三带分层',
  69. items: [
  70. { sku: '入门带', price: '¥45-78', scene: '单品日常' },
  71. { sku: '主销带', price: '¥88-128', scene: '分龄 + 入园装' },
  72. { sku: '礼品带', price: '¥198-298', scene: '礼盒 + 国礼装' },
  73. { sku: 'vs 妈咪爱', price: '+30%', scene: '非活菌溢价合理' },
  74. { sku: 'vs 亿活', price: '-40%', scene: '日常长期可承受' },
  75. { sku: 'vs 合生元超金', price: '-60%', scene: 'OTC 药品性价比' },
  76. ],
  77. moat: `<strong>非活菌创新工艺溢价</strong><br/>
  78. <strong>价格带 3 层 · 清晰不乱</strong><br/>
  79. <strong>日常用量 ¥58-88/月</strong><br/>
  80. <strong>严控促销折扣</strong>`,
  81. },
  82. ];
  83. return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
  84. <div class="section-inner">
  85. ${C.renderSectionHead({
  86. eyebrow: `${c.num}.${subIdx} · 4P 配称蓝图`,
  87. title: '<span style="color:' + BRAND.LACTIC_MINT + ';">4P 配称</span>:从 VOC 洞察到 Product / Place / Promotion / Price',
  88. subtitle: '前 7 章 VOC 洞察 × KANO × JTBD × 场景四元素 × 三轴定位 → 这里折叠成<strong>可执行的 4P 组合</strong>。',
  89. color: BRAND.LACTIC_MINT,
  90. })}
  91. <div class="grid" style="grid-template-columns:1fr 1fr; gap:18px; margin-top:20px;">
  92. ${ps.map((p) => `
  93. <div style="padding:22px 24px; background:var(--bg-1); border:1px solid var(--border); border-top:4px solid ${p.color}; border-radius:var(--radius-md);">
  94. <div style="display:flex; align-items:baseline; gap:12px; margin-bottom:14px;">
  95. <div style="font-family:var(--font-head); font-weight:900; font-size:3rem; color:${p.color}; line-height:1; letter-spacing:-0.04em;">${p.letter}</div>
  96. <div>
  97. <div class="text-mono text-xs" style="color:${p.color}; letter-spacing:0.15em; font-weight:700;">${p.big.toUpperCase()}</div>
  98. <div style="color:var(--text-1); font-weight:800; font-size:1.2rem;">${esc(p.name)}</div>
  99. <div style="color:var(--text-2); font-size:0.8rem; margin-top:2px;">${esc(p.insight)}</div>
  100. </div>
  101. </div>
  102. <div style="display:flex; flex-direction:column; gap:6px; margin-bottom:14px;">
  103. ${p.items.map((it) => `
  104. <div style="display:grid; grid-template-columns:150px 120px 1fr; gap:8px; padding:8px 10px; background:${p.color}08; border-radius:4px; align-items:center;">
  105. <div style="color:var(--text-1); font-size:0.82rem; font-weight:600;">${esc(it.sku)}</div>
  106. <div style="color:${p.color}; font-size:0.82rem; font-family:var(--font-mono); font-weight:700;">${esc(it.price)}</div>
  107. <div style="color:var(--text-3); font-size:0.78rem;">${esc(it.scene)}</div>
  108. </div>`).join('')}
  109. </div>
  110. <div style="padding:12px 14px; background:${p.color}12; border-left:3px solid ${p.color}; border-radius:4px; color:var(--text-1); font-size:0.84rem; line-height:1.7;">
  111. ${p.moat}
  112. </div>
  113. </div>`).join('')}
  114. </div>
  115. <div class="fade-up" style="margin-top:28px;">
  116. ${C.renderInsightHero({
  117. eyebrow: '4P COHERENCE · 4P 一致性',
  118. color: BRAND.LACTIC_MINT,
  119. title: `4P 之间<strong style="color:${BRAND.JIANG_GREEN};">必须互为因果</strong>:<br/>
  120. <strong>Product(8 SKU)</strong> → <strong>Place(4 渠道)</strong> → <strong>Promotion(双视角 KOL)</strong> → <strong>Price(三段定价带)</strong>。<br/>
  121. 每一项决策都能在前 7 章的 VOC 证据里找到<strong style="color:${BRAND.BERRY_PINK};">直接溯源</strong>。`,
  122. subtitle: `这就是"<strong>反向定位</strong>"的最终形态——<strong>VOC 驱动的 4P 蓝图</strong>而不是拍脑袋的决策。`,
  123. })}
  124. </div>
  125. ${C.renderDecisionList([
  126. `<strong>Product 先行</strong>:首批 8 SKU 上线 · Y1 不再扩 SKU(避免稀释心智)`,
  127. `<strong>Place 分层</strong>:药线 30% + 电商 30% + 母婴 20% + 溢价 20%`,
  128. `<strong>Promotion 克制</strong>:Y1 营销预算 4000 万(GMV 13% 投放比)`,
  129. `<strong>Price 纪律</strong>:严格三带分层 · 不打价格战 · 不乱促销`,
  130. ], { title: '落地决策 · 4P 协同纪律', accent: BRAND.LACTIC_MINT, columns: 2 })}
  131. </div>
  132. </section>`;
  133. }
  134. // ==========================================================
  135. // 8.2 · 10 亿路径
  136. // ==========================================================
  137. function renderSub8_2(ctx) {
  138. const { chapter: c, subIdx, sub, slideNum, slideTotal } = ctx;
  139. const phases = [
  140. {
  141. year: 'Year 1', label: '差异化升级期', target: '3 亿', color: BRAND.BERRY_PINK,
  142. focus: '<strong>3-6 岁学龄前咀嚼片单点突破</strong> · 建基础盘',
  143. items: [
  144. '产品端:完成儿童专属剂型(水果味咀嚼片 + 无糖配方)+ 分龄礼盒',
  145. '定位端:锚定「儿童肠道调理专属 OTC」核心心智',
  146. '渠道端:药店 1.5 亿(全国 TOP 6 连锁深耕)+ 电商 1 亿 + 母婴 0.5 亿',
  147. 'Marketing:4000 万预算(XHS 500 素人 + 50 KOL + 抖音剧情号)',
  148. 'KPI:GMV 3 亿 / 复购率 ≥ 30% / XHS 笔记 3000+ / NPS ≥ 55',
  149. ],
  150. },
  151. {
  152. year: 'Year 2', label: '赛道突破期', target: '3 亿新增 → 6 亿', color: BRAND.LACTIC_MINT,
  153. focus: '<strong>"告别瓶瓶罐罐"切入营养软糖赛道</strong> · 建差异化',
  154. items: [
  155. '新定位:「调肠道,促吸收,告别十几种营养糖」',
  156. '扩 SKU:婴幼儿颗粒剂 + 学龄期加量片 + 国礼装',
  157. '渠道扩:全国母婴连锁覆盖 + 抖音爆款矩阵 + 下沉县域',
  158. '内容端:与儿科专家 KOL 深度合作建立"肠道 = 营养吸收核心"认知',
  159. 'KPI:GMV 6 亿 / 营养吸收话题切分 10% / 母婴渠道复购 ≥ 45%',
  160. ],
  161. },
  162. {
  163. year: 'Year 3', label: '生态化冲刺期', target: '4 亿新增 → 10 亿', color: BRAND.JIANG_GREEN,
  164. focus: '<strong>分龄产品线 + 周边生态 + 品牌升级</strong>',
  165. items: [
  166. '产品生态:配 DHA / 钙软糖 / 营养吸收型辅食 · 单客生命周期价值',
  167. '品牌升级:从"儿童肠道调理"升级为"儿童肠道 + 营养吸收双核专家"',
  168. '渠道深耕:药店 / 母婴 / 线上全渠道全覆盖 + 县域下沉',
  169. '国际化:东南亚试点(OTC 药品 + 华人家庭)· 开启出海',
  170. 'KPI:GMV 10 亿 / 品类心智份额 ≥ 30% / 乳酸菌素片儿童 = 头部独占',
  171. ],
  172. },
  173. ];
  174. return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
  175. <div class="section-inner">
  176. ${C.renderSectionHead({
  177. eyebrow: `${c.num}.${subIdx} · 10 亿 3 年路径`,
  178. title: '<span style="color:' + BRAND.JIANG_GREEN + ';">10 亿路径</span>:3 年 × 4 渠道分阶段攻防图',
  179. subtitle: '<strong>Year 1 差异化升级 3 亿 → Year 2 赛道突破 +3 亿 = 6 亿 → Year 3 生态化 +4 亿 = 10 亿</strong>。每一步都对应 VOC 洞察和 4P 配称。',
  180. color: BRAND.JIANG_GREEN,
  181. })}
  182. <div class="grid" style="grid-template-columns:1fr 1fr 1fr; gap:18px; margin-top:24px;">
  183. ${phases.map((p) => `
  184. <div style="padding:24px; background:var(--bg-1); border:2px solid ${p.color}; border-radius:var(--radius-md); position:relative;">
  185. <div style="position:absolute; top:-14px; left:20px; padding:4px 14px; background:${p.color}; color:#fff; font-family:var(--font-mono); font-weight:700; font-size:0.72rem; letter-spacing:0.15em; border-radius:12px;">${p.year.toUpperCase()}</div>
  186. <div style="display:flex; justify-content:space-between; align-items:baseline; margin-top:6px; margin-bottom:10px;">
  187. <div style="color:var(--text-1); font-weight:800; font-size:1.2rem;">${esc(p.label)}</div>
  188. <div style="color:${p.color}; font-family:var(--font-head); font-weight:900; font-size:2rem; line-height:1;">${esc(p.target.split(' ')[0])}</div>
  189. </div>
  190. <div style="padding:10px 12px; background:${p.color}10; border-left:3px solid ${p.color}; border-radius:4px; color:var(--text-1); font-size:0.88rem; margin-bottom:14px;">
  191. ${p.focus}
  192. </div>
  193. <ul style="margin:0; padding-left:18px; list-style:disc; color:var(--text-1); font-size:0.82rem; line-height:1.7;">
  194. ${p.items.map((it) => `<li style="margin-bottom:6px;">${it}</li>`).join('')}
  195. </ul>
  196. </div>`).join('')}
  197. </div>
  198. <div class="fade-up" style="margin-top:32px;">
  199. <div style="padding:28px 32px; background:linear-gradient(135deg, ${BRAND.JIANG_GREEN}10, ${BRAND.BERRY_PINK}06, ${BRAND.LACTIC_MINT}06); border:2px solid ${BRAND.JIANG_GREEN}44; border-radius:var(--radius-lg);">
  200. <div class="text-mono text-xs" style="color:${BRAND.JIANG_GREEN}; letter-spacing:0.2em; margin-bottom:14px; font-weight:700;">🎯 FINAL BLUEPRINT · 终极蓝图</div>
  201. <div style="display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:16px; margin-bottom:20px;">
  202. <div style="padding:16px 18px; background:${BRAND.BERRY_PINK}14; border-radius:6px; text-align:center;">
  203. <div style="color:${BRAND.BERRY_PINK}; font-family:var(--font-head); font-weight:900; font-size:2.4rem; line-height:1;">3亿</div>
  204. <div style="color:var(--text-2); font-size:0.8rem; margin-top:4px;">药店</div>
  205. </div>
  206. <div style="padding:16px 18px; background:${BRAND.TECH_BLUE}14; border-radius:6px; text-align:center;">
  207. <div style="color:${BRAND.TECH_BLUE}; font-family:var(--font-head); font-weight:900; font-size:2.4rem; line-height:1;">3亿</div>
  208. <div style="color:var(--text-2); font-size:0.8rem; margin-top:4px;">电商</div>
  209. </div>
  210. <div style="padding:16px 18px; background:${BRAND.SUNNY_YELLOW}14; border-radius:6px; text-align:center;">
  211. <div style="color:${BRAND.SUNNY_YELLOW}; font-family:var(--font-head); font-weight:900; font-size:2.4rem; line-height:1;">2亿</div>
  212. <div style="color:var(--text-2); font-size:0.8rem; margin-top:4px;">母婴连锁</div>
  213. </div>
  214. <div style="padding:16px 18px; background:${BRAND.GOLD}14; border-radius:6px; text-align:center;">
  215. <div style="color:${BRAND.GOLD}; font-family:var(--font-head); font-weight:900; font-size:2.4rem; line-height:1;">2亿</div>
  216. <div style="color:var(--text-2); font-size:0.8rem; margin-top:4px;">社群+礼品+国际</div>
  217. </div>
  218. </div>
  219. <div style="text-align:center; padding:20px; background:${BRAND.JIANG_GREEN}0A; border-radius:6px;">
  220. <div style="color:var(--text-1); font-size:1.05rem; line-height:1.8;">
  221. <strong style="color:${BRAND.JIANG_GREEN}; font-size:1.4rem; font-family:var(--font-head);">江中乳酸菌素片儿童版 · 10 亿三年目标</strong><br/>
  222. <span style="color:var(--text-2); font-size:0.92rem;">基于 <strong>多平台真实 VOC</strong> × <strong>H1-H8 八大假设</strong> × <strong>KANO×JTBD 双视角</strong> × <strong>三轴无人地带</strong> × <strong>4P 配称 × 3 阶段渐进</strong></span><br/>
  223. <span style="color:${BRAND.BERRY_PINK}; font-size:0.88rem; margin-top:8px; display:inline-block;">—— 以 OTC 药品级 × 非活菌稳定 × 水果咀嚼分龄,重新定义中国儿童肠道品类 ——</span>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. ${C.renderDecisionList([
  229. `<strong>Y1 守住 3 亿</strong>:3-6 岁咀嚼片单点突破 · 药店 + 电商双引擎`,
  230. `<strong>Y2 赛道突破</strong>:切入营养软糖 100 亿赛道 · 母婴连锁铺开`,
  231. `<strong>Y3 生态 10 亿</strong>:分龄全产品线 + 国际试点 + 品牌升级`,
  232. `<strong>全程核心</strong>:任何增量都不破坏 VOC 真实性 · 反向硬广路径`,
  233. `<strong>8 大假设全部验证闭环</strong>:H1-H8 在 Ch1-Ch7 逐一成立,为 4P + 10 亿奠基`,
  234. ], { title: '落地决策 · 3 年执行纪律', accent: BRAND.JIANG_GREEN, columns: 2 })}
  235. </div>
  236. </section>`;
  237. }
  238. module.exports = {
  239. 'blueprint-1': renderSub8_1,
  240. 'blueprint-2': renderSub8_2,
  241. };