一、项目背景和目的
项目数据来源于https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1,通过此项目学习电商数据分析的指标与数据分析的基本方法。
二、分析维度
根据现有数据及分析目的,从四个维度进行分析:
第一个维度:用户购物情况整体分析
以PV、UV、平均访问量、跳失率等指标,分析用户最活跃的日期及活跃时段,了解用户行为习惯
第二个维度:商品购买情况分析
从成交量、人均购买次数、复购率等指标,探索用户对商品的购买偏好,了解商品的销售规律
第三个维度:用户行为转化漏斗分析
从收藏转化率、购物车转化率、成交转化率,对用户行为从浏览到购买进行漏斗分析
第四个维度:参照RFM模型,对用户进行分类,找出有价值的用户
三、分析正文
分析步骤如下:
提出问题------理解数据------数据清洗------构建模型------数据可视化
(一)提出问题
- 用户最活跃的日期及时段
- 用户对商品有哪些购买偏好
- 用户行为间的转化情况
- 用户分类,哪些是有价值的用户
(二)理解数据
用户行为类型又分为四种:
pv:商品详情页pv,等价于点击
buy:商品购买
cart:商品加入购物车
fav:收藏
(三)数据清洗
包含数据导入(采用Navicat)、缺失值处理、一致化处理、异常值处理(2017.11.25到2017.12.3日内的数据)
(四)构建模型
1.用户购物情况整体分析
1.1 这9天里PV(浏览量),返回结果是:2027221
select count(behavior_type) as 浏览量 from User_Behavior where behavior_type='pv';
1.2 这9天里UV(用户数),返回结果是:22099
select count(distinct user_id)as 用户数 from User_Behavior;
1.3 平均访问量是: 2027221/22099 = 91.7
即每个用户平均访问了91个页面。
1.4 跳失率计算:
跳失率:只有点击行为的用户/总用户数
select count(distinct user_id) from User_Behavior where user_id not in (select distinct user_id from User_Behavior where behavior_type='fav') and user_id not in (select distinct user_id from User_Behavior where behavior_type='cart') and user_id not in (select distinct user_id from User_Behavior where behavior_type='buy');
只有点击行为的用户数量为1253,故跳失率 = 1253/22099 = 0.0567,跳失率不高,说明店铺的商品详情页还是能吸引到用户的进行下一步行为。
1.5 每天访问量/访客数情况
select dates,count(behavior_type)as 访问量 from User_Behavior where behavior_type='pv' group by dates;
1.6 每天的访客数情况:
select dates,count(distinct user_id) as 访客数 from User_Behavior group by dates;
1.7 每个时段访问量/访客数
alter table User_Behavior add column hours varchar(25) not null; update User_Behavior set hours=left(times,2); select a.hours,a.访问量,b.访客数 from (select hours,count(behavior_type)as 访问量 from User_Behavior where behavior_type='pv' group by hours)a inner join (select hours,count(distinct user_id) as 访客数 from User_Behavior group by hours)b on a.hours=b.hours;
可以看出访客数与访问量趋势大致一致,17 - 22时达到访客高峰,猜测是下班后进行购物放松。1-7时大多数人处于睡眠休息阶段故访客与访问量较少。
1.8 不同时段成交量
select hours,count(behavior_type)as 成交量 from User_Behavior where behavior_type='buy' group by hours order by hours;
2.商品购买情况分析
2.1 成交量
用户行为中,只要用户行为为“buy”,即是完成了一次购买,形成一个订单。下面对订单进行分析
select dates,count(behavior_type) as 成交量 from User_Behavior where behavior_type='buy' group by dates;
2.2 人均购买次数
select count(behavior_type)as 订单量,count(distinct user_id)as 用户数,count(behavior_type)/count(distinct user_id)as 人均购买次数 from User_Behavior where behavior_type='buy';
2.3 复购率
复购率=购买2次及以上用户数/总购买用户数
#总购买用户数 select count(distinct user_id) as 用户数 from User_Behavior where behavior_type='buy';
得到总购买人数 15082
#购买次数>1次的 用户数 select count(*) from (select count(user_id) as 重复购买用户数 from User_Behavior where behavior_type='buy' group by user_id)a where a.重复购买用户数>1;
购买两次及以上用户数 9953
复购率 = 9953/15082 =0.659 = 66%
#重复被购买得最多次的商品 select item_id,count(behavior_type)被购买次数 from User_Behavior where behavior_type='buy' group by item_id order by count(behavior_type) desc limit 10;
#重复购买次数最多的客户 select user_id,count(user_id)as 购买次数 from User_Behavior where behavior_type='buy' group by user_id order by count(user_id) desc limit 10;
用户107932购买次数达到72次,对于这类忠实的用户需要开发用户信息库,建立完善的用户资料库,记录客户购物情况。
3.用户行为转化漏斗分析
#用户行为情况: select behavior_type,count(behavior_type) from User_Behavior group by behavior_type order by count(behavior_type) desc;
可见真正转化为购买的只有2%,用户在浏览商品详情页后出现了大量的流失。
那么,从浏览到购买,每一个环节的转化率是多少呢?因为加入购物车和收藏商品并没有行为的先后性,也就是说,购物路线可以有两条:
第一条线路:浏览—加入购物车—购买
又或者是
第二条线路:浏览—添加收藏—购买
按照线路一来购买的话,从浏览到加入购物车到购买之间的转化率是多少呢?
购物车转化率=加入购物车后购买的用户数/加入购物车的用户数
select count(distinct a.user_id)as 加入购物车用户数,count(distinct b.user_id)as 加入后购买用户数 from (select distinct user_id,item_id,item_category, time_stamp from User_Behavior where behavior_type='cart')a left join (select distinct user_id,item_id,item_category,time_stamp from User_Behavior where behavior_type='buy')b on a.user_id=b.user_id and a.item_id=b.item_id and a.item_category=b.item_category and a.time_stamp<b.time_stamp;
由查询结果可知,
加入购物车的用户数为:16638
加入购物车后购买的用户数:5023
所以,购物车转化率为:5023/16638 = 30.18%,约为30%
也就是说,加入购物车的用户中,有30%会进行购买。
#有多少用户进行了浏览 select count(distinct user_id) from User_Behavior where behavior_type='pv';
浏览的用户数是:22009
从图表中可以看出,从用户点击浏览到购买商品,用户浏览到加入购物车的转化率是很高的,达到了75.5%,说明大部分用户在浏览后有购买意向,加入了购物车;但是,在加入购物车到购买的环节里,只有30%左右的用户进行了真正的购买,而70%的用户是没有进一步购买的。为什么用户加入购物车后却并没有购买呢?
推测原因可能是:
1.加入购物车是为了与不同店铺的同种产品进行比价;
2.为了凑单,进行满减;
3.先放着,过几天再购买;
4.等活动优惠
考虑第二条线路,进行分析
收藏转化率=添加收藏后购买的用户数/添加收藏的用户数
#从收藏到购买的转化: select count(distinct a.user_id)as 收藏用户数,count(distinct b.user_id)as 收藏后购买用户数 from (select distinct user_id,item_id,item_category,timestamp from User_Behavior where behavior_type='fav')a left join (select distinct user_id,item_id,item_category,timestamp from User_Behavior where behavior_type='buy')b on a.user_id=b.user_id and a.item_id=b.item_id and a.item_category=b.item_category and a.timestamp<b.timestamp;
浏览的用户数是:22009
加入收藏的用户数为:8900
加入收藏后购买的用户数:1910
所以,收藏转化率为:1910/8900 = 21.4%,约等于21%
与线路一的购买流程来看,用户在浏览后,相对于收藏行为,会更倾向于添加到购物车。而且购物车转化率为30%,收藏转化率为21%,购物车转化率比收藏转化率高,也就是说,用户更偏向于购物车购买。
这是为什么呢?
推测原因:加入购物车后可以直接下单购买,而加入收藏后并没有可以下单的页面,如果需要购买必须重新点击商品进入详情页才能下单,多了一个步骤,所以,在这个步骤里可能用户就流失了部分。
4.参照RFM模型,对用户进行分类找出有价值的用户
RFM模型是衡量客户价值和客户创利能力的重要工具。该模型通过客户的最近交易行为(Recency)、交易频率(Frequency)以及交易金额(Monetary)三项指标来描述该客户的价值状况。一般来说,会将这三项指标分成几个区间进行评分,通过计算评分找到有价值的用户,并对用户进行分类。
最近一次消费(Recency):是指最近一次消费距离上一次消费之间的时间长短。它反映了客户对产品的态度以及对品牌价值的信任度,它关乎消费者的存留状况。
消费频率(Frequency):是指某个特定时间内消费的次数。它直接反映了客户的忠诚度,消费频率越高,忠诚度就越高;忠诚度越高的客户数量越多,公司的竞争优势越强,市场份额越大。
消费金额(Monetary):是指一定时间内消费某产品金额。它反映的是客户的价值,价值越高,给公司创造的利益就更大。
因为数据源里没有金额相关的信息,所以只通过R和F来对客户价值进行评分。
R(Recency)最近的购买行为:
数据集里时间范围是从11月25到12月3日,我将11月25日,设为参数对照日期,即以距离11月25日的天数划分区间,其中0-2天,3-4天,5-6天,7-8天,分别对应为1-4分。
#按购买天数评分: create view score_01 as select user_id, (case when 购买天数 between 0 and 2 then 1 when 购买天数 between 3 and 4 then 2 when 购买天数 between 5 and 6 then 3 when 购买天数 between 7 and 8 then 4 else 0 end )as 购买得分 from (select user_id,datediff(max(dates),'2017-11-25')as 购买天数 from User_Behavior where behavior_type='buy' group by user_id)as a order by 购买得分;
F(Frequency)购买频率:
从上面对复购用户的分析中,我们也得知,有购买行为的用户,购买频率最高的能达到72次。所以,我们将1-72从低到高,划分为4个档次。1-18,19-36,37-54,55-72分别对应为1-4分。
#按购买频率评分: create view score_02 as select user_id, (case when 购买次数 between 1 and 18 then 1 when 购买次数 between 19 and 36 then 2 when 购买次数 between 37 and 54 then 3 when 购买次数 between 55 and 72 then 4 else 0 end )as 购买频率得分 from (select user_id,count(behavior_type)as 购买次数 from User_Behavior where behavior_type='buy' group by user_id)b order by 购买频率得分 desc;
通过上面两个步骤,从两个维度:最近购买时间及购买频率,分别给用户进行了评分。接下来用这两项的每一项平均值作为判断高于还是低于,比如重要价值用户,必须是两项的分值都比平均值要高,才能作为重要价值的用户。
下面对用户进行分类
求两项评分的均值:
#求评分的均值 select avg(购买得分) from score_01; select avg(购买频率得分)from score_02;
将获得的两项评分分别和它们的均值进行比较,对客户进行分类:
#对用户进行分类: create view users_classify as select user_id, (case when R>3 and F>1 then '重要价值用户' when R>3 and F<=1 then '重要保持用户' when R<=3 and F>1 then '重要发展用户' when R<=3 and F<=1 then '一般价值用户' else 0 end )as 用户类型 from (select a.user_id,a.购买得分 as R,b.购买频率得分 as F from score_01 as a inner join score_02 as b on a.user_id=b.user_id)c;
(暂时无法打开users_classify表格)
用户类型计数:
#对用户类型计数: select count(用户类型) from users_classify where 用户类型='重要价值用户'; select count(用户类型) from users_classify where 用户类型='重要保持用户'; select count(用户类型) from users_classify where 用户类型='重要发展用户'; select count(用户类型) from users_classify where 用户类型='一般价值用户';
对于重要价值用户,他们是最优质的用户,需要重点关注并保持, 应该提高满意度,增加留存;
对于重要保持用户,他们最近有购买,但购买频率不高,可以通过活动等提高其购买频率;
对于重要发展用户,他们虽然最近没有购买,但以往购买频率高,可以做触达,以防止流失;
对于一般价值用户,他们最近没有购买,以往购买频率也不高,特别容易流失,所以应该赠送优惠券或推送活动信息,唤醒购买意愿。
四、结论及建议
1.12月2日与12月3日,相对于其他日期,流量增长明显,推测和搞活动有关;
2.大部分用户在18时到21时会比较活跃,其中21到22时,是一天当中最活跃的时段,成交量也是这一时段最高。建议可以在用户活跃的时段进行推广以使运营效果最大化。
3.这段时间,人均购买次数为3,复购率达到66%,说明店铺产品对用户吸引力比较大。
4.被重复购买得比较频繁的商品是item_id为3122135等商品,对于复购率高的商品,建议可以建立自己的忠实粉丝群,实行更精准的人群管理。
5.用户ID为107932 等的用户是重复购买次数最多的用户。建议对于这些忠实用户,建议要更全面地了解,开发用户信息库,建立详实的用户资料数据库,追踪记录顾客的交易情况。或者线上组建VIP客户微信群等,针对这些用户的购买偏好推送更精准的销售方案。
6.用户行为转化率只有2%,有98%的用户行为是没有转化为成交的,用户在浏览商品详情页后出现了大量的流失。建议通过活动、优惠券、产品详情页的改进等提高转化。
7.从浏览到加入购物车的转化有75.5%,大部分用户在浏览后有购买意向;加入购物车到真正购买的,只有30%,有70%的用户加入购物车后却并没有进一步购买。
建议在用户加入购物车后能有促进用户下单的利益“诱导”,如赠送优惠券或采用倒计时购物车增加客户购买紧近感。
8.从收藏到购买的转化率为21%。相对于购物车30%的转化率,收藏转化率稍低。
同样建议在用户添加收藏后能提示优惠或促销等时限信息,促使用户尽早下单。
9.用RFM模型对用户进行分类后,可知重要价值用户比较少,用户类型主要还是集中于重要保持用户和一般价值用户。建议根据用户类型,进行有针对性的精准营销。
参考文献:
1.https://zhuanlan.zhihu.com/p/76267568