数据与广告系列三十一:智能调价oCPX,你以为赚的是保价,其实你丢的是流量...

作者·黄崇远

『数据虫巢』

全文12050

题图ssyer.com

9fd44b0ad86f5b3791bcb520b7315854.png

随着计算广告生态的进一步发展,有越来越往智能化方向发展迭代的趋势。关于投放层的智能化,当属“广告动态智能出价”,或者更严谨的点说是“以目标转化为优化的深度出价”为代表。当然,更多人似乎更喜欢他那个更为时髦的名称oCPX。

这似乎已经成为了广告从业者的一种信仰,投必言oCPX,不支持oCPX投放的DSP不是一个好平台,不会进行oCPX投放的运营不是个好投手。

oCPX(Optimized Cost Per X),这里的X可以指浅度的Click,但似乎更多广告主倾向于更为深度的转化,例如激活,甚至是注册、表单,又或者是付费等。动态智能出价,光看名字就是一个好的定位,按广告主转化进行实际出价,给你保价,超了成本平台给你做赔付。

看似是一本万利的生意,但是,你以为你赚的是保价,实际上你丢的是流量。

efdba294034c64bcbbf559e1564da493.png

b80961eacacfe4f57b84c97cd6bc8ad9.png

01

oCPX-妥协的产物

时间回到1994年,HotWire.com网站承接了AT&T在其上面投放展示的旗帜广告--一张极为简单以文字为主的图片展示广告,或许这是一个偶然的无心之举,但网站的运营者可能怎么也想不到这将是一个划时代的开始。

自此,在线广告迎来了快速发展,从类似HotWire.com这种尝试性的广告流量位承接,到成为线下广告预算消耗的重要组成部分,再到传统4A(The American AssociationofAdvertising Agencies,美国广告代理协会)正式介入,在线广告成为了一种不可忽视的广告传播形态,以及广告领域的重要组成部分。

而广告的结算方式,也从偏向于传统广告位的租借模式转向了线上独有的流量售卖模式,即CPM(按流量计费)计费模式,这是一种线上独有的计费逻辑--广告流量能够以千次展示作为单位计量拆开售卖。

但在线广告真正迎来变革性的时间突破点在2008年,雅虎研究院的研究员Andrei Broder首次提出了计算广告学的概念,提出了在线广告新的研究目标--实现语境、广告和受众的三者最佳匹配。

这意味着在线广告从流量展示量的售卖逻辑逐步向单个人与广告匹配的颗粒度过渡,从计费模式上看似只是从CPM的计费到CPC(按单次点击)的计费的变化,但对应的底层技术却是发生了质的变化,最核心的点在于对于广告匹配精准性的要求有了翻天覆地的变化,并且广告平台需要为广告的点击效果负责--因为广告主只愿意为产生了点击那一部分行为买单。

当初提出计算广告学概念的Andrei Broder,现如今已经是雅虎研究院的副总裁,或许就算当年Andrei Broder没有提出这个概念,也许并不会影响在线广告从粗犷似的投放到精准匹配模式上去演化。

广为人知的精准定向、广告点击预估技术等变革性的技术就是在那个时代陈新迭代、喷涌而出的。如今我们很难言说到底是广告业务的快速发展促进了广告技术的迭代,还是广告技术的快速更新导致了广告业务的磅礴发展。又或者,这本就是一个相辅相成、循环迭代的过程。

但随着移动互联网的高速发展,计算广告的流量载体从PC端大幅迁移到移动端,又或者说并不是严格意义上的迁移,而是新增。

早在2012年时,智能手机的入网保有数量大概在1.4亿左右,到了2017年,整个移动互联网的活跃用户数量已经接近11亿,而这里头大部分都是智能手机用户。而我们知道,智能手机对应的APP是移动流量的关键载体。

PS:附带相关的图https://36kr.com/p/1722710671361

但任何增长都有个尽头,显然中国的人口数量是一个理论上限,但移动互联网的活跃人群上限比人口理论上限来的更早--因为必然会有很大一部分是沉默人群。

据QuestMobile的2018年数据统计,整个上半年,中国移动互联网的活跃用户规模仅增长了2千万。习惯了用亿为单位衡量增长量级的我们显然有些不适应,这意味一个事--中国的人口流量红利逐渐在消失。

更为重要的是,此时中国市场上的APP数量已经超过了406万个,从用户的需求角度上说,人均30个已经能够满足绝大部分人的移动端应用诉求了。

换种角度说,承载移动端流量的各类应用APP处于高度同质化的状态,而媒体流量是计算广告的变现载体,内容的同质化必然会导致广告引流的效果变差,广告主必然寻求一种更为公平的投放方式,或许这种公平的追求源自于要活下去。

