频次控制介绍

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

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

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

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

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

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

频次控制原理

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

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

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

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

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

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

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

频次控制实现

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

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

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

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

部分内部引自:

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

广告频次控制(frequency capping)的更多相关文章

  1. 巧用UserAgent来解决浏览器的各种问题

    以前对UserAgent了解不是很透彻,今天发现UserAgent用处多多.比如我之前一直很喜欢用火狐浏览器,不过用了那么久发现火狐浏览器问题多多,比如有的论坛上传附件或者上传图片等按钮没有作用,并且 ...

  2. 中国程序化购买广告解析:RTB/DSP/Ad Exchange/SSP/DMP,思维导图

    中国程序化购买广告解析:RTB/DSP/Ad Exchange/SSP/DMP 概念 程序化购买( Programmatic Buying):通过数字化.自动化.系统化的方式改造广告主.代理公司.媒体 ...

  3. [译]Facebook广告基础--数字广告指南

    广告商指南 原文链接:https://www.facebook.com/business/help/337584869654348/ Ads Help - Desktop > Learn Abo ...

  4. RTB的颠覆性在于广告位不再是广告交易的标的,广告受众才是

    2014-09-15 PMP私有交易市场——程序化广告的新高度 | 互联网分析在中国——从基础到前沿 http://www.chinawebanalytics.cn/pmp-new-level-of- ...

  5. Recommending music on Spotify with deep learning 采用深度学习算法为Spotify做基于内容的音乐推荐

    本文参考http://blog.csdn.net/zdy0_2004/article/details/43896015译文以及原文file:///F:/%E6%9C%BA%E5%99%A8%E5%AD ...

  6. PV(Pageviews)、访问(Visits)和访问者(Visitors)的区别

    1. 在GA上,每个页面每次加载将被记为一次PV.举例来说,一次用户访问页面顺序为:页面A->页面B->页面A,然后离开了你的站点,那这次用户访问(Visits)的PV总计为3次.   2 ...

  7. Google上的Cookie Matching

    Cookie Matching This guide explains how the Cookie Matching Service enables you to make more effecti ...

  8. dubbox开发rest+json指南【转】

    http://dangdangdotcom.github.io/dubbox/rest.html 目录 概述 REST的优点 应用场景 快速入门 标准Java REST API:JAX-RS简介 RE ...

  9. 轮播组件iceSlider

    ~~~~作为编写组件的一个参考吧,在js输出组件样式的问题上 探讨一下 尽量简化组件的调用 function iceSlider(element,options) { /* 功能:广告翻转切换控制 参 ...

随机推荐

  1. CSharp设计模式读书笔记(18):中介者模式(学习难度:★★★☆☆,使用频率:★★☆☆☆)

    中介者模式(Mediator Pattern):用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,中介者模式又称为 ...

  2. .net 控件开发第二天 怎么将 第一天写的代码 用到 .net中来

    前面第一天 我们看到的全是 js的代码,虽然不管是BS的框架是java 还是 php,复用性 还是特别高的,  但是 写起来比较费劲,怎么办,我们能不能 更 简单点呢? 当然可以,这个时候我们就要用到 ...

  3. [ACM] poj 1064 Cable master (二进制搜索)

    Cable master Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21071   Accepted: 4542 Des ...

  4. Codeforces 461B Appleman and Tree(木dp)

    题目链接:Codeforces 461B Appleman and Tree 题目大意:一棵树,以0节点为根节点,给定每一个节点的父亲节点,以及每一个点的颜色(0表示白色,1表示黑色),切断这棵树的k ...

  5. 分布式服务弹性框架“Hystrix”实践与源码研究(一)

    文章初衷 为了应对将来在线(特别是无线端)业务量的成倍增长,后端服务的分布式化程度需要不断提高,对于服务的延迟和容错管理将面临更大挑战,公司框架和开源团队选择内部推广Netflix的Hystrix,一 ...

  6. Android Bluetooth Stack: Bluedroid(五岁以下儿童):The analysis of A2DP Source

    1. A2DP Introduction The Advanced Audio Distribution Profile (A2DP) defines the protocols and proced ...

  7. winsock2之最简单的win socket编程

    原文:winsock2之最简单的win socket编程 server.cpp #include <WINSOCK2.H> #include <stdio.h> #pragma ...

  8. poj 2513 Colored Sticks(欧拉路径+并检查集合+特里)

    题目链接:poj 2513 Colored Sticks 题目大意:有N个木棍,每根木棍两端被涂上颜色.如今给定每一个木棍两端的颜色.不同木棍之间拼接须要颜色同样的 端才干够.问最后是否能将N个木棍拼 ...

  9. 【视频】零基础学Android开发:蓝牙聊天室APP(二)

    零基础学Android开发:蓝牙聊天室APP第二讲 2.1 课程内容应用场景 2.2 Android UI设计 2.3 组件布局:LinearLayout和RelativeLayout 2.4 Tex ...

  10. leetcode第23题--Swap Nodes in Pairs

    Problem: Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1 ...