此次分析的数据来源于天池,有兴趣的朋友可以去天池上搜索关键字online可以搜索到数据源。好了那我们进入主题吧,这份数据是国外某网站的客户消费信息,主要IncoiceNo,StockCode,Description,Quantity,InvoiceDate ,UnitPrice ,CustomerID ,Country 八个字段。此次分析从以下几个方面进行消费行为的分析:
1.数据的获取
2.数据的清理
3.数据分析
3.1 订单金额与数量
3.2 复购率
3.3 回购率
3.4 平均购买次数
3.5 用户生命周期
3.6平均消费金额
3.6RFM模型
数据的获取
在进行数据的提取之前,先导入一些在分析过程中可能会用到的库。
数据的提取: 浏览数据对数据观察之后一般会对数据的总体情况进行查看,通过describe,info等指令查看数据的总体情况。
数据详情这份数据源总共有541909行数据,其中Description 和CustomerID存在缺失值,接下来看看缺失的具体情况。
缺失情况数据清理
这里对商品的描述字段缺失了1454行,由于数据的总行超过54万,这里的缺失可以直接删除,另外客户ID字段缺失了13万多,这里不能直接删除,按照某种方式进行补齐。
数据清理客户ID字段,这里对源数据进行了观察,发现存在大量用户一次性购买多种商品的行为,并且网站的顾客相对较小,所以这里我的处理方式是根据顾客国家的不同,随机指定与原数据中不同的ID。
数据处理这里我的思路是把所有ID缺失的先补为字段‘a’,然后将这些数据单独提取出来,查看这些数据来自于哪些国家,根据国家的长度来重新定义字段ID,然后将字段更改后的数据在赋值在原数据中替换。
清洗后的数据这里数据已经进行了清洗,不存在数据缺失的字段了。同时可以看到订单date不是时间格式,所以接下来对date的数据类型的转换。
类型转换将date字段转换为日期格式,为了方便更进一步的分析,对date字段进行更细维度的划分。
月维度这里根据订单日期将各订单划分到各月维度里面,方便查看各月的下单情况。
天维度 订单金额 更改后的数据源数据分析
各月商品销售情况这里是对各月销售数量的求和,可以看到在11月份销售总量达到高峰,那么消费金额呢?
各月销售金额这里销售金额的走势和商品数量销售走势一致,这里可以假设商家在这个月进行了营销活动或者存在异常顾客。由于这里只有消费行为的数据,我们接下里对数据深挖看看数据在这月的变动情况。
数据透视通过数据透视查看各月每天的销售情况,接下来看看11月每天的销售情况。
11月每天销售情况11月14日这天的销售情况几乎是平时的两倍,极有可能是商家进行促销活动,一般促销活动是在某一个时刻开始,我们来看看是否存在这天在某个时刻销售突增的情况。
按小时查看 11月14日销售情况14日这天在下午5时,销售量猛增,说明此次活动可能在5时开始,之后的销售数据为0,可以猜测是否是活动人数较多导致网页崩溃或者其他情况。
5月销售情况我们同样可以用同样的方式查看其他月份的销售情况,以5月为例,平均每天销售金额在2.5万多左右,而11月份平均每天6万左右,并且11月份商家进行了促销活动,所以这个月的销售金额远远高于其他月份,从销售趋势来看,该网站的商品可能存在季节性的波动性,从8月开始,销量开始上升,在11月份可能接近旺季尾部,商家进行了促销,促进商品流通,12月份的销售情况大幅度的降低。接下来看看每笔订单金额与数量的情况。
订单金额与数量
由于存在退货,所以这里的存在负数,另外由于对ID字段的缺失,会造成个别ID金额较大的异常值,这里将异常值去掉看看分布情况。
数据详情75%的订单金额在17.4以下,我们来看看这75%的数据的分布情况。
alpha:透明度设置,数据重叠越多,颜色越深,从上图看到,大多数订单的金额较低。如果说散点图将数据的展示不太直观,我们用直方图看看,订单金额与数量的情况。
这里是每个顾客订单金额与数量的关系,大多数顾客的购买金额和商品数量在0处,也侧面说明了网站的大多顾客消费金额较低。接下来看看顾客在统计段内第一次消费的分布情况,以及最近一次消费的分布情况。
顾客第一次消费用户在过去的每个月都有新增的用户,在搞活动之前的几个月新用户的增加并没有明显的异常,说明此次活动老用户提供的贡献较大
最近一次消费最近一次消费这里查看的是用户最近一次购买的情况,可以看到12月的购买用户明显高于平时的,说明了为什么11月份的销售额为什么有个高峰段,11月份之前的几个月用户的购买量也在逐渐增加,这个时候商家可能针对活动进行了一系列的宣传活动。接下来从顾客的角度对顾客进行复购率、回购率以及平均购买次数、留存率分析。
复购率
由于之前查看数据中存在购买数量为负的情况,这里负数是指顾客退货的情况,先将退货的数据提出来,对顾客的购买情况进行分析。首先看复购率,复购率是指顾客在某一段时间内多次购买的顾客占总消费顾客的占比,这里以一个月为一个周期。
复购率结合对源数据的观察,这里将退货的数据提出来,就顾客的购买情况进行分析,其次数据中通一个订单编号,分多好显示,在建立透视表的过程以订单编号为值,aggfunc统计的情况下,会存在一个顾客一个订单编号多次统计的情况。所以这里抓住订单编号作为唯一值得情况下,删除重复值,统计客户每月的下单次数。NaN表示顾客在此统计段内没有进行消费。为了便于统计复购率,将大于等于2的情况转换为1,消费1次的情况转换为0,没有消费的用NaN显示。
复购每列中1的个数除以1和0的总和即为该月的复购率。
复购率可以看到该网站的复购率平均在0.22,在11月份达到顶峰,说明11月搞活动很多顾客进行了多次购买,这里可能存在囤货的现象,所以12月的复购率有所降低.
回购率
接下来看看回购率情况,这里的回购率是指在某一个时间段购买后在接下来的某一个时间段内继续购买的情况。
回购以月为统计周期,在当月消费过的顾客标记为1,当月没有消费过的顾客统计0。
这里定义了一个函数,思路是先定义一个空的列表,如果本月消费过,下个月也消费的情况下,列表添加一个元素1,如果本月消费过,下个月没有消费,列表添加元素0,其他的情况用nan填充。
回购 回购率这里看到11月份的回购率很低,而11月月份的复购率很高,有可能是11月份搞活动,顾客大量囤货,在短期内的需求减少,所以12月份购买的顾客人数较少。该网站的复购率在0.22左右,复购率在0.35,说明该网站的老客户忠诚度很高,在每月新顾客的增加的情况下,回购率和复购率也保持相对的稳定。
平均购买次数
平均购买次数=该月平均下单次数/该月购买的顾客ID数(唯一值)
各月下单顾客ID数量data4.groupby('month')['InvoiceNo'].count()是对各月订单编号的统计。
各月下单次数平均各月的购买次数,其中12月份的购买次数最低,各月的购买情况较为稳定。接下来看看用户消费贡献比。大多数的消费行为都满足二八原则。
累计消费 消费贡献比上图是客户累计销售额贡献比,符合二八原则,目前为止中顾客大约4400,大约10%的客户提供了60%以上的销售额。
这里有一点偏差,由于客户ID的缺失,将一个国家的的订单归属于一个ID上面,所以这里ID0的贡献总额最高。但是由于该网站中的顾客4000多,所以对消费行为二八原则的结论影响不大。
用户生命周期
平均生命周期 生命周期分布情况大多数顾客在第一次消费后,没有进行二次消费,该网站的用户流失率可能较高,在各个生命周期内顾客分布较为稳定,老用户的忠诚度很高的。
顾客生命周期由于第一次消费的占比较高,将第一次消费后不再消费的情况去除,客户的生命周期分布较为均匀,并且350天以上的老客户占比较高。再一次说明了老顾客的忠诚度。由上上图可以看到有许多客户在第一次购买以后就没有在进行第二次购买拉低了平均的购买周期。
消费两次以上的平均生命周期消费一次之后没有进行第二次消费的顾客占34%,该网站的新顾客流失率较高,建议针对新顾客流失原因进行分析,提高客户的留存率,另外一方面,顾客的忠诚度较高,购买周期250天以上的占25%。对忠诚顾客继续维持相应的运营策略。接下来看看各个生命周期内顾客的分布情况。
顾客生命周期分组 各阶段顾客消费情况上图是将各个阶段的顾客进行分组,统计各个周期顾客的消费情况。
消费情况这里消费周期短的顾客消费金额较大,而忠诚顾客的金额大约是新用户的3倍。.
消费人数该网站在第一次消费后短期内再次消费的占比较低,相反大多数的消费周期在90天以上,并且消费周期短的客户消费金额较低。再次说明该网站顾客的忠诚度较高。短期内消费的人数较少可能与该网站售卖的商品的使用周期有关。
占比可视化平均消费金额
平均消费情况该网站平均每单购买商品数量279,每单平均金额528,商品的单价较低。
各顾客的消费情况以每个顾客进行分组,查看各顾客的购买商品数量和金额。由于存在异常值0号顾客使得数据较为压缩,接下来将异常值去除看看分布情况。
各顾客的消费情况去掉异常值后,大多数顾客消费的金额较低,少数顾客贡献占比较大。建议对这少数顾客执行精细化运营。
RFM模型
''''''这里以2011-12-31日作为统计的截止日期
R:这里是指最近一次购买日期距离截止日期的长度
F:这里是指顾客在某一段时间内的购买频次,这里以统计到的时间段计算
M:是指顾客在统计时间段内消费的总金额''''''
将需要用到的数据集单独提取来,增加截止日期一列并进行赋值。
R统计各用户的最近一次消费日期,并用截止日期减去最近一次消费的日期得到R,由于R是时间戳格式,这里转换为数值型格式,方便后期处理。
F/M按照同样的思路得到F,M的值。由于有0号顾客的存在,将0号去除后看看各值得平均值。
RFM RFM的处理由于90天以上的生命周期的人数较多,这里以90天为界限进行划分,其次F,M的划分以数据的50%为划分界限。
RFM 各用户群占比建议
该网站的流失用户占比最高,之前分析到第一次消费后不再进行第二次消费的比例接近35%,这里将周期拉到90天,流失客户的比例进一步提升。其次是新客户的比例,新客户的留存率低,建议对新用户进行网站使用满意情况或者建议调查,然后进行改进,提升留存率。老顾客由于加入的时间长,对网站相对满意,针对老顾客继续使用之前的运营策略。老顾客的平均生命周期达到90天以上,建议对90以上的未进行二次购买的老顾客发送优惠通知。刺激老顾客的消费行为。由于该网站的顾客人数相对较小,建议加大宣传活动,提高知名度,维护新用户,提高留存率。
网友评论