计算广告野蛮生长的时代结束了,广告主与媒体平台或广告平台双双狂欢的局面被终结了,广告主第一次有如此强烈的诉求,不再满足于广告引流的点击现状,他需要点击过来的人在他的商业载体上留下来,甚至是进一步转化变现。

广告行业的本质也是服务业,“不事原始生产”,一端是广告主,一端是媒体流量。当双双狂欢的时候可能没有人去在意其中的细节,然而当被服务方难以为继的时候,起到中间桥梁作用的广告平台必然面临改变。

但是,广告主所追求的只愿意为深度转化买单,目前的技术是很难一步到位的。所谓深度转化是相对于当前广告点击转化计费的逻辑而言,例如点击广告之后进一步的动作,APP注册、游戏的付费、电商的购买等等。广告主期望根据深度转化来进行出价,以及结算,即转化一个给你对应的钱。

而最终相互妥协的结果就是oCPX--有条件的下的按深度转化保价结算。

所谓有条件,其一,即分开一阶段和二阶段,一阶段与常规CPC广告结算逻辑并无本质不同,而二阶段则趋向于CPA计费(但实际上依然不是按转化计费,只是最终计算成本的时候会趋向于CPA的出价)。其二,超出成本范围内的结算,平台进行赔付,按业内通用做法,这个范围是浮动20%。

用一句老话来形容就是:革命虽然没有取得最终成功,但是已经取得了阶段性的伟大胜利。

那么,oCPX究竟是如何做到有条件下深度转化保价的呢?

cd55348792e4765d2a7021dd08183cee.png

8c808ae022797199b992e5931759d6b8.png

02

从pCTR到pCVR的升级

要说清楚oCPX的机制,需要先从pCVR即广告转化预估说起。

不管在任何一个发展阶段,广告平台在一个用户即将曝光某一条广告的时候,其筛选主逻辑永远都是eCPM,即期望千次曝光价格--这是衡量流量售卖效率的最核心指标。

CPC时代中,eCPM=bid*pCTR*1000,所以针对任何一个用户来说,只需要计算候选广告与当前用户的点击概率即pCTR即可,就可以预估出期望千次点击带来的收益是多少,原则上以高收益为准则,将该次广告播放的机会提供给eCPM最高的那条广告。

所以,在很长的一段时间里,广告领域中从事算法模型的人都在研究当一个用户触发了广告推送场景时,例如信息流划到了广告位,例如玩一个游戏时底部跳出的广告弹窗,预估当前广告候选池中,哪个广告的eCPM最高。

bid是固定的,因此只要pCTR确定了,广告播放场景的eCPM就确定了,就可以进行广告候选排序了,假如没有其他逻辑干预情况下,将Top1的广告呈现给用户。当然,实际过程远比这个逻辑更为复杂,例如当候选池很大的如何将候选集缩减到模型可以直接预估的承受范围,又例如排序之后,对于反复给用户展示的广告是不是需要做频控等等,我们只做核心过程的抽象,暂时先忽略掉复杂的实际流程。

在追求深度转化的时候,将预估停留在广告是否点击显然是不够的,因此才有了pCVR,即转化预估,在点击的基础上预估用户是否转化的概率。

于是,eCPM的计算逻辑升级为eCPM=bid_cpa*pCTR*pCVR*1000,变化在于Bid的逻辑变化,即之前广告主按点击买单,而这个逻辑则是按转化买单。其次是在之前的广告点击预估基础上做转化的预估。

这种变化对于广告主来说是百利无一害的,广告主投放广告本质上不是为了让用户点击广告,而是点击广告之后产生实际的转化,甚至是在其商业生态中达到变现的目的。以游戏广告投放为例,点击广告是第一步,下载应用注册游戏是第二步,然后在游戏中购买道具消费是第三步,然后持续玩游戏不断消费把投放广告的成本赚回来是终极目标。

但是,广告平台不乐意呀!

无他,搞不定而已。pCTR的预估其实对于整体实际转化与预估转化的偏差来说,基本上没啥很大悬念了,所以在CPC时代中排序的结果与实际的理论价值最大化的差别不大。换个通俗点的例子,假如十次预估,其中八九次eCPM Top1的广告与实际CPM Top1的广告差别不大,则意味着对于流量价值预估的偏差不大,而在pCTR预估为主的时代,确实不大。

但是,在追求转化预估的时代,pCVR的预估远没有pCTR的预估好做。首先可以预想的建模的数据量级,转化作为点击之后的漏斗,甚至是再后一级的漏斗,其积累的正负样本量级差异是数量级(本质上是有监督的建模),当模型迭代差不多的时候,决定建模质量的核心在于数据,这是一个从业务模式上很难解决的问题。

