1 提出问题:如何实现广告的精准投放

实现广告的精准投放就是最大化投入产出的过程,需要知道我们的用户在哪里,在哪些渠道能够更大化用户价值,以及各个渠道用户价值的变化规律。通过对渠道方式和渠道质量的追踪,以引流和转化率为关键事件,做好渠道的优化和维护。

本文通过研究阿里天池数据,仅从渠道,投放时间,投放人群,以点击率为数据指标进行数据分析,从而给出更好的方案和建议,实现高效率高产出。如何评估渠道质量确定投放优先级

2 数据来源

2.1 数据源

2.2 数据理解

(1)user_profile.csv.tar.gz

(2)ad_feature.csv.tar.gz

(3)raw_sample.csv.tar.gz

表user_profile反映的是用户信息,表ad_feature反映的是广告属性信息,表raw_sample反映的是用户行为信息。数据集不存在投入产出字段,命题转化为以浏览量、点击率作为数据指标,进行数据分析。

3 分析思路广告投放数据分析

4 数据存储

将数据源存储在MYSQL数据库中,且变更数据存储空间大小。

4.1 计算各个广告的点击次数

由于数据量巨大,宕机时间长,选择部分数据分析,以下计算各个广告的点击次数。

-- 1 各个广告总点击次数SELECT raw_sample.adgroup_id, count(*) AS arise_count

FROM raw_sample

GROUP BY adgroup_id

ORDER BY arise_count DESC;

4.2 选择子集

筛选广告点击凑数最多的710164作为新的数据集建表

-- 2 新建表CREATE TABLE IF NOT EXISTS 710164_sample

(

userid INT NOT NULL,

time_stamp VARCHAR(100) NOT NULL,

adgroup_id VARCHAR(20) DEFAULT NULL,

pid VARCHAR(100) DEFAULT NULL,

nonclk VARCHAR(20) DEFAULT NULL,

clk VARCHAR(20) DEFAULT NULL

)engine=innodb default charset=utf8;

将筛选数据插入数据表中

-- 3 将查询数据插入表中INSERT INTO 710164_sample

SELECT * FROM raw_sample

WHERE adgroup_id = '710164';

创建视图作为中间桥梁

-- 4 创建视图CREATE VIEW per_group_an AS

SELECT s.userid,

FROM_UNIXTIME(s.time_stamp,'%Y-%m-%d') AS 'clk_date',

FROM_UNIXTIME(s.time_stamp,'%k') AS 'clk_time',

s.pid,

s.nonclk,

s.clk,

u.new_user_class_level,

u.age_level,

u.final_gender_code,

u.pvalue_level,

u.occupation,

u.shopping_level

FROM 710164_sample AS s, user_profile AS u

WHERE u.userid = s.userid;

-- 5 查询视图数据SELECT * FROM per_group_an;

-- 6 观察一下价格SELECT price

FROM ad_feature

WHERE adgroup_id = '710164';

5 数据分析

5.1 分析不同渠道点击率

SELECT p.pid, COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio

FROM per_group_an AS p

GROUP BY p.pid

ORDER BY clk_ratio DESC;

由于渠道有限,仅从2个渠道源分析来看,430548_1007需要继续维护渠道,提高转化率,430548_1007需要加大渠道投入,做好引流。

5.2 分析不同投放时间点击率

5.2.1 每日各时间段点击率分析

SELECT p.clk_time, COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY p.clk_time

ORDER BY clk_ratio DESC;

可知:

a. 在浏览量达到一定数据时,每日的上午10点、下午3点的点击率出现了小高峰。

b. 晚上由9点开始浏览量主键提升,但点击率相对于前段时间较低,说明多数用户是目的性流量走低。

c. 深夜0-2点点击率超过12%,推测原因,可能是浏览量较低,偶然性提升,也可能是这部分人群的目的性较强,如果能获知这些人群画像,能高效的做好营销转化。

说明,目标客户在深夜转化的可能性更高。

5.2.2 每周各天点击率分析

