基于K-means给客户分群
一、背景描述
1、我们的想要将客户进行分类,分类后是为了对不同的客户进行分类管理,给与不同的营销资源于不同的客户,实现企业利润最大化。
二、本次目标
- 使用任意聚类算法实现将用户分类
- 对比不同用户的客户价值、并制定不同的营销策略
- 将分类数据整理为可展示的数据结构,做可视化展现,并可导出相关用户
三、分析思路
计划使用经典的RFM模型进行分层,如果使用几十个特征去做聚类会有不能解释的情况,但不同的是我们会针对电商的场景使用额外2个维度
最大消费金额、高优惠订单占比,用来体现这个客户的单次消费能力和优惠敏感程度。
执行步骤
- 数据清洗和特征工程
- 结论输出
- 未来优化思路
根据结果进行分析
分群
- 消费金额:用户消费金额,越大代表消费越高
- 消费订单数:用户下单数,越高代表下单越多
- 最近一次距今支付日期:最近一次距今下单天数,越大代表越久没下单
- 最大支付订单金额:周期内最大的一次订单金额,越大说明最大下单金额越高
- 平均订单优惠金额:平均每单的优惠金额,越大代表用户越是对优惠越敏感
- 群体0(潜力用户):消费能力一般,对优惠敏感度高,购买周期较长
- 群体1(VIP用户):消费能够力最强,对优惠最不敏感,购买周期最短
- 群体2(薅羊毛用户):低消费能力,最高的优惠敏感度,相当于有优惠才买没优惠就不买
- 群体3(一般用户):消费能力较高,人数也最多,对优惠属于正常响应度(有没有都会买)
结论
- 对VIP用户,这类客户消费能力最强,对优惠完全不敏感,公司应优先将资源投放到他们身上,维持这类用户的忠诚度
- 对一般用户,消费金额和消费频率较为稳定,没有过高过低的情况,对这类用户可以尝试刺激提高下单频率。
- 对薅羊毛用户,要进行风险防控,这类用户不多,但是一旦出现损失较大。
- 对潜力用户,优惠敏感度较高,购买频率不高,可以在需要提升下单人数时,单独对这个群体进行优惠活动刺激。
后续可优化点
- 发现消费金额和消费订单数较为相似,可以合并这两维度,作为用户消费能力维度。
- 多个群体,像薅羊毛用户分布不均
- 可以尝试用多个聚类算法去测试效果
步骤
PS:jupyter notebook转MD格式很有问题,HTML代码都带出来了,而且不能正确显示,只好截个图了。