电商用户行为数据分析-从0到1

关于用户行为数据分析:

用户行为分析是互联网公司的核心分析指标。这个过程需要数据分析师通过海量交易数据,分析(新/老)用户在整个产品使用环节(随时间)的行为路径,从而发现异常值,探索出现异常的原因,进而减少用户流失、提升用户的产品参与度、最后帮助产品实现持续性营收。

参考文章: https://mp.weixin.qq.com/s/7tiAw1zv9zlFSfdHdyrvuQ
参考文章: https://mp.weixin.qq.com/s/BWLsix2v-pJ2HUzyYf4NcQ

▲如上图所示,【用户行为分析】的数据地位

以下介绍【用户行为分析】整个流程步骤: #

第一步:整理数据 #

首先把收集回来的行为数据整理成如下格式,方便进一步分析:

user_id:用户身份
item_id:商品ID
behavior_type:用户行为类型(包含点击、收藏、加购物车、购买四种行为,分别用数字1、2、3、4表示)
user_geohash:地理位置(有空值)
item_category:品类ID(商品所属的品类)
time:用户行为发生的时间

第二步:整理需要分析的问题: #

整理需要分析的问题,例如如下这些问题:

(1). 整体用户的购物情况pv(总访问量)、日均访问量、uv(用户总数)、有购买行为的用户数量、用户的购物情况、复购率分别是多少?
(2). 用户行为转化漏斗点击— 加购物车— 收藏— 购买各环节转化率如何?购物车遗弃率是多少,如何提高?
(3). 购买率高和购买率为 0 的人群有什么特征
(4). 基于时间维度了解用户的行为习惯
(5). 基于RFM模型的用户分析

第三步: 进行数据清洗: #

3.1 利用ETL工具kettle

3.2 或者 利用posthog自带的ETL工具 Customer data platform – Docs – PostHog

第四步: 构建模型和分析问题 #

例如,分析如下问题:

  1. 总体用户购物情况
  • pv(总访问量)
  • 日均访问量
  • uv(用户总数)
  • 有购买行为的用户数量
  • 用户的购物情况
  • 复购率:产生两次或两次以上购买的用户占购买用户的比例
  • 平均日浏览量(10M)要先按 date group by 算出 pv,再求平均值。
  • 平均日用户量(760K 人)同理
  • Bounce rate 跳出率(只有一次点击行为的用户/总用户数)

假设只有一个页面可以浏览,用户点进页面后要么收藏加购付款,要么跳出。

得到 8% 的跳失率,说明 8% 的用户点进来,没有往下转化就流失掉了,公司应对此查看商品详情页是不是还需改进,网页加载有没有延迟等问题。

分析转化问题 用户行为转化漏斗:

在购物环节中收藏和加入购物车两个环节没有先后之分,所以将这两个环节可以放在一起作为购物环节的一步。最终得到用户购物行为各环节转化率,如下:

可以是行为数漏斗,也可以是独立访客数漏斗,我们这里用后者进行分析。

先按用户,统计每个人的行为:

再计算每个行为的用户数,最后计算转化率,这里我们的转化率是以 view/click -> favorite/add to cart -> purchase 路径为基准进行的计算,并且将收藏和加入购物车的行为进行了合并(考虑到这两个阶段不分先后顺序,而且都是确定购买意向的行为)。

这里表示有点击行为的用户中,86% 的人都点了加购或者收藏,有上述行为的人又购买的人占所有点击人数的 58%。这样的转化率可是非常不错!

第五步:找出有价值的用户(RFM 模型) #

购买率高和购买率为低的人群有什么特征

购买率高用户特征:

由以上结果可以看出,购买率高的用户点击率反而不是最多的,这些用户收藏数和加购物车的次数也很少,一般不点击超过5次就直接购买,由此可以推断出这些用户为理智型消费者,有明确的购物目标,属于缺啥买啥型,很少会被店家广告或促销吸引。

购买率为低用户特征:

由以上结果可以看出,购买率为低用户分为两类,

第一类是点击次数少的,一方面的原因是这类用户可能是不太会购物或者不喜欢上网的用户,可以加以引导,另一方面是从商品的角度考虑,是否商品定价过高或设计不合理;

第二类用户是点击率高、收藏或加购物车也多的用户,此类用户可能正为商家的促销活动做准备,下单欲望较少且自制力较强,思虑多或者不会支付,购物难度较大。

  1. 基于时间维度了解用户的行为习惯

(1)一天中用户的活跃时段分布

可以看出,每日0点到5点用户活跃度快速降低,降到一天中的活跃量最低值,6点到10点用户活跃度快速上升,10点到18点用户活跃度较平稳,17点到23点用户活跃度快速上升,达到一天中的最高值。

(2)一周中用户活跃时段分布

由于第一周和第五周的数据不全,因此这两周的数据不考虑到此次数据分析中。