不止如此。

以游戏付费的转化预估为例,在广告平台层面,广告主只会把用户是否转化了通过API传递过来,但实际上是否转化的更多决策行为广告主是不会传递的,比如玩游戏时长,在游戏里的一些行为动作等等,这些才是决定付费更具有影响性的因素。但对于广告平台来说,只能结合转化用户在其自身平台的特征来做pCVR的预估。这是除了样本累积之外的特征缺陷问题。

再其次,转化延迟的问题,诸如应用下载/游戏注册这种转化预估,其跟广告点击的行为距离很近,所以中间用户的决策剩余空间很小,但例如深一步的游戏付费,金融的授信,是有可能存在延迟转化的可能的。比如玩游戏玩了好几天了,才决定要付费,下载好了贷款APP之后,几天之后缺钱了才想起要授信借钱。这种延迟的转化行为是比较难做建模归因的,这是商业逻辑上的天然存在的问题。

如此,其预估的准确性与pCTR的准确性就不可同日而语了,那么代价必然就是本来高价值的广告结果排序上吃亏了,最终流量价值由于pCVR的预估能力不足而降低了,流量贱卖了。

以上都是问题,所以结论就是,要让广告平台为CPA买单,这是不可能的,至于这辈子可不可能不知道,最起码这几年不可能的。

有没有折中的解决方案,答案显然是有的,那就是oCPX。

d13f53ebc3e7746eb12385608f83a27c.png

e4ead5759c2f4f01dfde6617878c5b8a.png

03

oCPX这只无形之手

我们来看看oCPX这种解决方案是如何和稀泥,不对,是如何兼顾广告主与广告平台双方利益,最终达成一种新的广告投放逻辑模式。

第2章节说了,既然估的不够准,那么有没有补救措施,如何补救,或者说广告主与平台的博弈如何相互妥协。

第一个是妥协逻辑。

通常排序预估的建模如果能做到广告层级,那当然是最好的,因为不同广告创意之间会存在创意的差异性,同个广告累积样本数据做快速的预估。如果做不到,或者说数据不够,那么就上溯到例如广告计划层级,同个广告计划的数据做归纳,数据量就上来了。如果数据依然稀疏,继续上溯,例如投放同个应用的广告做数据归并。

如果还不行呢?

那就给点时间攒样本数据吧,攒到模型认为预估的结果可靠为止,最起码相对可靠。所以就有了oCPX的所谓一阶段和二阶段。一阶段是CPC阶段,所有的广告结算预估逻辑都跟CPC投放没啥区别,到了模型攒够了样本再做类似CPA的结算。

比如5个正样本转化之类的,而pCTR预估完全可以跳过这个阶段,一方面是数据量累积太快,另一方面是前期就算数据量少偏差大,但是试错成本低,一个CPC的价格也就一两块钱,最多是10块钱的试错成本。但转化出价不同,例如一个游戏付费可能是几十上百块的成本,一个贷款授信几百块的出价成本,这个要是瞎预估还收人家钱,广告主会跟你玩命的。

从博弈的角度看,所谓妥协逻辑就是,一阶段是广告主向平台的妥协,而进入到二阶段之后则是平台向广告主妥协。一阶段是CPC逻辑比较好理解,二阶段理论上实际的单个转化成本理应等于CPA转化出价。但就算给了平台积攒样本进行建模的时间,那么实际的转化预估能不能完全贴近于实际转化呢?

答案就是还是很难,本质问题还是第2章节说的问题,pCVR预估除了数据样本累积的问题,还存在不少天然的难题,这是通过单纯的一二阶段区分积累样本所解决不了的。

既然预估的还是不够准确,那么就进行校准,这才是oCPX被称为无形之手的关键原因。简单来说就是假设前个周期pCVR的预估偏高了,那么在后个周期里对预估的值进行折算;相反,如果是低估了,则进行提权,人为提升pCVR。通过这种调整来达成最终整体趋近于实际转化的目的。

用预估偏高偏低比较容易理解这种逻辑,但是,在实际操作中,平台视角是我的1000个曝光理论上应该卖多少钱,对应实际卖了多少钱来去调整策略。理论赚多少钱=CPA*实际转化量=CPA*总曝光量*CTR*CVR,预估(实际)赚多少钱=CPA*预估转化量=CPA*总曝光量*pCTR*pCVR。估的准不准,通过时间窗(比如一个小时比对一次)对比一下就知道了,例如理论收入/预估(实际)收入大于1,说明低估了,如果小于1,说明是高估了,如果等于1,说明估的非常之准确。当然,不太可能是1的,这辈子都不可能的。

但是,对于进入二阶段的广告主来说,他不管你估的准不准,他只关心一个转化消耗的钱与其CPA转化出价的偏差多大。为什么说偏差呢?

