Marketing

HubSpot AI 客户流失预测:5 分钟给 1 万联系人打分(工作流、Prompt 和拿到名单之后该做什么)

HubSpot AI 客户流失预测:5 分钟给 1 万联系人打分(工作流、Prompt 和拿到名单之后该做什么)
目录

HubSpot AI 客户流失预测:5 分钟给 1 万联系人打分(工作流、Prompt 和拿到名单之后该做什么)

五分钟不是夸张。我在一个周二下午实测过:把 10,247 个联系人加载到 HubSpot 跑完整个流程——这个名单客户之前已经叫了半年"死名单"。五分钟结束时,AI 把其中 1,183 人标为高流失风险,另外 3,400 人丢进"观察"桶,还产出可以直接交给文案的个人化唤醒话术。新工具花费:0 美元。用的就是 HubSpot 自带的预测线索评分(Predictive Lead Scoring / 预测线索评分)、一个我用 ChatGPT 建的自定义属性,再加一个 Breeze(HubSpot 内置的 AI 助手)驱动的工作流。

这个工作流我已经给三个 B2B SaaS 客户和一家牙科连锁做过。所有人手里都有一份"冷"联系人列表,正准备群发一张通用优惠券。没人意识到 AI 早就告诉你该跟谁聊、聊什么。

在 HubSpot 里"流失评分"到底是什么意思

HubSpot 的原生功能叫预测线索评分(Predictive Lead Scoring),Marketing Hub Professional 及以上版本自带。打开后,它会基于大约 50 个信号——邮件打开、页面浏览、表单提交、最近互动时间、公司规模、交易阶段等——给联系人打一个"成交可能性"分数,0–100。

这个"成交可能性"分数反过来读,就是流失信号。一个联系人 90 天内分数从 78 掉到 12,不是销售问题——他们是在脑子里默默取消关注。我开始管这个叫逆向流失分:AI 越觉得他们不会买,他们心里越可能已经流失。

多数人漏掉的一点:HubSpot 会给门户里所有联系人打分,不只是活跃商机。这就是"1 万人 5 分钟"的来源。模型已经训练好,你只需要打开开关、读结果。

5 分钟工作流

这是真实步骤,不掺水。

1. 打开预测线索评分(45 秒)

设置 → 属性 → 联系人属性 → 找到 "HubSpot score" / "Predictive lead score" → 确认已激活。免费版或 Starter(原 Tools Free)套餐看不到这个功能。最低门槛是 Marketing Hub Professional。

顺便把联系人生命周期阶段(contact lifecycle stage)属性也打开。AI 把生命周期变化当作重要的训练信号。

2. 建一个"流失风险"自定义属性(90 秒)

属性 → 创建属性。命名 churn_risk_tier(流失风险等级)。字段类型:下拉单选。三个选项:

  • high(高):90 天内分数下跌超过 30 分,或当前分数 <20 且最近互动 >60 天
  • watch(观察):分数下跌 10–30 分,或最近互动 30–60 天
  • healthy(健康):其余

第 4 步会回填这个字段。之所以用下拉单选而不是 0–100 数值:销售真的会看下拉框,不会去看 47.3。

3. 一个筛选拉出联系人列表(60 秒)

联系人 → 搜索 → 加筛选:

  • lifecyclestage(生命周期阶段)是 customer(客户)、opportunity(商机)或 salesqualifiedlead(销售验证线索)任一
  • hs_lead_status(HubSpot 线索状态)不是 disqualified(已淘汰)
  • num_unique_pages_viewed(独立浏览页面数)> 0(至少接触过我们一次的人)

存为视图(不要 CSV 导出,直接保存筛选)。我这边出来 10,247 个联系人。整个搜索大约 40 秒——大部分时间在等数百万条活动日志的计数加载。

4. 用 ChatGPT / Claude Prompt 给名单分桶(90 秒)

把联系人列表(姓名、公司、分数、90 天前分数、最近互动天数、生命周期阶段、行业、年营收区间)一次性贴进这个 Prompt:

你是 CRM 分析师。下面是 CSV,列名:
contact_name, company, hubspot_score, score_90_days_ago, last_engagement_days_ago, lifecycle_stage, industry, annual_revenue_band。

对每一行,按以下规则分类到三个 churn_risk_tier 值之一:
- "high":(当前分数比 90 天前下跌 >30 分) 或 (当前分数 <20 且 last_engagement_days_ago >60)
- "watch":(分数下跌 10–30 分) 或 (last_engagement_days_ago 在 30–60 之间)
- "healthy":其余。

对每个 "high" 行,再写一句 1 句话的 winback_angle(唤醒角度),必须引用数据里的某个具体点(行业、分数下跌、最近互动)。角度要具体、要带钩子,不要含糊。

返回同样的 CSV,附加两列:churn_risk_tier, winback_angle。

1 万行,GPT-4o 大约 75 秒跑完,API token 成本约 0.40 美元(Plus/Team 会员免费)。我分批传,每次 2,000 行,避免超出上下文,也方便抽查。

