关于 ecom-rfm-analysis
这项客户细分技能按最近购买时间、购买频率和消费金额为交易数据评分,帮助营销人员划分行为群体并制定针对性行动,同时说明数据准备和方法局限。
主要功能
- 01R、F、M 五分位评分
- 02命名客户细分群体
- 03按群体制定营销行动
- 04Python 评分脚本与检查测试
- 05RFM 方法局限说明
适用场景
- 01识别高价值、忠诚或有流失风险的客户
- 02规划新客引导和二次购买激励
- 03设计客户召回活动
- 04细分前检查交易数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill ecom-rfm-analysis安装后在 Claude Code 中输入/ecom-rfm-analysis确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/sample_input.jsonreferences/clv-prediction.mdrfm-implementation.mdscripts/rfm_score.py详细介绍
RFM 分析
概述
RFM 根据三个行为维度对客户进行细分:Recency(最近一次购买时间)、Frequency(购买频率)和 Monetary(消费金额)。它将原始交易数据转化为可用于精准营销的客户细分群体。
框架
IRON LAW: RFM Uses ACTUAL Behavior, Not Demographics
RFM is behavioral segmentation — it classifies by what customers DO,
not who they ARE. A 25-year-old and a 65-year-old in the same RFM segment
should receive the same treatment. Never mix RFM with demographic
assumptions.
三个维度
| 维度 | 衡量内容 | 计算方法 |
|---|---|---|
| Recency(R) | 距上次购买的天数 | 今天 - 上次购买日期 |
| Frequency(F) | 统计周期内的购买次数 | 不同交易的数量 |
| Monetary(M) | 统计周期内的总消费额 | 交易金额总和 |
评分方法(基于五分位数)
- 对每个维度,将所有客户排序并划分为 5 个相等的组(五分位组)
- 评分从 5(最佳)到 1(最差):R=5 表示最近购买,F=5 表示购买最频繁,M=5 表示消费金额最高
- 合并为 3 位 RFM 分数(例如,R5-F4-M5 = 最近购买、频繁购买、高价值)
注意:对于 Recency,天数越少,分数越高(越近越好)。
主要细分群体
| 细分群体 | RFM 模式 | 描述 | 策略 |
|---|---|---|---|
| Champions(冠军客户) | R5, F5, M5 | 最佳客户,近期购买、购买频繁、价值高 | 奖励、忠诚度计划、优先体验 |
| Loyal(忠诚客户) | R4-5, F4-5, M3-5 | 持续购买的客户 | 向上销售、交叉销售、推荐计划 |
| Potential Loyalists(潜在忠诚客户) | R4-5, F2-3, M2-3 | 近期购买、购买频率中等 | 培育客户以提高购买频率 |
| At Risk(有流失风险客户) | R2-3, F3-5, M3-5 | 过去购买频繁或价值高,但近期未购买 | 挽回营销活动、特别优惠 |
| Hibernating(沉睡客户) | R1-2, F1-2, M1-2 | 长期沉寂、价值较低 | 低成本重新激活,或放弃挽回 |
| New Customers(新客户) | R5, F1, M1-2 | 刚完成首次购买 | 新手引导、二次购买激励 |
实施步骤
阶段 1:数据准备
- 必需数据:客户 ID、交易日期、交易金额
- 清理数据:移除退款、测试订单和内部订单
- 设定分析时间窗口(通常为 12-24 个月)
阶段 2:计算 RFM 分数
- 计算每位客户的 R、F、M
- 为每个维度分配五分位数分数(1-5)
- 合并并划分细分群体
阶段 3:细分并采取行动
- 将每位客户映射到一个命名细分群体(Champions、At Risk 等)
- 为每个细分群体设计针对性行动
- 衡量结果:目标客户的行为是否有所不同?
输出格式
# RFM Analysis: {Business}
## Data Summary
- Customers analyzed: {N}
- Analysis window: {start} to {end}
- Transactions: {N}
## Segment Distribution
| Segment | Count | % | Avg R (days) | Avg F | Avg M |
|---------|-------|---|-------------|-------|-------|
| Champions | {N} | {%} | {days} | {count} | ${X} |
| At Risk | {N} | {%} | ... | ... | ... |
| ... | ... | ... | ... | ... | ... |
## Key Findings
- Top 20% customers contribute {X%} of revenue
- {N} customers at risk of churning (were high-value, now dormant)
- {N} new customers need second-purchase nurturing
## Recommended Actions
| Segment | Action | Channel | Expected Impact |
|---------|--------|---------|----------------|
| Champions | {loyalty reward} | {email/app} | Increase AOV by X% |
| At Risk | {win-back offer} | {email/SMS} | Recover X% of dormant revenue |
注意事项
- RFM 基于历史数据:它告诉你客户过去做了什么,而不是将来会做什么。结合预测模型(CLV 预测)以获取前瞻性洞察。
- 等量五分位组未必合理:如果 80% 的客户只购买过一次,那么第 1-4 个五分位组全都是“一次性买家”。可以根据业务情况设置自定义分界点。
- 订阅业务中的 Monetary 可能会产生误导:如果所有人支付相同的订阅费,M 维度不会提供任何额外信息。可以舍弃 M 维度,仅使用 RF。
- B2B 和 B2C 的购买频率标准不同:每季度购买一次的 B2B 客户可能算“频繁购买”,而每季度购买一次的 B2C 客户可能有“流失风险”。请根据业务情况调整标准。
- 不要向有流失风险的客户过度发送消息:向沉睡客户狂发邮件可能导致退订。精心设计一次挽回营销活动,比每周发送邮件更有效。
脚本
| 脚本 | 描述 | 用法 |
|---|---|---|
scripts/rfm_score.py | 为客户的 R/F/M 评分并分配细分群体标签 | python scripts/rfm_score.py --help |
运行 python scripts/rfm_score.py --verify 可执行内置健全性测试。
参考资料
- Python/SQL 实现代码请参阅
references/rfm-implementation.md - RFM 扩展版 CLV 预测请参阅
references/clv-prediction.md
评论
支持 Markdown