1.数据集
2.问题分析

 数据部分截图样例:
 
 其中,“行为类型”列中的值有4种,对应4种用户行为,分别是:用户对商品进行浏览、收藏、加购、购买行为。
业务场景:
 地点是:公司淘宝店铺
 时间范围是:这个实战项目当时分析的时间是最近1周时间(也就是11月25日-12月3日)
 指标含义:通过沟通明确了衡量用户行为转化的指标是用户行为次数转化率。
问题分析:分析最近1周的用户行为转化其实是想看最近1周转化效果如何,如果转化率低,需要找到问题发生的原因,从而优化,提升转化率。
分析思路:对于数据异动问题,需要明确问题、分析原因并提出建议。
step1明确问题:
 可以把业务流程和漏斗分析方法结合起来,就可以知道各个业务环节的转化率了。
 这个漏斗模型中,
 A(Awareness认知):表示用户在平台上的浏览等行为
 I(Interested兴趣):表示用户对平台的兴趣,具体行为,对应这个实战项目里的“行为类型”数据是对商品的收藏,或者把商品加入购物车
 P(Purchase 购买):表示用户对商品进行了购买
 L( Loyalty 忠诚):表示用户对商品进行复购等
 
环节转化率定义为,环节转化率=本环节行为次数/上一环节行为次数。可以通过环节转化率可以衡量相邻业务环节的转化情况。
 要判断转化率好坏,需要一个比较对象。和去年同期的数据来做一些对比,看是不是有其他环节出了问题。
 接下来,分析AIPL漏斗模型里的每个环节的转化率。
数据预处理(便于计算转化率)
create view 行列互换 as
select 用户ID , 行为时间,行为日期,行为小时,
	max(case 行为类型 when '浏览' then 1 else 0 end)as 浏览次数,
	max(case 行为类型 when '收藏' then 1 else 0 end)as 收藏次数,
	max(case 行为类型 when '加购' then 1 else 0 end)as 加购次数,
	max(case 行为类型 when '购买' then 1 else 0 end)as 购买次数
from 用户行为
where 行为日期>='2021-11-25' and 行为日期<='2021-12-03'
group by 用户ID,行为日期;

AIPL漏斗分析
 A(认知):浏览次数
 I(兴趣):收藏次数和加购次数
 P(购买): 购买次数
 L( 忠诚):复购次数,属于复购分析,后面单独计算
 写出SQL:如何计算A、I、P
select sum(浏览次数) as 浏览行为次数,
sum(收藏次数)+sum(加购次数) as 收藏和加购行为次数,
sum(购买次数) as 购买行为次数
from 行列互换;

 接下来分析L:复购次数
 写出SQL,L分析:复购分析
create view 消费排名 as 
select *,
	(SELECT 
		count( DISTINCT 行为时间) 
	FROM 行列互换 s2 
	WHERE s2.用户ID = s.用户ID 
	AND s2.行为时间 <= s.行为时间 
	AND s2.购买次数=1)
	as  消费次数
FROM
    行列互换 s 
where s.购买次数=1
ORDER BY
    用户ID,
    行为时间 DESC;
select sum(购买次数) as 重复购买行为次数
from 消费排名
where 消费次数>=2;

 将通过SQL计算出的AIPL数据整合到excle并计算转化率
 
 和去年同期进行对比:
 
 step2分析原因:
 多维度拆解
 从A环节来分析影响用户浏览次数的因素:发送推广内容的时间段是否正确
 从I环节来分析影响用户加购次数的因素:用户浏览的商品是否会加购
 方法:假设检验
假设1:推广内容的时间段不是用户浏览和转化高峰期
 分析思路:
 1)先分别计算出一天24小时里,对应的A 和 I 的用户行为次数
 2)选择A浏览行为,A-I转化率都大于平均值的时间段,就是投放广告内容的最佳时间
 根据上面分析思路,写出对应SQL
create view 行为时间分析 as
select 行为小时,sum(浏览次数) as 浏览行为次数,sum(收藏次数)+sum(加购次数) as 收藏和加购行为次数,
(sum(收藏次数)+sum(加购次数))/sum(浏览次数) as AI转化率
from 行列互换
group by 行为小时;
#比较对象:平均浏览行为次数
select avg(浏览行为次数)
from 行为时间分析;
#比较对象:平均AI转化率
select avg(AI转化率)
from 行为时间分析;
#进行对比分析:选出A浏览行为,A-I转化率都高于平均值的时间段,就是投放广告内容的最佳时间
select *
from 行为时间分析
where 浏览行为次数 > (select avg(浏览行为次数) from 行为时间分析) 
and AI转化率 > (select avg(AI转化率) from 行为时间分析)
order by AI转化率 desc;

 拿着假设1得到的最佳投放时间,和推广部门开会讨论后,发现推广部门的投放时间并不是这些时间点,所以假设1成立。
验证假设2:用户浏览的商品和用户感兴趣的商品不一致。
 分析思路:
 用户浏览的商品TOP100和用户感兴趣的商品TOP100,看重合度是否高。
 SQL如下:
 写出SQL,用户浏览的商品TOP100
 写出SQL,用户感兴趣的商品TOP100
 写出SQL,看重合度是否高:多表查询,找到重复的数据
#用户浏览的商品TOP100
select 商品ID,count(*) as 浏览数量
from 用户行为
where 行为类型= '浏览'
group by 商品ID
order by 浏览数量 desc
limit 100;

#用户感兴趣的商品TOP100
select 商品ID,count(*) as 兴趣数量
from 用户行为
where 行为类型 in ('收藏','加购')
group by 商品ID
order by 兴趣数量 desc
limit 100;

#看重合度是否高:多表查询,找到重复的数据
select count(*) as 重复商品数量
from (select 商品ID,count(*) as 浏览数量
from 用户行为
where 行为类型= '浏览'
group by 商品ID
order by 浏览数量 desc
limit 100) as a
inner join (select 商品ID,count(*) as 兴趣数量
from 用户行为
where 行为类型 in ('收藏','加购')
group by 商品ID
order by 兴趣数量 desc
limit 100) as b
on a.商品ID=b.商品ID;

 分析结果显示,100个商品里仅有11款款商品既是高浏览量,也是高收藏/加购的,故假设2成立。
step3:提出建议
 1.挑选时段投放
 2.商品陈列优化
总结:
 



