SELECT DATE_FORMAT(p.clk_date,'%w') AS week_day, COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY DATE_FORMAT(p.clk_date,'%w')

ORDER BY clk_ratio DESC;

可知,周六、日,周一点击率较高,浏览量也不低,说明这几天带来的收益是更大的。

5.2.3 各天各时间段分析

SELECT DATE_FORMAT(p.clk_date,'%w') AS week_day, clk_time,

COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY DATE_FORMAT(p.clk_date,'%w'),clk_time

ORDER BY clk_ratio DESC;

5.3 分析人群特征点击率

5.3.1 各年龄层次人群点击率分析

SELECT age_level, COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY age_level

ORDER BY clk_ratio DESC;

可知

a. 广告投放在1/2/5年龄层带来的点击率更高,需要从时间维度考虑,增大广告投入对这三个年龄层的效果。

b. 对与年龄层6,可以从时间维度考虑增大样本投入后会不会有更大的点击率,从而判定是否需要更多的投入。

c. 对比年龄层1/5和3,说明可以放弃对年龄层3的投入,最好增加时间维度和投入资源维度。

d. 年龄层0需要投入更多的资源,观察效果后判定舍去与否。

5.3.2 各个消费等级人群点击率分析

SELECT p.pvalue_level,

COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY pvalue_level

ORDER BY clk_ratio DESC;

可知,高档人群点击率偏低仅有7.13%,原因可能是产品的客单价是109,不符合这类人群的需求。

5.3.3 各购物深度人群点击率分析

SELECT p.shopping_level,

COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY shopping_level

ORDER BY clk_ratio DESC;

可知,中、深度用户点击率略高,如果逐步转化至付费阶段,相比于浅度用户,中、深度用户后续付费根能行会更大。

5.3.4 各职业(是否大学生)人群点击率分析

SELECT p.occupation,

COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY occupation

ORDER BY clk_ratio DESC;

可知,大学生的点击率略高,但总体区分度不大,说明样本用户群体对710164敏感度差异性不大,可能是价格109属于平价款的原因。

5.3.5 各城市等级人群点击率分析

SELECT p.new_user_class_level,

COUNT(*) AS arise_count,

SUM(p.clk) AS clk_count,

ROUND(SUM(p.clk)/COUNT(*),4) AS clk_ratio,

CONCAT(ROUND(SUM(p.clk)/COUNT(*) * 100,2),'%') AS clk_ratio_copy

FROM per_group_an AS p

GROUP BY new_user_class_level

ORDER BY clk_ratio DESC;

可知,等级城市2浏览量和点击率较高,需要持续投入,4可以继续投入观察效果,1/3可考虑舍弃。

6 结论和建议

6.1 渠道分析

只有2个渠道,区分度不大,从引流和转化的角度看,430548_1007需要继续维护渠道,提高转化率,430548_1007需要加大渠道投入,做好引流。

6.2 投放时间分析

加大对深夜0-2点时间段广告投放,周六、日和周一,投放效果更好。

6.3 人群分析

(1)加大对年龄层1/2/5年龄层投放效果,建议减少对高档人群的投放,加大对中深度用户投放,加大对城市等级2/4投放,广告对职业不敏感,建议取消这部分投入

(2)多维度下其他特征,可以结合时间维度,多做测试,然后取舍。

