京东多年来在保持高速发展的同时,沉淀了数亿的忠实用户,积累了海量的真实数据。它们包括用户、商家、商品等多方面信息,如:商家和商品自身的内容信息、评论信息以及用户与之丰富的互动行为。如何从历史数据中找出规律,高效解决客户实际问题、提升客户购物体验,是大数据应用在精准营销中的关键问题。在此选取了平台20W+消费者数据进行消费者分析以寻找影响用户购买的趋势和影响因素。
数据集中含有20种字段,可以将其大致分为5类:
2. 用户的行为有什么特征,用户从点击到支付全过程的流失情况。
3. 预测用户购买的潜在性。
使用navicat导入数据源进行数据清理。
1.重复值、缺失值处理
使用navicat导入数据时,设置customer_id、action_id为联合主键,避免出现重复值。设置customer_id、action_id、type等字符段为notnull,避免空值导致的结果偏差。shop_register_date、city_level字符段的空值太多,与想要解决的问题也不相关,在此舍去不做分析。
2.异常值处理
将清洗好的数据导入tableau中进行可视化分析
从图中可以看出,男性用户(65.32%)明显高于女性用户(34.42%),约为其两倍。
由图可以看出,用户中年龄分段为5和6的用户最多,两者占了近八成。图上没有分段为3的客户,经核实在近20w条数据中,该分段的用户10条都不到,所占比例极小,可以或略不计。
会员总共有1-7共7个等级,但是等级为2和3的分别只有3、67人。在近20w数据中可以忽略不计。
如果有详细的等级介绍和其他相关数据,可以继续核实数据是否有误差,进而判断需不需要取消这种等级,或者采取一些手段吸引更多的用户成为该等级会员。
由图可以知道,在六个城市等级中。会员主要集中在4,3,1,5城市。
2.店铺
数据集中统计的店铺总共有7种,其中美妆、服饰、以及食品类的店铺最多,三者占据75%以上。
-- 观察评分、粉丝、会员数对销售量的影响
create view shop_sale as
SELECT
shop_id,
fans_number,
vip_number,
round(shop_score,0) as shop_score,
count(type) AS sale_mount
FROM jd
WHERE type = 'Order'
GROUP BY shop_id
order by sale_mount desc;
可以看出,销量高的店铺评分主要集中在9.4-9.7之间。而销售主要是由众多粉丝量低于5w的店铺提供的。
3.产品
使用气泡图显示畅销产品,气泡越大,说明产品销量越好。在平台,销量最好的是coat类、tea类、face cream类的产品。
用户整体购买行为趋势:
如图可以发现在2月13-2月20号,近一周的时间内,商品成交量出现明显下降。为了探其原因。拉出2月具体的流量趋势图如下:
可以发现,在该时间段内,用户浏览量也呈现同样的下降趋势。经过查询日期可以发现,这段时间与春节假期高度重合,而春节前几天也有一个销量的小高峰,符合节假日前的消费行为情况,可以推断销量的下降是受假期的影响。比如门店歇业,快递停运等。
具体行为指标分析:
1.流量指标计算
SELECT
count(DISTINCT customer_id) as 'UV',
(SELECT count(type) FROM jd
WHERE type = 'PageView'
) AS 'PV',
(SELECT count(*) FROM jd
WHERE type = 'PageView'
) / (count(DISTINCT customer_id)) AS '人均访问量PV/UV',
(SELECT count(*) FROM jd
WHERE type = 'Order'
) / (count(DISTINCT customer_id)) AS '人均下单量'
FROM jd;
人均访问量并不高,特别是人均下单量,更是只有0.092。
2.单客流量情况
-- 创建用户购物情况视图
create view customer_action as
select
customer_id,
count(type) as '行为总数',
sum(case when type = 'PageView' then 1 else 0 end) as '浏览量',
sum(case when type = 'Follow' then 1 else 0 end) as '收藏量',
sum(case when type = 'SavedCart' then 1 else 0 end) as '加购量',
sum(case when type = 'Follow' then 1 else 0 end)+sum(case when type = 'SavedCart' then 1 else 0 end)as '关注量',
sum(case when type = 'Order' then 1 else 0 end) as '下单量',
sum(case when type = 'Comment' then 1 else 0 end) as '评论量'
from jd
group by customer_id
order by 行为总数 desc;
单客的最高浏览量只有28,且大多集中在1~3次,说明用户的打开意愿并不强。
3.日浏览量的变化
-- 日流量变化
create view pv_view as
select action_date, count(type)as '浏览量'
from jd
where type='PageView'
group by action_date;
-- 创建uv视图
create view uv_view as
select action_date,count(distinct customer_id)as '访客量'
from jd
group by action_date;
-- 内联结两视图
select
p.action_date,
访客量,
浏览量
from pv_view as p inner join uv_view as u
on p.action_date=u.action_date;
图中出现两个波谷,第一个前面已经确定与春节假期有关。第二个波谷出现在27-28号两天,其他时间均比较正常,没有出现明显的起伏。为什么会出现第二个波谷呢?并且只在27-28号两天的时间内。
数据集提供的数据有限,并不能详细的分析背后原因。这里仅做出如下假设:
3. 用户整体行为
-- 整体转化模型
select
sum(浏览量) as '浏览',
sum(收藏量) as '收藏',
sum(加购量) as '加购',
sum(下单量) as '下单',
sum(评论量) as '评论'
from customer_action
-- 每环节转化模型
select
sum(浏览量) as '浏览',
(select sum(关注量) from customer_action
where 浏览量>1) as '关注',
(select sum(下单量) from customer_action
where 关注量>0) as '下单'
from customer_action
整体转化模型:
每环节转化率
(1) 由图一可知,该数据集的转化情况并不完全符合AAARR漏斗模型。整体的下单率在8.72%,高于关注率3.45%(收藏+加购)。
(2) 图二单环节的关注率只有0.75%(潜力用户),而实际下单的用户更是只占潜力用户的4.27%。
(3) 结合两图来看,用户的转化过程包括两种:浏览-关注-下单以及浏览-下单,并且后者的转化率要高于前者。为什么会出现这种原因?
在此数据不全,对于假设一,建议后续可以进行AB测试,随机选择一定量样本人群,其中一部分发放优惠信息或者进行推送提示已加购的商品,另一部分不进行相应推送。比对两者的消费数据,判断是否是用户和商品方面的原因。
对于假设二,可以从平台产品的角度进行调研研究,比如针对流失用户的问卷,客户对平台的意见反馈,以及竞争对手的情况(比如拼多多就没有加购环节)等。
假设客户要求预测用户购买服饰的倾向性。Y变量为用户历史是否购买过服饰(1为购买,0为未购买),当shop_category为clothes并且type为order,则Y值设为1,反之为0。自变量为下述内容
对Y变量和各自变量进行逻辑回归,得到与Y显著相关的变量,将显著相关的变量提取出来进行逻辑回归建模,将各用户的变量带入模型中,获得用户得分
(待更)