前言

本文针对淘宝app的运营数据,以行业常见指标对用户行为进行分析,包括UV、PV、新增用户分析、漏斗流失分析、留存分析、用户价值分析、复购分析等内容,使用的分析工具以MySQL为主,涉及分组汇总,引用变量,视图,关联查询等内容。

一、提出问题

1.业务维度

1)基于AARRR漏斗模型,使用常见电商分析指标,从新增用户数量、各环节转化率、新用户留存率三个方面分析,确定影响新增用户数量的因素,找到需要改进的转化环节,发现留存现存问题
2)研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律
3)找出最具价值的核心付费用户群,对这部分用户的行为进行分析
4)找到用户对不同种类商品的偏好,制定针对不同商品的营销策略

2.分析逻辑

3.分析所使用的模型和体系

电商分析通常从四个方面展开,即流程效率分析、流量/用户分析、商品分析、产品分析,通过流程效率拆解追踪问题产生环节,通过用户粘性、价值、满意度分析来进行用户分层及流失预警,通过商品生命周期及关联分析来划分商品等级,通过产品分析提升用户浏览-购买过程体验;
本文通过常用的电商数据分析指标,采用AARRR漏斗模型拆解用户进入APP后的每一步行为;并使用RFM模型,对用户价值进行评价,找到最有价值的用户群,针对这部分用户进行差异化营销
电商数据分析体系
电商数据指标体系
AARRR漏斗模型

二、数据说明

1.数据来源

阿里云天池:https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1

数据集包含了2017年11月25日至2017年12月3日之间,约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集大小情况为:用户数量约100万(987,994),商品数量约410万(4,162,024),商品类目数量9,439以及总的淘宝用户行为记录数量为1亿条(100,150,807)。

2.数据样本

原数据集一共有1亿条数据记录,数据量庞大,本次分析选取了大约100万条记录进行分析,数据整体情况参考如下表格。

3.字段含义

三、数据清洗

1. 选择子集

数据集的每一个字段都有效,此处全部选择。

2. 列名重命名

原数据集没有表头,用sql语句创建表及5个字段,把淘宝用户行为数据导入Mysql数据库。

3. 删除重复值

数据导入时,将主键定义为:user_id,item_id,timestamps,保证没有重复数据。

4. 缺失值处理

在创建表格的时候,5个字段均定义为NOT NULL,数据导入保证没有缺失值。

5.一致化处理

转换时间数据类型,并添加datentime,dates,hours三个字段,将转换好的数据放进去

ALTER TABLE UserBehavior ADD COLUMN datentime TIMESTAMP(0) NULL;
UPDATE UserBehavior
SET datentime = FROM_UNIXTIME(timestamps);ALTER TABLE UserBehavior ADD COLUMN dates CHAR(10) NULL;
UPDATE UserBehavior
SET dates = SUBSTRING(datentime FROM 1 FOR 10);ALTER TABLE UserBehavior ADD COLUMN hours CHAR(10) NULL;
UPDATE UserBehavior
SET hours = SUBSTRING(datentime FROM 12 FOR 2);
6. 数据异常值处理

检查日期是否在规定范围内:2017年11月25日至2017年12月3日。

SELECT MAX(timestamps),MIN(timestamps),MAX(datentime),MIN(datentime)
FROM UserBehavior;

检查时间是否正确,并将不符合规定的数据删除

DELETE FROM UserBehavior
WHERE datentime < '2017-11-25 00:00:00'
OR datentime > '2017-12-04 00:00:00';

一共删除了470行数据,再次验证日期时间的准确性,结果符合要求
完成清洗后的数据:

四、构建模型

1.分析用户行为的漏斗模型

数据主要涉及每日新增用户数,用户购买转化环节从浏览到最终购买整个流程的流失情况(包括浏览、收藏、加购、购买),用户次日、3日、7日留存情况,以及用户在研究时段内的复购次数和复购率

1)获客:每日新增用户情况(Navicat)

此处选取2017年11月25日为APP启用的首天,并定义新增用户为出现第一次购买行为的用户。
如下图所示,2017年11月25日至2017年12月3日期间,每天都有新增用户,但是新增用户在递减,在12月2日当天有小幅回涨,故周末推出的营销活动或正在预热的双十二营销活动能够吸引新用户。