这就说到第二个妥协,由于种种原因,平台说我估的不可能100%准确,是有Gap的,至于这个Gap就定上下浮动20%吧(行业通用浮动标准,至于是谁开启的这个非明文行业标准的,大概率是字节)。如果单个转化的扣费超过了120%,超过的部分平台给你赔付。

平台说,完全的CPA我是做不到,你要么接受这种Gap,要么投CPC。这广告主一看,20%的超成本,总比完全蒙头黑以及投点击强呀,所以一拍即合。

所以,哪怕是千辛万苦进入的二阶段,也不是完全的CPA扣费,而是伪CPA。那我们就继续看下他是如何实现的扣费不超成本的,以及到底多“伪”。

上面我们分析理论赚钱与预估赚钱是宏观视角,是一个大的调整指导方向,但实际扣费是发生在用户曝光广告那一刻的,所以我们具体来看下扣费动作如何实现贴近于CPA,不超成本(不超120%),我们来看微操。

上一篇《数据与广告系列三十:从oCPX的无形调控之手到定向价值定位》说到过一些逻辑,微操就是判断eCPM,eCPM=CPAbid*pCTR*pCVR,比较的也是实际CPM与eCPM的差距,调整的逻辑就是在eCPM的基础上,做上调还是下调,从而实现人为的进行低估和高估的调整。

新的eCPM=a*CPAbid*pCTR*pCVR,而这个a就是无形之手(这里暂时不考虑二价之类的因素,单纯按eCPM去PK广告曝光机会)。补充一下上篇没有解决的问题,那就是实际扣费的问题。目前行业中oCPX的扣费只能做到在点击那一刻做扣费,不可能等到用户真正转化动作的时候扣费,比如等他玩了半天游戏付费的时候才扣,如果这样,基本无法做到预算控制,整体流量价值最大化就乱套了。

所以,实际在上述公式中,看着是通过实际扣费是a*CPAbid来调整扣费,最终实现整体成本趋近于实际CPA,但是由于无法做CPA的实际行为扣费,所以回退到点击场景扣费,那么扣费预估就成了CPCbid=a*CPCbid*pCVR,即不是按照一阶出价进行点击扣费,而是a*pCVR做了调整。

换句话说就是,通过a的调整参数与pCVR来确定单次CPCbid的调整幅度,最终通过调整单次CPCbid扣费来最终实现oCPX的最终成本趋近于实际CPA。

除开pCVR的预估是否准确的问题,最核心的就是a怎么来调,大方向确定了,高估了就调低,低估了就调大,但具体怎么调,并没有想象中这么简单。

04b009d173a2e0a4e96fdd375d5ce1d3.png

718d8604c3bde94b03df02ddf7708acc.png

04

oCPX是如何把一个a参数玩出花样的

oCPX确实很神奇,抛开一阶段不说,其二阶段号称是保价,也就是不超转化成本的20%,超了就做理赔,并且从实现的逻辑看,依赖就是一个调价因子a,他是如何达到的。

回到宏观调整方向,一个时窗内,比如一个小时,平台计算一次理论消耗与实际消耗(受调价的影响,实际收入等于调价之后的预估收入)的比值,只要比值大于1,说明低估了,如果小于1说明高估了。

最简单的调整逻辑是,只要高估了20%,那么系统就回调20%,低估了20%,那么就调高20%,通过等比例的较正,让整体成本回到正轨上去。

并且,在实际操作中,时窗的大小是可以调整的,可以10分钟计算一次,也可以1个小时计算一次,可以相同转化类型的做一次调整,也可以同个广告计划的做一次调整,获取其单独的a值。

然后衡量的标准就是,看最终一个广告的实际成本与CPA出价的偏差,偏差了多少,只要平均值在120%范围内都算达标,所以,衡量oCPX的校准有没有起到作用,本质上是看成本达成率达到了多少,只要不超过120%都算达成。

这就是按偏差比例来进行调价(扣费计价CPCbid=a*pCVR*CPAbid,调节的是a)。

最早的调价,确实就是这么简单粗暴。不能说完全无效,较正了总比不较正的好,总体体现在这种调节方式无法让成本稳定下来,总是在波动。用自动控制领域标准的称呼为按比例控制容易产生稳态余差,非学术说法就是容易存在惯性,最终总是在反复调节,调大往小调,调小了往大调,来回波动。

如果细研究自动控制系统领域的原理,一时半会说不清楚,笔者非控制领域出身,更难说清楚,但可以认为,按比例控制能够起到一定的偏差拉回的作用,但最终控制的稳定性会比较差,最终体现在指标上就是--成本达成率不高,波动很大,不够稳定。