mysql广告投放查询_广告投放数据分析相关推荐

  1. java mysql 多表查询_解析Mysql多表查询的实现

    查询是数据库的核心,下面就为您介绍Mysql多表查询时如何实现的,如果您在Mysql多表查询方面遇到过问题,不妨一看. Mysql多表查询: CREATE TABLE IF NOT EXISTS co ...

  2. 数mysql据分析优化_从零开始学习数据分析-mysql架构与优化理论

    mysql的逻辑分层:连接层 服务层 引擎层 存储层 引擎层主要分为两类:InnoDB.MyIsam(使用show engines;查看) InnoDB是事务优先的,会进行行锁,适合高并发操作 MyI ...

  3. mysql怎么子查询_在mysql中如何进行子查询?

    在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...

  4. mysql 利用时间查询_利用时间的艺术

    mysql 利用时间查询 Oh dear! If I had a dime every time (I just rhymed - twice!) someone, including me, com ...

  5. mysql中文模糊查询_解决MySQL中文模糊查询问题

    解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找%a%时,返回的可能有中文字符,却没有a字符存在.对于此问题目前发现一种方法可以很方便解 ...

  6. mysql数据库众数查询_拼多多面经分享:24个「数据分析

    一.贝叶斯公式复述并解释应用场景 P(A|B) = P(B|A)*P(A) / P(B) 如搜索query纠错,设A为正确的词,B为输入的词,那么: P(A|B)表示输入词B实际为A的概率 P(B|A ...

  7. mysql租房信息查询_使用mysql对上海租房信息进行简单数据分析

    此前对赶集网的上海个人房源租房信息进行了数据分析.所以用的工具是EXCEL,所以这次使用,mysql 对之前的数据进行简单的数据分析. 一.清洗并导入数据 先对excel中的数据再次进行清洗和整理.使 ...

  8. mysql水果表查询_最全MySQL数据库表的查询操作

    序言 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可 ...

  9. mysql select符合查询_数据库select group by 和having语句 多表连接查询 复合查询

    1.SELECT --group by 子句 group by子句按照指定的列column_name对表数据进行分组 group by 后面跟的列也叫分组特性列 使用group by后,能选择的列   ...

  10. mysql逗号分隔正则查询_正则表达式在逗号分隔的列表中查找字符串和下一个字符-MySQL?...

    要搜索以逗号分隔的列表,请使用MySQL find_in_set().这里不需要为此使用正则表达式.语法如下-select *from yourTableName where find_in_set( ...

最新文章

  1. 多个mapper的事务回滚_揭秘蚂蚁金服分布式事务 Seata 的AT、Saga和TCC模式
  2. 人工智能下一个前沿:可解释性
  3. WordCount结对拓展
  4. Qt 调用 Windows 接口实现窗口置顶
  5. 计算机视觉:图像分类定位(单一目标检测)python实现
  6. 局域网计算机中arp,在局域网中的一台计算机上使用了arp-a命令,有如下输出: C:\arp.a Interface: 192.168.0.1 0n - 赏学吧...
  7. 自学it18大数据笔记-第三阶段Scala-day06——会持续更新……
  8. 2.3微秒的特征点匹配
  9. 云原生应用程序运行时 Kyma 的主要特性介绍
  10. 快速的CSV文件生成器
  11. 基于POLARDB数据库的压测实践
  12. 美团面试题:缓存一致性,我是这么回答的!
  13. 数字通信系统的主要性能指标
  14. c++ 全局变量_专业解码 | 带你了解Python全局变量与局部变量!
  15. 学完python能做什么-学完Python后能做什么?
  16. 07堆排序 python
  17. Python核心编程笔记---- print@2
  18. linux 主流 集群 软件,Linux 高可用(HA)集群之Pacemaker详解
  19. Mac 设置终端命令快捷方式
  20. 学习记录之显示屏语言模块确定,星瞳学习

热门文章

  1. 职场篇(一):明哥的职场礼仪七堂课笔记
  2. 安卓获取wifi列表_大家好,我是来给你家 WiFi 提速的
  3. android 定位 指南针,Android 实现指南针效果
  4. win7,win10访问Samba的共享目录提示“登录失败:用户名或密码错误”最终解决方法
  5. 加性噪声和乘性噪声、均值滤波器、方框滤波器、中值滤波器、高斯滤波器、双边滤波器
  6. 货币的时间价值及股票估值
  7. php创建留言板,PHP开发留言板教程之创建数据库
  8. 4种Word文档解除密码保护的方法
  9. 乘法计算机公式,Excel表格乘法函数公式
  10. 中医针灸学综合练习题库【10】