Skip to content

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 分

聚类算法选择

K-Means vs DBSCAN vs 层次聚类

选择 K-Means:
- 数据量大 (200 万)
- 需要明确边界
- 可解释性强

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