2)转化:转化及流失情况

● APP在9天内的各项指标情况如下

访问用户总数(UV):9739
页面总访问量(PV):895636

#计算UV,PV
SELECT COUNT(DISTINCT(user_id)) AS 'UV',
(SELECT count(behavior) FROM UserBehavior
WHERE behavior = 'pv') AS 'PV',
FROM UserBehavior;


跳失率=只点击一次浏览的用户数量/总用户访问量(PV)

当统计时长为9天时,有567个人浏览了一个页面就离开了APP,占总访问量的0.63%,几乎可以忽略不计,说明淘宝有足够的吸引力让用户停留。

SELECT COUNT(DISTINCT user_id) AS '跳失用户数'
FROM UserBehavior
WHERE user_id NOT IN(SELECT DISTINCT user_id FROM UserBehavior WHERE behavior = 'fav')
AND user_id NOT IN(SELECT DISTINCT user_id FROM UserBehavior WHERE behavior = 'cart')
AND user_id NOT IN(SELECT DISTINCT user_id FROM UserBehavior WHERE behavior = 'buy');


● 用户行为转化漏斗计算
在购物环节中收藏和加入购物车都是确定购物意向的行为,没有先后之分,所以将这两个环节合并为购物环节中的一步。
由下图可以看到,从浏览到确定购买意向只有9%左右的转化率,夹点出现在点击-收藏或加购这一过程中,可能原因是用户花了大量时间寻找合适的产品,可以针对性的优化平台的筛选功能,让用户能够更容易的找到合适产品,并将流程指标再细化后进行分析,找出影响用户流失的关键问题点。

# 首先创建用户行为视图
CREATE VIEW user_behavior
AS
SELECT user_id, count(behavior),
SUM(CASE WHEN behavior='pv' THEN 1 ELSE 0 END) AS '点击数',
SUM(CASE WHEN behavior='fav' THEN 1 ELSE 0 END) AS '收藏数',
SUM(CASE WHEN behavior='cart' THEN 1 ELSE 0 END) AS '加购数',
SUM(CASE WHEN behavior='buy' THEN 1 ELSE 0 END) AS '购买数'
FROM userbehavior
GROUP BY user_id
ORDER BY COUNT(behavior) DESC;
# 再计算转化率
SELECT CONCAT(ROUND(SUM(点击数)/SUM(点击数)*100,2),'%') AS 'pv',
CONCAT(ROUND((SUM(加购数)+SUM(收藏数))/SUM(点击数)*100,2),'%') AS 'pv_to_favcart',
CONCAT(ROUND(SUM(购买数)/SUM(点击数)*100,2),'%') AS 'pv_to_buy'
FROM user_behavior;


● 独立访客漏斗计算

APP约有68%的付费用户,用户付费转化率相当高

SELECT behavior,COUNT(DISTINCT user_id) AS '用户数'
FROM userbehavior
GROUP BY behavior
ORDER BY COUNT(DISTINCT user_id) DESC;


3)留存:新增用户的留存情况

由下表数据,次日、3日、7日留存率均维持在20%左右,数据作为周留存率来看,表现还是非常优秀的,但作为次日留存来看,就不是很理想了,可以结合产品设计和新用户转化路径来分析用户的流失原因,通过不断的修改和调整来降低用户流失,提升次日留存率;另外,12月2日、3日的留存率相较之前有2%-8%的上涨,故促销活动能为提升留存带来一定正向的影响。

注:本次研究把2017年11月25日当天的用户全作为新用户,与实际情况不符,考虑实际情况进行分析,淘宝APP的留存已经过了流失期和蒸馏期,进入稳定期,在这样的条件下,若留存率达到20%还是很可观的。


4)变现:复购分析
下图展示了不同复购次数对应的用户数量,发现复购5次以上的用户仅占有购买行为用户数的10%,我们发现高复购次数的用户很少,商家可以从商品质量、服务质量、物流体验三方面寻找原因,定位所在问题点,寻求高复购率突破
经下面代码块计算,复购率为66%,淘宝APP的整体复购率相对可观,应将经营重点转化为培养用户的忠诚度上,鼓励用户更高频次的消费。

