基于 RFM(Recency / Frequency / Monetary)指标,使用 K-Means 聚类方法对客户进行分群,并结合 PCA 可视化结果,对各类客户的行为特征与业务价值进行分析。
分析目标
通过 RFM 指标对客户进行细分,为精准营销、客户留存与差异化运营策略提供数据支持。
聚类数选择(K)
最终选择 K = 5。
依据 Elbow 方法(WCSS 曲线),在 K≈5 处出现明显拐点,继续增加聚类数带来的收益有限。
整体聚类质量
- 从 PCA 二维与三维可视化结果来看,各聚类在低维空间中分布清晰,重叠较少
- 决策区域图显示各簇边界明确,模型稳定性较好
- 轮廓系数处于合理区间(中等偏好),说明聚类结构具有业务解释性
核心结论(Key Takeaways)
-
C0 – 高价值忠诚客户(High-Value Loyal)
最近有消费记录,购买频繁且消费金额高,是企业最重要的核心客户群体。 -
C1 – 潜力成长客户(Potential Growth)
近期有互动,消费金额和频次处于中等水平,具备进一步转化为高价值客户的潜力。 -
C2 – 新客户 / 试用客户(New / Trial)
最近完成首次或少量消费,但频次和金额尚低,需要重点关注首购到复购的转化。 -
C3 – 沉睡客户(Dormant)
最近消费时间较久,活跃度低,存在流失风险。 -
C4 – 价格敏感型客户(Price-Sensitive)
消费频率存在但客单价偏低,对价格或促销较为敏感。
- R(Recency):最近一次消费距今的天数(数值越小表示越活跃)
- F(Frequency):客户在观察窗口内的消费次数
- M(Monetary):客户累计消费金额
数据预处理流程:
- 对 F、M 分布偏斜的数据进行
log1p变换(如适用) - 使用
StandardScaler对 R、F、M 进行标准化 - 清洗异常值与缺失值后用于建模
样本规模:
数据清洗后,共计 151 条客户记录(以最终数据集为准)。
-
聚类算法:K-Means
-
参数设置:
n_init = 20(多次初始化以保证稳定性)random_state = 42(保证结果可复现)
-
模型选择方法:
- 使用 Elbow 方法评估不同 K 值下的 WCSS
- 结果显示 K=5 为较优折中
-
模型验证:
- 轮廓系数(Silhouette Score)
- 各聚类样本规模分布是否均衡
-
可视化分析:
- PCA 降维至二维与三维空间
- 绘制聚类散点图、质心位置及决策边界
各聚类样本数量分布相对均衡,未出现极端小簇或过度集中的情况,说明模型未产生明显过拟合。
(具体数量可由 np.bincount(labels) 输出结果补充)
依据 R / F / M 均值与中位数,对各簇进行业务解释:
- 低 R 值:客户近期活跃
- 高 F 值:消费频次高
- 高 M 值:客户价值高
结合 PCA 二维分布可以看出:
- 高价值客户主要集中在 PC1 与 PC2 的特定区域
- 沉睡与价格敏感客户在空间中分布较为分散
- 新客户群体靠近中心区域,说明行为模式尚未稳定
通过对标准化后的聚类中心进行逆变换,得到各簇在原始 R / F / M 尺度下的均值水平,用于业务解读与策略制定。
(详见 cluster_centers.csv)
-
Elbow 方法图
figures/elbow.png
展示不同 K 值下 WCSS 的变化趋势,用于聚类数选择。 -
PCA 2D 聚类图
figures/pca_k5.png
展示客户在 PCA 二维空间中的分布及聚类结果。 -
PCA 2D 决策区域图
展示 K-Means 在 PCA 空间中的划分边界,有助于理解模型的分类逻辑。 -
PCA 3D 可视化图
展示前三主成分下的客户分布情况,进一步验证聚类结构的稳定性。
- 固定随机种子:
random_state = 42 - 使用多次初始化:
n_init >= 20 - 预测或上线应用时,需复用相同的标准化器
(建议使用joblib保存 / 加载)
建议定期(如每月)重新计算 RFM 并监控客户在各聚类间的迁移情况:
- 高价值忠诚客户:会员权益、专属服务、提前体验
- 潜力客户:定向激励,提升消费频率与客单价
- 新客户 / 试用客户:新手引导,促进首购到复购
- 沉睡客户:唤醒营销、再激活活动
- 价格敏感客户:优惠券、捆绑套餐、价格策略优化