有没有更优雅的方式去调节?肯定是有的,表面上是一个调价过程,本质上依然是一个自动化控制系统领域的问题。解决逻辑就是,既然不够稳定,容易调节过渡,那么有没有一种微调节的方式在边界处进行更为精细化的调节。

答案在控制系统领域已经给出来了,那就是PID算法,我们只需要应用于oCPX智能调价场景即可。并且,这个算法在自动控制领域已经是非常成熟的东西了,比如我们所看到的汽车定速巡航,工业场景的一些恒温控制等等。

613a091e1bac599b202c7cee1784d82b.png

如图,这就是PID控制算法,PID拆开来就是Proportional(比例)、Integral(积分)、Differential(微分),即按比例控制,按积分控制,以及微分控制,三种控制结合起来调整。

比例调节不多说,这是一个大的且对的方向,按比例调节依赖的是上次偏差的大小,通过比例较正,能够快速反应偏差,并快速矫正偏差,但不能消除静差。静差是指系统控制过程趋于稳定时,给定值与输出量的实测值之差。静差的存在使得单纯依赖Kp的调整容易产生超调和结果震荡,表现出来的就是围绕真实值反复波动。

而积分调整则引入历史所有的偏差,即对于输入偏差做积分,基于历史所有的偏差去调整。最终表现就是减小超调的发生概率,降低偏差的波动。

而微分调节学习的是之前调节的误差变化大小(变化速率),你可以认为他学习到的是偏差变化的加速度,按比例调节有点像线性调节关系,但实际状态并非线性的,他的偏差可能在逐步拉大也可能逐步的变小,且加速变大或者加速变小,那么就需要感知到这种误差的变化速度,然后在调节的过程中考虑到这种“加速度”,使得这种调整变得更加的精细。

不能再细讲了,再细讲下去就hold不住了,总之总结下来可以这么理解,通过前一次的偏差按比例调节掌握调节的大方向,然后综合考虑历史的调节偏差来修正调节幅度,减小超调与调节波动,然后通过微分感知调节偏差变化大小来进一步微调,最终实现了对于调价参数a的调整。

我们可以看一下,几个参数调整过程,最终调节值与真实值偏差表现:

36b8390eb03b04e1371e3afbad44f36e.png

dc8f17e585b72f4a1ce58e14b943a2d2.png

2025009dbd3c67078d2ac371afbb5441.png

如上面三组图,分别开始从P到I到D的调整,对于调整的结果与真实值的偏差变化情况,K来控制整体的调节方向,大的调节比例,但最终与真实之间的偏差始终难以趋近,通过积分调整之后,开始与真实值交叉,这就是消除了静差的结果,最终通过调整变化速率,进行微调,让变化加大的地方进行“减速”微调,在变化减小的地方“加速”调整,从而整体趋近于真实值。

一个a参数,竟然被oCPX玩出了如此花样,最终让预估的扣费产生的实际成本与广告主的CPA出价差不多,对于行业内成熟的oCPX投放模式中,最起码在常规的领域中80%以上的广告都能稳住在期望价格偏差内(120%)--而这就是所谓的保价!

听着很带劲,oCPX智能出价,只要扛过了一阶段,岂不是一本万利,对于广告主来说,只要脑袋清晰,根据收益反推出自己的容忍成本(即CPA出价),然后扛过了一阶段,然后坐等收益即可了?

因为出价是通过ROI反推出来的,有了oCPX保价,那么只要有流量进来,那么就亏不了,不超自然是ROI正向的,如果超了成本,这不是平台还会赔付兜底吗?

岂不知,你以为你赚的是保价,实际上丢的是流量。

504b70f792ad0cefbc83e81e9335e61d.png

7a2688c98d46a07bb70260eabcf77c31.png

05

你以为赚的是保价,其实丢的是流量

世界上,哪有什么一本万利的生意,作为广告主,根据ROI把出价计算的妥妥贴贴的,然后依托oCPX机制坐等收益,殊不知流量的分发权限在平台方而不在广告主侧,而对于广告平台来说,其公式计算同样很直白而简单,那就是流量价值最大化,然后顺带的做保价。

你看,保价对于他来说是第二目标,第一目标是赚理论上的最大收益。

我们还是以平台的oCPX调价视角来观测,eCPM=a*CPAbid*pCTR*pCVR,通常情况下pCTR的预估还是比较准确的,所以核心偏差在于pCVR的预估是否准确。当CPM=eCPM,即a*CPAbid*pCTR*pCVR = CPAbid*CTR*CVR,假设pCTR的偏差不大,即CTR=pCTR,那么当pCVR趋近于实际CVR的时候,a=1;当平台高估时,即pCVR>CVR,则a<0;当平台低估时,即pCVR<CVR,则a>0。

