广告投放效果分析
一、分析背景和目的
在大数据时代的背景下,广告主可以购买媒介变成直接购买用户,广告的精准投放对广告主、服务平台与潜在用户而言,在提升效率与商业效益方面,有了更迫切的需求,然而网络广告形式多样,很多广告投放系统相对缺乏针对性,使得网络广告精准度不够高,因此,对推广数据的研究是十分必要的。所有本次项目将从用户特征,投放时间,投放位置以及高点击率广告的特征等方面多维度进行数据分析,以提高用户点击率,实现淘宝展示广告精准投放,实现广告投放效果最大。
注意:本文是博主自主探索数据分析的记录和总结,有些方法和结论会存在错误,希望对你学习有帮助的话我很高兴,但是有问题的话希望给小弟批评和指正。
本文使用的数据工具为mysql 和 tableau
二、数据集
数据来源阿里天池,数据集
数据名称 | 说明 | 属性 |
---|---|---|
raw_sample | 原始样本骨架 | 用户id,广告id,时间,资源位,是否点击 |
ad_feature | 广告的基本信息 | 广告id,广告计划id,类目id,品牌id |
user_profile | 用户的基本信息 | 用户id,年龄层,性别等 |
raw_behavior | 用户的行为日志 | 用户id,行为类型,时间,商品类目id,品牌id |
具体字段如图:
三、分析框架和思路
对于衡量广告投放效果有三种模式:
对于cpc模式,点击率 = 点击量 / 展示量,可以使用点击量衡量投放效果,对于品牌来说,是根据点击量来进行付费的,点击率则可以体现广告的吸引力。
对于cpa模式,可以构建两个漏斗,即浏览—收藏—购买,浏览—加入购物车—购买,观察转换率可以衡量投放效果。
四、数据预处理
- 原数据集太大,为了方便分析,在raw_sample数据集中截取300w条数据
- 数据缺失值处理,如果出现缺失,将缺失的行删除即可(简单方法)
select count(user_id),count(adgroup_id),count(time_stamp),count(pid),count(noclk),count(clk)
from raw_sample;
在 user_profile 数据中 pvalue_level 字段缺失率高达53.1%,这里可以使用knn算法进行预测填充 (我比较菜,先直接忽略,后续学习python之后进行补充),而 new_user_class_level 字段的缺失率也有27.4%,可以使用众数进行补充。
- 数据重复值处理
select user_id, adgroup_id, time_stamp, pid, noclk, clk
from raw_sample
group by user_id, adgroup_id, time_stamp, pid, nonclk, clk
having count(user_id) >1;
- 数据异常值,比如有无超出时间范围
- 时间处理,将时间戳分解为日期和时间
alter table raw_sample add time_date varchar(20);
alter table raw_sample add time_hour varchar(20);
update raw_sample set time_date =