广告频次控制(frequency capping)「建议收藏」

广告频次控制(frequency capping)「建议收藏」频次控制介绍广告中的频次控制是指控制一个用户最多在指定时间内看到一个广告(或相似广告)的次数,比如广告主可以限制一个用户最多只能一天看到一个广告3次(频次控制也可以让publisher来指定,但本文不

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

 

频次控制介绍

         广告中的频次控制是指控制一个用户最多在指定时间内看到一个广告(或相似广告)的次数,比如广告主可以限制一个用户最多只能一天看到一个广告3次(频次控制也可以让publisher来指定,但本文不考虑publisher)。

本文所说的频次控制不是硬性的,也就是说展示的次数多只会降低相同广告出现的概率,而不是达到一定次数后彻底不出。两者的区别是:前者广告主需要自己去试到底多长的时间段最多出几次合适,比较麻烦,但如果他得到了接近事实的次数,会对他有利。后者是广告主省事了,代价是广告平台只会去优化eCPM,不会去考虑广告主的利益。

引入频次控制有以下优点:

1.       增加触达受众数量。频次控制可以让更多的受众看到广告。因为频次控制消除了广告主有限的预算总是消耗在了不断地向同一群人展示广告上。

2.       提高CTR。频次控制是提高广告CTR的有效手段之一。CTR大约在相同广告展示4次之后就很低了,因为用户已经开始对这个广告无视了。

3.       提高CVR(转化率),与CTR相似,在第一次展示时转化率最高,在展示4-6次后基本无转化。

频次控制原理

 

广告频次控制(frequency capping) - quweiprotoss - Koala++s blog

 

         见上图,横坐标是展示次数,纵坐标是CPM,曲线是不同的广告(是的,我知道图和我说的不是一回事,但道理和数据真的差不多,因为我没法把公司的数据拿出来讲)。需要注意的是:

1.       所有的广告都是随着展示次数的增加,CPM减小。

2.       以蓝线和红线为例,蓝色的广告展示1次的CPM是高于红色的展示一次的CPM,但蓝色展示两次后CPM是低于红色展示一次的CPM

3.       每个折线下降的速度是有差异的。

回忆一下公式:CPM = CTR * BideCPM = pCTR * Bid。公式中的Bid是已知且固定的,那么也就是eCPM因为展示次数的变化是因为展示次数影响了pCTR,那么如果基于展示次数对pCTR进行了调整,那么eCPM就更加合理了。

考虑了已经展示的次数对pCTR进行调整,理想情况我们会收获更高的CPM,也就是公司能赚到更多的钱了。(请问你能想象我打这句话时的心情吗?)

 

广告频次控制(frequency capping) - quweiprotoss - Koala++s blog

 

         实现频次控制后的图应该是这样,紫色的线就是优化后的效果,如果你看不明白,最左边其实少了一根黑化的竖线(我再强调一下,图里的Ad Network把它想成广告,如果你是SSP,那就不要想了)。可以看到紫色的线明显高于蓝线。

频次控制实现

 

广告频次控制(frequency capping) - quweiprotoss - Koala++s blog

 

         首先基于展示次数对pCTR进行调整是否本身就是pCTR自己的问题,这个我一直有点疑问,展示次数明显可以作为一个特征加入到pCTR的模型中去,但我自己没有试过。但无论展示次数是否作为特征加入,做法都差不多,重要的是如何得到数据。

         数据分两部分,一部分实时数据,另一部分离线数据。需要storm收集实时数据的原因是写hive数据库一般有小时级的延时。KV DB中保存的是聚合了实时数据和离线数据的结果,Keyuservalue[ad_n, count_n]的列表。

         如果是展示次数作为特征放到pCTR学习中,那一切OK了,如果不这样做,那就麻烦了,首先,要得到前面图中的折线,得到展示次数对每个广告pCTR的影响。这里就有问题了,广告曝光不足怎么办?点击就几十个,怎么统计?是维度向上计算推广计划?曝光还不够怎么办?再向上到广告类别?广告主维度?还是更直接点,假装没看到这些数据,直接忽略,目标只去解决有统计意义的广告。

 

    想多一点还有更多的问题,人群A可能看过一次不点就不会再点了,人群B看过一次点击的概率并和从未看过点击概率差不多。人群的定义可以是无限多种。另外一个广告被展示到了顶部广告位,和底部广告位,难道都认为被展示了一次?所以我虽然没试过,但我认为展示次数放到pCTR模型里作为一个特征应该是最简单合理的。

 

部分内部引自:

http://www.masternewmedia.org/online-advertising-management-frequency-capping-to-optimize-ad-revenues/

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167242.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python与图像处理_python图像处理书籍

    python与图像处理_python图像处理书籍第1章 基本的图像操作和处理本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的Python工具包,并介绍用于读取图像、图像转换和缩放、计算导数、画图和保存结果等的基本工具。这些工具的使用将贯穿本书的剩余章节。1.1 PIL:Python图像处理类库PIL(PythonImagingLibraryPython,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图…

    2022年10月14日
    0
  • SpringBoot上传文件出错

    SpringBoot上传文件出错现象SpringBoot项目,今天做了一个与前端对接富文本的上传图片到服务器,返回一段URL给前端,一直运行着,前端一直请求接口一直上传图片做测试的时候,后台报了一个错误Couldnotparsemultipartservletrequest;nestedexceptionisjava.io.IOException:Thetemporaryuploadlocat…

    2022年6月3日
    62
  • Linux挂载磁盘(扩展根目录)

    Linux挂载磁盘(扩展根目录)1.df命令查看自己的/目录属于哪个逻辑卷(我们要做的是对逻辑卷扩展)[root@redhat6-3~]#df-h查看未挂载的磁盘:[root@redhat6-3~]#lsblk2.新加一块硬盘,我的是vdb先创建物理卷[root@redhat6-3~]#fdisk/dev/vdb在分别输入n、p、1、2048、1048575999、w如果报错,执行(类似刷新磁盘变化,如果磁盘无法格式化和无法创建物理卷):partprobe再执行:fdisk/dev/vdb

    2022年6月19日
    43
  • vue跨域解决方案 简书_vueaxios跨域请求

    vue跨域解决方案 简书_vueaxios跨域请求vue解决跨域问题vue跨域解决方法和小总结vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No’Access-Control-Allow-Origin’headerispresentontherequestedresource.”这种跨域错误。要想本地正常的调试,解决的办法有三个:一、后台更改headerheader(‘A…

    2022年9月17日
    0
  • 分子动力学模拟软件_分子模拟软件Discovery Studio教程(十九):虚拟氨基酸突变提高结合亲和力…

    分子动力学模拟软件_分子模拟软件Discovery Studio教程(十九):虚拟氨基酸突变提高结合亲和力…DiscoveryStudio™(简称DS)是专业的生命科学分子模拟软件,DS目前的主要功能包括:蛋白质的表征(包括蛋白-蛋白相互作用)、同源建模、分子力学计算和分子动力学模拟、基于结构药物设计工具(包括配体-蛋白质相互作用、全新药物设计和分子对接)、基于小分子的药物设计工具(包括定量构效关系、药效团、数据库筛选、ADMET)和组合库的设计与分析等。蛋白的氨基酸定点突变可用于酶与抗体的设计,这…

    2022年5月9日
    98
  • struts拦截器如何使用_信号拦截器

    struts拦截器如何使用_信号拦截器拦截器概述Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP(AspectOrientedProgramming,面向切面编程)的一种实现拦截器栈(InterceptorStack)。Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,Struts2拦截器链

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号