SELECT CONCAT(ROUND
(SUM(case when 购买数>=2 then 1 else 0 end) / SUM(case when 购买数>0 then 1 else 0 end) * 100), '%') AS '复购率'
FROM user_behavior;

2.不同时间尺度下的用户行为模式分析

分别以研究全时段(9天,此处觉得再研究单周意义不大),日为单位,分析用户购买行为,找出活跃用户规律。
1)分析2017年11月25日至12月3日 9天中每天的用户行为
由图可见在研究日期范围内用户活跃度较为平稳,仅在12月2日、3日有明显增长,该日期和11月25日、26日同为周末,故除特别营销活动外,周末能为提升用户活跃度带来的影响较小;
另外,几项指标在12月2日点击数涨幅最大,收藏数涨幅最小,可能是双十二促销活动刚开始预热,用户开始大量浏览商品;加入购物车是用户在批量购买商品时的前置动作,因此加入购物车的行为发生次数同样大幅增加

SELECT dates, COUNT(behavior),
SUM(CASE WHEN behavior='pv' THEN 1 ELSE 0 END) AS '点击数',
SUM(CASE WHEN behavior='fav' THEN 1 ELSE 0 END) AS '收藏数',
SUM(CASE WHEN behavior='cart' THEN 1 ELSE 0 END) AS '加购数',
SUM(CASE WHEN behavior='buy' THEN 1 ELSE 0 END) AS '购买数'
FROM userbehavior
GROUP BY dates
ORDER BY dates;

2)分析一天中每小时的用户行为
这里用SQL提取每天的数据,用Excel绘成动态图表,观察发现每日各项行为数据变化趋势相同,这里我们仅选择一个周五2017年12月1日进行分析;
观察下图发现,12月1日这天共有两个高峰期,分别是晚上20点至22点和上午10点至下午13点,对应了许多上班族中午和晚上休息的时间,符合大部分人的作息规律;
另外,我们发现加购和收藏量的峰值出现在晚上20-22点,而购买量的峰值则在早上10点,大部分人喜欢晚上收藏加购,早晨购买,说明收藏和购买是异步的用户行为,收藏的峰值通常发生在购买行为的前一段时间,加购则是购买的前置动作,其峰值也会发生在购买行为前

3.用户价值分析

1)用户价值分层(RFM模型)
由于数据缺少M(消费金额)列,暂且通过R(最近一次购买时间)和F(消费频率)的数据对客户价值进行打分。

通过打分可以了解每位顾客的特性,从而实现差异化营销。例如对于user_value=44的用户,可划分为VIP用户重点关注,并且投放活动时不要引起反感;而对于user_value=14这类用户粘性不强而消费时间间隔较短,运营活动可以重点针对这部分用户,提高用户使用产品的频率,可以通过拼团打折、积分兑换、捆绑销售等活动唤起用户注意力;对于user_value=41这类忠诚度不高而购买能力强的用户,则需要关注他们的购物习惯做精准化营销。