如上,是实际的a调整过程,具体调整的值由PID算法控制,我们来看a随着pCVR高估和低估之后,会发生什么事。

首先,假设对于实际CPM与eCPM比值趋近且稳定的情况下,即oCPX的调整策略使得成本始终趋近于实际的CPA价格,那么保价的目标是一定的,在大部分成熟的oCPX的策略中,实际成本价总是趋于稳定的。

那么,我们来看另外一个从广告主视角看来是副作用,从平台角度来说是平衡收益的影响。首先是低估状态下,即原本CPM=10块钱,平台认为只值8块钱,最终广告主为8块钱的价值买单,但实际上获得了10块钱的流量价值,具体会体现在其这个时窗内的实际成本会低于CPA出价,假设此时其获得了1000个曝光,10个转化,但对于平台来说就是亏了,流量贱卖了。

此时,为了让流量价值趋近于真实价值,那么a提升,eCPM=a*CPAbid*pCTR*pCVR,eCPM比上个时窗提升了25%,趋近于10块钱。那么,下个时窗内,广告主的实际成本,获取的曝光量,拿到的转化量与上个时窗比,会发生什么变化?

首先,a的提升,等比情况下eCPM的提升,大概率获得曝光量会提升,但是这个前提是pCVR不变的情况下,实际上pCVR是根据不同的受众用户而动态改变的,假设两个时窗的竞争力同等的情况下,即还是只需要8块的eCPM就能拿下同等的曝光机会也就是曝光量,那么会发生什么事?

对于pCVR的容忍程度变低了。eCPM还是8块,a提升了,必然对于pCVR的要求就变低了,带来的变化就是,曝光量大概率还是能维持在1000,甚至更多,但是转化量就不一定了,因为pCVR可能变低了,假设预估偏差同等的情况下,意味着实际的CVR也会降低,那么转化量可能还是能够维持10个,但最终成本一定是提升了。

所以,低估场景下,平台的调控方向是避免流量贱卖,该是什么价就是应该是什么价,换成更为通俗的说法就是往前个时窗的金子里掺沙子,把金子留给其他金主,甚至是补贴哪些超成本的,总之eCPM最大化是方向。

对于广告主来说,保价了吗?保了呀,成本虽然是上涨了,趋近于真实的CPAbid了,但是没超吧?既然没超那当然还是保价了呀。

当然,在真实的调控场景里不会像上述那样理论化,竞争环境在变化,用户跟上个时窗的分布也在变化,预估的偏差程度也在变化,但从理论上分析的角度上看,上面的影响是真实存在的,只是度的问题,方向没问题。

我们换个方向,来看下高估的问题,即真实超成本的问题。

当平台当前时窗高估了,原本CPM=10块钱,eCPM预估的是12块钱,那么在下个时窗中,当然要下调预估了,即a下调。假设当前时窗虽然高估了,但是同样带来了1000个曝光,10个转化,成本偏高(与CPA出价对比)。

此时平台的调节思路与低估就不一样了,此时是超卖,即本来10块钱的东西,卖了12块钱,导致了广告主的成本偏高,所以此时的调节逻辑是避免超卖,因为超成本了平台是需要赔付的。

所以下调a,然后体现就是eCPM会下降,同样的分析逻辑,当如果广告主还是需要1000个曝光,假设其他环境因素是不变的情况下,那意味着需要同等的竞争力,即eCPM=12块钱,那么由于a下调了,必然要求pCVR提升(同样假设pCVR预估偏差不变的情况下),才能满足,那么必然就有一部分pCVR偏底的达不到要求,从而导致了与上个时窗比,只有部分用户才能满足eCPM=12块的要求。

那么,最终的结果就是获得曝光量大概率是少于1000的,转化大概率也是会减少的,具体少成什么样子就看命了,实际看调整策略的倾向性和严格程度。

所以,高估场景平台的核心调控目的是避免赔付,而广告主的收获是保价,实打实的保价,但是代价却是没有写明的流量缩减。

对于oCPX投放来说,可能更多的人感知到的就是保价即保成本,但可能更少的关注到的是平台eCPM价值最大化,即低估的场景部分。并且,对于很多调控策略并非那么稳定的平台来说,其在高估场景中的调控更多倾向于保护平台利益,即极力避免赔付,从而容易“用力过度”,导致一旦连续高估之后就彻底断流了,也就是投放领域场景的投的好好的突然就没有流量了,这是因为不成熟的调控策略一棒子把你的广告给打死了。

你以为你赚的是保价,其实丢的是流量。那么,oCPX到底是不是一剂良方?

9d75d360432ef863517eaacfc126ab1c.png

