首页 > 关于数据分析
头像
价值老猿
编辑于 2020-11-02 22:56
+ 关注

关于数据分析








What?发生了什么问题?

哪些用户看到了优惠券的广告推送;
哪些用户看到了优惠券并且领取了;
领取了优惠券的用户中哪些最终使用优惠券并完成了消费。
Why?为什么会发生这个问题?

为什么有的用户看到了优惠券的广告推送但没有领取?
为什么有的用户领取了优惠券但最终没有使用?
这跟用户的性别、年龄、以及通过什么方式注册的有没有关系?
这跟用户拿到优惠券对应的满减金额又有没有关系?
How?针对这个问题我们能做什么?

给什么样的人、发放多大额度的优惠券,才更能实现消费金额的增长?


~~~~~~~~~~~~~~


1. 先整体看看数据长什么样子。因为数据量比较大,为了加载快一点,我们先只加载前1000行。
select * from pdd_data limit 1000;


第一个框里的字段有用户id,注册渠道,性别,婚姻状况,这些是用户的基本信息。

第二个框里的字段是我们要重点关注的,优惠券推送、查看、领取和最终使用的情况。

第三个框里的字段分别是过去一个月用户有没有使用过优惠券的信息,优惠券的额度,和最后的成交额。

STEP2:将数据按照used排个序,让那些使用了优惠券、也就是used列中数据为1的用户排在前面。看看会不会有什么新的发现。


select * from pdd_data
order by used desc
limit 1000;



在这些使用了优惠券的用户中,好像APP注册的用户占比特别高。

order by语句可以让数字按照我们希望的升序或者降序的方式排列

如果数据不是数字呢?是男性或女性、已婚或未婚这样的数据我们又应该怎么办呢?我们怎么知道男性有多少、女性有多少呢?

那这个时候就需要group by登场了,但它一个还不够、往往需要sum求和函数跟它一起

业务问题:不同性别使用优惠券的情况如何?

代码

select sex,sum(used) as total_used from pdd_data
group by sex;

代码解释

  • 格式:
select 要分类的字段,sum(要统计的字段)as 给统计出来的数据起的字段名
group by 要分类的字段;
  • 这里的usedsex都是表格里的字段名,用select from语句获取数据
  • sum的作用就是把字段下面的数据加总,使用格式是sum(要加总的字段),相当于你在Excel表格里对一列数据求和,as后面的total_used是我们给求和之后数据的命名
  • group by sex 给性别分组,sum和group by往往是一起出现的。

代码结果


  1. 应用它解决问题吧!

为什么有的用户没领优惠券,有的用户没有使用优惠券,使用优惠券的用户有什么特征呢?


这里涉及到几个关键字段,checked、used,不过优惠券的使用数据只看这两个字段的话可能会有一个小问题


既然用户是从看到优惠券推送、浏览信息、领取优惠券这么多环节,最后才到使用优惠券,如果其他pushed、viewed等等字段我们都不看的话,假设最后用户没有使用,我们不能排除其他字段的数据没有出现问题,比如这个渠道用户压根没收到推送消息,或者可以收到推送但是领取的页面打不开等等。


所以pushed、viewed、checked、used,我们都要加进来一起分析。

我们可以尝试两个字段reg_channelcoupon_type,看看不同的注册渠道和优惠券种类,对用户的优惠券使用有什么影响。

(1)业务问题:优惠券的使用在不同渠道上的情况如何?

代码

select
reg_channel,
sum(pushed) as total_pushed,
sum(viewed) as total_viewed,
sum(checked) as total_checked,
sum(used) as total_used
from pdd_data
group by reg_channel;


注意,最后一句sum结尾没有逗号噢,如果加上会出现什么,你可以试着运行一下!


代码结果


从结果来看,从APP渠道注册的用户转化效率最高,而H5渠道的用户优惠券使用明显很低,可以初步推测,H5页面的功能可能存在什么问题。


(2)业务问题:优惠券的额度对用户使用优惠券有没有影响?

代码

select
coupon_type,
sum(pushed) as total_pushed,
sum(viewed) as total_viewed,
sum(checked) as total_checked,
sum(used) as total_used
from pdd_data
group by coupon_type;

代码结果

两种优惠券因为推送的数量差别很大,所以我们可以先计算一下优惠券使用的转化率是多少。100-10是6977/54119=12.9%,200-20是9%,我们会发现,100-10额度的优惠券使用人数高于200-20额度。


(3)业务问题:性别对优惠券使用有没有影响?

代码

select
sex,
sum(pushed) as total_pushed,
sum(viewed) as total_viewed,
sum(checked) as total_checked,
sum(used) as total_used
from pdd_data
group by sex;

代码结果

结果发现,男性的优惠券使用情况远高于女性。

通过上面用SQL的操作,我们发现,用户的注册渠道、收到优惠券的金额以及用户性别和最终的消费可能有相关性,到底是不是这样呢?我们就用Python,通过数据可视化的方式,一起来进一步验证吧






import pandas as pd
import seaborn as sns
%matplotlib inline
  • 调包
pdd=pd.read_csv('pdd_data.csv')
  • 读取数据
pdd.info()

发现

  • 一共有9万多行数据
  • 一共有11列
  • 没有缺失值
  • 有4个变量不是数字型变量
pdd=pd.get_dummies(pdd)
  • 把非数字型变量变成数字型变量

发生了什么?

pdd.info()

发现

  • 原来的非数字型变量拆成了多个变量
  • 最后一列显示现在都是数字型变量了

数据可视化

STEP 1  先计算相关性

pdd.corr()[['gmv']]

* python中表示单独一列需要用两对中括号

STEP 2  绘制热力图

sns.heatmap(pdd.corr()[['gmv']])

发现

  • 上个月是否用过优惠券对成交额的影响最大
  • 在APP注册的用户成交额更高
  • 已婚男性比未婚女性的成交额高
  • 优惠券的类型影响不明显

业务结论

why

  • 婚姻状况、性别、注册渠道和过去优惠券的使用都和最终的成交额有一定的相关度

how

重点关注,针对性策划活动

  • 已婚男性
  • 关注通过APP渠道注册的用户
  • 过去一个月使用过优惠券的用户
还可以尝试发放不同类型的优惠券






全部评论

(0) 回帖
加载中...
话题 回帖

相关热帖

近期精华帖

热门推荐