SELECT r.user_id,f.frequency,recent_rank,freq_rank,
CONCAT(
CASE WHEN recent_rank<=(6589)/4 THEN '4'
WHEN recent_rank>(6589)/4 AND recent_rank<=(6589)/2 THEN '3'
WHEN recent_rank>(6589)/2 AND recent_rank<=6589/4*3 THEN '2'
ELSE '1' END,
CASE WHEN freq_rank<=(6589)/4  THEN '4'
WHEN freq_rank>(6589)/4  AND freq_rank<=(6589)/2 THEN '3'
WHEN freq_rank>(6589)/2 AND freq_rank<=6589/4*3 THEN '2'
ELSE '1' END
)AS user_value
FROM
(SELECT a.*,(@rank:=@rank+1) AS recent_rank FROM
(SELECT user_id,
DATEDIFF('2017-11-25',max(dates)) AS recent
FROM userbehavior AS t1 WHERE behavior='buy' GROUP BY user_id ORDER BY recent
)AS a,(SELECT @rank:=0) AS b) AS r,
(SELECT *,(@rank2:=@rank2+1) AS freq_rank FROM
(SELECT user_id,count(*) AS frequency FROM userbehavior WHERE behavior='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;
4.商品销售分析

1)商品销售情况
统计所有商品的购买次数,同时找到购买次数、浏览次数、收藏次数和加入购物车次数最多的商品。

本次分析的商品共有398972中,用户购买的商品共有17565种,却没有出现购买数量非常集中的商品;在本次统计的数据中,只购买一次的商品有15536种,占用户购买商品数的88.4%,说明商品售卖主要依靠长尾商品的累积效应,而非爆款商品的带动。

SELECT product_buytimes, COUNT(*) AS product_type_count
FROM
(SELECT COUNT(user_id) AS product_buytimes
FROM UserBehavior
WHERE behavior = 'buy'
GROUP BY item_id) AS product_buypool
GROUP BY product_buytimes
ORDER BY product_buytimes ASC;

● 商品销量top20
列出销量前20位的商品,item_ID为3122135的商品销量最高,为17次,那么是否浏览次数最高的商品销量也最高呢?

● 商品浏览top20
我们看到浏览数最高的商品为812879,而浏览次数最高的商品甚至没有进入销量前20,说明这些吸引用户更多注意力的商品没有很好的转化为实际销量。

● 商品收藏top20
下图为收藏数前20的商品,可以看到排在收藏前1、15、20位的商品在浏览top20中也有出现,分别排名2、10、4,说明收藏和浏览的同步几率更大

● 商品加购top20
在加入购物车次数最多的前20个商品中,可以看到销量第3、4、10位的商品在加购数中排第1、10、8,说明加购数与销量的关系更为直接

2)商品类目销售情况
商品类目销售情况中有较为明显的集中趋势,top20如下表所示,可根据畅销类目优化商品展示、加强商品捆绑,进而提高销量。

SELECT category_id , COUNT(*) AS cat_count
FROM userbehavior
WHERE behavior = 'buy'
GROUP BY category_id
ORDER BY cat_count DESC;

SELECT category_id , COUNT(*) AS cat_count
FROM userbehavior
WHERE behavior = 'buy'
GROUP BY category_id
ORDER BY cat_count DESC;
五、结论与建议

本文分析了淘宝APP用户行为数据共100万条,从四个不同角度提出业务问题,使用AARRR模型和RFM模型分析数据给出如下结论和建议。

1.通过AARRR模型分析用户使用的各个环节
1)获取用户
由于数据中没有给出每个用户第一次的登陆的时间,我们暂且把2017年11月25日作为每个用户的第一次登陆时间来处理。

在研究时段内,每天都有新增用户,但是新增用户在递减,仅在推出营销活动的周末有小幅回升,故推出的营销活动能够对新用户产生吸引,营销活动的推广渠道或许是用户量增长多少的关键。

2)激活用户
在购物环节中收藏和加入购物车都是确定购物意向的行为,没有先后之分,所以将这两个环节合并为购物环节中的一步。

从浏览到有购买意向只有9%的转化率,当然有一部分用户是直接购买,但也说明大多数用户以浏览页面为主而购买转化较少,此处为转化漏斗中需要改善和提高的环节。

针对这一环节改善转化率的建议有:
①优化电商平台的搜索匹配度和推荐策略,主动根据用户喜好推荐相关的商品,优化商品搜索的准确度和聚合能力,对搜索结果排序优先级进行优化;
②给客户提供同类产品比较的功能,让用户不需要多次返回搜索结果反复查看,便于用户确定心怡产品;
③在商品详情页的展示上突出用户关注的重点信息,精简信息流的呈现方式,减少用户寻找信息的成本;
④优化加入购物车和收藏按键的触达,用户在滑屏时也能方便触达,增加功能使用的次数。

3)提高留存
留存分析同样把2017年11月25日作为每个用户的第一次登陆时间来处理。

淘宝APP的留存相对而言较为稳定,周留存表现优秀,但次日留存略显不理想,可以结合产品设计和新用户转化路径来分析用户的流失原因,通过不断的修改和调整来降低用户流失,提升次日留存率;另外,12月2日、3日的留存率相较之前有2%-8%的上涨,故营销活动能为提升留存带来一定正向的影响,可以多推出一些营销活动,让用户提高使用淘宝电商平台的频率。

