电商实战分析
用Excel进行数据分析
1. 理解数据
a. 找到数据源,分成两张表
b. 购买商品表字段信息:
i. 用户ID 商品ID
ii. 商品二级类 商品一级分类 商品属性
iii. 购买数量 购买日期
c. 婴儿信息表字段信息:
i. 用户ID 出生日期 性别
2. 提出问题
a. 相关指标(根据指标体系,确立指标,也就是有多少变量)
i. 婴儿用品
1) 运营指标
a) 成交:金额;数量;用户数
b) 订单:金额;数量;用户数
c) 效率:客单价
2) 会员
a) 购买使用率:复购率,平均购买次数
b) 会员数量:注册会员数;活跃会员数;会员留存率;会员??率
b. 提出问题
i. 1.在2012年7月-2014年12月,为什么销量呈现上涨趋势?
ii. 2.哪类商品最热销,可主推?
iii. 3.用户年龄段、性别对于销量的影响?如何做到精准营销?
c. 分析思路(可以按照逻辑树分析)
i. 销量上涨
1) 老用户
2) 新用户购买数量
a) 对比分析
b) 假设验证
c) 多维度拆解
d) 4P营销理论
i) 产品:假设不成立
ii) 价格假设不成立
iii) 渠道假设不成立
iv) 宣传 假设成立
One. 如何有效促销
i) 商品:哪些商品销量暴涨:对比分析,热销产品
ii) 用户:精准营销
i) 不同年龄的不同需求。
ii) 不同性别的不同需求。
3. 数据清洗
a. 选择子集--去除编号字段--列重命名-英文变中文--一致化处理--日期函数格式统一分列形式
b. 数据整合:VLOOKUP ID匹配婴儿信息,只提取可以匹配的信息
c. 异常值处理:可以用IF函数替换成男女,真假判定。
4. 数据分析
a. 为什么上涨
i. 拆解分析思路,对于第一层进行基本说明
ii. 根据图表表示为什么是这样的走向。
b. 哪个热销
i. 4P营销理论,利用假设检验法,分别从产品、价格、渠道、宣传,四个方面进行分析。包括销量不明显和没有数据源所以假设不成立。结论是宣传促进销量成立
ii. 不同月份同比环比的数据,得到结论
1) 促销非常好
2) 商品数目增加促进销量增加
c. 如何进行有效促销
i. 主推热销产品不同商品在一类二类时订单量对比。结论:针对特殊日期促销
ii. 针对不同用户精准营销
1) 不同年龄性别,这些1级分类的商品销量如何。每年总销量男女对比
5. 得到结论
1.促销活动一定要有针对性,50013636类商品是热销商品,评估后,可以采取相应的促销手段。
2.精准营销,针对需求的多少去针对性推送广告以此来减免广告费用,提高广告效率,对于女婴产品可以集中在1岁进行15结尾类的商品进行推广,男婴产品可以在0-2岁集中推广。
3.推广渠道按照年龄划分,如果需求量在0-1岁比较大,线上推广可以结合母婴类APP在不同模块和功能点处进行针对性推广。
4.对于28的商品类和68结尾的商品类销量最大,可以进行大力的宣传和推广,在保证产品质量的同时提高产品的销量。
--------------------------------------------------------------------------------------------------------------------------------------------
用mysql进行数据分析
1. 分析背景
1. 分析背景
2. 数据说明:来自淘宝天猫
a. 数据说明:
i. user id, item id, category id商品所属类目,
ii. behavior type 包括('pv','buy','cart','fav'), timestamp行为发生的时间戳
b. 行为类型:仅对于100W数据进行分析
i. Pv :商品详情页点击量
ii. Buy 购买量
iii. Cart 加入购物车量
iv. fav收藏商品量
2. 分析思路:用户数据、行为数据、商品数据
1. 提问
1.哪些商品是热搜商品?哪些是畅销商品?热搜商品是否就是畅销商品?
2.用户各个行为类型的占比是多少?行为之间的转化率是怎样的?哪个环节流失比较严重?
3.工作日或周末,每天不同时间段对于用户行为的影响
4.使用RFM方法对用户进行分类
2. 方法:
a. 采用多维度拆解分析方法对问题进行拆解,
b. 使用漏斗模型、对比分析法、RFM模型分析法、假设检验分析方法分析
3. 分析思路(转化率->核心指标 ->用户行为分析)
a. 用户行为分析
i. 产品:
1) 热搜产品;热卖产品;热搜类别;热卖类别
2) 分析对剑商品是否是用户喜欢的商品,及推荐机制是否合理
ii. 行为
1) 浏览次数,购买次数,收藏次数,加购次数
2) 行为漏斗分析各个环节的转化率,通过多维度拆解分析那个环节转化率低。
iii. 时间
1) 探索用户行为规律提出对应的策略
2) 用户行为与时间关系,一天内不同时间的销量分析。
3) 用户行为和星期关系,一周内不同天销量分析
iv. 用户
1) 最近购买时间;购买频率;购买金额
2) 运用FRM 分析,对用户分层
3. 数据清洗
1. 选择子集:各字段有分析价值
2. 列重命名:通过navicate 操作
3. 删除重复值
Select userID, itemID, ItemStamp from userbehavior
Groupr by userID, itemID, Timestamp having count(1)>1;
4. 缺失值处理
Select count(UserID), count(ItemID),count(CategoryID), count(BehaviorType),
Count(Timestamp) from userbehavior;
5. 一致化处理
a. 新增日期和时间字段
alter table userbehavior add Date date not null,add Time varchar(10) not null;
b. 更新字段内容
UPDATE userbehavior set Date = FROM_UNIXTIME(TimeStamp,'%Y-%m-%d'),
Time = FROM_UNIXTIME(TimeStamp,'%k');
6. 异常值处理
a. SELECT max(Date),MIN(Date) from userbehavior;
b. 删除异常值:select count(1) from userbehavior WHERE Date < '2017-11-25';
c. 共1099999条数据,异常数据520条
DELETE from userbehavior WHERE Date < '2017-11-25';
select count(1) from userbehavior;
4. 数据分析
1. 用户行为路径分析:
SELECT BehaviorType,count(1) 行为类型计数 from userbehavior GROUP BY BehaviorType;
2. 发现浏览到购物转化率低,用漏斗法观测。
3. 分析:浏览量:购买,加购:购买,收藏:购买,加购收藏:购买,流失。
4. 分析每种转化率
create view user_P
AS
select UserID, ItemID,
sum(case when BehaviorType = 'pv' then 1 else 0 end) as '点击',
sum(case when BehaviorType = 'cart' then 1 else 0 end) as '加购',
sum(case when BehaviorType = 'fav' then 1 else 0 end) as '收藏',
sum(case when BehaviorType = 'buy' then 1 else 0 end) as '购买'
from userbehavior
GROUP BY UserID, ItemID;
a. 用户在每个商品上的行为记录,分别包括点击次数,加购次数,收藏次数和购买次数
-- 点击量
SELECT sum(点击) from user_p;
-- 点击--购买--10834
SELECT sum(购买) from user_p
where 点击>0 and 购买>0 and 收藏=0 and 加购=0;
-- 点击--加购--29628
SELECT sum(加购) from user_p
where 点击>0 and 收藏=0 and 加购>0;
-- 点击--加购--购买--3169
SELECT sum(购买) from user_p
where 点击>0 and 购买>0 and 收藏=0 and 加购>0;
-- 点击--收藏--11957
SELECT sum(收藏) from user_p
where 点击>0 and 收藏>0 and 加购=0;
-- 点击--收藏--购买--1044
SELECT sum(购买) from user_p
where 点击>0 and 购买>0 and 收藏>0 and 加购=0;
-- 点击--收藏+加购-1847
SELECT sum(收藏)+sum(加购) from user_p
where 点击>0 and 收藏>0 and 加购>0;
-- 点击--收藏+加购 -- 购买 -- 158
SELECT sum(购买) from user_p
where 点击>0 and 收藏>0 and 加购>0 and 购买>0;
-- 点击--流失--867742
SELECT sum(点击) from user_p
where 点击>0 and 收藏=0 and 加购=0 and 购买=0 ;
b. 原因分析
i. 平台问题==》推荐机制不合理==》浏览购买TOP10,分析两者是否合理
1) 浏览10
SELECT CategoryID,count(CategoryID) 点击次数 from userbehavior
where BehaviorType = 'pv'
GROUP BY CategoryID ORDER BY 点击次数 DESC limit 10;
2) 购买10
where BehaviorType = 'buy'
3) 点击10
select * from
(SELECT itemid,count(BehaviorType) as 购买量
from userbehavior
where BehaviorType = 'buy'
group by itemid ) as a
where itemid in('812879','138964','3845720','3708121','2032668','2331370','2338453','1535294','3031354','4211339');
ii. 商品
1) 质量不好==》用户对质量没有信心
2) 种类少==》种类少,相似度高
3) 样式陈旧==》样式不新颖
4) 刷单行为==》评论是假的
5) 聚焦于点击量高购买量低的上商品。
6) 推荐的商品顾客并不喜欢购买,由于高浏览量并没有带来购买,所以转化率低。
iii. 总结:
1.优化推荐机制,把更多流量给到顾客愿意购买的商品
2.通过更好的商品推荐,页面交互,积分会员等功能等降低流失率
3.引导加购,可以加强营销机制引导顾客加购,比如加购物车联系客服领优惠券
c. 用户什么时候浏览
i. 提出假设:周末
ii. 收集证据
select Date,count(BehaviorType) as '总数',
sum(case when BehaviorType = 'pv' then 1 else 0 end) as '点击',
sum(case when BehaviorType = 'cart' then 1 else 0 end) as '加购',
sum(case when BehaviorType = 'fav' then 1 else 0 end) as '收藏',
sum(case when BehaviorType = 'buy' then 1 else 0 end) as '购买'
from userbehavior GROUP BY Date;
d. 基于FRM分析模型的用户分层
select UserID,datediff('2017-12-3',max(Date))+1 as R ,count(BehaviorType) as F from userbehavior //最早的,到现在的,频率==》购买量==》按用户分类
where BehaviorType = 'buy'
group by UserID
i. 给R和F按价值打分
select *,
(case when R<=2 then 4
when R between 3 and 4 then 3
when R between 5 and 7 then 2
when R between 8 and 9 then 1 end) as Rscore,
//4:<2; 3:3~4; 2:5~7; 1:8~9作为R分数的评判
(case when F between 1 and 6 then 1
when F between 7 and 12 then 2
when F between 13 and 18 then 3
when F>=19 then 4 end) as Fscore
//1:1~6; 2:7~12;3:13~18;4:>=19作为F分数的评判
from //select * from table
//按照用户分类分层
(select UserID,datediff('2017-12-3',max(Date))+1 as R ,count(BehaviorType) as F
from userbehavior
where BehaviorType = 'buy'
group by UserID) m//应该是命名为m
ii. 用户分类
select 用户分类,count(UserID) as '人数' from//select 表头 from f
(select userid,
(case when RScore>'3.0533' and FScore>'1.1043' then '重要价值用户'
when RScore>'3.0533' and FScore<'1.1043' then '重要发展用户'
when RScore<'3.0533' and FScore>'1.1043' then '重要保持用户'
when RScore<'3.0533' and FScore<'1.1043' then '重要挽留用户'
else 0 end) as '用户分类'
from //select userid,? From n
(select *,
(case when R<=2 then 4
when R between 3 and 4 then 3
when R between 5 and 7 then 2
when R between 8 and 9 then 1 end) as Rscore,//R
(case when F between 1 and 6 then 1
when F between 7 and 12 then 2
when F between 13 and 18 then 3
when F>=19 then 4 end) as Fscore//F
from
(select UserID,datediff('2017-12-3',max(Date))+1 as R ,count(BehaviorType) as F
from userbehavior
where BehaviorType = 'buy'
group by UserID) m) n) f
group by 用户分类; //觉得这一句很重要,但是不知道没有这一句会发生什么。
5. 结论:
6. 建议:
|