skills/skills.netease.im/upsell-analysis

upsell-analysis

SKILL.md

增购场景分析与推荐方案

为 TO B SaaS 的销售、售前、客户成功人员提供基于解决方案的增购场景挖掘和方案编写能力。

核心定位

在需求分析与解决方案(requirement-analysis skill)的产出基础上,进一步识别客户尚未覆盖的业务场景,锚定可增购的产品模块/功能/服务,输出结构化的增购推荐方案。

与 requirement-analysis 的关系:

  • requirement-analysis 解决「客户需要什么 → 方案是什么」
  • upsell-analysis 解决「方案落地后 → 还能买什么」

核心流程

Step 1: 收集输入材料

与用户确认以下必要输入(缺一不可,不足时主动追问):

  1. 已有解决方案或需求分析文档 — 当前客户已采购/已规划的方案内容(可以是 requirement-analysis 输出的 HTML 文档、Word 文档、或口头描述)
  2. 产品说明文档 — 本公司完整的产品能力/模块/SKU 说明文档(增购内容的分析基础)
  3. 客户背景 — 客户行业、规模、当前使用情况、合同周期等

可选输入(有则更好):

  • 客户近期业务变化或战略方向
  • 客户反馈/工单/投诉数据
  • 竞品使用情况
  • 历史采购记录

交互策略:

  • 首次交互时一次性说明所需材料清单
  • 如用户已提供 requirement-analysis 的输出文档,直接读取解析,不重复追问已有信息
  • 追问不超过 2 轮

Step 2: 解析现有方案与产品能力

2.1 解析已有方案

从用户提供的解决方案/需求分析文档中提取:

  • 客户已覆盖的业务场景清单
  • 已采购/已规划的产品模块
  • 已识别但标记为"暂不实施"或"二期规划"的需求
  • 方案中提到的系统局限或风险点

2.2 解析产品能力

从产品说明文档中提取:

  • 完整产品模块/功能列表
  • 各模块的核心价值和适用场景
  • 模块间的依赖和协同关系
  • 定价或分级信息(如有)

2.3 构建差异矩阵

将「客户已有」与「产品全量能力」进行比对,生成差异矩阵:

产品模块 客户是否已有 与现有方案的关联度 增购潜力评级
模块 A ✅ 已采购
模块 B ❌ 未采购 ⭐⭐⭐
模块 C 🔶 部分使用 ⭐⭐

Step 3: 增购场景识别与分析

基于差异矩阵,从以下维度挖掘增购场景:

3.1 场景识别维度

  1. 方案延伸型 — 现有方案的自然扩展(如:已有客服系统 → 增购智能质检)
  2. 痛点补充型 — 解决方案中标记的未覆盖痛点(如:方案提到"人工质检效率低"但未规划质检模块)
  3. 能力升级型 — 现有模块的高级版本或增值功能(如:基础版 → 专业版)
  4. 场景协同型 — 与已有模块产生协同效应的新模块(如:已有工单系统 → 增购知识库提升一次解决率)
  5. 趋势驱动型 — 行业趋势推动的新需求(可适当发散,但需有据可循)

3.2 每个增购场景需包含

  • 场景名称 — 简明的增购场景描述
  • 增购产品/模块 — 具体的可购买产品或功能
  • 业务价值 — 该增购为客户带来的具体业务价值
  • 与现有方案的关联 — 如何与已采购方案产生协同
  • 客户痛点锚定 — 该增购解决客户的什么具体问题
  • 推荐优先级 — P0(强烈推荐)/ P1(建议采购)/ P2(可选增值)
  • 预期 ROI — 定性或定量的投资回报预期
  • 落地路径 — 简要的实施步骤或时间建议

3.3 分析约束

  • 必须基于产品说明文档:所有增购推荐的产品/模块必须在产品文档中有据可查
  • 可适当发散:基于产品能力的组合应用或场景化包装可以创造性发挥,但不能凭空捏造产品功能
  • 不可过度承诺:如产品文档中某功能标注为"即将上线"或"Beta",需在方案中明确标注状态
  • 关联性优先:与现有方案关联度高的增购场景排在前面

