RTB广告技术修炼之-流量漫游
作者:互联网
1. 背景及目标
本文是Real Time Bidding技术系列文章的第一篇,旨在通过一个广告请求漫游RTB系统的各个模块,从而揭示各模块需要解决的问题、面临的挑战。
作为系列文章的第一篇,本文的目的是从整体介绍RTB系统,各模块细节会在后续文章中深入阐述。
2. RTB流量漫游
图1
一个典型的RTB系统框架如图1所示,其中涉及的主要角色包括:普通用户(User), 流量媒体平台(Supply Side Platform,SSP), 广告交易市场
(Ad Exchange,ADX), 需求方平台(Demand Side Platform,DSP), 广告主(Advertiser)。
当用户访问某个SSP时,SSP会决定是否将此流量通过ADX交易,一旦决定通过ADX交易,ADX首先会访问数据管理平台(Data Management
Platform, DMP)提取用户ID等相关信息并构造Bid Request。接着ADX会发起询价流程,将这个Bid Request发给各个DSP。DSP收到询价请求以后
,解析Bid Requrst,生成context feature, 并根据媒体信息检索相应的在投ad campaigns生成ad feature, 然后根据解析出的用户ID去DSP自建的DMP
生成user features,最终生成由(user, context, ad) 三元组组成的feature,它是后续模块工作的基础性数据。上述过程就是图1 DSP框架中的Feature
mapping模块的主要功能。
在生成了feature以后,DSP就会基于此数据做出价决策。这一过程主要由Impression Evaluation及Bid Calculation两个在线计算模块完成,而这
两个模块依赖精心设计的三个离线模块:
1.CTR/CVR Model:在给定的feature下,预估广告的转化概率
2.Budget Pacing:控制预算消耗的速率,可能会决定对于这个请求是否出价
3.Bid Policy:基于广告的转化概率及pacing,评估此次请求的价值
Bid Calculation模块计算出DSP对此次请求的最终出价,返回给ADX。
ADX将各DSP出价返回给SSP。在各DSP出价的基础上,SSP内部会通过Reserve Price(保留价)模块及Auction Mechanism模块决定是否曝光广
告、曝光哪一个广告以及如何向赢得这次竞拍的广告主计费。
3. CTR/CVR预估
广告业务中的CTR/CVR预估技术首先是在商业搜索业务中发展起来的。现在可以追溯到的最早的CTR预估相关的论文,由yahoo发表于2006年,
其研究目标就是通过对用户的搜索点击行为建模,以提高广告的CTR,进而提高商业收入。
CTR/CVR模型在在线广告技术领域是最核心的模块。一方面,在以CPX计费时,提高CTR/CVR可以直接提升商业收入;另一方面,对CTR/CVR
建模也可以提高用户体验。因此广告排序及出价都是以pCTR/pCVR为依据。
同时这一模块的设计与实现又面临诸多挑战,以下仅举若干做简要说明:
l 复杂模型的挑战:当前CTR/CVR预估技术的发展方向是利用DNN的学习能力,提炼出高阶非线性特征,提高模型的泛化能力。然而广告业务中
的数据大部分是高维离散特征,由于离散特征的数据规模通常都在亿级,直接将这种形式的数据输入到DNN会导致模型参数规模的极具膨胀。虽
然目前有一些基于embeding的技术能够缓解这一问题,但本质上还是缺乏统一的方法论。另外,诸如DNN的复杂非线性模型的收敛性是一个考验,
不同的业务(数据)有各自的特点,没有一招鲜吃遍天的模型。从基于DNN的CTR/CVR技术演进路线来看,各家模型设计的tricks都有一定的合理性,
但真正应用到业务上的有效性存在考验。最后,复杂模型的有效性严重依赖数据规模,而海量数据的处理和训练又对业务团队的工程能力提出了挑
战。
l 冷启动问题:机器学习是一门数据科学。只有在数据充足的情况下,基于机器学习方法论建立的模型才能发挥效果。然而在新广告或者新商品上
线之初,我们总会面临数据不足也即冷启动问题。yahoo和linkedin都使用了层次化的建模方式,利用层次化的信息对原始预估值进行平滑,来缓解
冷启动问题。
l 位置偏差:在广告领域有一个很常见的现象,简单来说就是同一个广告,在页面头部投放的效果会比页面底部好很多。这种现象称之为位置偏差,
在建模的时候如果不重视这一问题,之前在优质广告位投放的广告其预估点击率会严重高估,反之亦然。除了广告位位置偏差以外,类似的非定向
因素对点击率有较大影响的特征还有广告位尺寸、广告位类型(门户首页、内容页等)、创意类型等。
l 校准:由于广告的点击(转化)与曝光数据的比例常常在1%-0.1%之间,因而正例和负例样本严重不均衡。这种不均衡会使得模型预估产生系统性的
低估。对DSP来说,这一低估会导致出价率和竞得率偏低,最终导致买量能力不符预期。为了解决这一问题,需要对模型作校准。
l 工程挑战:CTR/CVR预估现在动辄百亿级的训练样本/参数规模,模型训练依赖高可用的分布式计算系统,因此诸如parameter server之类的分布式
机器学习系统应运而生。然而在面对海量数据时,这类系统的工程设计与开发依然面对严峻挑战:大规模离散特征ID化无论从机器资源还是时间维度
看都是难以为继的;分布式系统规模越大,在存储、通信、数据同步、容错方面的挑战也越大。为了捕捉用户的实时行为,需要计算和存储动态特征,
同时需要实时更新模型,这对系统的实时计算能力提出了很高的要求。
4. Bid Policy
Bid Policy(出价策略),简而言之就是对于一个给定的ad request,如何计算bid。效果广告的广告主一般来说希望在一个目标成本下,能够最大化消耗(最
大化转化量级)。Bid Policy直接影响了这个KPI的达成,一方面,bid在很大程度上决定了广告是否能曝光(转化量级),另一方面,它决定了流量采买成本,
影响ROI。
广告主的目标可以简要形式化为:
其中bid是出价,rCPA是真实成本,eCPA是预期成本。
Bid Policy面临的主要挑战有:
市场价估计:由于广告主对量级有要求,所以很多出价策略会预估市场价。RTB是一个非完全信息环境下的博弈问题。市场价预估的挑战来源于竞争DSP
的数量、数据、模型、 策略、预算都是未知的,这使得市场价会随着时间、环境的变化剧烈波动,直接预估面临诸多不确定性。
Bid Landscape: 广告主在成本和效果之间的权衡,是出价策略的重要组成部分。Bid Landscape的目标是为广告主提供一个出价和效果之间的分布概览,
一方面,通过该分布概览,提高广告主的权衡效率;另一方面,Bid Landscape可以为oCPX之类的自动优化出价策略提供依据。相对市场价预估,Bid Lan
-dscape由于需要预估出价和可竞得量级的关系,所以问题更加复杂。
Sample Selection Bias:特定DSP不可能竞得媒体的所有流量,所以它只能用一个子空间的数据训练模型,而预估阶段却是对该媒体的全部流量做预估,
这就会导致过拟合。
由于各DSP的数据、特征,模型,出价策略可能存在很大差别,因而市场价分布很可能是非线性的,这就对DSP的出价策略设计提出了很大挑战;
5. Budget Pacing
Budget Pacing(预算平滑)主要是为了满足广告主需求而提出的。一方面广告主通常希望预算消耗更平滑;另一方面在预算一定的情况下,通过将广告投放时
间拉长,可以让广告持续产生影响,使得广告触达更多样化的人群。举个简单的例子,年轻人一般白天工作繁忙,上网时间很有限,晚上22点以后才是上网高峰。
如果某款针对年轻用户的广告10点上线,在没有平滑机制的情况下,可能20点就消耗完,那么此广告就无法充分触达主要目标用户。
从目标维度来看,预算平滑可以分为traffic based和kpi based;前一种方式主要是控制投放计划竞拍的次数,后一种目标是让投放计划触达性价比更高流量。
从实现方式来看可以分为:probabilistic throttling及bid modification。前一种方式基于一个指标,比如pCTR/pCVR,来决定是否参与竞价;后一种方式是通过
控制bid大小来控制pacing。由于一方面,前一种方式能够将budget pacing从bid optimization任务中解耦出来独立优化,另一方面,后面一种实现方式依赖于对竞
价胜率的预估,而竞价胜率曲线通常是不平滑的,预估难度比较大,因此大多数pacing方案选择probabilistic throttling。
Budget pacing的挑战在于,在预算平滑的过程中如何最大化投放效果,即在市场环境存在剧烈波动的情况下,预算如何合理的分配给每个时间片甚至每个ad
request, 以最大化广告主的收益。
6. oCPX
广告主除了通过DSP投放广告以外,还有一种渠道是直接在媒体端投放广告。投放环节计算需要广告主设置org_price即转化成本,然后媒体端会基于此价格出
价。假设广告以CPC计费,一般的出价计算方式为:
bid price = org_price * pCTR
其中org_price是广告主能够接受的最大转化成本,由广告主设置。pCTR是模型的预估CTR。
在org_price固定的情况下,pCTR通常是度量流量质量的唯一要素,这种出价方式没有考虑广告主的成本即org_price。对广告主来说,除了实际转化量的需求,
还有转化成本的约束,理想的情况是能够买到性价比较高的流量。另外,如何设置一个合理的org_price,也是广告主需要解决的问题,运营人员一般会根据经验先
设置一个贴底价,然后根据投放情况逐步向上调,但是这种尝试是耗时耗力的低效工作。
oCPX是一种为广告主服务的、自动化的出价策略。它发源于facebook的社交展示广告平台。目前是SSP端比较常见的策略,可以认为是一种有利于广告生态
建设的技术。
既然广告主设计底价有一定的难度,那么以媒体端的数据及技术积累,完全有能力为广告主优化这一流程,用自动优化算法代广告主出价。oCPC机制下的出价
计算方式为:
bid_price = f(pCTR, pCVR, org_price)
其中org_price、pCTR含义同上,pCVR是模型的预估CVR。
oCPC出价方式的主要特点是,可以根据流量的价值动态调整org_price, 也就是能够做到:高质流量出高价,低质流量出低价。这为广告主提供了更强的挑量能力
,从平台的角度来看,流量的分配效率就越高,填充率会有相应提升,进而eCPM会得到提升。由于广告主的挑量更准,所以对用户展示的广告也会更符合用户的兴趣
,用户体验也会存在相应的提升。
但广告毕竟是广告主、流量平台及用户三方博弈的产物,在oCPX机制下,如何平衡广告主及流量平台的收益是一个挑战。
7. Auction Mechanism
在线媒体通常广告位是有限的,比如搜索广告页面一般只有三块广告位,分别位于页面北区(上部)、东区(右部)及南区(下部),还有诸如信息流之类的广告,一般是
在数条内容中间插入广告。所以一个广告位的展示机会通常会有多个广告主竞争。既然有竞争,那么媒体平台可以通过拍卖的方式售卖流量,从而让媒体平台获取更高
的收益。
说到拍卖,人们往往会认为是出价最高者得到被拍卖商品,并向竞得者收取与其出价相当的费用。这其实是所谓的第一价格密封拍卖。这一拍卖机制不稳定,DSP
可能频繁试探市场价格,进而导致交易剧烈波动,SSP收益受损。
那么是否存在一种竞价机制,能够使得广告主按照每个流量的真实价值出价(truth-telling),这样既能保证自身的收益,也能保障平台的收益。事实上这一竞价机制是
存在的,也就是广义第二高价(GSP)。在GSP机制下,出价最高的广告主仍然赢得这次展示机会,但是只需支付等值于出价第二高的广告主出价的费用。这一机制下广告
主就没有动力调低出价去降低成本了,整个竞价环境于是达到了一种称之为“纳什均衡”的稳定状态。即每个广告主都通过出价得到了最符合自己利益的位置,整个系统也
就随之稳定下来
GSP是最常见的定价策略,也是单位置拍卖时的最优定价策略,但它并不是多位置拍卖时的最优定价策略,但由于其定价逻辑简洁、效果也不错,因而应用广泛;还
有一种VCG(Vickrey-Clarke-Groves)定价策略,可以认为GSP是VCG策略在单位置上的特例。VCG策略的基本思想是:对于赢得了某个位置的广告主,其所付出的成本应
该等于他占据这个位置给其他市场参与者带来价值的损失。
拍卖机制是博弈论的研究范畴,更多研究成本可以参考附录文献。
8. Reserve Price
在RTB环境中,SSP在特定广告位的收益是和各DSP对其竞争的激烈程度正相关的,竞争越激烈,在该广告位上SSP收益越高。但由于广告位置及投放时间点的影响
,某些冷门广告位,比如页面底部广告位,可能无法得到广告主的充分竞争,导致以很低的价格成交,这样SSP的收益就会受损。为了解决这一问题,SSP制定了成交底价
,也叫市场保留价(market reserve price),并规定只有DSP出价高于底价才有参与竞价的机会。
底价并不是设置越高越好。如果底价设置太高,可能导致填充率下降,同样影响收益。
比如有dsp1出价b1, dsp2出价b2, 底价为r,如果c>b1>b2,则dsp1,dsp2由于出价低于底价,导致无法参与竞价,该曝光可能无广告展示,SSP收益受损,这是最糟糕
的情况; 如果b1<c<b2,则SSP可以赚取的额外收益为c-b2,这是最优情况; 如果c<b1<b2, 则SSP收益为b1,这是一般情况。虽然从单次竞拍来看,此时并未产生额外收益
,但由于保留价的存在,各DSP的出价分布可能会被抬高.
理想的底价设计策略是预估广告位的市场价分布。由于各DSP的出价和其私有的用户数据、投放预算及投放计划有关,因而这个广告位的市场价格分布呈高度非线性,
难以准确预估。不过相对于从DSP端预估市场价,SSP在这个问题上有一个数据上的优势。由于各DSP最后的报价会汇总到SSP,因此SSP可以根据这一数据来预估市场价
分布,因而相对DSP来说,可以得到一个更靠谱的结果。
9. 转化归因
在互联网广告领域,广告主为了利用好广告预算,需要优化广告投放的各个环节,找到更有效的广告投放链路。因此他们需要对广告转化做归因分析。目前常见的归因
模型是”Last Touch Attribution(LTA)”, 也就是广告主将转化归因为“最终点击/下载…”的链路/渠道,这一归因模型的优点是简单易行、容易理解。但这一模型忽视了广告投放过
程中的持续影响,也就是说,转化很可能是广告投放持续影响叠加的结果,所以不应该将贡献全部归功于最后一次曝光。
相对于”Last Touch”,更合理的归因模型是如图3所示的”Multi-Touch Attribution(MTA)”, 他将转化按照一定的比例分配给转化链路上的各关键节点,这样可以更全面的
考察广告转化过程。但MTA归因模型较为复杂,实施起来有一定的难度,这是其应用较少的原因。
“Last Touch Attribution”和”Multi-Touch Attribution”各有优缺点,但一个良好的归因模型可以通过于三个要素来评估:
公平性:一个良好的归因模型应该能根据各路径节点上转化的可能性作出相应的归因。
数据驱动:良好的归因模型应该基于历史广告计划数据,推断出归因结果。
可解释性:良好的归因模型不论是从统计指标还是从业务直觉上来看输出的结果都应该是可理解并被接受的。
10. 反作弊
互联网广告业务是一个涉及上千亿美元的市场,每年都会有大量资金因为广告作弊而消耗。据统计,2015年全美有46亿美元的开销花费在无效流量上,而当年全美的
广告支出为596亿美元。因此广告技术从业人员应该对这个领域有基本认识,对于常见作弊手段能迅速辨别并及时防范。
互联网广告涉及媒体、广告主及用户三方博弈,一般来说有作弊动机的主要是媒体、广告主的竞争对手。媒体作为流量的卖家,通过伪造的展示、点击就可以攫取大量
收益,其作弊动机最强。另外,广告主的竞争对手也可以通过技术手段消耗该广告主的预算,降低其广告效果,从而达到非正常竞争的目的。
广告的计费方式主要是CPM、CPC、CPA/CPS这三种方式,所以作弊策略都是围绕如何伪造上述行为展开。
反作弊本质上是一种计算机安全领域的对抗技术,由于作弊者的手法繁多、技术更新很快,因而相应的反作弊方案也需要推陈出新。
标签:出价,RTB,SSP,DSP,修炼,广告,漫游,广告主,预估 来源: https://www.cnblogs.com/RTBTech/p/10936126.html