如何提高广告点击率

数据集介绍

数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=56

Ali_Display_Ad_Click是阿里巴巴提供的一个淘宝展示广告点击率预估数据集。

主要数据关系如下:


主要数据关系

原始样本骨架raw_sample

  1. user_id:脱敏过的用户ID;
  2. adgroup_id:脱敏过的广告单元ID;
  3. time_stamp:时间戳;
  4. pid:资源位;
  5. noclk:为1代表没有点击;为0代表点击;
  6. clk:为0代表没有点击;为1代表点击;

广告基本信息表ad_feature

  1. adgroup_id:脱敏过的广告ID;
  2. cate_id:脱敏过的商品类目ID;
  3. campaign_id:脱敏过的广告计划ID;
  4. customer_id:脱敏过的广告主ID;
  5. brand_id:脱敏过的品牌ID;
  6. price: 宝贝的价格;

其中一个广告ID对应一个商品(宝贝),一个宝贝属于一个类目,一个宝贝属于一个品牌。

用户基本信息表user_profile

  1. user_id:脱敏过的用户ID;
  2. cms_segid:微群ID;
  3. cms_group_id:cms_group_id;
  4. final_gender_code:性别,1:男,2:女;
  5. age_level:年龄层次;
  6. pvalue_level:消费档次,1:低档,2:中档,3:高档;
  7. shopping_level:购物深度,1:浅层用户,2:中度用户,3:深度用户;
  8. occupation:是否大学生 ,1:是,0:否;
  9. new_user_class_level:城市层级;

用户的行为日志behavior_log

  1. user_id:脱敏过的用户ID;
  2. time_stamp:时间戳;
  3. btag:行为类型, 包括以下四种:
类型 说明
ipv 浏览
cart 加入购物车
fav 喜欢
buy 购买
  1. cate_id:脱敏过的商品类目;
  2. brand_id: 脱敏过的品牌词;

用户流程分析

以下是关于用户行为简化的流程图:


用户行为流程图

提出问题

通过对用户行为流程的分析,我们知道用户首先会看到展示出来的广告,随后会发生一系列的行为,作为商家,我们希望的是将用户最终引导到购买的这一行为上。在此案例中,我们先重点关注如何使尽可能多的用户点击广告,即提高广告的有效性。所以在这里我们需要关注的第一关键指标就是点击率,问题就可以转化为如何提高广告的点击率?

整理数据

首先通过Navicat将数据导入数据库中,这里我们仅需要用到raw_sample、ad_feature和user_profile三张表。

1. ad_feature数据概览

由于数据样本较多,所以我想首先选定一个品牌再进行后面的分析,就选择投放广告最多的品牌吧。

SELECT
    brand_id,
    COUNT( brand_id ) 
FROM
    ad_feature 
GROUP BY
    brand_id 
ORDER BY
    COUNT( brand_id ) DESC

结果如下:


由图可知,投放广告最多的是品牌id为353787的品牌,我们暂且称它为A品牌,现在我们就以A品牌公司数据分析师的身份进行进一步的分析。

2. 数据提取

查看A品牌公司各个广告的点击率

SELECT
    adgroup_id,
    total_ads,
    total_clk,
    ROUND( total_clk / total_ads, 2 ) AS clk_rate 
FROM
    (
    SELECT
        adgroup_id,
        count( adgroup_id ) AS total_ads,
        sum( clk ) AS total_clk 
    FROM
        raw_sample 
    WHERE
        adgroup_id IN ( SELECT adgroup_id FROM ad_feature WHERE brand_id = '353787' ) 
    GROUP BY
        adgroup_id 
    ) AS sub 
WHERE
    total_ads >= 1000 
ORDER BY
    clk_rate DESC

为了避免样本量过小的影响,这里筛选出来的是至少展示过1000次的广告,结果如下:


广告点击率

可以看到,adgroup_id为569209的广告的点击率略低一点,那么我们就选择该条广告来进行进一步的分析。当然,由于每条广告的样本量不同,不能说它的吸引力就是最低的一个,我们无法得知其余3条广告的点击率是否会随着样本量增加而略有降低。

接下来提取adgroup_id为569209的广告信息以及相应的用户信息