Step 3.5: 生成前确认(Gate Check)

在正式生成报告之前,暂停并向用户做一次完整确认。

📋 增购方案生成前确认

一、已解析的现有方案摘要
- 客户名称:[名称]
- 已覆盖场景:[X 个,列出核心场景]
- 已采购模块:[列出]

二、产品能力分析
- 产品文档涵盖模块:[X 个]
- 客户未采购模块:[X 个]

三、识别的增购场景
- 共识别 [X] 个增购场景
- 按优先级分布:P0(X 项)、P1(X 项)、P2(X 项)
- Top 3 增购推荐:
  1. [场景名称] — [一句话说明]
  2. [场景名称] — [一句话说明]
  3. [场景名称] — [一句话说明]

四、方案编写计划
- 文档结构:[列出章节]
- 重点展开的增购场景:[列出]

⚡ 以上信息是否准确?有需要补充或调整的地方吗?
确认后我将开始生成完整的增购方案文档。

交互规则:

  • 用户确认后才进入 Step 4
  • 如用户调整,更新后重新确认

Step 4: 编写增购推荐方案

基于确认后的分析结果,编写结构化的增购方案文档:

方案文档结构:

1. 方案概述
   1.1 客户现状回顾
   1.2 增购分析目标
   1.3 分析方法论

2. 现有方案回顾
   2.1 已覆盖业务场景
   2.2 已采购产品模块
   2.3 当前方案的边界与留白

3. 增购机会全景
   3.1 差异矩阵总览
   3.2 增购场景优先级矩阵(价值 × 实施难度)
   3.3 核心数据指标

4. 重点增购场景详解
   4.1 场景一:[名称]
       - 业务背景与痛点
       - 推荐产品/模块
       - 解决方案概要
       - 与现有方案的协同效应
       - 预期价值与 ROI
   4.2 场景二:[名称]
       ...(逐个展开)

5. 增购路径规划
   5.1 推荐采购顺序
   5.2 分阶段实施建议
   5.3 投资回报预估

6. 附录
   6.1 完整差异矩阵
   6.2 产品模块速查

Step 5: 输出 HTML 文档

将方案输出为美观、可直接用于客户沟通的 HTML 文件。

HTML 文档要求:

整体复用 requirement-analysis 的 HTML 布局框架(左侧导航 + 右侧正文),但在视觉组件上增加增购场景特有的组件:

复用的组件(来自 requirement-analysis):

  • 左侧固定导航 + 滚动高亮
  • 封面卡片
  • 统计卡片网格(stat-grid)
  • 表格(圆角 + 渐变表头)
  • 状态标签(tag)
  • 提示块(callout)
  • 编辑提示 + contenteditable
  • 打印优化

新增/改造的组件:

  • 增购场景卡片.upsell-card):在 scene-card 基础上增加优先级角标、ROI 指标、关联度标签
  • 优先级矩阵图.priority-matrix):2×2 矩阵展示价值 vs 实施难度
  • 采购路径时间线.purchase-timeline):替代 phase-bar,展示推荐的分阶段采购节奏
  • 协同效应图.synergy-map):展示新增模块与已有模块的关联关系
  • ROI 对比卡片.roi-card):投资回报预估卡片

新增 CSS 样式规范:

/* === 增购场景卡片 === */
.upsell-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin: 20px 0;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  position: relative;
}
.upsell-card .priority-badge {
  position: absolute;
  top: 12px; right: 12px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
}
.priority-badge.p0 { background: #ffebee; color: #c62828; }
.priority-badge.p1 { background: #fff3e0; color: #e65100; }
.priority-badge.p2 { background: #e8f5e9; color: #2e7d32; }

.upsell-card .upsell-header {
  background: linear-gradient(135deg, #f8f9fb, #f0f2f5);
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
}
.upsell-card .upsell-header h4 {
  margin: 0; border: none; padding: 0;
  font-size: 17px; color: var(--text);
}
.upsell-card .upsell-header .upsell-subtitle {
  font-size: 13px; color: var(--text-light); margin-top: 4px;
}
.upsell-card .upsell-body { padding: 20px 24px; }
.upsell-card .upsell-metrics {
  display: flex; gap: 24px; margin-bottom: 16px;
}
.upsell-card .metric-item {
  text-align: center;
}
.upsell-card .metric-item .metric-value {
  font-size: 24px; font-weight: 700; color: var(--brand);
}
.upsell-card .metric-item .metric-label {
  font-size: 12px; color: var(--text-light); margin-top: 2px;
}

/* === 优先级矩阵 === */
.priority-matrix {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2px;
  margin: 24px 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--border);
}
.priority-matrix .matrix-cell {
  background: var(--white);
  padding: 20px;
  min-height: 120px;
}
.priority-matrix .matrix-cell.high-value-easy {
  background: #e8f5e9;
}
.priority-matrix .matrix-cell.high-value-hard {
  background: #fff8e1;
}
.priority-matrix .matrix-cell.low-value-easy {
  background: #f3f4f6;
}
.priority-matrix .matrix-cell.low-value-hard {
  background: #fafafa;
}
.matrix-cell .cell-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; margin-bottom: 10px; color: #888;
}

/* === 采购路径时间线 === */
.purchase-timeline {
  position: relative;
  padding: 20px 0 20px 40px;
  margin: 24px 0;
}
.purchase-timeline::before {
  content: '';
  position: absolute;
  left: 15px; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--brand), var(--brand-light));
  border-radius: 3px;
}
.timeline-item {
  position: relative;
  margin-bottom: 24px;
  padding: 16px 20px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
}
.timeline-item::before {
  content: '';
  position: absolute;
  left: -33px; top: 20px;
  width: 12px; height: 12px;
  background: var(--brand);
  border: 3px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--brand);
}
.timeline-item .timeline-phase {
  font-size: 12px; font-weight: 700; color: var(--brand);
  text-transform: uppercase; letter-spacing: 1px;
}
.timeline-item .timeline-title {
  font-size: 16px; font-weight: 600; margin: 4px 0;
}
.timeline-item .timeline-desc {
  font-size: 14px; color: #666;
}

/* === 协同效应标签 === */
.synergy-tag {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  background: #e3f2fd;
  color: #1565c0;
  margin: 2px 4px 2px 0;
}

/* === ROI 对比卡片 === */
.roi-card {
  background: linear-gradient(135deg, var(--brand-dark), var(--brand));
  color: #fff;
  border-radius: 12px;
  padding: 24px;
  margin: 20px 0;
}
.roi-card .roi-title {
  font-size: 14px; opacity: 0.8; margin-bottom: 8px;
}
.roi-card .roi-value {
  font-size: 36px; font-weight: 700;
}
.roi-card .roi-desc {
  font-size: 13px; opacity: 0.7; margin-top: 8px;
}

品牌色适配: 与 requirement-analysis 相同,通过 :root CSS 变量控制。

参考 HTML 基础模板结构见 html-template.md

文件输出:

  • 保存到用户工作目录
  • 所有样式和 JS 内联在单个 HTML 文件中,无外部依赖

分析约束(重要)

  1. 产品文档是锚点:所有增购推荐必须能在产品说明文档中找到对应的模块/功能/服务
  2. 可适当发散:允许基于产品能力的组合应用提出创新场景包装,但核心功能必须有文档支撑
  3. 不能凭空造功能:如果产品文档中没有某个功能,不能将其作为增购项推荐
  4. 标注不确定性:对于产品文档中描述模糊的功能,用 ⚠️ 需确认 标签标注
  5. 客户视角优先:所有推荐从客户业务价值出发,而非产品功能堆砌

联网搜索

在分析阶段,主动搜索补充:

  • 客户所在行业的增购/续约最佳实践
  • 类似客户的成功案例(脱敏引用)
  • 行业趋势驱动的新需求场景

搜索信息需注明来源。

输出语言

固定使用简体中文。

Skill 协作

根据实际需要,可调用以下能力:

  • requirement-analysis — 如需先完成需求分析再做增购分析
  • web-search / browser — 联网搜索行业信息
  • data-analysis — 若用户提供了需要分析的客户使用数据
  • xlsx — 若涉及数据表格处理
Installs
1
First Seen
13 days ago