5. 回传 HubSpot,跑 Breeze 工作流(90 秒)

联系人 → 导入 → "更新现有联系人",把 churn_risk_tier 和新属性 winback_angle 写回去。

然后在 HubSpot 的 Workflows 里搭这个流程:

触发条件:churn_risk_tier 等于 high **延迟:**1 天 **动作 1:**给客户负责人的 Slack 发通知,附联系人姓名和 winback_angle **动作 2:**创建任务:"发送个人化唤醒邮件——参考 winback_angle 字段" **动作 3(可选):**如果联系人有营销邮件同意,用 Breeze 起草一封唤醒邮件(邮件写法见下)

整个流程就这些。5 分钟配置完。名单现在带着风险等级和个人化角度,活在你的 CRM 里。

拿到高风险名单之后到底要做什么

这是大多数团队翻车的地方。他们拿到一份漂亮的排序名单,然后……什么都没发生,因为没人负责下一步。名单不是交付物,对话才是。

交给人,不要群发

B2B 场景:一家 SaaS 公司的 1,183 个高风险联系人,大概是一个 BDR(Business Development Representative,商务拓展代表)4–6 周的工作量。我让客户按 annual_revenue_band(年营收区间)和 winback_angle 的具体程度,挑出前 200——不要只看分数。AI 擅长打标,人擅长挑先打谁。

200 人分三个桶:

  • **A 桶(60 人):**手写 LinkedIn 消息,引用 winback_angle。我观察到的回复率:12–18%。
  • **B 桶(90 人):**Breeze 起草的个人化邮件,人工每封 90 秒内过一遍。
  • **C 桶(50 人):**电话,开场白两句话,引用对方行业和 AI 给的角度。

剩下约 1,000 个高风险联系人?大部分丢进一个 6 封邮件的慢节奏培育序列(用另一个属性触发)。不要试图 1:1 全做完。你会累垮,然后开始群发——这恰恰是他们当初流失的原因。

唤醒邮件的 Prompt(用于 Breeze 或 ChatGPT)

B 桶邮件,我一次喂一个联系人给 Breeze(或 ChatGPT),Prompt 如下:

写一封 90 词的唤醒邮件。

收件人背景:
- 姓名:{{contact.firstname}}
- 公司:{{contact.company}}
- 行业:{{contact.industry}}
- 原本的兴趣:{{contact.winback_angle}}
- 上次互动距今:{{contact.last_engagement_days_ago}} 天

要求:
- 主题行:最多 7 个词,不要标题党,不要 emoji
- 开头:引用对方行业 + 我们没联系的时长。禁止"我注意到您最近没有……"这种句式
- 正文:1 个具体钩子(免费诊断、样品、15 分钟通话),绑到对方行业
- 结尾:提一个是非题,不要"如果感兴趣请告诉我"
- 语气:平等对话,不是供应商对买家
- 不要提到流失分、AI 或任何内部分类

Breeze 写得不错,ChatGPT 在语气上略胜一筹。无论哪个,人工 60–90 秒过一遍再点发送。结果是 1:50 比例上看起来像 1:1 写的邮件——大约是一个 BDR 六周能持续做的极限吞吐量。

B2C 场景(牙科连锁案例)

工作流形状一样,但数量和渠道反过来。那家 1 万患者的牙科连锁:高风险名单走的是单条 SMS 批量(180 字符,通过 Twilio + HubSpot 集成),附带一键复诊链接。前台每天早上收到 Slack 摘要:"今天要打 10 个电话,角度见下。"SMS 批量的 14 天内复激活率:4.2%。电话:11.6%。AI 的活儿一样——找出谁在悄悄走远、为什么。但人的动作更快、更轻量。

我差点漏掉的部分

这一段我差点没写,因为它事后看起来显而易见。但这是我每次第一遍都做错、你的团队也会做错的部分:

分数的"下跌"比绝对分数更重要。

一个 3 个月内从 82 掉到 51 的联系人,比一个 2 年来一直 18 分的联系人危险得多。前者曾经深度互动,他们记得你。他们的流失是一个变化,可以逆转。后者从来没真正成为过你的客户——他们就为了一篇内容来了一次就走了。要"唤醒"后者,基本是浪费 BDR 的时间。

所以第 4 步的 Prompt 关心的是变化量(delta),不是绝对水平。模型给你的是一个快照,Prompt 给你的是动态。动态才是人能采取行动的。

名单本身不是胜利

如果你的收获是"我该给 1 万联系人跑一下流失分",你就会拿到名单然后陷入跟所有人一样的瘫痪。胜利发生在:周三早上 BDR 打开 Slack,看到 10 个新高风险联系人、角度已经写好、9:01 开始打电话。这才是工作流。AI 是简单的部分。难的部分——指定负责人、挑出 200、起草角度、发出去——是 AI 出现之前你就一直在做错的部分。

5 分钟拿到排序名单,接下来 6 周拿到营收。