4)增加收入
使用APP的用户中有61%的付费用户,付费转化率相当高。

有购买行为的用户中,大概有65%的用户会重复购买,淘宝APP的整体复购率相对可观,应将经营重点转化为培养用户的忠诚度上,鼓励用户更高频次的消费。

高复购次数的用户少,商家可以从商品质量、服务质量、物流体验三方面寻找原因,定位所在问题点,寻求高复购率突。

5)用户推荐
淘宝本身用户基数庞大,知名度高,个人认为在一二线城市的用户基本已经达到饱和,传播工作需要针对三四线城市的渠道下沉,在这些地区针对用户价格敏感度高的特性开展类似拼多多的拼团转发和打折促销活动,扩大这部分用户的使用率。

2.研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律
研究的9天内共有两个周末,第一个周末仅有小幅上涨,而第二个周末因有营销活动预热,出现点击量和加购量的大幅上涨,故周末可多推出营销活动,上班族周末空闲时间的消费欲望还存在很大的挖掘潜力。

每天有两个高峰期,晚8点至10点,上午10点至下午1点,用户通常喜欢晚上加购收藏,早上进行购买。

针对高峰期进行营销活动收益最高,此时使用人数最多,活动容易触达用户,营销活动的形式可以通过促销、拼团等形式进行。

3.通过RFM模型找出最具价值的核心付费用户群,对这部分用户的行为进行分析
评分是44的用户是体系中的最有价值用户,需要重点关注。并且活动投放时需谨慎对待,不要引起用户反感。

对于价值评分是14的用户,其粘性不强但消费时间间隔较短,运营活动可以重点针对这部分用户,提高用户的产品使用频率,通过拼团打折、积分兑换等活动唤起用户注意力。

4.找到用户对不同种类商品的偏好,制定针对不同商品的营销策略
商品售卖主要依靠长尾商品的累积效应,而非爆款商品的带动。销量最高的商品在浏览数榜单上默默无闻,而浏览次数最高的商品甚至没有进入销量前20,说明这些吸引用户更多注意力的商品没有很好的转化为实际销量。

针对浏览量高而销量不高的这部分商品,商家可以从以下几个方面提高销售额:
①诚信吸引用户,有的商家为吸引用户点击,在商品展示页投放的价格具有较强吸引力,而实际价格偏高,反而造成用户流失;
②从用户角度出发设计详情页信息流展示,便于用户获取信息;
③优化商品展示的形式,可以采用视频等更直观的展示方式;
④评论区评价管理,尤其对于差评区的用户反馈进行认真对待,分析自身劣势,并做出积极的回应和弥补