由以上结果可以看出,每周用户活跃度较稳定,每周五活跃度会有小幅降低,但是周末会慢慢回升。其中周五用户活跃度突增,这是由双十二电商大促销活动引起。

  1. 基于 RFM 模型找出有价值的用户

RFM模型是衡量客户价值和客户创利能力的重要工具和手段,其中由3个要素构成了数据分析最好的指标,分别是:

  • R-Recency(最近一次购买时间)
  • F-Frequency(消费频率)
  • M-Money(消费金额)

由于数据源没有相关的金额数据,暂且通过 R 和 F 的数据对客户价值进行打分。

(1)计算R-Recency

由于数据集包含的时间是从2014年11月18日至2014年12月18日,这里选取2014年12月19日作为计算日期,统计客户最近发生购买行为的日期距离2014年12月19日间隔几天,再对间隔时间进行排名,间隔天数越少,客户价值越大,排名越靠前。

(2)计算F-Frequency

先统计每位用户的购买频率,再对购买频率进行排名,频率越大,客户价值越大,排名越靠前。

(3)对用户进行评分

对4330名有购买行为的用户按照排名进行分组,共划分为四组,对排在前四分之一的用户打4分,排在前四分之一到四分之二(即二分之一)的用户打3分,排在前四分之二到前四分之三的用户打2分,剩余的用户打1分,按照这个规则分别对用户时间间隔排名打分和购买频率排名打分,最后把两个分数合并在一起作为该名用户的最终评分。

计算脚本如下:

'''
SELECT r.user_id,r.recent,r.recent_rank,f.frequency,f.freq_rank,
CONCAT(  --  对客户购买行为的日期排名和频率排名进行打分
CASE WHEN r.recent_rank <= (4330/4) THEN '4'
WHEN r.recent_rank > (4330/4) AND r.recent_rank <= (4330/2) THEN '3'
WHEN r.recent_rank > (4330/2) AND r.recent_rank <= (4330/43) THEN '2'
ELSE '1' END,
CASE WHEN f.freq_rank <= (4330/4) THEN '4'
WHEN f.freq_rank > (4330/4) AND f.freq_rank <= (4330/2) THEN '3'
WHEN f.freq_rank > (4330/2) AND f.freq_rank <= (4330/43) THEN '2'
ELSE '1' END
) AS user_value
FROM
--  对每位用户最近发生购买行为的间隔时间进行排名(间隔天数越少,客户价值越大)
(SELECT a.,(@rank := @rank + 1) AS recent_rank
FROM  --  统计客户最近发生购买行为的日期距离'2014-12-19'间隔几天
(SELECT user_id,DATEDIFF('2014-12-19',MAX(date)) AS recent
FROM user
WHERE behavior_type = 'buy'
GROUP BY user_id
ORDER BY recent) AS a,
(SELECT @rank := 0) AS b)
AS r,
-- 对每位用户的购买频率进行排名(频率越大,客户价值越大)
(SELECT a.,(@rank2 := @rank2 + 1) AS freq_rank
FROM   --  统计每位用户的购买频率
(SELECT user_id,COUNT(behavior_type) AS frequency
FROM user
WHERE behavior_type = 'buy'
GROUP BY user_id
ORDER BY frequency DESC) AS a,
(SELECT @rank2 := 0) AS b)
AS f
WHERE r.user_id = f.user_id;
'''

通过打分可以了解每位顾客的特性,从而实现差异化营销。比如对于 user_value = 44 的用户,为重点用户需要关注;对于user_value = 41 这类忠诚度高而购买能力不足的,可以可以适当给点折扣或捆绑销售来增加用户的购买频率。

第六步 基于(AARRR) 框架的用户分析 #

用户获取:我们来看看每日新增访问和购买用户

每日新增访问用户数:

每日新增购买用户数:

第7步:报表自动化 #

kettle制作报表自动化:

为了实现监测每个月用户的评分变化,推测客户消费的异动状况,结合数据库使用ETL工具kettle实现定时输出评分结果:

这里kettle实现过程不做详细描述。

第8步: 总结结论: #

  1. 总体转化率只有 1%,用户点击后收藏和加购物车的转化率在 5% ,需要提高用户的购买意愿,可通过活动促销、精准营销等方式。
  2. 购买率高且点击量少的用户属于理智型购物者,有明确购物目标,受促销和广告影响少;而购买率低的用户可以认为是等待型或克制型用户群体,下单欲望较少且自制力较强,购物难度较大。
  3. 大部分用户的主要活跃时间在10点到23点,在19点到23点达到一天的顶峰。每周五的活跃度有所下降,但周末开始回升。可以根据用户的活跃时间段精准推送商家的折扣优惠或促销活动,提高购买率。
  4. 通过 R 和 F 的数据对用户行为进行打分,对每位用户进行精准化营销,还可以通过对R 和 F 的数据监测,推测客户消费的异动状况,挽回流失客户。

Powered by BetterDocs