版本:v1.0
创建日期:2026-02-12
产品经理:待定
技术负责人:待定
外贸业务员每天收到大量询盘邮件,需要快速判断哪些值得跟进、如何跟进。现有系统存在以下问题:
"10秒告诉你值不值得跟进,3分钟帮你准备好跟进弹药"
一个以行动为导向的线索价值判断与跟进准备系统,通过三层漏斗(信息提取 → 快速研判 → 深度调研)帮助业务员高效处理询盘。
| 目标 | 指标 |
|---|---|
| 提升效率 | 单封邮件处理时间从 5-10 分钟降至 1-3 分钟 |
| 提升准确度 | 线索价值判断准确率 ≥ 85%(与业务员直觉一致) |
| 提升转化率 | S/A 级线索跟进率 ≥ 90%,B 级线索跟进率 ≥ 50% |
将非结构化邮件自动解析为结构化数据,提取关键信息。
| 维度 | 提取规则 | 数据格式 | 优先级 |
|---|---|---|---|
| 联系人 | 签名块解析(姓名 + 职位) | { name: string, title: string } |
P0 |
| 公司名 | 签名块 + 邮箱域名推断 | string |
P0 |
| 邮箱 | From 字段 | string |
P0 |
| 邮箱域名 | @ 后缀提取 | string |
P0 |
| 国家 | 签名块地址 + 域名后缀推断 | string |
P0 |
| 产品需求 | 正文 + 附件 NLP 提取 | Array<{ product: string, quantity: number, unit: string }> |
P0 |
| 数量级 | 数字提取 + 单位识别 | { total: number, unit: string } |
P0 |
| 认证要求 | 关键词匹配(FDA/CE/ISO/OSHA等) | Array<string> |
P0 |
| 贸易术语 | 关键词匹配(FOB/CIF/DDP等) | Array<string> |
P1 |
| 紧迫性信号 | 截止日期提取 + 催促语气识别 | { hasDeadline: boolean, deadline?: Date, urgencyLevel: 'high'\|'medium'\|'low' } |
P0 |
| 附件清单 | 文件名 + 类型 + 大小 | Array<{ name: string, type: string, size: number, isImportant: boolean }> |
P0 |
特殊标注规则:
isImportant: trueinterface EmailExtractionResult {
emailId: string; // 邮件唯一ID
extractedAt: string; // 提取时间
source: 'eml_file' | 'manual' | 'api';
// 基础信息
contact: {
name: string;
title?: string;
email: string;
phone?: string;
address?: string;
};
company: {
name: string;
domain?: string;
country?: string;
};
// 需求信息
productRequirements: Array<{
product: string; // 产品名称/描述
quantity: number; // 数量
unit: string; // 单位(units/year, pieces, etc.)
specifications?: string[]; // 规格要求
}>;
certifications: string[]; // 认证要求
tradeTerms: string[]; // 贸易术语
// 紧迫性
urgency: {
hasDeadline: boolean;
deadline?: string; // ISO 8601
urgencyLevel: 'high' | 'medium' | 'low';
urgencySignals: string[]; // 催促性语言片段
};
// 附件
attachments: Array<{
name: string;
type: string;
size: number;
isImportant: boolean; // 是否为公司资料/需求文档
}>;
// 原始内容(保留)
originalEmail: {
subject: string;
body: string; // 纯文本
htmlBody?: string; // HTML(如有)
from: string;
to: string[];
cc?: string[];
date: string;
};
// 元数据
metadata: {
hasSignature: boolean; // 是否有完整签名块
hasAttachments: boolean;
ccCount: number; // 抄送人数
mentionsTradeShow?: string; // 提到的展会
};
}
基于五维评分体系,10 秒内给出线索价值判断和行动建议。
维度一:需求明确度(Demand Clarity)
| 信号 | 得分 | 检测规则 |
|---|---|---|
| 提到具体产品名 | +20 | NLP 识别产品关键词(IFAK, cabinet, refill 等) |
| 有明确数量 | +25 | 数字 + 单位(如 "5,000 units/year") |
| 有规格要求 | +15 | 关键词(MOLLE, MARCH-P, custom, etc.) |
| 有认证要求 | +10 | 认证关键词(FDA, CE, ISO, OSHA 等) |
| 询问价格/MOQ/交期 | +15 | 关键词(pricing, MOQ, lead time, FOB, etc.) |
| 只说"send catalog" | +5 | 仅包含 "catalog" / "brochure" 等 |
| 无任何具体需求 | 0 | 以上均无 |
维度二:可信度(Credibility)
| 信号 | 得分 | 检测规则 |
|---|---|---|
| 企业域名邮箱 | +15 | 域名非 gmail/hotmail/yahoo 等免费邮箱 |
| 免费邮箱 | -10 | gmail/hotmail/yahoo/outlook 等 |
| 完整签名块 | +20 | 包含职位 + 电话 + 地址 |
| 有附件(公司资料) | +20 | 附件文件名包含 "Company Profile" / "Profile" |
| 有附件(需求文档) | +15 | 附件文件名包含 "Requirements" / "Spec" / "Tender" |
| 有抄送 | +10 | CC 字段非空 |
| 提到展会/面谈 | +15 | 关键词(trade show, expo, meeting, conversation) |
| 无附件+无签名+模糊 | 0 | 以上均无 |
维度三:商业规模(Business Scale)
| 信号 | 得分 | 检测规则 |
|---|---|---|
| 提到公司规模/营收 | +20 | 数字 + 单位(如 "$45M revenue", "200 employees") |
| 提到下游客户数量 | +15 | 数字 + 客户类型(如 "120 hospitals") |
| 年采购量 > $100K | +25 | 基于产品需求 × 我方单价计算 |
| 年采购量 $30K-$100K | +15 | 同上 |
| 年采购量 < $30K | +5 | 同上 |
| 无法判断规模 | 0 | 无相关信号 |
维度四:供需匹配(Product Fit)
| 信号 | 得分 | 检测规则 |
|---|---|---|
| 提到的产品我方有对应 SKU | +25/匹配项 | 产品关键词匹配我方产品库 |
| 认证要求我方可满足 | +15 | 认证列表匹配我方认证库 |
| 需要定制但我方有能力 | +10 | 关键词(OEM, custom, private label)且我方支持 |
| 产品完全不匹配 | -20 | 无任何匹配 |
维度五:紧迫度(Urgency)
| 信号 | 得分 | 检测规则 |
|---|---|---|
| 有明确截止日期 | +30 | 日期提取(如 "March 15, 2026") |
| 催促性语言 | +15 | 关键词(ASAP, urgent, prompt, immediate) |
| 提到正在比价/选供应商 | +10 | 关键词(looking for, selecting, comparing) |
| 提到长期合作/代理 | +5 | 关键词(long-term, distributor, agent) |
| 无紧迫信号 | 0 | 以上均无 |
// 权重配置
const WEIGHTS = {
demandClarity: 0.25,
credibility: 0.25,
businessScale: 0.20,
productFit: 0.15,
urgency: 0.15
};
// 总分计算
const totalScore =
demandClarity * WEIGHTS.demandClarity +
credibility * WEIGHTS.credibility +
businessScale * WEIGHTS.businessScale +
productFit * WEIGHTS.productFit +
urgency * WEIGHTS.urgency;
// 等级判定
function getGrade(totalScore: number, credibility: number, demandClarity: number): 'S' | 'A' | 'B' | 'C' {
if (totalScore >= 80 && credibility >= 60) return 'S';
if (totalScore >= 60 && demandClarity >= 40) return 'A';
if (totalScore >= 35) return 'B';
return 'C';
}
等级定义:
识别逻辑(不再只看关键词,综合考虑邮件结构特征):
| 画像 | 核心识别逻辑 | 置信度阈值 |
|---|---|---|
| P1 医药分销商 | 企业邮箱 + ("distributor"/"wholesale") + (FDA/ISO需求) + 有具体SKU级需求 | ≥ 70% |
| P2 工业安全供应商 | (OSHA/ANSI) + (壁挂箱/急救站需求) + 企业客户导向 | ≥ 70% |
| P3 政府/机构采购 | (标书编号/招标通知) + ("tender"/"procurement"/"lot") + 有截止日期 | ≥ 80% |
| P4 品牌OEM客户 | ("OEM"/"private label"/"custom branding") + 有品牌设计要求 + 关注打样 | ≥ 70% |
| P5 电商/零售商 | (Amazon/Shopify/FBA) + 关注单品利润率 + 小批量 | ≥ 70% |
| P6 低质量/无效 | 免费邮箱 + 无具体需求 + 无附件 + 模糊语言 | ≥ 60% |
画像判断依据(展示给业务员):
匹配逻辑:
预估采购额计算:
estimatedAnnualValue = sum(
productRequirements.map(req =>
req.quantity * matchedProduct.wholesalePrice
)
);
UI 组件结构:
┌─────────────────────────────────────────────────────┐
│ [公司Logo/图标] 公司名 [国旗] 国家 │
│ ─────────────────────────────────────────────────── │
│ [画像标签] [等级标签] [行动标签] │
│ │
│ 📦 需求摘要 │
│ · 产品1 × 数量1 │
│ · 产品2 × 数量2 │
│ 💰 预估年采购额:$XXX,XXX │
│ │
│ ✅ 可信度:[高/中/低] │
│ · 企业邮箱 · 完整签名块 · X份附件(含公司简介) │
│ │
│ 🎯 我方匹配产品 │
│ · 产品A (SKU) → 匹配 需求X │
│ · 产品B (SKU) → 匹配 需求Y │
│ │
│ 📊 评分详情(可展开) │
│ · 需求明确度:XX分 │
│ · 可信度:XX分 │
│ · 商业规模:XX分 │
│ · 供需匹配:XX分 │
│ · 紧迫度:XX分 │
│ │
│ 📌 推荐行动 │
│ [时效]内发送:[文件1] + [文件2] + [文件3] │
│ │
│ [📧 查看原文] [🔍 深度调研] [✅ 确认并建档] │
└─────────────────────────────────────────────────────┘
数据结构:
interface QuickAssessmentResult {
leadId: string;
assessedAt: string;
// 画像与等级
persona: {
type: 'P1' | 'P2' | 'P3' | 'P4' | 'P5' | 'P6';
confidence: number; // 0-100
reasoning: string[]; // 判断依据
};
grade: 'S' | 'A' | 'B' | 'C';
followUpDeadline: string; // ISO 8601(基于等级计算)
// 五维评分
scores: {
demandClarity: number; // 0-100
credibility: number;
businessScale: number;
productFit: number;
urgency: number;
total: number;
};
// 需求快照
demandSnapshot: {
products: Array<{
name: string;
quantity: number;
unit: string;
}>;
estimatedAnnualValue: number; // USD
certifications: string[];
};
// 产品匹配
matchedProducts: Array<{
productName: string;
sku: string;
matchReason: string; // 为什么匹配
matchScore: number; // 0-100
}>;
// 推荐行动
recommendedActions: {
timeframe: string; // "24h内" / "3天内" / "7天内"
filesToSend: string[]; // 文件列表
keyPoints: string[]; // 重点强调的内容
};
}
P1 医药分销商 → 重点调研:渠道覆盖 + 认证匹配
async function deepResearchP1(context: ResearchContext): Promise<ResearchResult> {
// 1. 搜索公司官网
const website = await scrapeCompanyWebsite(context.domain);
const companyProfile = {
productLines: extractProductLines(website),
coverage: extractCoverage(website), // 覆盖区域
partners: extractPartners(website), // 合作品牌
};
// 2. 检查 LinkedIn
const linkedInData = await fetchLinkedInProfile(context.company);
const companyScale = {
employees: linkedInData.employeeCount,
foundedYear: linkedInData.foundedYear,
};
// 3. 匹配认证
const certificationMatch = checkCertificationMatch(
context.requiredCerts,
ourCertifications
);
// 4. 生成报价建议
const pricingSuggestion = calculatePricing(
context.productRequirements,
ourProducts,
{ volumeDiscount: true }
);
return {
companyProfile,
companyScale,
certificationMatch,
pricingSuggestion,
recommendedFiles: [
'完整产品目录.pdf',
'FDA_510k证书.pdf',
'ISO_13485证书.pdf',
'CE_Marking证书.pdf'
],
suggestedScript: generateScript('P1', context),
};
}
P3 政府/机构采购 → 重点调研:资质准备 + 投标要点
async function deepResearchP3(context: ResearchContext): Promise<ResearchResult> {
// 1. 解析标书附件
const tenderDoc = await parseTenderDocument(context.attachments);
const tenderAnalysis = {
technicalSpecs: tenderDoc.technicalRequirements,
scoringCriteria: tenderDoc.scoringCriteria,
deadline: tenderDoc.deadline,
lots: tenderDoc.lots, // 标段
};
// 2. 检查资质要求
const qualificationCheck = checkQualifications(
tenderDoc.requiredQualifications,
ourQualifications
);
// 3. 计算报价
const quote = calculateQuote(
tenderDoc.lots,
ourProducts,
{ includeShipping: true, includeCert: true }
);
return {
tenderAnalysis,
qualificationCheck,
quote,
recommendedFiles: [
'资质文件包.zip',
'投标方案.pdf',
'合规性检查报告.pdf'
],
actionPlan: {
deadline: tenderDoc.deadline,
tasks: [
{ task: '准备资质文件', dueDate: '...' },
{ task: '准备投标方案', dueDate: '...' },
{ task: '提交投标', dueDate: tenderDoc.deadline },
],
},
suggestedScript: generateScript('P3', context),
};
}
P4 品牌OEM客户 → 重点调研:品牌调性 + 定制可行性
async function deepResearchP4(context: ResearchContext): Promise<ResearchResult> {
// 1. 搜索品牌官网
const brandWebsite = await scrapeBrandWebsite(context.domain);
const brandProfile = {
positioning: extractBrandPositioning(brandWebsite),
targetMarket: extractTargetMarket(brandWebsite),
designStyle: extractDesignStyle(brandWebsite), // 从图片/色彩分析
};
// 2. 评估定制需求
const customizationReq = context.customRequirements; // 从邮件提取
const feasibility = assessCustomizationFeasibility(
customizationReq,
ourCapabilities
);
// 3. 计算打样成本
const sampleCost = calculateSampleCost(
customizationReq,
ourProducts
);
// 4. 查找类似案例
const similarCases = findSimilarOEMCases(
brandProfile,
ourOEMHistory
);
return {
brandProfile,
feasibility,
sampleCost,
similarCases,
recommendedFiles: [
'OEM方案书.pdf',
'打样报价单.pdf',
'类似案例参考.pdf'
],
suggestedScript: generateScript('P4', context),
};
}
P6 低质量线索 → 不执行深度调研
// 直接归档,不执行任何调研
function handleP6(context: ResearchContext): void {
archiveLead(context.leadId);
scheduleBulkEmail(context.email, 'marketing_template');
}
UI 组件结构:
┌─────────────────────────────────────────────────────┐
│ 📋 跟进准备包 — [公司名] │
│ ─────────────────────────────────────────────────── │
│ │
│ 🏢 公司画像 │
│ · [公司简介] │
│ · 覆盖区域:[区域] │
│ · LinkedIn: [员工数] │
│ · 官网产品线:[产品线列表] │
│ │
│ 👤 联系人画像 │
│ · [姓名] — [职位] │
│ · 决策权限:[高/中/低] │
│ · LinkedIn: [背景摘要] │
│ │
│ 📦 需求 vs 我方产品匹配 │
│ ┌──────────────┬──────────────┬──────────┐ │
│ │ 客户需求 │ 推荐产品 │ 年采购额 │ │
│ ├──────────────┼──────────────┼──────────┤ │
│ │ [需求1] │ [产品1] │ $XXX,XXX │ │
│ │ [需求2] │ [产品2] │ $XXX,XXX │ │
│ └──────────────┴──────────────┴──────────┘ │
│ 💰 预估年采购总额:$XXX,XXX │
│ │
│ ✅ 认证匹配检查 │
│ · [认证1] → ✅ 我方已有 / ❌ 我方无 │
│ · [认证2] → ✅ 我方已有 / ❌ 我方无 │
│ │
│ 🎯 建议跟进策略 │
│ 1. [时效]内回复邮件,附上: │
│ · [文件1] │
│ · [文件2] │
│ · [文件3] │
│ 2. 邮件中[具体建议] │
│ 3. 重点强调:[要点1], [要点2] │
│ │
│ 📝 建议回复话术(可编辑) │
│ ────────────────────────────────────── │
│ [AI 生成的个性化回复草稿] │
│ ────────────────────────────────────── │
│ │
│ [✏️ 编辑话术] [📧 发送邮件] [✅ 建档并设置提醒] │
└─────────────────────────────────────────────────────┘
数据结构:
interface DeepResearchResult {
leadId: string;
researchedAt: string;
persona: 'P1' | 'P2' | 'P3' | 'P4' | 'P5' | 'P6';
// 公司画像
companyProfile: {
description: string;
coverage?: string[];
employees?: number;
foundedYear?: string;
productLines?: string[];
website?: string;
};
// 联系人画像
contactProfile: {
name: string;
title: string;
decisionPower: 'high' | 'medium' | 'low';
linkedInSummary?: string;
};
// 产品匹配详情
productMatching: Array<{
customerNeed: string;
recommendedProduct: {
name: string;
sku: string;
};
annualValue: number;
}>;
totalEstimatedValue: number;
// 认证匹配
certificationMatch: Array<{
required: string;
status: 'matched' | 'missing';
ourCert?: string; // 我方证书名称
}>;
// 跟进策略
followUpStrategy: {
timeframe: string;
filesToSend: string[];
keyPoints: string[];
additionalActions?: string[];
};
// 回复话术
suggestedScript: {
draft: string; // AI 生成的草稿
editable: boolean;
};
// 特殊字段(按画像类型)
personaSpecificData?: {
// P1: 报价建议
pricingSuggestion?: any;
// P3: 投标计划
tenderActionPlan?: any;
// P4: 打样成本
sampleCost?: any;
};
}
interface Lead {
// === 基础信息(第一层自动填充) ===
id: string;
createdAt: string;
updatedAt: string;
contact: {
name: string;
title?: string;
email: string;
phone?: string;
address?: string;
};
company: {
name: string;
domain?: string;
country?: string;
};
originalEmail: {
subject: string;
body: string;
attachments: Array<{ name: string, url: string }>;
emailId: string;
};
// === 快速研判结果(第二层自动填充) ===
persona?: {
type: 'P1' | 'P2' | 'P3' | 'P4' | 'P5' | 'P6';
confidence: number;
reasoning: string[];
};
grade?: 'S' | 'A' | 'B' | 'C';
scores?: {
demandClarity: number;
credibility: number;
businessScale: number;
productFit: number;
urgency: number;
total: number;
};
demandSnapshot?: {
products: Array<{ name: string, quantity: number, unit: string }>;
estimatedAnnualValue: number;
certifications: string[];
};
matchedProducts?: Array<{
productName: string;
sku: string;
matchScore: number;
}>;
// === 深度调研结果(第三层按需填充) ===
deepResearch?: DeepResearchResult;
// === 跟进状态 ===
status: 'new' | 'assessed' | 'researched' | 'contacted' | 'replied' | 'quoted' | 'archived';
followUpDeadline?: string;
assignedTo?: string; // 业务员ID
// === 跟进记录(持续积累) ===
communications: Array<{
date: string;
type: 'email' | 'call' | 'meeting';
summary: string;
attachments?: string[];
}>;
quotes: Array<{
date: string;
products: Array<{ sku: string, price: number, quantity: number }>;
status: 'sent' | 'accepted' | 'rejected' | 'pending';
}>;
samples: Array<{
date: string;
product: string;
status: 'sent' | 'received' | 'approved' | 'rejected';
}>;
notes: Array<{
date: string;
author: string;
content: string;
}>;
// === 销售验证 ===
salesFeedback?: {
verifiedPersona?: 'P1' | 'P2' | 'P3' | 'P4' | 'P5' | 'P6';
verifiedGrade?: 'S' | 'A' | 'B' | 'C';
notes?: string;
verifiedAt?: string;
};
}
new (邮件摄入)
↓
assessed (快速研判完成)
↓
researched (深度调研完成,可选)
↓
contacted (业务员确认并建档)
↓
replied (客户回复)
↓
quoted (已报价)
↓
[成交] / [归档]
| 指标 | 要求 |
|---|---|
| 邮件解析 | < 5 秒 |
| 快速研判 | < 10 秒 |
| 深度调研 | P1/P2/P4 ≤ 2 分钟,P3 ≤ 3 分钟 |
| 页面加载 | 首屏 < 2 秒 |
| API 响应 | P95 < 500ms |
1. 业务员上传 .eml 文件
↓
2. 系统自动解析邮件(< 5秒)
↓
3. 系统自动执行快速研判(< 10秒)
↓
4. 显示快速研判卡片
↓
5a. S/A 级 → 自动触发深度调研
5b. B 级 → 业务员选择是否深度调研
5c. C 级 → 直接归档
↓
6. 显示跟进准备包
↓
7. 业务员确认并建档
↓
8. 进入跟进管道
1. 业务员查看快速研判结果
↓
2. 发现画像判断有误
↓
3. 点击"验证画像"
↓
4. 选择正确画像 + 填写备注
↓
5. 系统记录反馈,用于模型优化
| 优先级 | 功能 | 预计工时 |
|---|---|---|
| P0 | 邮件摄入 & 信息提取 | 2 周 |
| P0 | 快速研判(五维评分) | 3 周 |
| P0 | 客户画像识别(P1-P6) | 2 周 |
| P0 | 产品匹配 | 2 周 |
| P0 | 快速研判卡片 UI | 1 周 |
| P1 | 深度调研(P1 流程) | 2 周 |
| P1 | 深度调研(P3 流程) | 2 周 |
| P1 | 深度调研(P4 流程) | 2 周 |
| P1 | 跟进准备包 UI | 1 周 |
| P1 | 客户建档(数据模型) | 1 周 |
| P2 | 回复话术生成 | 2 周 |
| P2 | 画像验证机制 | 1 周 |
| P2 | 看板视图(按等级/画像) | 1 周 |
| 里程碑 | 时间 | 交付物 |
|---|---|---|
| M1: MVP | 第 8 周 | 邮件摄入 + 快速研判 + 基础建档 |
| M2: 深度调研 | 第 12 周 | P1/P3/P4 深度调研流程 |
| M3: 完整功能 | 第 16 周 | 全部功能上线 |
PRD 文档版本:v1.0
最后更新:2026-02-12