1.分析背景与目的
英国某在线零售电商主要以销售各类礼品为主,很多客户都是批发商。本案例利用该电商2010年12月1日—2011年12月9日的在线零售数据,构建基于客户价值分析的RFM模型,对该电商客户进行分类,并对此结果进行动态的客户分析,为针对不同的客户采取不同的运营决策提供依据。
2.分析思路
(1)分析指标
(2)提出问题
① 如何构建RFM模型以及并利用该模型进行客户群体分类?
②不同类型客户数量的分布及贡献价值情况?
3.数据理解与清洗
3.1 理解数据
(1)数据来源:数据集来自UCI加州大学欧文分校机器学习库(UCI Machine Learning Repository: Online Retail Data Set)。
(2)时间节点:2010年12月1日—2011年12月9日。
(3)数据大小:541909条数据,8个字段。
(4)字段说明(理解字段在业务中所代表的的含义)
InvoiceNo:发票编号。为每笔订单唯一分配的6位整数。若以字母'C'开头,则表示该订单被取消。
StockCode:产品代码。为每个产品唯一分配的编码。
Description:产品描述。
Quantity:数量。每笔订单中各产品分别的数量。
InvoiceDate:发票日期和时间。每笔订单发生的日期和时间。
UnitPrice:单价。单位产品价格,单位为英镑。
CustomerID:客户编号。为每个客户唯一分配的5位整数。
Country:国家。客户所在国家/地区的名称。清洗数据
3.2数据清洗
数据清洗部分思路如下:
3.2.1 选择字段和重命名字段
①删除Description、Country字段,因为本次分析不涉及该字段数据。
②增加每笔订单中每件商品的总价字段TotalPrice,TotalPrice=UnitPrice*Quantity,即数据每一行列出的是某种商品的购买数量和商品单价。
③Invoicedate中的时间包含了年月日和时分秒,将两者通过分列功能分开,分别用Date和Time表示。
3.2.2 删除重复值
因为该数据中,每一行并不代表一个独立订单,而是代表订单中的某种商品的销售情况(数量及单价等),该电商平台是否会自动合并同一订单里的相同商品不得而知。我们规定,若所有字段的值都完全相同,则视为重复数据,仅保留一条。经过查重,删除重复值5268条。
3.2.3 缺失值处理
CustomerID存在缺失值135080条,数据都很大,不可能全部删除。在实际工作中CustomerID这样的数据缺失,首先找业务部门或者数据来源部门确认补上信息。那么在这里无法找到相关人员确认,暂且把处于缺失状态的值替换为0(null值替换为0)
3.2.4 一致化处理
将Date字段设置为日期格式,其他为常规格式。
3.2.5 异常值处理
①检查日期是否在规定时间范围内(2010年12月1日到2011年12月9日)。
结果显示,所有日期都在规定范围内,属于正常数据。
②检查单价和数量是否存在异常值,如负值,零值。
检查发现,数量出现了负值,单价出现了0值和负值,把它们全部删除。
③发票编号InvoiceNo是否含有“C”订单。
前面字段开头有说明,发票编号InvoiceNo含有C字头的是取消订单,故全部删除。
4.构建RFM模型及客户分类
4.1 构建RFM模型
4.1.1 构建RFM模型指标
RFM模型是衡量客户价值和创利能力的重要手段和工具。通过研究客户近期的购买行为、购买频率以及购买金额来判定客户,从而可以实现对客户精细化划分。
本次分析采用RFM模型分析客户。RFM模型需要知道每位客户最近的一次消费时间(这里以2011/12/09为参考时间),时间范围内的消费频率和总交易金额。接下来我们要做的就是把这些查询出来,以供后面分析。一个发票单号是一个订单。
4.1.2创建新表RFM
下面需要求出与上述三个相关的衡量指标,即天数差R、消费频率F、消费金额M及创建新表RFM。
(1)天数差R计算
利用排序功能和Countif()函数将每位顾客最后一次消费时间筛选出来,相差天数就等于2011/12/9减去最后一次消费时间。
(2)消费频率F、消费金额M计算
第一次消费时间和最近一次消费时间之间的时间段内,消费的次数(F)和接金额(M)
(3)RFM表
4.1.3 R、F、M评分
(1)R、F、M评分标准
R值分段得分F值分级得分M值分段得分
依照评分表,利用“IF函数嵌套”计算出各用户对应的RFM得分:
R=IF(D2<=30,5,IF(D2<=90,4,IF(D2<=180,3,IF(D2<=365,2,1))))
F=IF(E2<=5,1,IF(E2<=10,2,IF(E2<=20,3,IF(E2<=80,4,5))))
M=IF(F2<=500,1,IF(F2<=1000,2,IF(F2<=5000,3,IF(F2<=10000,4,5))))
4.1.4 创建RFM值表
在计算RFM值时,通常将与RFM评分的平均值作对比,首先利用Average()函数求出三者的均值。
根据上述求得的均值,利用“IF函数”将R、F、M评分与其对比,我们以“1”表示得分高于平均分,以“0”表示得分不高于平均分,依次对RFM值进行计算,得到如下结果:
4.2 利用RFM模型进行客户分类
客户分类标准
客户分类方法
用CONCATENATE()函数函数将所有客户的R、F、M值连接起来,然后将客户类型对应的值R、F、M值也连接起来。
最后用VLOOKUP()进行匹配即可达到对客户进行分类的效果。
5. 可视化分析
对基于RFM模型的客户分类结果进行分析,了解不同类型客户的数量分布情况及贡献价值情况。
5.1 不同类型客户数量的分布情况
对得到的各类型客户的总数和各类型客户的客户占比情况,分别用柱形图和饼图表示。
从该电商客户数量上分析,重要深耕客户最多,占到了38.47%;其次是重要挽留客户,占比是19.11%;重要价值客户排在前三位,为17.59%。
5.2 客户贡献价值分析
通过客户贡献价值分析(各类型客户贡献销售额与所有客户贡献销售额的比值)来衡量其贡献价值。
通过图形可以看出,虽然重要深耕客户的数量最多,但是重要价值客户的销售额贡献率最高,17%的重要客户贡献62%的交易额,符合二八法则。
6 结论与建议
结论:该电商客户根据RFM模型可分为8个类型,重要深耕客户、重要挽留客户和重要价值客户排在前三位,是该电商的主要客户类型。销售额主要依赖于重要价值客户,占总销售额的62%;其次是重要深耕客户,占总销售额的24%。
建议:针对不同类型客户人群应该制定针对性策略,从而刺激进一步的客户消费。
①对于重要价值客户,要积极沟通,重视他们的需求,可以适当给予店铺VIP资格,建立客户忠诚度,牢牢抓住这类客户。
②重要深耕客户数量最多,且销售额贡献也排第二,销售人员应该努力跟进这些用户,促进这些用户转换为“重要价值客户”。
③重要挽留客户人数排第二位,针对这部分客户,应该重点联系或拜访,提高留存率。
④后续几类客户可采取适当性策略,有选择性的维护。