SELECT
    from_unixtime( r.time_stamp, '%Y-%m-%d' ) AS '日期',
    from_unixtime( r.time_stamp, '%k:%i:%s' ) AS '时间',
    r.pid AS '资源位置',
    r.clk AS '点击',
    u.user_id AS '用户ID',
    u.cms_segid AS '微群ID',
    u.cms_group_id AS '组ID',
CASE
        
        WHEN u.final_gender_code = 1 THEN '男' 
        WHEN u.final_gender_code = 2 THEN '女' ELSE NULL 
    END AS '性别',
    u.age_level AS '年龄层次',
CASE
        
        WHEN u.pvalue_level = 1 THEN
        '低档' 
        WHEN u.pvalue_level = 2 THEN
        '中档' 
        WHEN u.pvalue_level = 3 THEN
        '高档' ELSE NULL 
    END AS '消费档次',
CASE
        
        WHEN u.shopping_level = 1 THEN
        '浅层用户' 
        WHEN u.shopping_level = 2 THEN
        '中度用户' 
        WHEN u.shopping_level = 3 THEN
        '深度用户' ELSE NULL 
    END AS '购物深度',
CASE
        
        WHEN u.occupation = 1 THEN
        '大学生' 
        WHEN u.occupation = 0 THEN
        '非大学生' ELSE NULL 
    END AS '职业',
    u.new_user_class_level AS '城市层级' 
FROM
    raw_sample AS r
    JOIN user_profile AS u ON r.user_id = u.user_id 
WHERE
    r.adgroup_id = '569209'

结果中会有一些Null值,暂时先不处理,然后将结果导出为csv文件。

探索性数据分析

广告维度

资源位置

点击率资源位置分布

两个位置所展示的广告的点击率其实相差不大,在广告位置上并没有什么优化空间,除非寻找新的广告位置。

时间

点击率时间分布

点击率虽然在凌晨3点最高,但样本量较小,受个别个体影响较大,没有什么探讨的价值。
在12点、13点及18点的点击率高于总体的平均值,这两段时间正常来说应该是人们正在吃饭或者吃完饭小憩的时间,这是否说明人们更乐意在吃饭时或者吃完饭后去点击广告呢?这点可以进一步探讨,同时我们也可以留意到,在8点至11点的广告展示量很大,但是点击率却较低,可能大家都在忙于工作和其他事情,上网都有较为明确的目标,没有闲暇时间去点开广告查看。

用户维度

年龄层级

点击率年龄层级分布

年龄层级2的点击率明显高于其他年龄层级,可以增加向该年龄层级的用户展示广告。

性别

点击率性别分布

男女的点击率差别不大,由于我们不知道该产品具体是什么,但如果该产品是男女都适用的,那为什么广告会更倾向于向女性展示?我们是否会忽视或者错过了男性的浏览甚至购买呢?

购物深度及消费档次

点击率购物深度及消费档次分布

图中圆的大小代表展示数,颜色深浅代表点击率(标注在圆的旁边)
深度用户中低档和中档消费档次的用户的点击率其实相差无几,虽然高档用户的点击率为5%,但是样本量太小了,没有参考价值。也因为整体的样本量太少了,这张图也无法为我们提供哪些特定用户会具有更高点击率以及我们是否向这些特定用户足够多地展示了我们的广告,这个问题其实可以在一个足够大的样本量下探讨或者直接与用户交流,获得他们的意见与想法。

职业

由于这里只有大学生与非大学生的差别,且大学生的样本量较小,就暂且不进行深究了。

城市层级

点击率城市层级分布

2级城市的点击率较高,可以进一步增加向2级城市的广告展示,而4级城市似乎有着一定的发展潜力,可以进行更深入的调查。

得出结论

  1. 考虑是否可以调整广告位置,以及调整广告位置所带来的收益是否能够覆盖调整位置所产生的成本。
  2. 通过某些途径,更多地向年龄层级为2的用户展示广告,最好在午饭以及晚饭这两段时间向用户推送广告。
  3. 进一步探讨男性群体以及4级城市的用户是否有进一步推广以及增长的空间。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,923评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,154评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,775评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,960评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,976评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,972评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,893评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,709评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,159评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,400评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,552评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,265评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,876评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,528评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,701评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,552评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,451评论 2 352

推荐阅读更多精彩内容