| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314 |
- // ==============================================================================
- // 江中乳酸菌素片儿童版 · Ch7 新机会 × 新人群(3 子章)
- // ==============================================================================
- // 7.1 新机会·分龄产品线(0-3 / 3-6 / 6-12)
- // 7.2 新赛道·告别瓶瓶罐罐内源吸收
- // 7.3 新包装·卡通 IP × 咀嚼片革命
- // ==============================================================================
- const LA = require('./lactic-analyze.js');
- const C = require('./lactic-components.js');
- const { BRAND, esc, fmtLikes } = C;
- // ==========================================================
- // 7.1 · 新机会·分龄产品线
- // ==========================================================
- function renderSub7_1(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const babyVoc = LA.getEvidence(items, {
- contentMatch: /月龄|月子|新生|肠绞痛|胀气|0-1岁|1岁半|婴/,
- minChars: 20, top: 2, seed: 5,
- });
- const preschoolVoc = LA.getEvidence(items, {
- contentMatch: /入园|幼儿园|3岁|4岁|5岁|小班|托班|挑食/,
- minChars: 20, top: 2, seed: 11,
- });
- const schoolVoc = LA.getEvidence(items, {
- contentMatch: /上学|学校|6岁|7岁|8岁|9岁|小学|学业|注意力/,
- minChars: 20, top: 2, seed: 17,
- });
- const ages = [
- {
- tag: '婴幼儿 0-3 岁', color: BRAND.BABY_PEACH,
- weight: '50%+ 核心消费群体',
- pains: '肠绞痛 / 便秘腹泻反复 / 抗生素后肠道 / 怕活菌失活',
- product: '<strong>颗粒剂(分剂量小包装)</strong>',
- price: '¥88 / 30 袋',
- pack: '纯色背景 + 月龄刻度标注',
- channel: '母婴店 / 药店 / 天猫母婴',
- voc: babyVoc[0],
- },
- {
- tag: '学龄前 3-6 岁', color: BRAND.PRESCHOOL_LIME,
- weight: '30% 消费力最强',
- pains: '入园后饮食不规律 / 积食挑食 / 频繁生病 / 喂药难',
- product: '<strong>水果味咀嚼片</strong>(草莓 / 酸奶 / 橙子)',
- price: '¥58 / 60 片',
- pack: '卡通 IP + 分龄提示 + 独立包装',
- channel: '药店 + 京东母婴 + 抖音剧情号',
- voc: preschoolVoc[0],
- },
- {
- tag: '学龄期 6-12 岁', color: BRAND.SCHOOL_LAVENDER,
- weight: '20% 增量蓝海',
- pains: '学业压力导致肠道紊乱 / 便秘腹胀 / 营养吸收差 / 服用便捷',
- product: '<strong>加量片剂</strong>(可含着 / 可嚼)',
- price: '¥78 / 90 片',
- pack: '半成熟风 + 功能说明清晰',
- channel: '线上直销 + 学校附近药店 + 家长微信群',
- voc: schoolVoc[0],
- },
- ];
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 分龄产品线`,
- title: '<span style="color:' + BRAND.JIANG_GREEN + ';">分龄产品线</span>·0-3 / 3-6 / 6-12 三 SKU 矩阵',
- subtitle: '不再"全年龄段通用"的模糊定位——<strong>3 个年龄段 × 3 个产品形态 × 3 套话术 × 3 种价格带</strong>。这是竞品(妈咪爱 / 合生元)没做到的精准分龄。',
- color: BRAND.JIANG_GREEN,
- })}
- <div class="grid" style="grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:24px;">
- ${ages.map((a) => `
- <div style="padding:22px 24px; background:var(--bg-1); border:1px solid var(--border); border-top:4px solid ${a.color}; border-radius:var(--radius-md);">
- <div style="margin-bottom:14px;">
- <div class="text-mono text-xs" style="color:${a.color}; letter-spacing:0.15em; font-weight:700;">AGE GROUP</div>
- <div style="color:var(--text-1); font-weight:800; font-size:1.18rem; margin-top:4px;">${esc(a.tag)}</div>
- <div style="color:${a.color}; font-size:0.82rem; font-family:var(--font-mono); margin-top:2px;">${esc(a.weight)}</div>
- </div>
- <div style="padding:12px 14px; background:${BRAND.CORAL}0A; border-left:3px solid ${BRAND.CORAL}; border-radius:4px; margin-bottom:10px;">
- <div class="text-mono text-xs" style="color:${BRAND.CORAL}; font-weight:700; margin-bottom:4px;">核心痛点</div>
- <div style="color:var(--text-1); font-size:0.82rem; line-height:1.55;">${esc(a.pains)}</div>
- </div>
- <div style="display:flex; flex-direction:column; gap:8px; margin-bottom:14px;">
- <div style="padding:9px 12px; background:${a.color}0C; border-radius:4px; display:flex; justify-content:space-between;">
- <span class="text-mono text-xs" style="color:${a.color}; font-weight:700;">产品形态</span>
- <span style="color:var(--text-1); font-size:0.82rem;">${a.product}</span>
- </div>
- <div style="padding:9px 12px; background:${a.color}0C; border-radius:4px; display:flex; justify-content:space-between;">
- <span class="text-mono text-xs" style="color:${a.color}; font-weight:700;">价格</span>
- <span style="color:var(--text-1); font-size:0.82rem; font-family:var(--font-mono); font-weight:700;">${esc(a.price)}</span>
- </div>
- <div style="padding:9px 12px; background:${a.color}0C; border-radius:4px; display:flex; justify-content:space-between;">
- <span class="text-mono text-xs" style="color:${a.color}; font-weight:700;">包装</span>
- <span style="color:var(--text-1); font-size:0.82rem;">${esc(a.pack)}</span>
- </div>
- <div style="padding:9px 12px; background:${a.color}0C; border-radius:4px; display:flex; justify-content:space-between;">
- <span class="text-mono text-xs" style="color:${a.color}; font-weight:700;">渠道</span>
- <span style="color:var(--text-1); font-size:0.82rem;">${esc(a.channel)}</span>
- </div>
- </div>
- ${a.voc ? C.renderVocCard(a.voc, { accent: a.color, compact: true, maxChars: 130 }) : '<div style="padding:10px; color:var(--text-3); font-size:0.8rem; background:var(--bg-2); border-radius:4px; text-align:center;">— 代表性 VOC 暂缺 —</div>'}
- </div>`).join('')}
- </div>
- <div class="fade-up" style="margin-top:28px;">
- ${C.renderInsightHero({
- eyebrow: 'ADVANTAGE · 分龄壁垒',
- color: BRAND.JIANG_GREEN,
- title: `妈咪爱 / 合生元都是<strong>"一个产品打天下"</strong>—— 忽略了 0-3 / 3-6 / 6-12 三段需求和心理的巨大差异。乳酸菌素片儿童版通过<strong style="color:${BRAND.LACTIC_MINT};">分龄产品线</strong>,可以在每个年龄段都做"精准适配",<strong>客单价和复购率都 +30%</strong>。`,
- subtitle: `分龄 = <strong>可同时做 3 个 SKU 爆款</strong>,而不是一个通用品在所有年龄段都打折扣。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>Year 1:学龄前 3-6 岁先上</strong>(3 亿盘 · 消费力最强 · 竞争空白)`,
- `<strong>Year 2:婴幼儿 0-3 岁扩展</strong>(拓展颗粒剂 × 切合生元/拜奥盘)`,
- `<strong>Year 3:学龄期 6-12 岁蓝海</strong>(加量片剂 × 市场几乎空白)`,
- `<strong>三 SKU 统一卡通 IP 家族</strong>(不同角色表情 × 分龄但系列化)`,
- ], { title: '落地决策 · 分龄产品路径', accent: BRAND.JIANG_GREEN, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 7.2 · 新赛道·告别瓶瓶罐罐
- // ==========================================================
- function renderSub7_2(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const nutritionVoc = LA.getEvidence(items, {
- contentMatch: /营养软糖|DHA|叶黄素|补钙|钙片|维生素|营养包|瓶瓶罐罐|吸收|补了/,
- minChars: 25, top: 5, seed: 7,
- });
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 新赛道切入`,
- title: '<span style="color:' + BRAND.BERRY_PINK + ';">告别瓶瓶罐罐</span>·切入 100 亿儿童营养软糖市场',
- subtitle: '家长"追着喂十几种营养软糖"的焦虑 = 乳酸菌素片<strong>内源调理肠道吸收</strong>的<strong>历史级机会</strong>。不拼外源补充,拼吸收源头。',
- color: BRAND.BERRY_PINK,
- })}
- ${C.renderStatStrip([
- { num: '100亿+', label: '儿童营养软糖赛道', color: BRAND.BERRY_PINK },
- { num: '76%', label: '年增速', color: BRAND.SUNNY_YELLOW, delta: '营养软糖' },
- { num: '200%', label: '营养包线上复合增长率', color: BRAND.CORAL },
- { num: '65.4%', label: '父母愿意为健康支付溢价', color: BRAND.JIANG_GREEN },
- { num: '10%', label: '市场切分目标', color: BRAND.LACTIC_MINT, delta: '= 10 亿' },
- ], { accent: BRAND.BERRY_PINK })}
- <div class="grid" style="grid-template-columns:1.2fr 1fr; gap:24px; margin-top:24px;">
- <div>
- <div class="text-mono text-xs" style="color:${BRAND.BERRY_PINK}; letter-spacing:0.18em; margin-bottom:14px; font-weight:700;">VOC · 家长的"营养焦虑"真实原声</div>
- <div style="display:flex; flex-direction:column; gap:12px;">
- ${nutritionVoc.slice(0, 4).map((it) => C.renderVocCard(it, { accent: BRAND.BERRY_PINK, compact: true, maxChars: 180 })).join('')}
- </div>
- <div style="margin-top:18px; padding:18px 22px; background:${BRAND.BERRY_PINK}08; border-left:3px solid ${BRAND.BERRY_PINK}; border-radius:var(--radius-md);">
- <div class="text-mono text-xs" style="color:${BRAND.BERRY_PINK}; letter-spacing:0.15em; margin-bottom:10px; font-weight:700;">价值主张 · "1 片替代十几种营养糖"</div>
- <div style="color:var(--text-1); font-size:0.92rem; line-height:1.8;">
- <strong>家长核心焦虑</strong>:孩子要补钙、DHA、叶黄素、维生素等十几种营养 → 每天追着喂十几种瓶瓶罐罐 → 孩子抗拒 + 家长心累<br/><br/>
- <strong style="color:${BRAND.LACTIC_MINT};">乳酸菌素片价值主张</strong>:<strong>修复肠道黏膜 · 调节菌群 · 提升肠道自身吸收能力</strong> → 让孩子从日常饮食中就吸收足够营养 → <strong>"1 片调肠道,告别十几种营养糖"</strong>
- </div>
- </div>
- </div>
- <div>
- ${C.renderTheoryBox({
- theory: '对比策略 · 内源调理 vs 外源补充',
- accent: BRAND.LACTIC_MINT,
- mapping: `
- <table style="width:100%; border-collapse:collapse; font-size:0.85rem;">
- <thead>
- <tr style="border-bottom:2px solid ${BRAND.LACTIC_MINT}33;">
- <th style="text-align:left; padding:8px 6px; color:var(--text-3); font-weight:700; font-size:0.78rem;">维度</th>
- <th style="text-align:center; padding:8px 6px; color:${BRAND.BERRY_PINK}; font-weight:700; font-size:0.78rem;">营养软糖</th>
- <th style="text-align:center; padding:8px 6px; color:${BRAND.LACTIC_MINT}; font-weight:700; font-size:0.78rem;">乳酸菌素片</th>
- </tr>
- </thead>
- <tbody>
- <tr style="border-bottom:1px solid var(--border);"><td style="padding:7px 6px; color:var(--text-2);">核心逻辑</td><td style="text-align:center; padding:7px 6px;">外源补充</td><td style="text-align:center; padding:7px 6px; color:${BRAND.LACTIC_MINT}; font-weight:600;">内源调理</td></tr>
- <tr style="border-bottom:1px solid var(--border);"><td style="padding:7px 6px; color:var(--text-2);">吸收依赖</td><td style="text-align:center; padding:7px 6px; color:${BRAND.CORAL};">肠道好不好</td><td style="text-align:center; padding:7px 6px; color:${BRAND.LACTIC_MINT}; font-weight:600;">自己修复肠道</td></tr>
- <tr style="border-bottom:1px solid var(--border);"><td style="padding:7px 6px; color:var(--text-2);">糖分</td><td style="text-align:center; padding:7px 6px; color:${BRAND.CORAL};">含糖</td><td style="text-align:center; padding:7px 6px; color:${BRAND.LACTIC_MINT}; font-weight:600;">无糖可选</td></tr>
- <tr style="border-bottom:1px solid var(--border);"><td style="padding:7px 6px; color:var(--text-2);">背书</td><td style="text-align:center; padding:7px 6px; color:${BRAND.CORAL};">普通食品</td><td style="text-align:center; padding:7px 6px; color:${BRAND.LACTIC_MINT}; font-weight:600;">OTC 药品</td></tr>
- <tr style="border-bottom:1px solid var(--border);"><td style="padding:7px 6px; color:var(--text-2);">月消费</td><td style="text-align:center; padding:7px 6px;">¥200+</td><td style="text-align:center; padding:7px 6px; color:${BRAND.LACTIC_MINT}; font-weight:600;">¥58-128</td></tr>
- <tr><td style="padding:7px 6px; color:var(--text-2);">场景</td><td style="text-align:center; padding:7px 6px; color:${BRAND.CORAL};">不解决问题</td><td style="text-align:center; padding:7px 6px; color:${BRAND.LACTIC_MINT}; font-weight:600;">全场景</td></tr>
- </tbody>
- </table>
- `,
- })}
- <div style="margin-top:18px;">
- ${C.renderFindingCard({
- icon: '🎯',
- title: '关键话术:4 个场景替换',
- accent: BRAND.LACTIC_MINT,
- body: `不是"我们比软糖好",而是"<strong>让软糖不再必要</strong>":<br/>
- ① 不吃钙软糖 → <strong>肠道能吸收饮食中的钙</strong><br/>
- ② 不吃 DHA 软糖 → <strong>内源合成足够 DHA 前体</strong><br/>
- ③ 不吃维生素软糖 → <strong>肠道菌群合成维生素</strong><br/>
- ④ 不吃叶黄素 → <strong>健康肠道提升营养利用率</strong>`,
- })}
- </div>
- </div>
- </div>
- ${C.renderDecisionList([
- `<strong>营销核心话术</strong>:<em>"调肠道,促吸收,告别瓶瓶罐罐"</em>`,
- `<strong>科普内容主题</strong>:与儿科医生 + 营养师合作"肠道才是营养吸收的关键"`,
- `<strong>跨界联合</strong>:与儿童奶粉 / 辅食 / 牛奶品牌合作"好营养,先要好吸收"`,
- `<strong>目标:切 10%</strong> → 100 亿 × 10% = 10 亿基本盘`,
- ], { title: '落地决策 · 营养软糖赛道切入', accent: BRAND.BERRY_PINK, columns: 2 })}
- </div>
- </section>`;
- }
- // ==========================================================
- // 7.3 · 新包装·卡通 IP × 咀嚼片革命
- // ==========================================================
- function renderSub7_3(ctx) {
- const { chapter: c, subIdx, sub, slideNum, slideTotal, data } = ctx;
- const items = data.items || [];
- const packVoc = LA.getEvidence(items, {
- contentMatch: /包装|卡通|IP|颜值|独立|一次一|分龄|好看/,
- minChars: 20, top: 4, seed: 7,
- });
- return `<section class="report-section" id="${c.key}-${subIdx}" data-tone="${c.tone}" data-slide-num="${slideNum}/${slideTotal}">
- <div class="section-inner">
- ${C.renderSectionHead({
- eyebrow: `${c.num}.${subIdx} · 包装革命`,
- title: '<span style="color:' + BRAND.SUNNY_YELLOW + ';">卡通 IP × 咀嚼片</span>·包装革命解决依从性',
- subtitle: '90/95 后妈妈是<strong>颜值决策 + 孩子好感双引擎</strong>。包装不是花瓶,是<strong>解决喂药依从性</strong>的核心落地 — 孩子爱吃 = 家长复购 = 粘性壁垒。',
- color: BRAND.SUNNY_YELLOW,
- })}
- <div class="grid" style="grid-template-columns:1fr 1fr 1fr; gap:18px; margin-top:24px;">
- <div style="padding:20px 22px; background:${BRAND.SUNNY_YELLOW}08; border:1px solid ${BRAND.SUNNY_YELLOW}33; border-radius:var(--radius-md); border-top:4px solid ${BRAND.SUNNY_YELLOW};">
- <div class="text-mono text-xs" style="color:${BRAND.SUNNY_YELLOW}; letter-spacing:0.15em; font-weight:700; margin-bottom:8px;">🎨 视觉系统</div>
- <div style="color:var(--text-1); font-weight:800; font-size:1.08rem; margin-bottom:10px;">全维度儿童化</div>
- <div style="color:var(--text-2); font-size:0.84rem; line-height:1.7;">
- · 去掉药盒感<br/>
- · 荷叶绿 + 奶油米色基调<br/>
- · 卡通 IP 吉祥物<br/>
- · 年龄配色分层<br/>
- · OTC 蓝帽显眼 + 国药准字可查<br/>
- · 儿童友好但不幼稚
- </div>
- </div>
- <div style="padding:20px 22px; background:${BRAND.BERRY_PINK}08; border:1px solid ${BRAND.BERRY_PINK}33; border-radius:var(--radius-md); border-top:4px solid ${BRAND.BERRY_PINK};">
- <div class="text-mono text-xs" style="color:${BRAND.BERRY_PINK}; letter-spacing:0.15em; font-weight:700; margin-bottom:8px;">📦 独立包装</div>
- <div style="color:var(--text-1); font-weight:800; font-size:1.08rem; margin-bottom:10px;">一次一板</div>
- <div style="color:var(--text-2); font-size:0.84rem; line-height:1.7;">
- · 每板 2 片(早晚各 1)<br/>
- · 幼儿园 / 旅行方便带<br/>
- · 卫生 + 剂量精准<br/>
- · 印生产日期 + 分龄<br/>
- · 铝膜防潮保质期长<br/>
- · 比瓶装溢价 30% 也愿买
- </div>
- </div>
- <div style="padding:20px 22px; background:${BRAND.LACTIC_MINT}08; border:1px solid ${BRAND.LACTIC_MINT}33; border-radius:var(--radius-md); border-top:4px solid ${BRAND.LACTIC_MINT};">
- <div class="text-mono text-xs" style="color:${BRAND.LACTIC_MINT}; letter-spacing:0.15em; font-weight:700; margin-bottom:8px;">🍬 咀嚼片剂型</div>
- <div style="color:var(--text-1); font-weight:800; font-size:1.08rem; margin-bottom:10px;">水果味 3 款</div>
- <div style="color:var(--text-2); font-size:0.84rem; line-height:1.7;">
- · 草莓味(学龄前首选)<br/>
- · 酸奶味(3-6 岁最爱)<br/>
- · 橙子味(学龄期不腻)<br/>
- · 无糖配方(木糖醇)<br/>
- · 不含防腐剂 / 香精 / 色素<br/>
- · "像奶片甜甜的很好吃" ♥748
- </div>
- </div>
- </div>
- <div class="fade-up" style="margin-top:28px;">
- ${C.renderInsightHero({
- eyebrow: 'IP COLLABORATION · IP 联名路径',
- color: BRAND.BERRY_PINK,
- title: `分龄 IP 联名是<strong>可持续的包装心智</strong>——不同年龄段的 IP 调性不同:<br/>
- <strong style="color:${BRAND.BABY_PEACH};">婴幼儿</strong>(0-3 岁)→ 小熊软糖家族 / 宝宝巴士<br/>
- <strong style="color:${BRAND.PRESCHOOL_LIME};">学龄前</strong>(3-6 岁)→ 小猪佩奇 / 超级飞侠 / 咕力咕力<br/>
- <strong style="color:${BRAND.SCHOOL_LAVENDER};">学龄期</strong>(6-12 岁)→ 喜羊羊 / 奥特曼 / 叶罗丽`,
- subtitle: `IP 联名每年更换 = <strong>可持续的社交货币</strong> + 孩子之间的"这次你有吗"收藏心理。`,
- })}
- </div>
- ${C.renderDecisionList([
- `<strong>P0 视觉规范</strong>:去药盒化 + 全维度儿童化 + OTC 蓝帽必留`,
- `<strong>P0 剂型升级</strong>:水果味 3 款咀嚼片 · 无糖配方 · 无添加`,
- `<strong>P1 独立板装</strong>:每板 2 片 · 幼儿园/出行便携 · 日期可见`,
- `<strong>P2 IP 联名</strong>:Y1 小猪佩奇 / Y2 奥特曼 / Y3 喜羊羊(与成长轨迹匹配)`,
- ], { title: '落地决策 · 包装革命 4 条铁律', accent: BRAND.SUNNY_YELLOW, columns: 2 })}
- </div>
- </section>`;
- }
- module.exports = {
- 'opportunity-1': renderSub7_1,
- 'opportunity-2': renderSub7_2,
- 'opportunity-3': renderSub7_3,
- };
|