M3. 客户细分与精准营销决策¶
案例来源: ecommerce-tools + 聚类分析
决策类型: 目标客户选择
方法论: RFM 细分 + 聚类分析 + 个性化营销
预计阅读时间: 12 分钟
1. 决策背景¶
业务场景¶
某电商平台 200 万用户,面临营销效率问题: - 营销渠道:短信/邮件/APP 推送/微信 - 平均响应率:2.5% (行业 4%) - 营销成本:¥10M/年 - 问题:一刀切营销 (骚扰用户 + 浪费预算)
决策目标¶
- 识别高价值客户群
- 针对性营销策略
- 提升响应率至 5%+
- 减少营销骚扰
2. 方法论:RFM + 聚类¶
RFM 模型¶
| 维度 | 说明 | 分位 |
|---|---|---|
| Recency | 最近购买时间 | 1-5 分 |
| Frequency | 购买频率 | 1-5 分 |
| Monetary | 消费金额 | 1-5 分 |
聚类算法选择¶
3. 模型实现¶
RFM 计算¶
import pandas as pd
import numpy as np
# 数据准备
orders = pd.read_csv('orders.csv')
today = orders['order_date'].max()
# RFM 计算
rfm = orders.groupby('customer_id').agg({
'order_date': lambda x: (today - x.max()).days,
'order_id': 'count',
'amount': 'sum'
})
rfm.columns = ['recency', 'frequency', 'monetary']
# 分位评分 (1-5 分)
rfm['r_score'] = pd.qcut(rfm['recency'], q=5, labels=[5,4,3,2,1])
rfm['f_score'] = pd.qcut(rfm['frequency'].rank(method='first'), q=5, labels=[1,2,3,4,5])
rfm['m_score'] = pd.qcut(rfm['monetary'], q=5, labels=[1,2,3,4,5])
# RFM 总分
rfm['rfm_score'] = rfm['r_score'].astype(int) + rfm['f_score'].astype(int) + rfm['m_score'].astype(int)
K-Means 聚类¶
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
# 特征标准化
scaler = StandardScaler()
rfm_scaled = scaler.fit_transform(rfm[['recency', 'frequency', 'monetary']])
# 确定 K 值 (肘部法则)
inertias = []
for k in range(2, 11):
kmeans = KMeans(n_clusters=k, random_state=42)
kmeans.fit(rfm_scaled)
inertias.append(kmeans.inertia_)
# 选择 K=5
kmeans = KMeans(n_clusters=5, random_state=42)
rfm['segment'] = kmeans.fit_predict(rfm_scaled)
细分命名¶
| 细分 | 占比 | 特征 | 命名 |
|---|---|---|---|
| 0 | 15% | R 低 F 高 M 高 | 忠诚客户 |
| 1 | 20% | R 高 F 低 M 低 | 流失风险 |
| 2 | 25% | R 中 F 中 M 中 | 一般客户 |
| 3 | 30% | R 低 F 低 M 低 | 新客户 |
| 4 | 10% | R 高 F 高 M 高 | 高价值客户 |
4. 营销策略¶
分群营销矩阵¶
| 细分 | 占比 | 策略 | 渠道 | 预算/人 |
|---|---|---|---|---|
| 高价值客户 | 10% | VIP 服务 + 专属优惠 | 电话 + 微信 | ¥100 |
| 忠诚客户 | 15% | 积分奖励 + 复购激励 | APP 推送 | ¥30 |
| 流失风险 | 20% | 唤醒优惠 + 调研 | 短信 + 邮件 | ¥20 |
| 一般客户 | 25% | 常规促销 | APP 推送 | ¥10 |
| 新客户 | 30% | 新人礼包 + 引导 | 微信 + 邮件 | ¥15 |
营销自动化¶
# 根据细分触发不同营销流程
def trigger_marketing(customer_id, segment):
if segment == '高价值客户':
send_vip_offer(customer_id, discount=0.3)
elif segment == '流失风险':
send_winback_offer(customer_id, discount=0.2)
elif segment == '新客户':
send_onboarding_series(customer_id)
# ...
5. 决策结果¶
营销效果¶
| 指标 | 实施前 | 实施后 | 改善 |
|---|---|---|---|
| 响应率 | 2.5% | 6.2% | +148% |
| 转化率 | 0.8% | 2.1% | +162% |
| 客单价 | ¥350 | ¥420 | +20% |
| 营销 ROI | 1:2.5 | 1:5.8 | +132% |
成本效益¶
年度收益: - 营销 ROI 提升:¥10M × (5.8-2.5) = ¥33M - 客户生命周期提升:¥15M - 总收益: ¥48M/年
投入: - 系统开发:¥1M - 年度运营:¥0.5M - ROI: 48 倍
6. 关键洞察¶
细分价值发现¶
10% 高价值客户贡献 50% 利润
→ 策略:重点维护,防止流失
20% 流失风险客户有 40% 可唤醒
→ 策略:精准唤醒,低成本高回报
30% 新客户转化率仅 5%
→ 策略:优化 onboarding 流程
案例版本: v1.0 | 最后更新: 2026-06-03