upsell-analysis
SKILL.md
增购场景分析与推荐方案
为 TO B SaaS 的销售、售前、客户成功人员提供基于解决方案的增购场景挖掘和方案编写能力。
核心定位
在需求分析与解决方案(requirement-analysis skill)的产出基础上,进一步识别客户尚未覆盖的业务场景,锚定可增购的产品模块/功能/服务,输出结构化的增购推荐方案。
与 requirement-analysis 的关系:
- requirement-analysis 解决「客户需要什么 → 方案是什么」
- upsell-analysis 解决「方案落地后 → 还能买什么」
核心流程
Step 1: 收集输入材料
与用户确认以下必要输入(缺一不可,不足时主动追问):
- 已有解决方案或需求分析文档 — 当前客户已采购/已规划的方案内容(可以是 requirement-analysis 输出的 HTML 文档、Word 文档、或口头描述)
- 产品说明文档 — 本公司完整的产品能力/模块/SKU 说明文档(增购内容的分析基础)
- 客户背景 — 客户行业、规模、当前使用情况、合同周期等
可选输入(有则更好):
- 客户近期业务变化或战略方向
- 客户反馈/工单/投诉数据
- 竞品使用情况
- 历史采购记录
交互策略:
- 首次交互时一次性说明所需材料清单
- 如用户已提供 requirement-analysis 的输出文档,直接读取解析,不重复追问已有信息
- 追问不超过 2 轮
Step 2: 解析现有方案与产品能力
2.1 解析已有方案
从用户提供的解决方案/需求分析文档中提取:
- 客户已覆盖的业务场景清单
- 已采购/已规划的产品模块
- 已识别但标记为"暂不实施"或"二期规划"的需求
- 方案中提到的系统局限或风险点
2.2 解析产品能力
从产品说明文档中提取:
- 完整产品模块/功能列表
- 各模块的核心价值和适用场景
- 模块间的依赖和协同关系
- 定价或分级信息(如有)
2.3 构建差异矩阵
将「客户已有」与「产品全量能力」进行比对,生成差异矩阵:
| 产品模块 | 客户是否已有 | 与现有方案的关联度 | 增购潜力评级 |
|---|---|---|---|
| 模块 A | ✅ 已采购 | — | — |
| 模块 B | ❌ 未采购 | 高 | ⭐⭐⭐ |
| 模块 C | 🔶 部分使用 | 中 | ⭐⭐ |
Step 3: 增购场景识别与分析
基于差异矩阵,从以下维度挖掘增购场景:
3.1 场景识别维度
- 方案延伸型 — 现有方案的自然扩展(如:已有客服系统 → 增购智能质检)
- 痛点补充型 — 解决方案中标记的未覆盖痛点(如:方案提到"人工质检效率低"但未规划质检模块)
- 能力升级型 — 现有模块的高级版本或增值功能(如:基础版 → 专业版)
- 场景协同型 — 与已有模块产生协同效应的新模块(如:已有工单系统 → 增购知识库提升一次解决率)
- 趋势驱动型 — 行业趋势推动的新需求(可适当发散,但需有据可循)
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 文件中,无外部依赖
分析约束(重要)
- 产品文档是锚点:所有增购推荐必须能在产品说明文档中找到对应的模块/功能/服务
- 可适当发散:允许基于产品能力的组合应用提出创新场景包装,但核心功能必须有文档支撑
- 不能凭空造功能:如果产品文档中没有某个功能,不能将其作为增购项推荐
- 标注不确定性:对于产品文档中描述模糊的功能,用
⚠️ 需确认标签标注 - 客户视角优先:所有推荐从客户业务价值出发,而非产品功能堆砌
联网搜索
在分析阶段,主动搜索补充:
- 客户所在行业的增购/续约最佳实践
- 类似客户的成功案例(脱敏引用)
- 行业趋势驱动的新需求场景
搜索信息需注明来源。
输出语言
固定使用简体中文。
Skill 协作
根据实际需要,可调用以下能力:
- requirement-analysis — 如需先完成需求分析再做增购分析
- web-search / browser — 联网搜索行业信息
- data-analysis — 若用户提供了需要分析的客户使用数据
- xlsx — 若涉及数据表格处理