电商数据分析-Pandas
程序员文章站
2022-04-03 21:16:11
...
四、参照RFM模型,对用户进行分类找出有价值的用户
RFM模型是衡量客户价值和客户创利能力的重要工具。该模型通过客户的**最近交易行为(Recency)、交易频率(Frequency)以及交易金额(Monetary)**三项指标来描述该客户的价值状况。一般来说,会将这三项指标分成几个区间进行评分,通过计算评分找到有价值的用户,并对用户进行分类。
最近一次消费(Recency):是指最近一次消费距离上一次消费之间的时间长短。它反映了客户对产品的态度以及对品牌价值的信任度,它关乎消费者的存留状况。
消费频率(Frequency):是指某个特定时间内消费的次数。它直接反映了客户的忠诚度,消费频率越高,忠诚度就越高;忠诚度越高的客户数量越多,公司的竞争优势越强,市场份额越大。
消费金额(Monetary):是指一定时间内消费某产品金额。它反映的是客户的价值,价值越高,给公司创造的利益就更大。
遗憾的是数据源中没有金额,所以这里仅针对R和F进行分析二维分析,标准如下
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
columns = ['user_id','item_id','item_cat','beh_type','time_stamp']
df = pd.read_csv('UserBehavior.csv',names = columns,sep=',')
#数据清洗
df['time_stamp'] = pd.to_datetime(df['time_stamp'], unit='s') #把时间戳转为日期
df['date'] = df.time_stamp.values.astype('datetime64[D]') #日期
df=df[df['beh_type'].str.contains("buy")] #查找包含关键字buy
#数据透析
rfm = df.pivot_table(index='user_id',values=['beh_type','date'],
aggfunc={'beh_type':'count','date':'max'})
#注意这里消费行为是字符串,所以用count计次,而不是sum求和
rfm['R']=(rfm.date.max() - rfm.date) / np.timedelta64(1,'D')
rfm.rename(columns = {'beh_type':'F'},inplace=True)
#利用函数rfm_func生成标签
def rfm_func(x):
level_r = x.apply(lambda x:'1' if x<=4 else '0') #距今一次消费
level_f = x.apply(lambda x:'1' if x>=36 else '0') #频率
label = level_r.R + level_f.F
d = {'11':'重要价值客户','10':'重要保持客户','00':'一般价值客户','01':'重要发展客户'}
result = d[label]
return result
rfm['label'] = rfm[['R','F']].apply(lambda x:x-x.mean()).apply(rfm_func,axis=1)
然后我们把上面的结果可视化呈现,重要价值客户用红色表示,其他用绿色表示
rfm.loc[rfm.label == '重要价值客户','color'] = 'r'
rfm.loc[~(rfm.label == '重要价值客户'),'color'] = 'g'
rfm.plot.scatter('F','R',c=rfm.color)
统计不同label的用户数量:print(rfm.groupby('label').count())
从上面结果可以看到不同的人群数量,注意这里没有重要发展客户;
- 对于重要价值用户,他们是最优质的用户,需要重点关注并保持, 应该提高满意度,增加留存;
- 对于重要保持用户,他们最近有购买,但购买频率不高,可以通过活动等提高其购买频率;
- 对于重要发展用户,他们虽然最近没有购买,但以往购买频率高,可以做触达,以防止流失;
- 对于一般价值用户,他们最近没有购买,以往购买频率也不高,特别容易流失,所以应该赠送优惠券或推送活动信息,唤醒购买意愿。
五、结论汇总
- 12/2访问量激增,推测可能有营销活动
- 从时间段来看,一天中21-22时访问达到最高峰,建议在这个时间点推广
- 短短9天内复购率达到66%,推测可能有营销活动,或者是店铺引流商品,利润不高,应该结合价格来看(但是这里缺少金额数据)
- 用户ID为107932的用户购买了72次在9天之内,建议建立VIP客户资料,定期维护VIP用户群体,并量身定做推出套餐(当然,也要结合金额看,可能都是低利润,要重新分析)
- 整个购买过程中,实际购买转化率只有2%,浏览量很大,说明商品美工页面不错,可以从产品本身质量,用户反馈,竞争对手营销等提出逻辑树分析法,并逐一通过不同的数据分析模型来分析
- 从浏览到加购物车到成交,转化率30%,建议和历史同期对比,和行业对比,否则转化率单独出现不能说明什么
- 从浏览到收藏到成交,转化率20%,建议和历史同期对比,和行业对比,否则转化率单独出现不能说明什么
- 上述两个过程比较,加收藏之后购买率较低,可能和页面设计+用户习惯有关,因为购物车可以直接结账,收藏可能放一段时间就忘记了,而且购物车是一个主页面,点击进去就是结账界面,而收藏夹是一个小图标,点击进去才能找到商品,再结账,不过收藏夹的意义本就是收藏,购物车本来就是要结账购买,职责功能不同
- 最后通过RFM模型对用户进行分类统计,可以进行精准营销,推送不同的优惠活动,增加成交量
推荐阅读
-
Python数据分析Pandas
-
荐 14天数据分析与机器学习实践之Day02——数据分析处理库Pandas应用总结
-
详解Python数据分析--Pandas知识点
-
python数据分析-pandas模块基础知识(1)
-
Python数据分析模块pandas用法详解
-
利用Python进行数据分析_Pandas_处理缺失数据
-
快速介绍Python数据分析库pandas的基础知识和代码示例
-
数据分析-pandas使用总结
-
python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
-
Python数据分析库之pandas,你该这么学!No.1