一、背景:
淘宝拥有近5亿的注册用户数,每天有超过6000万的固定访客,同时每天的在线商品数已经超过了8亿件,平均每分钟售出4.8万件商品。
通过对用户行为数据分析。可以有效针对用户,商品,渠道等不同方面进行分析,实现数据化管理。本分析选择了天池平台上的数据集User Behavior Data from Taobao for Recommendation,通过分析该数据,希望得到该时间段所有用户的消费规律。
二、分析过程
提出问题,明确目标
1、每天的PV、UV、平均访问量?
2、用户转化情况为多少?
3、用户复购率为多少?用户平均购买次数是多少,哪些客户属于优质客户?
4、哪些产品比较受欢迎?
5、用户活跃时间段理解数据
① 数据来源:
阿里云天池: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)。
② 分析选取的数据样本
本次分析选取了1000万条记录进行分析,数据整体情况参考下面表格。
③ 字段含义
- 数据处理
一致化处理
原数据时间戳用epoch & unix timestamp格式表达,需要转换为人类可读的日期时间形式。
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 8);
增加3个新字段datetime,dates,hours
异常值处理
日期发现异常值,数据集包含了2017年11月25日至2017年12月3日之间所有用户的行为。需要将2017年11月25日至2017年12月3日时间段之外的数据删除。
DELETE FROM UserBehavior
WHERE datentime < '2017-11-25 00:00:00'
OR datentime > '2017-12-04 00:00:00';
- 构建模型
① 流量、转化分析
#每日pv
SELECT
dates AS '日期',
COUNT(*) AS 'PV'
FROM
UserBehavior
WHERE
behavior = 'pv'
GROUP BY
dates
ORDER BY
dates;
#每日uv
SELECT
dates AS '日期',
COUNT(DISTINCT user_id) AS 'UV'
FROM
UserBehavior
GROUP BY
dates
ORDER BY
dates;
平均访问数大约是19.9w。从2017年12月1日出现增长一直到2017年12月2日达到峰值24.7w。分析发现,2017年11月25日和11月26日为周末,用户访问量较工作日偏高;2017年12月开始年货节促销,所以合适的促销活动有利于用户访问的增长。
平均访客数约15.5w,到2017年12月1日促销活动开始后,访客数出现增加。看来促销活动对于用户存在不小的诱惑。
每天平均访问量在12.-13次之间,即每天每人访问页面大概为13次
② 用户转化率为多少?
SELECT COUNT(DISTINCT user_id) as '总点击量',
(SELECT COUNT(DISTINCT user_id) FROM UserBehavior WHERE behavior = 'fav') as '收藏用户量',
(SELECT COUNT(DISTINCT user_id) FROM UserBehavior WHERE behavior = 'cart') as '添加购物车用户量',
(SELECT COUNT(DISTINCT user_id) FROM UserBehavior WHERE behavior = 'buy') as '购买用户量'
FROM UserBehavior;
整体用户行为,最多出现的就是浏览页面,然后添加购物车。添加购物车转化率最高,达到75%。成交转化率为68%。数据看起来很完美,比较高的成交转化率可有效的提升销售量。
③、用户复购率为多少?用户平均购买次数是多少,哪些客户属于优质客户?
SELECT buy_times, COUNT(*) AS '人数'
FROM
(SELECT COUNT(user_id) AS buy_times
FROM UserBehavior
WHERE behavior = 'buy'
GROUP BY user_id) AS buy_pool
GROUP BY buy_times ASC;
整体复购率为 65.8%,有购买行为的用户中,大概有65.8%的用户会重复购买。其中购买一次的用户数最多。
平均购买次数是多少
SELECT COUNT(behavior) AS '总购买次数',
COUNT(DISTINCT user_id) AS '总购买人数',
ROUND( COUNT(behavior)/COUNT(DISTINCT user_id),2) as '平均购买次数'
FROM UserBehavior
WHERE behavior = 'buy'
GROUP BY behavior;
在这段时间内,总共有134982名用户产生购买行为,总购买次数404633次,平均每人发生3次购买行为。
产生购买行为最多的前十名客户暂且确定为本次优质客户。
SELECT
user_id,
COUNT(*) AS '购买次数'
FROM
UserBehavior
WHERE
behavior = 'buy'
GROUP BY
user_id
ORDER BY
COUNT( behavior ) DESC
LIMIT 10;
④ 哪些商品最受欢迎?
SELECT
item_id,
COUNT(*) AS '购买次数'
FROM
UserBehavior
WHERE
behavior = 'buy'
GROUP BY
item_id
ORDER BY
COUNT( behavior ) DESC
LIMIT 10;
不考虑商品单价,以用户购买次数为基准。筛选得到被购买次数最多的前十为商品。其中id为702034的商品购买次数最多。
# 产品销售排名
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;
# 产品类目累计销售排名
SELECT cat_buytimes, COUNT(*) AS cat_type_count
FROM
(SELECT COUNT(user_id) AS cat_buytimes
FROM UserBehavior
WHERE behavior = 'buy'
GROUP BY category_id) AS cat_buypool
GROUP BY cat_buytimes
ORDER BY cat_buytimes ASC;
⑤ 用户活跃时间段
SELECT
SUM(CASE WHEN hours BETWEEN '00:00:00' AND '00:59:59' THEN 1 ELSE 0 END) AS '00',
SUM(CASE WHEN hours BETWEEN '01:00:00' AND '01:59:59' THEN 1 ELSE 0 END) AS '01',
SUM(CASE WHEN hours BETWEEN '02:00:00' AND '02:59:59' THEN 1 ELSE 0 END) AS '02',
SUM(CASE WHEN hours BETWEEN '03:00:00' AND '03:59:59' THEN 1 ELSE 0 END) AS '03',
SUM(CASE WHEN hours BETWEEN '04:00:00' AND '04:59:59' THEN 1 ELSE 0 END) AS '04',
SUM(CASE WHEN hours BETWEEN '05:00:00' AND '05:59:59' THEN 1 ELSE 0 END) AS '05',
SUM(CASE WHEN hours BETWEEN '06:00:00' AND '06:59:59' THEN 1 ELSE 0 END) AS '06',
SUM(CASE WHEN hours BETWEEN '07:00:00' AND '07:59:59' THEN 1 ELSE 0 END) AS '07',
SUM(CASE WHEN hours BETWEEN '08:00:00' AND '08:59:59' THEN 1 ELSE 0 END) AS '08',
SUM(CASE WHEN hours BETWEEN '09:00:00' AND '09:59:59' THEN 1 ELSE 0 END) AS '09',
SUM(CASE WHEN hours BETWEEN '10:00:00' AND '10:59:59' THEN 1 ELSE 0 END) AS '10',
SUM(CASE WHEN hours BETWEEN '11:00:00' AND '11:59:59' THEN 1 ELSE 0 END) AS '11',
SUM(CASE WHEN hours BETWEEN '12:00:00' AND '12:59:59' THEN 1 ELSE 0 END) AS '12',
SUM(CASE WHEN hours BETWEEN '13:00:00' AND '13:59:59' THEN 1 ELSE 0 END) AS '13',
SUM(CASE WHEN hours BETWEEN '14:00:00' AND '14:59:59' THEN 1 ELSE 0 END) AS '14',
SUM(CASE WHEN hours BETWEEN '15:00:00' AND '15:59:59' THEN 1 ELSE 0 END) AS '15',
SUM(CASE WHEN hours BETWEEN '16:00:00' AND '16:59:59' THEN 1 ELSE 0 END) AS '16',
SUM(CASE WHEN hours BETWEEN '17:00:00' AND '17:59:59' THEN 1 ELSE 0 END) AS '17',
SUM(CASE WHEN hours BETWEEN '18:00:00' AND '18:59:59' THEN 1 ELSE 0 END) AS '18',
SUM(CASE WHEN hours BETWEEN '19:00:00' AND '19:59:59' THEN 1 ELSE 0 END) AS '19',
SUM(CASE WHEN hours BETWEEN '20:00:00' AND '20:59:59' THEN 1 ELSE 0 END) AS '20',
SUM(CASE WHEN hours BETWEEN '21:00:00' AND '21:59:59' THEN 1 ELSE 0 END) AS '21',
SUM(CASE WHEN hours BETWEEN '22:00:00' AND '22:59:59' THEN 1 ELSE 0 END) AS '22',
SUM(CASE WHEN hours BETWEEN '23:00:00' AND '23:59:59' THEN 1 ELSE 0 END) AS '23'
FROM UserBehavior
WHERE behavior = 'pv';
在数据集观察的9天里,从19点开始点击量稳步上升,到22点到达顶峰,23点稍有回落,到24点明显下降,大部分用户会在晚上时段购物。
三、结论
1、2017年12月1日出现增长一直到2017年12月2日达到峰值74763。线上零售不会受时间与空间的影响,所以流量的多少很大程度上影响线上销售的多少。一个合适的促销活动可以有效的提高网站流量。所以建议线上零售丰富而新奇的促销活动应更高频次的出现,吸引大量的用户,提升销量。
2、整体用户行为中,最多出现的就是添加购物车。添加购物车转化率最高,达到75%。成交转化率为69%。所以用户行为习惯选中商品后添加购物车,并不会即时付款。所以针对这一环节,添加购物车后可为用户增加一部分压力,促使客户实现购买。出现降价或其他活动时,立即提醒客户。提高成交转化率。
根据数据分析结果改善转化率的建议有:
(1)优化电商平台的筛选功能,增加关键词的准确率,让用户可以更容易找到合适产品;
(2)给客户提供同类产品比较的功能,让用户不需要多次返回搜索结果反复查看,便于用户确定心怡产品;
(3)精简下单步骤,提供一键下单服务,比如只包含点击-购买-支付三个环节,缩短购买流程,提高用户体验。
3、第三个环节提高留存(Retention):让用户养成使用习惯。
(1)按照使用频率和购买次数积攒积分,每天上线点击量达到某个数值即可自动领取积分,到月末换取购物礼券;
(2)对于年购买次数和金额达到规定量的客户推出VIP服务,享受全场不限时9.5折优惠,购买次数同比上升之后相应福利也上升,利用这种方法提高高价值用户的留存率和对平台的忠诚度。
4、第四个环节增加收入(Revenue):提高成交转化率、复购率及产品和类目的购买率情况。
独立用户从点击到最后购买的转化率约为69%,用户购买诚意还是很足的,所以通过合理优化电商平台的筛选功能可以提高最终购买的转化率。
有购买行为的用户中,大概有65.8%的用户会重复购买。在独立用户中,最高的复购次数是159次,我们可以通过复购率、购买金额(本次数据集没有提供)等来确定价值用户,通过分析找出价值用户的购买偏好,产品和类目等,给价值用户制定个性化的产品推荐,从而提高用户体验和电商平台销售情况。
建议:
(1)内容营销:“没有找不到的产品,只有想不到的产品”来宣传平台购物种类丰富,让用户形成“只要买东西上淘宝一定有”的思维习惯;
(2)针对前面确定的价值用户提供个性化产品推荐,比如最关心的产品类目和种类,上新之后定时推送给用户;
(3)针对复购率,可以推出3个月内复购优惠活动,让客户保持购买频率。
5)第五个环节推荐(Refer):用户推荐给其他人,关注转发率、转化率和K因子。
建议:
(1)产品在购买的时候提供拼团服务,让用户主动推荐给其他人;
(2)每当推出新功能,比如前面提到的一键下单,让体验过的用户转发和分享领取优惠券,快速实现新功能推广;
(3)当用户使用优惠券购物或者通过某种行为积分购物之后提供朋友圈打卡功能,分享给好友,实现传播功能。