基于MySQL的淘宝用户行为数据分析相关推荐

  1. 基于MySQL的淘宝用户行为分析

    该文目录 一.分析背景 二.分析目的 三.理解数据 四.提出相关问题 1.相关问题 2.分析框架 五.数据清洗 1.选择子集 2.数据类型修改 3.重复值检查 4.缺失值处理 5.一致性处理 6.异常 ...

  2. mysql 时间段内的周末_淘宝用户行为数据分析(MySQL)

    利用MySQL对淘宝用户行为数据进行分析.分析步骤如下: 1 提出问题 2 理解数据 3 数据清洗 4 构建模型 5 结论 6 建议 淘宝是目前国内最大的电商平台,人们网购的主要渠道之一.买家通过搜索 ...

  3. MySQL项目-淘宝用户购物行为数据可视化分析

    一.项目背景与目的 1.1 项目背景 UserBehavior是阿里巴巴提供的一个淘宝用户行为数据集,用于隐式反馈推荐问题的研究.数据集包含了2017年11月25日至2017年12月3日之间,有行为的 ...

  4. 天池-淘宝用户行为数据分析(python+Tableau)

    天池-淘宝用户行为数据分析(python+Tableau) 一.背景 ​ 用户行为分析可以让产品更加详细.清楚地了解用户的行为习惯,从而找出网站.app.推广渠道等产品存在的问题,有助于产品发掘高转化 ...

  5. 案例:淘宝用户行为数据分析(SQL实现)

    一.项目介绍 本文针对淘宝APP的运营数据,使用阿里云天池上公开的数据集,以行业常见指标对用户行为进行分析,主要工具为MySQL,涉及分组汇总,引用变量,视图,关联查询等内容,可视化工具为excel和 ...

  6. 如何用mysql对淘宝用户行为进行分析

    一.项目背景和目的 项目集中于对淘宝用户行为的分析,如购买时段的分析.热销商品的分析.用户行为转化漏斗分析以及通过RFM模型对用户进行分类等,希望从中探索用户购买的规律,并将这些规律与店铺营销策略相结 ...

  7. 基于SQL的淘宝用户行为分析报告

    一.分析背景 国家统计局公布的2014-2019H1中国居民消费相关数据显示,中国社会消费零售总额增速逐步放缓,经过多年来高速增长的电商行业也从之前的野蛮式扩张逐步规范,形成稳定局面. 数字用户红利见 ...

  8. 大数据实战 --- 淘宝用户行为数据分析

    目录 开发环境 数据描述 功能需求 数据准备 数据清洗 用户行为分析 找出有价值的用户 开发环境 Hadoop+Hive+Spark+HBase 启动Hadoop:start-all.sh 启动zoo ...

  9. 【毕业设计】大数据淘宝用户行为数据分析与可视化 - flink

    文章目录 0 前言 1.环境准备 1.1 flink 下载相关 jar 包 1.2 生成 kafka 数据 1.3 开发前的三个小 tip 2.flink-sql 客户端编写运行 sql 2.1 创建 ...

最新文章

  1. c#与access建立连接用作登录_Linux网络配置 | FTP 实战-虚拟用户登录
  2. IE6.0,ie7.0与Firefox的CSS兼容性问题
  3. python timestamp和datetime之间的转换_python – 在datetime,Timestamp和datetime64之间转换
  4. 利用nginx搭建RTMP视频点播、直播、HLS服务器
  5. 数据库安全:不只是DAM
  6. JUnit 5 –下一代JUnit的初步了解
  7. windows下node安装
  8. iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
  9. oracle中select*的性能与全部字段查询 哪个性能好一点_性能优化技巧:TopN
  10. Atitit 知识管理 知识的存储与检索 目录 1. Mis4大信息系统 2 1.1. crm客户流 通讯录 2 1.2. 企业资源规划(ERP) 财务卡片系统 通讯录,canlenda实现 2
  11. 制作一个简单HTML中华传统文化网页(HTML+CSS)
  12. 【转】十大抢手的网站压力测试工具
  13. resnet50能用cpu跑吗_用最简单的方式训练史上最强ResNet-50,性能超过魔改结构的ResNeSt...
  14. html表单界面设计,ui界面表单设计的三个方面
  15. 安徽省发票认证服务器网站,安徽省增值税发票综合服务平台网址及操作指南
  16. adguard自定义_AdGuardHome拦截页面模版下载,自定义AdGuardHome拦截页教程,修改AdGuardHome默认拦截页...
  17. 【技术分享】五:搜索排序-特征分析
  18. Chalk-控制台输出着色Nodejs库
  19. Redis入门指南 第1章 简介 Redis的几项特性
  20. trx40主板支持服务器内存,华硕发布TRX40系列主板:8内存插槽设计+64个PCIe 4.0通道...

热门文章

  1. 国内自动驾驶公司Momenta
  2. cocos2dx box2d
  3. 新资本监管:风险是银行的根本,数据是银行的未来
  4. STM8S的堆和栈说明
  5. scratch2.0编写的大富翁游戏棋(下载资源)
  6. T3出行夺冠,如祺出行、曹操出行追赶,网约车行业的“新故事”在哪?
  7. RK3399pro Geekbench 4 跑分
  8. 利达主机联网接线端子_利达128e主机屏蔽 利达主机接线端子说明
  9. Chisel,说爱你不容易
  10. Win7怎么设置计算机窗口,win7纯净版电脑中切换窗口显示的数目如何设置