zoukankan      html  css  js  c++  java
  • 基于MySQL实现广告精准投放

    问题的提出:如何实现广告的精确有效投放?

    在现实的推广过程中,优质人群,投放时间,资源位的确定属于盲测,且市场多变,推广的过程中大量人力财力是无效的投入。通过对推广数据的研究,从人群,投放时间,投放位置等多维度进行点击率数据分析,得出最佳推广方案,从而让推广费用投入更高效。

    分析思路

    为达成广告精准有效投放,我们从投放位置,投放时间,和投放人群三方面来多维度分析广告的点击率,从而筛选出最佳的投放位置,最佳投放时间,优质投放人群,从而实现精确投放,提高推广费用的使用效果。

    目的

    为实现高效的广告推荐,通过对用户信息,用户行为以及广告信息分析:

      用户信息:用户id,性别,年龄,消费档次,购物深度,是否为大学生,所在城市

      广告信息:广告id,商品类目,广告计划,广告主,品牌,价格

      用户行为:点击时间,是否点击等

      多维度进行数据分析,找出其中的隐含规律,并提出最佳的推广方案,实现广告精准投放

    数据来源

    阿里天池https://tianchi.aliyun.com/dataset/dataDetail?dataId=56

    • 数据集

          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 点击率1
    from `视图(人群分析)`
    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 点击率1
    from `视图(人群分析)`
    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;

    分析可得,女性远比男性展现量的点击率高,故运营人员可以多推荐一些女性相关的产品。

    总结与建议

    1. 产品分析:商品价格是109,在对应类目这个价格是普通价位,受众较多。对应广告的展现量以及点击量也处于较高的水平。
    2. 广告资源位分析:产品在两个资源位点击率并无较大差别。
    3. 广告投放时间分析:每天上午10点左右,下午3点左右点击率较高,也与商家促销活动、节假日时间等因素相关。可以根据推广需求,及转化率对于这几个时间区间设置溢价,提高该时段的展现,提高整个计划的点击率。
    4. 投放人群分析:由分析可知,广告对于购物深度,以及是否是学生人群的特性不敏感。对于城市层级,年龄层次,消费档次人群特性比较敏感,研究产品本身特点,推测产品主要消费人群是年龄处于1-2层级,消费能力一般,且处于社会中层的群体。
  • 相关阅读:
    SSP状态寄存器SSPSTAT
    【PIC学习第18例】PIC16F877A 内部EEPROM读写实验
    批量去除flv专辑的片头
    .Net并行库介绍——Task(1)
    一个下载游戏封面的站点
    一个猜数字的小游戏
    RamDisk加速Windows 7?
    .Net并行库介绍——Task(2)
    数独的自动出题算法
    Live Messenger 2009登陆错误的解决方法
  • 原文地址:https://www.cnblogs.com/colin1314/p/11228962.html
Copyright © 2011-2022 走看看