问题的提出:如何实现广告的精确有效投放?
在现实的推广过程中,优质人群,投放时间,资源位的确定属于盲测,且市场多变,推广的过程中大量人力财力是无效的投入。通过对推广数据的研究,从人群,投放时间,投放位置等多维度进行点击率数据分析,得出最佳推广方案,从而让推广费用投入更高效。
分析思路
为达成广告精准有效投放,我们从投放位置,投放时间,和投放人群三方面来多维度分析广告的点击率,从而筛选出最佳的投放位置,最佳投放时间,优质投放人群,从而实现精确投放,提高推广费用的使用效果。
目的
为实现高效的广告推荐,通过对用户信息,用户行为以及广告信息分析:
用户信息:用户id,性别,年龄,消费档次,购物深度,是否为大学生,所在城市
广告信息:广告id,商品类目,广告计划,广告主,品牌,价格
用户行为:点击时间,是否点击等
多维度进行数据分析,找出其中的隐含规律,并提出最佳的推广方案,实现广告精准投放
数据来源
数据集
user_profile.csv.tar.gz
ad_feature.csv.tar.gz
raw_sample.csv.tar.gz
数据理解
ad_feature.csv.tar.gz:广告的基本信息,包含广告id的基本信息
user_profile.csv.tar.gz:用户基本信息表格,包含位用户信息
raw_sample.csv.tar.gz:样本人群点击记录表格,包含条点击记录
数据预处理
1. 导入数据
创建用户基本信息表:user_info
创建用户点击信息表:user_click_record
创建广告基本信息表:ad_info
1.用户基本信息表:
select * from user_info limit 20;
#用户基本信息总条数:
select count(*) as ‘用户基本信息条数’ from user_info;
2. 用户点击信息表
select * from user_click_record limit 20;
#用户点击信息总条数:
select count(*) as ‘用户点击信息条数’ from user_click_record;
#用户是否点击信息:
Select count(*) from user_click_record where clk = 1;
3.广告基本信息:
select * from ad_info limit 20;
#广告基本信息总条数:
select count(*) as ‘广告基本信息条数’ from ad_info;
2. 特征提取
选择广告点击最高的广告数据进行分析:
由上面的查询用户点击记录表的广告点击量检索非常耗时,因此我们筛选出表中广告id为:710164的记录,并将其存储到新建表new_user_click_record中。
新建表:
将筛选的结果存储在该表中:
查询结果:
数据分析与可视化图表制作
1.创建可视化图表:
内联接关联user_info表和new_user_click_record表,通过探索各维度特征与当前维度下展现量和点击率之间的关系,分析用户心理与行为。
CREATE VIEW 视图(人群分析) AS
SELECT new_user_click_record.`用户id`,
from_unixtime(new_user_click_record.`时间戳`,'%Y-%m-%d') AS '点击日期',
from_unixtime(new_user_click_record.`时间戳`,'%k:%i:%s') AS '点击时间',
new_user_click_record.`资源位`,
new_user_click_record.nonclk,
new_user_click_record.clk,
user_info.`城市层次`,
user_info.`年龄层次`,
user_info.`性别`,
user_info.`消费档次`,
user_info.`是否为大学生`,
user_info.`购物深度`
FROM new_user_click_record,user_info
WHERE user_info.`用户id`= new_user_click_record.`用户id`;
2. 分析不同资源位点击率
select 视图(人群分析.资源位),
count(*) as 展现量,
sum(clk) as 点击数,
CONCAT(Round(sum(clk)/ count(*)*100, 2),'%') as '点击率'FROM 人群分析.资源位
GROUP BY 资源位
order by 点击率 desc;
由分析结果可知,两个资源位点击率差异较少,虽然资源位430539点击率略高一点,但是展现量却不如另一资源位。运营人员应根据推广目的对曝光度以及点击率做合理的权衡。
3. 多维度分析不同投放时间点击率
3.1 每日各时间段点击率分析
SELECT `视图(人群分析)`.`点击时间`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2) AS 点击率,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率1from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`点击时间`
ORDER BY 点击率 DESC;
展示结果如图所示:
由以上数据图表分析,得出以下结论:
a、 展现量从早上9点开始活跃至晚上十点达到高峰,与人们日常作息时间相对应。
b、 在展现量达到一定体量的基础上,每日的上午10点、下午3点的点击率出现了小高峰。
c、 深夜1-2点点击率升高接近13%,推测原因,一方面可能近期商家做活动抢购,另一方面夜深之时,一天忙碌后临睡前用户会有购物的欲望。
3.2 每周各天点击率分析:
SELECT DATE_FORMAT(`视图(人群分析)`.`点击日期时间`,'%w') AS 周数,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2) AS 点击率,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率1from`视图(人群分析)`
GROUP BY DATE_FORMAT(`视图(人群分析)`.`点击日期时间`,'%w')
ORDER BY 点击率 DESC;
展示结果如下图所示:
分析总结:由图可知道5月6号周六到周一的点击率偏高,展现量也处于不错的水平,而到了下个周六展现量与点击率均有所下降,这可能与下个星期天即将到来的母亲节相关。运营人员可以根据对应节气上线一些具有节日特色的商品。
4 多维度分析各人群点击率
4.1 各年龄层次人群点击率分析
SELECT `视图(人群分析)`.`年龄层次`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`年龄层次`
ORDER BY 点击率 DESC;
其分布图如下图所示:
由图可知,年龄层次1、2、5对于点击率偏高,年龄层次2和3展现量处于不错水平,可推断现今青少年仍是消费主体。
4.2 各消费档次人群点击率分析
SELECT `视图(人群分析)`.`消费档次`,
CASE WHEN `视图(人群分析)`.`消费档次`=1 THEN "低档"WHEN `视图(人群分析)`.`消费档次`=2 THEN "中档"WHEN `视图(人群分析)`.`消费档次`=3 THEN "高档"ELSE"未分类"END AS `实际消费档次`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`消费档次`
ORDER BY 点击率 DESC;
其分布结果如下图所示:
由图表分析可知,高档人群展现量仅有883,且点击率也偏低,推测是由于产品109的单价,不符合高档人群购物需求,推广时候应该注意剔除此类人群。
4.3 各个购物深度人群点击率分析
SELECT `视图(人群分析)`.`购物深度`,
CASE WHEN `视图(人群分析)`.`购物深度`=1 THEN "浅层用户"WHEN `视图(人群分析)`.`购物深度`=2 THEN "中度用户"WHEN `视图(人群分析)`.`购物深度`=3 THEN "深度用户"ELSE"未分类"END AS `实际购物深度`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`购物深度`
ORDER BY 点击率 DESC;
其分布结果如下图所示:
由图表分析可知,用户购物深度对于点击率影响不大。但是深度用户在展现量占据90%以上,点击率仍有9.45%,该人群点击率比较稳定。
4.4 各职位(是否大学生)人群点击率分析:
SELECT `视图(人群分析)`.`是否大学生`,
CASE WHEN `视图(人群分析)`.`是否大学生`=1 THEN "是"WHEN `视图(人群分析)`.`是否大学生`=0 THEN "否"ELSE"未分类"END AS `实际职位(是否大学生)`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`是否大学生`
ORDER BY 点击率 DESC;
分析可知,用户的职位对于是否是大学生影响不大,分析商品单价109,属于平价款,接受程度较高
4.5 各城市层级人群点击率分析
SELECT `视图(人群分析)`.`城市层级`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`城市层级`
ORDER BY 点击率 DESC;
其分布结果如下图所示:
由图表分析可知,第1层级点击率较低,第4层级展现量也比较低,处于中间第2层级展现量以及点击率都很高,消费人群与所在城市繁华程度以及人数有关。
4.6 不同性别人群点击率分析:
SELECT `视图(人群分析)`.`性别`,
COUNT(*) AS 展现量,
SUM(`视图(人群分析)`.clk) AS 点击数,
CONCAT(ROUND(SUM(`视图(人群分析)`.clk)/COUNT(*)*100 ,2),'%')AS 点击率from`视图(人群分析)`
GROUP BY `视图(人群分析)`.`性别`
ORDER BY 点击率 DESC;
分析可得,女性远比男性展现量的点击率高,故运营人员可以多推荐一些女性相关的产品。
总结与建议
产品分析:商品价格是109,在对应类目这个价格是普通价位,受众较多。对应广告的展现量以及点击量也处于较高的水平。
广告资源位分析:产品在两个资源位点击率并无较大差别。
广告投放时间分析:每天上午10点左右,下午3点左右点击率较高,也与商家促销活动、节假日时间等因素相关。可以根据推广需求,及转化率对于这几个时间区间设置溢价,提高该时段的展现,提高整个计划的点击率。
投放人群分析:由分析可知,广告对于购物深度,以及是否是学生人群的特性不敏感。对于城市层级,年龄层次,消费档次人群特性比较敏感,研究产品本身特点,推测产品主要消费人群是年龄处于1-2层级,消费能力一般,且处于社会中层的群体。