e450aa0b448fa0e56be5c5e52229588a.png

06

oCPX的意义与投放思考

回到上个章节,oCPX到底是不是一剂良方?

对于CPC广告模式来说,当然是的,并且是一个伟大的行业进度,我们从行业上大部分平台的支持力度,以及普及程度来看,广告主是用脚在投票,所以,这玩意儿确认过,好使。

广告主收获的是保成本,虽然是还带有一阶段尾巴遗憾的保成本,但依然比按点击扣费最终带来的ROI评估稳定的多。平台收获的是流量价值最大化,特别是低估场景,能够调整平台的整体实际CPM。所以,这是一个双赢的选择。

那么,从投放的角度出发,结合oCPX的机制,如何进行投放呢?看着oCPX给你保成本了,只要设置了价格,感觉成本就不会超了,如果要求只是这么低,那么当然没有任何问题了,如果还有更高的追求,那么就应该继续研究oCPX的机制,看看能不能撸平台的羊毛。

首先是价格设置的问题,前面章节说过了,大体逻辑是一样的,结合自身商业场景的变现预估,然后结合对于ROI的要求,从而推断出能够接受的成本价。如果成本价的设置,且oCPX机制又稳定,我们暂且不考虑平台oCPX调控稳定性的问题,如果还是无法获量。说明当前平台中,符合你产品转化概率的用户结合你的CPA出价,最终的eCPM的竞争力是不足的。

那么,如果想获量,要么改变产品内部逻辑从而提升CVR,比如游戏APP,做的更吸引人一些,从而提升内部的付费率。这个路径太长,都说到产品内部的优化逻辑了,当我没说。

还有一个思路就是提升出价了,以获取更高的eCPM竞争力,从而拿到量,但这样的结局就是ROI可能会变低,那只能想办法提升变现效率了。

总之,这种情况下,其实没有更好的办法,如果没法优化产品,没法提升变现效率,没办法提升出价,那么你只能换波投放人群了,换个竞争环境了,其实就是换个广告以及流量平台进行投放,寻找最适合(即钱和转化的平衡,所谓适合)自己的广告用户。

另一个场景,是一个撸羊毛的场景。

当你设置了一个你认为底线的价格时,观测广告的报表,随时关注实际成本与出价的偏差,这个时候你就需要跟oCPX拼调控手速了,下调你的CPA出价,从而撸平台的羊毛。

还是以eCPM=a*CPAbid*pCTR*pCVR公式为例,本质上pCVR低估的问题,意味着平台中其实有更多适合你产品的转化用户,此时你调低了CPAbid之后,本质上是期望pCVR趋近于真实CVR之后弥补CPAbid下降带来的eCPM损失。

随着数据累积,理论上pCVR预估偏差是会逐步缩小的,所以从理论上说上面的逻辑是成立的,但挑战点在于oCPX的调节频度问题,你的调整节奏是否刚好能踩准a的调整前期,对于实际成本的感知问题,靠肉眼以及时窗分析挑战还是挺大的,pCVR偏差修正的节奏问题。

总之,问题蛮多的,一不留神可能a被调低了,然后CPAbid还自个下调了,本就不高的eCPM就更雪上加霜了,不断流才怪。除非,广告主侧也有一套严格的调整逻辑,感知实际成本的变化,预估竞争环境的变化等等,然后动态的去调整出价,最终达到节省成本的目的。

虽然目前从实操的角度看,可能性还是比较低的,但是平台与广告主在整个广告行业发展的进程中,本就是一个不断博弈的过程,包括oCPX的诞生,同样也是一个相互妥协,相互博弈之后的“作品”。

博弈无处不在,且会一直存在。那么,CPC时代已经过去,在未来,oCPX的下一站又会是哪里呢?

2913147ca152659fe89be36b15a1b998.png

1786d04184dd944f89ff544d9dd72176.png

07

计算广告的下一站在哪里

首先可以预知的是oCPX这种过渡型产品可能会存在很长一段时间。因为oCPX出现的根本原因是pCVR的偏差,如果没有偏差,那么就可以放心大胆的上CPA了。

而短时间内pCVR的预估偏差不会有质的变化,包括前面章节提到的,产品内部原因,数据积累原因等等。当然,随着一些策略比如延迟转化预估,相关相似数据的迁移建模(比如同APP的广告,同类型的广告的数据迁移),更多的数据交互(广告主回传给广告平台更多的内部行为数据,辅助pCVR预估),更为复杂且合理的深度网络建模,oCPX有些进化逻辑是可以预见的。比如跳过一阶段的数据积累,pCVR的预估偏差减小,从而成本调控更加的稳定等。

此外,在数据层面法律法规的逐步完善,对于广告领域也是一个挑战,因为广告领域是一个严重依赖于数据建模的领域。例如《个人信息保护法》的发布,要求必须经过用户的许可才允许收集允许范围内的数据,这必然导致更多的用户关闭信息上报的通道。同时,设备信息唯一id不再允许跨公司主体传递,让数据聚集更加具有挑战性了。

总之,在数据层面会会面临更大的挑战,当然也会让整个广告行业更加的健康,让用户的体验更加的友好。

深度学习的高速迭代给计算广告领域带来飞速的发展,并且,从目前的发展趋势看是无止境的。但是,可以预知的是,个性化的束缚会越来越大,从用户的视角看,随着流量内容的同质化进一步加剧,用户对于体验以及服务的要求会更高。

因此,计算广告的未来一定不是往个性化的极致方向发展,不是向广告主靠拢,也不是向平台靠拢,而是向用户靠拢,广告向内容化变化,广告与内容与服务相结合,真正的解决用户的问题,而不是单纯的充当一个流量转接的桥梁。

我们拭目以待!

夏虫评说

对于oCPX相关的内容,本系列之前一些章节多少有提到过一些,但相对零散,又或者说侧重于与其他广告阶段或者广告观点的逻辑。而我们这一篇唯一的主题就是oCPX,完整的oCPX逻辑,从形成的背景到调控的逻辑,再到控制算法,到广告主与平台的博弈,再到最终未来形态发展,是一个完整的递进逻辑。

了解oCPX,或许你看这一篇就已经够了。

对于夏虫自身来说,也是一个文字逐步趋于风格稳定的过程,希望一篇文章,能够通过逻辑关系组织,把一件事情说清楚聊彻底,目的就已经达到了。我们的下一篇完整的方向,将会是召回话题,围绕计算广告的召回,我们来一个体系化的梳理和逻辑组织。

oCPX,这似乎已经成为了广告从业者的一种信仰,投广告必言oCPX,不支持oCPX投放的DSP不是一个好平台,不会进行oCPX投放的运营不是个好投手。作为广告从业者,我们需要信仰技术,但同时也需要保持理性的眼光去看待,而理性的前提是对于其内在机制更为的了解。

如果你是一位广告行业运营,需要从中看到数据与算法技术的不足;如果你是一位广告数据算法工程师,需要看到时代的演化诉求从而加大对于技术的追求。

从计算广告广告视角观测互联网,你会发现这是一个动态的世界,广告技术的发展轨迹完全印证了互联网行业的发展逻辑。所以,对于非广告从业者来说,这是一个非常好的切入视角,理解广告的玩法,可以回顾互联网发展的历程,从而对互联网的未来有更多自己的看法,寻找到自己未来的路,形成自己的思维逻辑以及习惯。

917ddaff44adea900e1babd935b28613.png

文章都看完了,还不点个赞来个赏~

007f20f19cfe4cfc09bde0f5bd5351d2.png

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用DBN诊断模型在数据集中调价扰动的示例代码: 首先,我们需要导入所需的库和模块: ```python import numpy as np from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error from dbn.tensorflow import SupervisedDBNRegression ``` 接下来,我们需要加载数据集并对其进行标准化: ```python # 加载数据集 data = np.loadtxt('data.csv', delimiter=',') # 将数据集分为特征向量和目标向量 X = data[:, :-1] y = data[:, -1] # 数据标准化 scaler = StandardScaler() X = scaler.fit_transform(X) ``` 然后,我们可以将数据集分为训练集和测试集: ```python # 将数据集分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` 接下来,我们可以使用DBN模型进行训练和预测: ```python # 定义DBN模型并进行训练 dbn = SupervisedDBNRegression(hidden_layers_structure=[256, 128], learning_rate_rbm=0.01, learning_rate=0.01, n_epochs_rbm=10, n_iter_backprop=100, batch_size=32, activation_function='relu') dbn.fit(X_train, y_train) # 使用DBN模型进行预测 y_pred = dbn.predict(X_test) ``` 最后,我们可以计算预测结果的均方根误差(RMSE): ```python # 计算RMSE rmse = np.sqrt(mean_squared_error(y_test, y_pred)) print('RMSE:', rmse) ``` 如果我们想在数据集中添加调价扰动,可以如下所示: ```python # 添加调价扰动 X_train_adjusted = X_train * 1.05 X_test_adjusted = X_test * 1.05 # 使用DBN模型进行预测 y_pred_adjusted = dbn.predict(X_test_adjusted) # 计算RMSE rmse_adjusted = np.sqrt(mean_squared_error(y_test, y_pred_adjusted)) print('RMSE with adjustment:', rmse_adjusted) ``` 这将计算使用调价扰动后的预测结果的RMSE。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值