计算广告是一个很大的话题,包含了多方参与,市场上的定位于机会也很多。
更新历史
- 2020.02.18:重新上线
- 2019.05.03:完成核心章节阅读
- 2019.03.20:完成读后感
- 2019.03.17:完成基本的框架阅读,后续根据项目深入阅读
- 2019.03.12:开始阅读
读后感
计算广告是一个很大的话题,包含了多方参与,市场上的定位于机会也很多。不过考虑到我现在在微众,是广告主的角色,主要的工作是 DSP 相关的部分。DSP 需要具备点击率预测、点击价值估计、流量预测、站外推荐等多方面的运算能力,现在的流程只有点击率预测,所以后序还是有很多工作可以做的。
另外数据将是未来最重要的财富,相信内部自建数据管理平台 DMP 也很快会提上议程(或者已经有人在做了)。
总体来说,这个行业作为互联网唯一的变现出口,数据量大,非常值得深入学习,提升自己的核心竞争力。
阅读笔记
计算广告是一项新兴的研究课题,它涉及大规模搜索和文本分析、信息获取、统计模型、机器学习、分类、优化以及微观经济学等诸多领域的知识。
前言
正面的免费服务是为了获得流量和数据,而背面的广告业务则是将这些流量和数据变成金钱,这就是互联网最关键的思维模式之一。
在能够获得充分的流量或高价值数据后,我们认为,所有能够传播信息的商品,起售价都会趋向其边际成本。这样的观点对许多传统行业商业模式的影响是深远的,也是我们认为大家应该在互联网时代深入了解广告、了解变现产品的原因。几个具体的例子:
- 商业模式探索。例如,电影是一种边际成本很低,同时信息传播量又很大的典型商品。那么现在电影的票价为什么这么高?能否探索一种售价很低,而充分利用其信息传播能力的电影行业发行模式,获得更高的经济效益和社会效益?
- 流量变现。例如,互联网电视厂商除了硬件销售的回报以外,还可以获得一部分用户流量。这些流量的性质和价值如何,应该以什么方式变现?
- 数据变现。例如,室内导航技术是近年来快速发展的新型互联网应用。如果以用户免费的方式运营室内导航产品,会得到什么有价值的数据资产,从而支撑相应的后向变现,又应该采用哪种具体的商业产品来支撑
- 商业产品建设和运营。例如,团购、游戏联运、返利购买、积分墙这些推广模式与一般的展示或搜索广告有什么内在联系?
对于在校学生或者刚刚接触此领域的朋友来说,最主要的理解障碍不在于算法和技术本身,而在于广告的商业逻辑和产品目标。
广告业务的收益只能来自于三个方面:数据、流量和品牌属性。其中后两点是媒体的专属,而大量的广告平台在做的事情,主要就是数据的加工与利用。
第一部分 在线广告市场与背景
第 1 章 在线广告综述
在线广告在其短短十几年的发展过程中,已经形成了以人群为投放目标、以产品为导向的技术型投放模式。
大数据这一方法论在实践中唯一形成规模化营收的落地行业就是在线广告。对大数据感兴趣的读者认真研究在线广告发展过程中遇到的技术挑战和产品问题,会对探索其他的大数据应用有莫大的帮助。
广告不完全等同于搜索或推荐,它首先是一项商业活动,然后才是一项在互联网环境下需要技术优化的商业活动;其次,在这一商业活动中,广告主、媒体和用户的利益都需要被认真考虑和满足,这样才能达到整个市场的平衡和不断发展。在商业逻辑的框架下思考和探索计算广告技术对理解本书中提到的产品、架构和算法非常关键。
1.1 大数据与广告的关系
如果有的数据处理问题无法通过数据采样的方式来降低处理的复杂程度,就必须利用一些专门为海量数据处理而设计的计算和存储技术(如 MapReduce、NoSQL 数据库等)来实现。这样的问题也从工程上归为大数据问题。
从工程方便的角度来看,如果通过数据采样能够显著降低数据处理的复杂程度,同时解决问题的效果(即目标函数)没有太大的下降,那么显然应该这样做。
另外有一些数据问题基本上不可能通过只处理一小部分数据来达到处理全量数据所能达到的效果,或者说随着数据采样率的降低,解决问题的收益快速下降,这类问题是典型的大数据问题。个性化推荐(personalized recommendataion)和计算广告(computational advertising)需要用到每一个人的行为定制化推送,而无法只采样其中的一部分人来处理,因此可以认为是典型的大数据问题。
在以往相当长的一段时期里,我们认为唯一得到充分商业化和规模化的大数据应用就是计算广告,为各行各业的大数据的落地提供了非常有价值的借鉴范本,下面几点尤其值得了解和关注:
- 计算广告为规模化地将用户行为数据转化为可衡量的商业价值提供了完整产品线和解决方案,并且实际上创造了互联网行业大部分的营收。
- 在线广告孕育和孵化了较为成熟的数据加工和交易产业链,并对其中的用户隐私边界有深入探讨,这值得所有涉及用户数据的互联网应用学习和借鉴。
- 由于有了商业上的限制条件,计算广告的技术和产品逻辑比单纯的个性化系统更加复杂周密。因此,理解在线广告的产品和市场对于设计正确有效的商业产品大有益处。
1.2 广告的定义与目的
广告是由已确定的出资人通过各种媒介进行的有关产品(商品、服务和观点)的,通常是有偿的、有组织的、综合的、劝服性的非人员的信息传播活动。
在数字广告这样更加复杂的市场结构中,我们可以用一般性的属于来描述它们:需求方(demand)和供给方(supply)。这里的需求方可以是广告主(advertiser)、代表广告主利益的代理商(agency)或其他技术形态的采买方;这里的供给方可以是媒体,也可以是其他技术形态的变现平台。另外,广告还有一个被动的参与方,即受众(audience)。
出资人、媒体和受众这三者的利益博弈关系是广告活动永远的主线,这一主线将贯穿于商业和产品形态的整个演化过程。
在传统媒体时代,供给方与需求方在市场地位上有相当的距离,不论你运营的是电视台、机场或杂志,都与大多数广告主需要的转化行为之间有相当大的差距。因此,这一阶段广告的目的是希望借助媒体的力量来快速接触大量用户,以达到宣传品牌形象、提升中长期购买率与利润空间的目的。这种目的的广告称为品牌广告(brand awareness)。当然,也有许多广告商希望能利用广告手段马上带来大量的购买或其他转化行为,这种目的的广告称为直接效果广告(direct response),有时也简称为效果广告
广告的根本目的是广告主通过媒体达到低成本的用户接触。要确定是否真的成本较低,需要用到投入产出比(Return On Investment, ROI)这一评价指标,即某次广告活动的总产出与总投入的比例。
对于互联网广告,一切付费的信息、产品或服务的传播渠道,都是广告。
1.3 在线广告创意类型
- 横幅广告(banner ad)
- 文字链广告(textual ad)
- 富媒体广告(rich media ad)
- 视频广告(video ad)
- 社交广告(social ad)
- 移动广告(mobile ad)
- 邮件定向营销广告(E-mail Direct Marketing, EDM)
1.4 在线广告简史
最早是把网站的 HTML 页面当成杂志的版面,在里面插入广告位,这是供给方。需求方是线下的广告代理公司,把这些网站当成一本本的杂志,按照杂志的思路和逻辑进行采买。这种在互联网上展示广告创意的产品形式称为展示广告(display advertising),也叫显示广告。这一阶段的展示广告售卖模式称为合约广告(agreement-based advertising),即采用合同约定的方式确定某一广告位在某一段时间段为某特定的广告主所独占,并根据双方的要求,确定广告创意和投放策略。
互联网广告运营者们经过探索,很快就发现了在线广告不同于传统媒体广告的本质特点:我们可以对不同的受众呈现不同的广告创意!这是在线广告的效果和市场规模不断发展得核心驱动力。媒体找到一条能使广告位报价继续提高的思路 - 定向广告(targeted advertising)。这样的广告系统对计算技术产生了两个具体需求:一是受众定向(audience targeting),即通过技术手段标定某个用户的性别、年龄或其它标签;二是广告投放(ad serving),即将广告投送由直接嵌入页面变为实时响应前端请求,并根据用户标签自动决策和返回合适的广告创意。
媒体向广告主保证某个投放量,并在此基础上确定合同的总金额以及投放量未完成情况下的赔偿方案。这种担保式投送(Guaranteed Delivery, GD)的交易方式逐渐成为互联网合约式广告的主要商业模式。一般来说,这样的合约仍然主要面向品牌广告主,并且遵循按千次展示付费(Cost per Mille, CPM)的计费方式。
合约广告系统中有一个重要的计算问题,即在满足各合约目标受众量要求的同时尽可能为所有广告商分配到质更好的流量。这一问题有两个难点:一是如何有效地将流量分配到各个合约互相交叉的人群覆盖上;二是要在在线的环境下实时地完成每一次展示决策。这个问题称为在线分配(online allocation)。
受众定向产生以后,市场向着精细化运作的方向快速发展。这一发展主要有两方面的趋势:一是定向标签变得越来越精准;二是广告主的数量不断膨胀。那么,有没有可能抛弃量的保证而采用最唯利是图的策略来进行广告决策?这样的思路催生了计算广告历史上革命性的产品模式 —— 竞价广告(auction-based advertising)。在这种模式下,供给方只向广告主保证质即单位流量的成本,但不再以合约的方式给出量的保证,换言之,对每一次展示都基本按照收益最高的原则来决策。
与直觉不同的是,在如何收取广告主费用这一点上,我们并非按照微观上最优的方案实施就可以达到整个市场最大的收益。关于定价机制的深入研究,产生了广义第二高价(Generalized Second Price, GSP)这一竞价重要理论。
基于竞价机制和精准人群定向这两个核心功能,在线广告分化出了广告网络(ad Network, ADN)这种新的市场形态。它批量地运营媒体的广告位资源,按照人群或上下文标签售卖给需求方,并用竞价的方式决定流量分配。广告网络的结算以按点击付费(Cost per Click, CPC)的方式为主,这一点有数据和业务方面多层次的原因。我们不太能够指望这种方式的千次展示收益(Revenue per Mille, RPM)可以达到合约式品牌广告的书评,但它使得大量中小互联网媒体有了切实可行的变现手段:这些媒体有一定的流量,但还不值得建立自己的销售团队面向品牌广告商售卖,直接把自己的广告库存(inventory)托管给 ADN,借助 ADN 的销售和代理团队为自己的流量变现。
ADN 只通过出价接口提供价格约定,所以会由需求方的某种产品来完成量的保证。当 ADN 产生以后,代理公司要对广告采买方式作出调整,因为如下几点显著变化:一是更多地面向受众而非媒体或广告位进行采买,二是需求方的代理需要采用技术的手段保证广告主量的要求,并在此基础上帮助广告主优化效果。
由于只能在 ADN 定义好的定向标签组合上预先指定出价,而不能控制每一次展示的出价,因此,市场看起来像一个黑盒子,需求方只能靠选择合适的标签组合以及阶段性调整出价来间接控制效果。这种面向多个 ADN 或媒体按人权一站式采买广告并优化投入产出比的需求方产品,我们称为交易终端(Trading Desk, TD)。
在 ADN 中,核心的竞价逻辑是封闭的,这不能满足需求方越来越明确的利益要求。定制化需求催生了一种开放的竞价逻辑,让需求方按自己的人群定义来挑选流量,这就是实时竞价(Real Time Bidding, RTB)。它是将拍卖的过程由广告主预先出价,变成每次展示时实时出价。只要把广告展示的上下文页面 URL 以及访客的用户标识等信息传给需求方,它就有充分的信息来完成定制化的人群选择和出价。于是市场上产生了大量聚合各媒体的剩余流量并采用实时竞价方式为他们变现的产品形态 —— 广告交易平台(ad Exchange, ADX)。
通过实时竞价的方式,按照定制化的人群标签购买广告,这样的产品就是需求方平台(Demand Side Platform, DSP)。由于实时竞价主要采用按展示次数计费的方式,DSP 需要尽可能准确地估计每一次展示带来的期望价值。基于 DSP 的广告采买非常类似于股票市场上的程序交易,我们把这样的广告采买方式也叫做程序化交易(programmatic trade)。除了 RTB 以外,还有其他几种程序购买的交易方式,如优选(preferred deals)以及私有交易市场(Private Market Place, PMP)等。可以预见,在线广告中程序化交易的作用和地位将会不断加强,这是由数字广告的本质特点以及广告主利益最大化的趋势所决定的。
总结一下,在在线广告发展的历史上,定向技术和交易形式的进化史一条主线。从最初的固定位置合约交易发展到进行受众定向、按展示量结算的合约交易,再到竞价交易方式,并最终发展成开放的实时竞价交易市场。这条主线的核心驱动力是让越来越多的数据源为广告决策提供支持,从而提升广告效果。除了这条交易形态的主线,互联网广告产品还有另外一条发展线路,即产品展现逻辑的发展:在展示广告的最初阶段,广告位作为与内容相对独立的单元来决策和运营,并且完全以优化收入为目标;但同时,人们从搜索广告和社交网络信息流广告中得到启发 —— 将内容与广告对立起来未必是一个号的选择。将内容与广告以某种方式统一决策或排序的广告产品 —— 原生广告(Native AD)在近年来得到了工业界越来越多的关注。如何将原生的决策方式与前面介绍的广告市场已经非常成熟的规模化交易逻辑相结合是目前互联网广告产品发展的热点。
1.5 泛广告商业产品
- 团购。
- 游戏联运
- 固定位导航
- 返利购买
当一个公司同时运营普通广告和上述一种或多种泛广告产品时,它们之间甚至是和用户产品之间,没经常会出现争夺广告位或其他入口资源的问题。面对这样的问题,最合理的分配方式是通过它们之间的竞价来决策,这是非常重要的内部流量货币化的运营理念。
第 2 章 计算广告基础
在线广告中计算到底是为了解决什么问题,以及解决这些问题需要什么样的业务描述框架,是本章的重点内容。
总的来说,可衡量的效果以及相应的计算优化是在线广告区别于线下广告的主要特点。
在大多数广告产品中,可以通过计算优化的主要是收入部分。而千次展示期望收入(expected Cost Per Mille, eCPM)正是计算广告中最为核心的量化指标之一。与广告的信息传达过程相关,eCPM 又可以分解为点击率和点击价值的乘积,这两个指标是各种广告产品在计算过程中经常碰到的,也是产品运营需要深入理解和重点关注的。
2.1 广告有效性原理
广告效果产生过程的三个阶段:
- 选择(selection):包括曝光(exposure)与关注(attention)
- 曝光:指广告物理上展现出来的过程,有效程度与广告位的物理属性有关,没有太多技术优化空间。技术问题:如何从算法上消除因为位置不同带来的点击率预估偏差
- 关注:受众从物理上接触到广告到意识上注意到它的过程。重要原则:不要打断用户的任务;明确传达向用户推送此广告的原因。
- 解释(interpretation):包括理解(comprehension)与接受(acceptence)
- 理解:广告内容要在用户能理解的具体兴趣范围内,精准受众定向;注意设定与关注程度相匹配的理解门槛。
- 接受:广告的上下文环境对于广告的接受程度有着很大的影响。在定向广告越来越普遍的今天,如何让合适的广告出现在合适的媒体上,就是广告安全(ad safety)的问题。
- 态度(attitude):包括保持(retention)与决策(decision)
- 保持:广告传达的信息给用户留下长久的记忆
- 决策:成功的广告最终是带来用户的转化行为。
2.2 互联网广告的技术特点
- 技术和计算导向。精细的受众定向,独特的竞价交易方式。
- 效果的可衡量性。在一个特定的时期不同广告和算法表现出来的差异才是更有意义的。
- 创意和投放方式的标准化。
- 媒体概念的多样化。
- 数据驱动的投放决策。互联网化的根本驱动力可以认为是数据的深入加工和利用。广泛收集用户的行为数据和广告反馈数据,利用云计算的基础设施对用户打上合适的标签,同样根据数据在多个广告竞争同义词展示时作出决策,再将投放的结果统计数据反馈给广告操作人员以调整投放策略,这已经成为在线广告的基本投放逻辑。
2.3 计算广告的核心问题
计算广告的核心问题,是为一系列用户与环境的组合找到最合适的广告投放策略以优化整体广告活动的利润。
广告收入的分解:
- 点击率(Click Through Rate, CTR):广告点击与广告展现的比率
- 到达率:落地页(landing page)成功打开次数与点击次数的比例。注:点击行为成功以后,将会打开广告主的落地页
- 转化率(Conversion Rate, CVR):转化次数与到达次数的比例。注:用户从落地页开始,进一步完成下单等操作,称为转化
按照媒体网站和广告主网站上的行为段对回报 r
进行分解,是实践中比较合理且容易操作的方式:eCPM = r(a,u,c) = μ(a,u,c)·v(a,u,c)
。其中 μ
表示点击率,v
表示点击价值(click value),即单次点击为广告产品带来的收益。a
, u
, c
分别代表广告、用户与环境。
eCPM 这个指标是计算广告中最常被提及,也是最关键的定量评估收益的指标。
在对多个检索候选进行排序时,是根据 eCPM 还是 CTR 排序也是区别广告产品和用户产品的重要策略特征。eCPM 一般指的是估计的千次展示收益,它有两个很相近的概念:如果讨论的是千次展示收入,往往用 RPM;如果讨论的是千次展示成本,往往用 CPM。这三个术语有时在实用中的区别并不明显。
由于广告市场的协作关系复杂,并非每个广告产品都可以对 eCPM 中的两个步骤做出较准确的估计。根据 eCPM 的分解决定哪部分由谁来估计是广告市场各种计费模式产生的根本原因,也是广告市场中商业逻辑与产品架构衔接的关键一环。
在线广告结算方式比较
结算方式 | 点击率估计 | 点击价值估计 | 优缺点 | 适用场景 |
---|---|---|---|---|
CPT | 需求方 | 需求方 | 可以充分发挥橱窗效应,但无法利用受众定向技术 | 高曝光的品牌广告 |
CPM | 需求方 | 需求方 | 可以利用受众定向选择目标人群。合约售卖下,受众划分不能过细 | 有受众需求的品牌广告,实时竞价广告交易 |
CPC | 供给方 | 需求方 | 可以非常精细地划分受众人群,比较合理的供给方与需求方分工 | 竞价广告网络 |
CPS/CPA/ROI | 供给方 | 供给方 | 需求方无任何风险,供给方运营难度较大 | 效果类广告联盟,效果类 DSP |
结算方式说明
- CPM 结算:按照千次展示结算。供给方与需求方约定好千次展示的计费标准,至于这些展示是否能够带来相应的收益,由需求方来估计和控制其中的风险。
- CPC 结算:按点击结算。在效果类广告市场中具有接近垄断的地位。
- CPS(cost per sale)/CPA(cost per action)/ROI 结算:按照销售订单数、转化行为数或投入产出比来结算。存在广告主故意扣单以降低转化率,从而低成本赚取大量品牌曝光的可能。
- CPT(cost per time)结算:将某个广告位以独占方式交给某广告主,并按独占的时间段收取费用的方式。
既然广告有计费的需求,也就同时产生了效果监测的需求。在 CPM 类品牌广告中,由于曝光在媒体上产生,广告主往往会委托第三方的广告监测公司对曝光量、点击量等指标作技术核实,并以此作为结算的依据。
2.4 在线广告相关行业协会
由于供给方和需求方的博弈关系,需要一些行业协会来约束和规范市场。关注这些行业的协会的立场与使命对更清晰地认识广告的商业逻辑大有帮助。
- 交互广告局(Interactive Advertising Bureau, IAB)
- 横幅广告创意尺寸标准。
- 视频广告标准 VAST
- 通用实时竞价接口标准 OpenRTB
- 美国广告代理协会(American Association of Advertising Agencies, 4A)
- 美国国家广告商协会(Association of National Advertisers, ANA)
第二部分 在线广告产品逻辑
第 3 章 在线广告产品概览
对于每一种广告的产品形态来说,都可能会有三个主要的组成部分啊;面向需求方的接口、面向供给方的接口、中间的投放系统及匹配策略。根据产品的不同,其中接口的形式可以是面向人工操作的界面,也可以是机器间通信的接口。
3.1 商业产品的设计原则
商业产品指的是面向商业客户而非一般用户的产品,其中最典型的代表就是互联网广告产品,比如客户关系管理(Customer Relation Management, CRM)、网站分析(Web Analytics, WA)以及数据管理平台(Data Management Platform, DMP)等等。商业产品的设计和运营有着一定的共性原则。
商业产品一般都有一个明确的商业目标,而商业产品的使用者选用一款产品的动力也是为了优化这个商业目标。商业产品的任何一项功能改进,只要能带来其对应商业目标的提升机会,即使在使用流程上引入一些不便,也是可以接受的。
关键点:
- 相对于产品功能,要特别关注产品中的策略部分。
- 要特别关注数据,让运营和产品优化形成闭环。
- 在所有与使用者打交道的产品界面上,用户产品追求便捷性的设计原则依然非常重要。
3.2 需求方层级组织与接口
一般来说,需求方提供的广告是分层次管理的。在市场上大多数的产品中,广告的层次分为广告主、广告(推广)计划(campaing)、广告(推广)组(ad group)、广告创意(creative)等几个层级。
- 广告计划概念上对应于广告主的一次投放合同,其中包括了预算、时间范围等基本信息
- 广告组对应于一个具体的广告投放策略,主要是设定受众定向条件和出价。广告组最重要的功能是设置各种各样的定向条件,因而是广告效果优化的关键层级。
- 广告创意则是最终展示出来的素材,可能在同一个组策略下有不同尺寸的创意存在。
3.3 供给方管理接口
在目前的主流的广告交易逻辑中,供给方即媒体对业务的控制比起需求方来要弱很多。供给端的资源组织主要分媒体和广告位两个层次。其中媒体可以是网站,也可以是移动应用的开发者。
第 4 章 合约广告
合约式广告的重点是按 CPM 计费的展示量合约广告,售卖的对象已经由“广告位”进化到了“广告位+人群”。从供给方产品和技术的复杂程度来看,CPM 合约甚至比以后的竞价系统更加复杂,其复杂性主要来源于多个合约对投放系统提出的量的约束。
在展示量合约广告中,需求方(广告主)的产品技术并没有太大发展。这是因为所有广告投放的执行要求都以合约的形式交由供给方(媒体)来完成了,需求方并没有技术上优化的空间。而正是由于需求方对深入优化效果的需求进一步发展,才产生了按照竞价方式来售卖的广告系统。
4.1 广告位合约
广告位合约是最早产生的在线广告售卖方式。随着受众定向技术的发展,广告位独占式售卖的执行方式也发生了很大的变化。广告位合约还有一种变形的形式,即按照广告位的轮播售卖。在 CPT 售卖的情形下,供给方和需求方的计算需求和技术成分都不太高。
4.2 受众定向
在考察某种定向方法时,主要有两个方面的性能需要关注:一是定向效果,即符合该定向方式的流量上高出平均 eCPM 的水平;二是定向的规模,即这部分流量占整体广告库存流量的比例。效果好、覆盖率又搞的定向方法是追求的目标,不过往往难以两全。
受众定向的典型方法:
- 地域定向(geo-trageting)。最基础,也是必备的定向。
- 人口属性定向(demographical targeting)。主要标签包括年龄、性别、教育程度、收入水平等。在按 CPM 结算的广告中,人口属性更容易被广告主接受。
- 频道定向(channel targeting)。完全按照供应方的内容分类体系将库存按照频道划分,比较适用于那些离转化需求比较近的垂直类媒体。
- 上下文定向(contextual targeting)。覆盖率高,ADN 中首选的定向方法之一。
- 行为定向(behavioral targeting)。根据用户的历史访问行为了解用户兴趣,从而投送相关广告。提供了一种一般性思路,使得在互联网上收集到的用户行为数据可以产生变现的价值。因此,行为定向的框架、算法和评价指标也就奠定了在线广告数据驱动的本质特征,并催生了相关的数据加工和交易的衍生业务。
- 精确位置定向(hyper-local targeting)。给区域性非常强的小广告主(如餐饮、美容等)提供。
- 重定向(retargeting)。对某个广告主过去一段时间的访客投放广告以提升效果。被公认为精准程度最高、效果最突出的定向方式,不过其人群覆盖量往往较小。
- 新客推荐定向(look-alike targeting)。根据广告主提供的种子访客信息,结合广告平台更丰富的数据,为广告主找到行为上相似的潜在客户。
- 团购(group-purchase)。一种变相的广告形式。
标签体系是产品策划中特别关键的一环,一般来说有两种组织方式:
- 按照某个分类法(taxonomy)指定一个层次标签体系,其中上层标签是下一层的父节点,在人群覆盖上是包含关系。这一体系中的标签是根据需求方的逻辑而制定的。
- 根据广告主的具体需求设置相应的标签,所有的标签并不能为同一个分类体系中所描述,也不存在明确的父子关系。主要适用于多种目标,特别是效果目标并存的广告主的精准流量选择要求。
那么如何选择呢:
- 当标签作为广告投放的直接标的时(包括 CPM 广告及竞价广告中直接可被广告主选择的人群),这些标签既要能够为广告主所理解,又要方便广告主的选择。一般来说结构化的层级标签体系往往是较合理的产品方案。特别是 CPM 广告中,标签的划分不能过细。
- 当标签仅仅是投放系统需要的中间变量,作为 CTR 预测或者其他模块的变量输入时,那么结构化的标签体系其实是没有必要的,应该完全按照效果驱动的方式来规划或者挖掘标签,而各个标签之间也不太需要层次关系的约束。
4.3 展示量合约
展示量合约索然以人群为显式标的进行售卖,但注意:展示量合约并没有摆脱广告位这一标的物。实践中的展示量合约往往是以一些曝光率很大的广告位为基础,再切分人群售卖,最典型的例子是视频网站的贴片位置或者门户网站首页的广告位。
这种模式的出现实际上已经反映了互联网广告计算驱动的本质:分析得到用户和上下文的属性,并由服务端根据这些属性及广告库情况动态决定广告候选。所需要的技术有:受众定向、流量预测和担保式投放等。
流量预测(traffic forecasting)在广告产品中包括以下三个主要用途:
- 售前指导。需要尽量避免流量的低估或高估
- 在线流量分配。当一次曝光同时满足两个以上合约要求时,怎样决策将它分配给哪个合约以达到整体满足所有合约的目的。
- 出价指导。由于在竞价广告中没有了量的保证,广告主往往需要根据自己预计的出价先了解一下可能获得多少流量。
流量塑型(traffic shaping)指的是主动影响流量以利于合约达成,比如在车展期间更多给汽车频道导流。从商业产品的要求来看,要系统化、高效率地达到流量塑型的目标,需要用户产品与广告产品的需求打通,然后按照一定的准则,在不伤害用户体验的情形下,尽可能提高商业变现的效率。
在线分配:各个合约要求的人群可能大量重叠,如何设计分配策略,使得各个合约都尽可能被满足,可以被简化成一个二部图(bipartite graph)匹配的问题。我们需要在每一次曝光时实时做出分配决策。在线分配需要根据历史数据和某种策略离线得到一个分配方案,线上则按照此方案执行。
为什么展示量合约不能有很多标签?
因为随着标签数量的增加,供给节点的数量会以指数速度上升,而每一个供给节点的流量当然也就迅速收缩。当节点的流量过小时,对其进行相对准确的预测就变得相当困难,这时前面的方案就会变得完全不可行。因此,展示量合约这类广告产品在人群标签非常丰富和精准时时无法有效地运作的,而这正是竞价广告产品的原动力之一。
合约广告的尴尬:大量精准的标签在合约量的舒服下基本无法售卖。一个广告产品声称自己的标签体系多么复杂,有多少标签种类,实际上没有太大的实际意义,这些标签的人群规模会更有说服力。
产品案例:Yahoo!GD 市场
第 5 章 搜索与竞价广告
竞价交易模式的本质是将量的约束从交易过程中去除,仅仅采用“价高者得”的简单决策方案来投放每一次广告。竞价顺应了定向广告向精细化发展得趋势要求,也为大量无法用合约售卖的剩余流量找到了可能的变现渠道,使得大量中小广告主参与在线广告的可能性和积极性大大增加,也使得在线广告的商业环境与传统广告产生了本质差别。
搜索广告在竞价广告乃至整个在线广告中都有着旗舰产品的地位。除了它的变现能力和市场规模方面的优势,更重要的是,一些在计算广告中非常核心的产品策略和技术方案都来源于搜索广告。因此,对搜索广告的深入理解对于理清整个竞价广告市场非常关键。
在竞价广告的交易逻辑下,展示广告领域也产生了广告网络这种批量采购各种媒体剩余流量,然后主要按照点击付费的方式售卖给广告主的产品形式。除了完全按照 eCPM 估计排序广告外,冷启动问题以及各种复杂环境下点击率的归一化非常重要。这些实际上使得广告网络的效果优化比搜索广告更有挑战性。
对于竞价广告的产生,需求方的产品和技术也在发生变化。其中关键的变化有两点:一是由面向广告位采买变成面向人群的跨网络采买;二是帮助广告主在竞价环境中完成量的保证,这一点是竞价市场不再直接保证的。能达到这些需求方目的的产品我们叫做媒体采买平台。在媒体采买平台里,在量的约束下完成 ROI 的优化问题依然存在,并且变得比在线分配问题更加困难,这也成为高端采买平台提供的服务之一。当然,搜索广告的媒体采买和 ROI 优化同样十分重要,这项专门的服务称为搜索引擎营销(Search Engine Marketing, SEM)。
5.1 搜索广告
搜索广告竞价的标的物是竞价关键词(bid term),用户输入的查询(query)通过与关键词相匹配来确定是否可以触发该条广告。查询扩展也是搜索广告的一项比较关键的产品策略。
搜索广告的产品和技术特点有:
- 搜索广告的变现能力,即 eCPM 远远高于一般的展示广告。关键原因在于用户主动输入的查询直接反映了用户的意图。
- 搜索广告的受众定向目标,即是上下文的搜索查询。由于搜索词非常强地表征着用户的意图,搜索广告可以进行非常精准的定向。在这个情况下,根据用户历史行为得到的兴趣标签的重要性大打折扣,搜索广告里的 eCPM 由一般情形下的
r(a,u,c)
退化成r(a,c)
(即不再考虑 user 这个维度) - 搜索广告的展示形式与自然结果的展示形式非常接近,往往仅仅在底色和文字链接中有不太引人注目的提示
- 从搜索广告发展起来的竞价交易模式已经逐渐发展成为互联网最主流的交易模式。
搜索广告有以下三方面的探索趋势:
- 丰富文字链创意的展示形式让其更富表现力以提高点击率
- 利用东区对相关性要求稍低的特点设计一些扩展广告产品
- 优化广告与自然结果的关系在保证相关性和广告效果的前提下提高收入
搜索广告的整个决策过程可以分为查询扩展、检索、排序、放置、定价等几个阶段:
- 查询扩展:精确匹配、短语匹配、广泛匹配、否定匹配
- 检索与排序:将候选广告根据 eCPM 排序(核心流程)
- 放置:关键是进入北区的条件,关注北区广告平均条数(North Foot Print, NFP,或 Average Show Number, ASN)
- 定价:核心策略
产品案例:Google AdWords,淘宝直通车
5.2 位置拍卖与机制设计
在广告中常见的机制设计问题包括定价、市场保留价、价格挤压等。
围绕位置拍卖最重要的机制是所谓的定价(Pricing)问题,它探讨的是在一次位置拍卖中给定各参与者的出价以及他们的期望收益,如何对最后获得某个位置的广告主收取合适的费用。
从整个市场的角度来看,我们重点需要研究的是市场处于稳定状态下的收益和其他特性。而所谓稳定,指的是整个竞价系统处于纳什均衡(Nash equilibrium)状态,也即每个广告主都听过出价得到了最符合自己利益的位置。对某一次位置竞价来说,需要达到对称纳什均衡(symmetric Nash equilibrium),即对于最终位置排名竞价结果中的每一条广告,其收益都比排在其他位置上要高。在这样的状态下,每个广告主都达到了自己最优的状态,整个系统也就随之稳定下来。
在线广告竞价市场最常见的定价策略是 GSP 方案,另外有一种 VCG(Vickrey-Clarke-Groves)定价策略,虽然理论上比 GSP 更合理,但是由于远离较复杂,向广告主解释起来有难度,因此在实际系统中采用的并不多(目前 Facebook 在用这个机制)。
VCG 的基本思想是:对于赢得了某个位置的广告主,其所付出的成本应该等于他占据这个位置给其他市场参与者带来的价值损害。
为了控制广告的质量和保持一定的出售单价,竞价广告市场往往要设置一个赢得拍卖位置的最低价格,称为市场保留价(Market Reserve Price, MRP),俗称“起价”或“底价”。确定 MRP 是竞价广告重要的产品策略,MRP 定得过低或过高都不利于整个市场的收益最大化。
通过价格挤压(squashing)因子 k 来影响竞价体系。如果发现市场上存在大量出价较高但品质不高的广告主,则调高 k 来强调质量和用户反馈的影响;如果发现市场的竞价激烈程度不够,则可以通过降低 k 来鼓励竞争,如果存在短期的财务压力,遮掩更久可以短期使得整体营收有所上升。
5.3 广告网络
实际销售中为了控制售卖比例以获得更高的品牌溢价空间,未通过合约售卖的广告流量很多。这部分流量我们称为剩余流量(remnant inventory)。竞价交易模式的产生为这部分流量提供了变现的机会,催生了广告网络这一产品。广告网络的产品功能是批量聚合各媒体的剩余流量,按照人群或上下文标签的流量切割方式售卖给广告主。
竞价广告网络的产品关键,一是售卖的标的主要是人群,而广告位被淡化了。另外,当流量满足多个广告活动要求时,简单地采用竞价模式而不用考虑量的合约。
广告网络存在 CPM、CPC 和 CPS 等不同的结算方式,不过最主流的方式是 CPC。
某些广告网络也会对一部分合作供给方开放广告库供其自行挑选,广告网络的这种运营模式可以称为联盟(affiliate)模式。
广告网络中的广告决策分为检索、排序、定价等几个阶段,虽然流程相对简单,但在广告检索和排序两个环节上面临的问题比搜索更加通用。
竞价广告中排序的准则是 eCPM,而在 CPC 结算的情形下,对 eCPM 的估计转化为对点击率的估计问题。
广告网络中的 CTR 预测有两方面的困难。熟悉偶爱你,点击数据更加稀疏,而且需要同时考虑上下文和用户量方面的信息,冷启动问题突出。其次,广告网络中由于广告位的差别巨大,点击率的变动范围很大,这使得稳健地估计点击率变得相对困难。
产品案例:Google Display Network,淘宝客
5.4 竞价广告需求方产品
竞价广告市场的产生对需求方的技术也提出了新的要求:原来通过直接与媒体签订保量合约的采买方式变成通过竞价为广告主完成量与质需求的采买产品。这样的需求可以分解为两个基本问题:一是如何挑选合适的目标人群,二是如何对各个目标人群给出合适的出价。
面向展示广告网络的一站式采买平台称为媒介采买平台,与之类似的概念还有交易终端(Trading Desk, TD)。技术挑战主要在于 ROI 的优化部分,要合理地选择需要的受众定向条件,并在每个人群上优化出价,以保证量的要求和优化收益是一个复杂的组合优化问题。
产品案例:EfficientFrontier
5.5 竞价广告与合约广告的比较
从供给方或广告市场方来看,合约广告和竞价广告的对比可以类比于计划经济和市场经济的区别。
从需求端来看,合约广告的采买方式对广告主来说缺乏透明性,唯一能做的就是在合约的层面预先约定好一些最关心的利益条款,但是很难进行深入的优化。不过,合约的采买方式也有一定的好处,特别是对量的保证可以有预先的约定,这对于品牌性质较强的广告活动来说比较有意义。
在竞价广告中,供给方和广告主的约定比较松散:首先,供给方不再向广告主承诺广告投放量;与此相对应,点击单价由广告主自行决定。这样的交易逻辑使得广告合同由首先确保量的结构变成了首先确保单位成本的接口。这实际上是非常革命性的变化,它使得广告市场产生了以下三个有利于大幅提高广告效果的发展趋势:
- 非常精细的受众定向可以被无障碍地使用在交易中,而这时展示量合约广告很难做到的。由于这一点,市场的效率得到了巨大提升。
- 大量的中小广告主逐渐成为参加竞价的主体,这使得市场的规模得到了快速扩张。
- 与合约广告相比,竞价广告中数据的价值得以彰显,整个市场开始以数据为核心来组织和运营广告产品。
第 6 章 程序化交易广告
随着需求方优化效果的要求进一步加强,广告网络在产品形态上已经无法完全满足需要,而市场的发展方向是向需求方彻底开放。除了允许广告主按照已经定义好的用户划分来购买,还要进一步提供广告主自行选择流量和在每次展示上独立出价的功能。这必然要求询价、出价和竞价在展示时进行,这就产生了以实时竞价即 RTB 为核心的程序化交易市场。
RTB 的产生,使得广告市场向着透明的比价平台的方向发展,这样的平台就是广告交易平台 ADX,其主要特征即是用 RTB 的方式实时得到广告候选,并按照其出价简单完成投放决策。与广告交易平台对应的采买方,我们称为需求方平台 DSP。需求方对于流量的选择和控制能力达到了极致,因此其技术和算法的挑战也相当大,而供给方则变成了简单的比较平台。
出价需求的存在和广告主预算范围内的套利要求 DSP 具备点击率预测、点击价值估计、流量预测、站外推荐等多方面的运算能力。
在需求方的利益得到了充分的保证以后,媒体的变现手段也发生了相应的变化。到现在为止,媒体至少有四种常用的广告变现选择:
- 担保式投送的合约售卖方式
- 自营广告网络
- 托管给其他广告网络
- 通过 RTB 变现
如何动态地选择这四种模式中变现价值最高的那种,以最大化媒体收益,这是供给方面临的市场需求,因此产生了供给方平台这样的完全优化媒体利益的产品。
RTB 的产生和发展实际上还催生了另外一个更加重要的市场:数据加工和交易市场。作为数据加工与交易的两个关键产品:数据交易平台(data exchange)和数据管理平台 DMP 分别从第三方数据和第一方数据入手,为市场提供了有价值的数据源或数据加工服务。
6.1 实时竞价
定制化用户标签(customized audience segmentation)是在加工人群标签的过程中利用到广告主的数据。
用定制化标签指导广告投放是实时竞价的关键产品目标。服务于品牌广告主的 DSP 可以根据市场上采买的各种数据为某个特定的广告主加工特有的人群,完成更加符合其市场策略的人群触及。
实时竞价的接口可以分成两个过程,即预先进行的将 ADX 与 DSP 的用户标识对应起来的 cookie 映射(cookie mapping)过程和线上广告请求时的竞价和投放过程。
- Cookie 映射
- 从广告主网站向 DSP 服务器发起 cookie 映射请求
- DSP 与 ADX 服务器之间通信完成 cookie 映射
- 广告请求(ad call)
- 用户浏览媒体网站
- 媒体网站通过 JavaScript 或 SDK 向 ADX 发起广告请求
- ADX 向各 DSP 传送 URL 和本域名 cookie,发起询价请求。DSP 根据预先做好的 cookie 映射查出对应的己方 cookie,决策是否参与竞价,如果参与,则返回自己的出价。在等待一个固定的时间片后,ADX 选出出价最高的 DSP 返回给媒体网站
实时竞价也带来了一些实际问题:
- 每次展示都有 ADX 服务器与多个 DSP 服务器的参与,这使得服务器与带宽成本大大增加。
- 在询价过程中,ADX 要等待一个约定好的时间片(一般情况下为 100ms),这使得用户看到的广告延迟增加,对 CTR 有负面影响。
- 原理上 DSP 可以以极低的出价参与竞价,这样随不能获得流量,却可以低成本得到在媒体网站上的用户行为数据,这里存在着潜在的信息泄露风险。
6.2 其他程序化交易方式
程序化交易的核心目的是让需求方能够自由地选择流量和出价。
- 优选:比实时竞价产生要早,可以看成是只有一个需求方的程序化交易
- 私有市场:为了保证广告主的质量,将拍卖限制在一些被邀请的需求方的小范围内,兼顾了优选与实时竞价的好处
IAB 总结的程序化相关交易方式
交易方式 | 库存类型 | 价格模式 | 参与方式 | 市场术语 |
---|---|---|---|---|
担保投送优化 | 预留 | 定价 | 一对一 | programmatic direct |
非预留定价交易 | 非预留 | 定价 | 一对一 | preferred deals |
邀请制竞价交易 | 非预留 | 竞价 | 一对少量 | private marketplace |
公开竞价交易 | 非预留 | 竞价 | 一对多 | RTB |
6.3 广告交易平台
广告交易平台(ADX)是程序化交易时代的关键产品,它负责将媒体流量以拍卖的方式售卖给 DSP,可以类比于证券市场中的交易所。
产品案例:RightMedia, DoubleClick ADX
6.4 需求方平台
与 ADX 相对应,以 RTB 方式购买广告的产品形态就是需求方平台 DSP,其核心特征有两个:
- RTB 方式的流量购买
- 需要支持需求方定制化的用户划分
由于可以细分到每次展示的粒度来决策是出价,这使得需求方可以向一个推荐系统那样精细化地执行广告活动,也使得推荐和广告这两项重要的互联网技术找到了完美的契合点。
DSP 的广告决策过程与广告网络非常相似,先要经过检索、排序、定价几个阶段,主要的差别是完成广告选择后,又增加了出价的步骤。
在广告网络中,主流的定向方式都是根据第二方数据加工的标签;但是在 DSP 中,以第一坊数据为核心,结合第二方或第三方数据的定制化标签,即 t(a,u)
的定向方式,是其关注的重点。在各种定制化标签中,重定向和 look-alike(新客推荐)的方法具有一定的普适性,是 DSP 需要特别重视的产品策略。
DSP 优化的出价策略可以定性地描述为:首先,通过历史的观察和预测得到市价的曲线;然后,将一天的预算分配到那些市价较低的流量上。当然,也要考虑 eCPM 同样会随着时间而变化。因此,DSP 的出价策略要基于两条曲线,即 eCPM 和市价随时间变化的曲线。
重定向是在线广告中最早产生,也最广泛使用的一种定制化标签,即把那些曾经对广告主服务发生明确兴趣的用户找出来,向他们投放该广告主的广告。要么用于品牌广告,要么用于效果广告。
网站重定向(site retargeting)将在一段时间内到达过广告主网站的用户作为重定向集合。这样的重定向流量其 eCPM 一般来说要比无定向流量高出一个数量级,因此需要尽可能扩大投放量。
个性化重定向(personalized retargeting)是网站重定向的一种特例。对重定向流量进行深入加工,按照品类和购买阶段等因素进行创意上的深度个性化。其产品有三个关键点:
- 动态创意
- 推荐引擎
- 广告主商品库存实时接口
搜索重定向(search retargeting)将搜索过与广告主直接相关的关键词的用户群作为重定向集合。
产品案例:Criteo, InviteMedia, 聚效
6.5 供给方平台
对于媒体而言,无需把全部流量的变现都放在一种交易方式上。媒体既可以通过直接销售来高溢价地售卖品牌广告,也可以综合使用各种程序交易方式以追求更高的 eCPM。
根据收益在线动态决定变现方式,称为动态分配(dynamic allocation),对应的产品形态就叫做供给方平台(Suppy Side Platform, SSP),一般来说逻辑如下:
首先检查优先销售的订单有无需求,包括 CPT 和 CPM 合约。如果有需求,按照优先级和在线分配的方案完成投放;如果没有这类销售合约,则进入竞价流程。竞价时,从自运营广告主库总找出 eCPM 较高的,并估算可供调用的若干广告网络的 eCPM,在这两者之间找到较高的广告候选,再以此作为 MRP,通过 RTB 接口向接入的各 DSP 实时询价。
产品案例:Admeld, Rubicon
6.6 数据加工与交易
数据的来源于质量是决定性因素!
数据驱动的计算广告与石油加工对比
油田 -> | 原油 -> | 炼油厂 -> | 汽油 -> | 加油站 |
---|---|---|---|---|
数据源 -> | 原始数据 -> | 受众定向 -> | 用户标签 -> | 广告位 |
门户网、搜索引擎 | 商品 |
有价值的数据来源:
- 用户标识。cookie 是有效且为业界广泛采用的基础方案。高质量的用户标识本身就是非常有价值的数据。
- 用户行为。业界通常认为,转化(conversion)、预转化(pre-conversion)、搜索广告点击(sponsored search click)、展示广告点击(ad click)、搜索点击(search click)、搜索(search)、分享(share)、页面浏览(page view)、广告浏览(ad view)等在线行为是可以被广泛采集并且对于受众定向或广告决策有明确作用。按照对效果广告的有效性分类,可以分为决策行为、主动行为、半主动行为和被动行为。
- 人口属性
- 地理位置
- 社交关系
三方数据划分:
- 第一方:广告主数据
- 第二方:广告平台数据
- 第三方:其他来源数据
第一方数据的收集和加工是广告市场上非常重要的环节,对应的产品是数据管理平台 DMP。
数据交易平台(data exchange)的主要产品功能是聚合各种来源的在线的用户行为数据,加工成有价值的用户标签,然后在广告市场上通过售卖这些标签来变现。
数据管理和交易产品在程序化交易市场已经比较普及,但是在中国市场还没有形成规模。与中国存在着大量作弊和流量劫持等灰色低成本渠道有关。
相关案例:BlueKai, AudienceScience
第 7 章 移动互联与原生广告
与内容基本独立的广告交易必然会在效果和用户体验方面碰到天花板。
7.1 原生广告相关产品
- 信息流广告
- 搜索广告
- 软文广告
- 联盟
7.2 移动广告的现状与挑战
新的机会:
- 情境广告的可能性
- 大量潜在的本地化广告主
创意形式:
- 横幅与插屏
- 开屏与锁屏
- 推荐墙与积分墙:应用冲榜、游戏开服
挑战:
- 应用生态造成的行为数据割裂
- 许多 PC 时代广告主一定花程度还不够,无法充分消化广告带来的流量
- 移动广告的产品形态需要一次革命
7.3 原生广告平台
- 表现原生:需要媒体来控制广告展示形式
- 意图原生:需要媒体明确广告需求
产品案例:InMobi, OutBrain
7.4 原生广告与程序化交易
关键问题是原生广告的触发是否根据用户意图进行。在明确提供用户意图的原生广告中,完全开发地进行 RTB,很难控制付费结果的相关性。
像社交网络信息流这样的原生广告环境,由于用户意图并不明确,也不要求广告依此触发,完全可以考虑用程序化交易的方式来运营,这也是原生广告未来的发展趋势之一。
第 8 章 在线广告产品实践
在互联网市场上主要有三种资产能够变成钱,分别是数据、流量和品牌属性。
第三部分 计算广告关键技术
第 9 章 计算广告技术概览
很多大数据驱动的产品,就其技术架构而言往往都落地成个性化系统,即根据用户、上下文的一些信息动态决定返回什么内容的系统。计算广告也是一个典型的个性化系统。
个性化系统与搜索系统都是互联网时代具有挑战性的大规模计算问题。由于数据规模的要求,它们一般都采用检索(retrieval)加排序(ranking)这样类搜索的系统架构,因为有非常多的相似之处。
9.1 个性化系统框架
一般的个性化系统由四个主体部分构成:
- 在线投放(online serving)引擎:用于实时响应请求,完成决策
- 离线的分布式计算(distributed computing)数据处理平台
- 流计算(stream computing)平台:用于在线实时反馈
- 数据高速公路(data highway):连接和转运以上三部分的数据流
这几部分的协作流程是:在线投放系统的日志接入数据高速公路,再由数据高速公路快速转运到离线数据处理平台和在线流计算平台;离线数据处理平台周期性地以批处理方式加工过去一段时间的数据,得到人群标签和其他模型参数,存放在高速缓存中,供在线投放系统决策时使用;与此相对应,在线流计算平台则负责处理最近一小段时间的数据,得到准实时的用户标签和其他模型参数,也存放在高速缓存中,供在线投放系统决策时使用,这些是对离线处理结果的及时补充和调整。
Web-Scale 技术问题比较
- | 搜索 | 搜索广告 | 展示广告 | 个性化推荐 |
---|---|---|---|---|
主要准则 | 相关性 | 利润 | 利润 | 用户兴趣 |
其他目标 | 垂直领域决定 | 质量、安全 | 质量、安全 | 多样性、新鲜度 |
索引规模 | 十亿级 | 百万、千万级 | 百万级 | 百万级、亿级 |
个性化 | 较少 | 较少 | 用户个性化 | 用户个性化 |
检索信号 | 较明确 | 较明确 | 较分散 | 较分散 |
9.2 各类广告系统优化目标
主要广告产品优化目标分解
广告投放 | 产出(r) | 产出(r) | 投入(q) | 约束 |
---|---|---|---|---|
GD | 点击率(μ) | 点击价值(v) | 投入(q) | - |
GD | 常数 | 常数 | 常数 | 合约展示量要求 |
ADN | μ(a,u,c) | bid_CPC(a) | 与 r 相关 | 无 |
ADX | bid_CPM(a) | bid_CPM(a) | 与 r 相关 | 带宽、服务成本 |
DSP | μ(a,u,c) | v(a,u) | q(q,u,c) | 预算限制 |
注1:广告主出的点击单价 bid_CPC(a)
注2:DSP 中点击率μ(a,u,c)、点击价值v(a,u)和成本q(q,u,c)都是需要预估和优化的,算法挑战较大
9.3 计算广告系统架构
一个完整的广告系统架构最关键的点是对于数据的记录、交易、流转、建模和使用。
广告投放引擎主要模块:
- 广告投放机(ad server)。为了扩展性考虑一般采用类搜索的投放机架构,先通过倒排索引从大量的广告后选中得到少量符合条件的或相关的候选,再在这个小的候选集上应用复杂而精确的排序方法找到综合收益最高的若干个广告。最重要的指标是每秒查询数(Query per Second, QPS)以及广告决策的延迟(latency)。
- 广告检索(ad retrieval)。在线时根据用户标签(user attributes)与页面标签(page attributes)从广告索引(ad index)中查找符合条件的广告候选。
- 广告排序(ad ranking)。在线高效地计算广告的 eCPM,并进行排序。eCPM 的计算主要依赖于点击率估计,要用离线计算得到的 CTR 模型和特征(CTR Model & Feature),有时还会用到流计算得到的实时点击率特征(real-time features)。在 DSP 中还需要一个点击价值估计的模型。
- 收益管理(yield management)。将局部广告排序的结果进一步调整,以全局收益最优为目的做调整功能。
- 广告请求接口。
- 定制化用户划分(customized audience segmentation)。
离线数据处理(最具挑战的算法问题集中于此)有两个输出目标:一是统计日志得到报表、dashboard 等,公决策人进行决策时作为参考;二是利用数据挖掘、机器学习技术进行受众定向、点击率预估、分配策略规划等,主要模块有:
- 用户会话日志生成。以用户 ID 为键进行统一存储,称为会话日志(session log)
- 行为定向(behaviorial targeting)。挖掘用户日志,根据日志中的行为给用户打上结构化标签库(structural label base)中的某些标签,并将结果存储在用户标签的在线缓存中,供广告投放机使用。
- 上下文定向(contextual targeting)。包括半在线页面抓取(near-Line page Fetcher)和上下文页面标签的缓存,与行为定向互相配合,负责给上下文页面打上标签,用于在线的广告投放中。
- 点击率建模(click modeling)。在分布式计算平台上训练得到点击率的模型参数和相应特征(click model & features),加载到缓存中供线上投放系统决策时使用。
- 分配规划(planning)。为在线的收益管理模块提供服务,根据广告系统全局优化的具体需求,利用离线日志数据进行规划,得到适合线上执行的分配方案(allocation plan)
- 商业智能(business intelligence, BI)系统。这部分包括 Extract-Transform-Load(ETL) 过程、dashboard 和 cude,这些事所有以人为最终接口的数据处理和分析流程的总括,担负着对外信息交流的任务
- 广告管理系统。
在线数据处理可以认为是离线数据处理的镜像功能,为了满足广告系统对实时数据反馈的要求,解决那些离线分布式计算平台无法快速响应的计算问题,常选用流式管理平台,主要模块有:
- 在线反作弊(anti-spam)。去掉作弊流量
- 计费(billing)。
- 在线行为反馈。包括实时受众定向(real-time targeting)和实时点击反馈(real-time click feedback)等部分。在很多情形下,把系统信息反馈调整做得更快比把模型预测做得更准确效果更加显著。
- 实时索引(real- time indexing)
9.4 计算广告系统主要技术
- 受众定向
- 点击率预测
- 在线分配
- 机制设计
- 强化学习中的探索与利用
- 个性化推荐
9.5 用开源工具搭建计算广告系统
一般来说,我们可以利用成熟开源工具解决底层通信、数据传输、敷在分配等基础问题,将精力重点放在与业务逻辑相关的开发上。
- Web 服务器 Nginx
- 分布式配置和集群管理工具 ZooKeeper
- 全文检索引擎 Lucene。备选 Elasticsearch
- 跨语言通信接口 Thrift。备选 ProtoBuf、Avro
- 数据高速公路 Flume
- 分布式数据处理平台 Hadoop
- 特征在线缓存 Redis
- 流计算平台 Storm。备选 Spark Streaming
- 高效的迭代计算框架 Spark
第 10 章 基础知识准备
重点关注三个相关领域的背景知识:信息检索(Information Retrieval, IR)、最优化(Optimization)和机器学习(Machine Learning, ML)。
10.1 信息检索
- 倒排索引(inverted index):大规模信息检索的基石
- 向量空间模型(Vector Space Model, VSM):最基础且最重要的文档相似度度量方法之一。核心有两点:文档的表示方法和相似度计算。
10.2 最优化方法
最优化问题讨论的是,给定某个确定的目标函数以及该函数自变量的一些约束条件,求解该函数的最大或最小值的问题。
- 拉格朗日法与凸优化
- 下降单纯形法
- 梯度下降法
- 拟牛顿法:连续优化问题中最为基础的优化方法,需要特别熟悉。
- Trust-Region 法
10.3 统计机器学习
- 最大熵与指数族分布
- 混合模型和 EM 算法
- 贝叶斯学习:共轭先验、经验贝叶斯
10.4 统计模型分布式优化框架
指数族分布及其充分统计量在计算流程中起着非常关键的枢纽作用。MapReduce 方案在面对迭代求解问题时效率不高,采用 Spark 之类的计算框架会更加高效。
第 11 章 合约广告核心技术
这一部分和目前工作关联性较小,暂略
第 12 章 受众定向核心技术
- 要提高在线广告的效果,受众定向是最重要的核心技术之一,是对广告(a)、用户(u)、上下文(c)这三个维度提取有意义的特征(也称为标签)的过程。
- 一般来说,对于某种特定的定向技术,需要同时关注其效果和规模两方面的指标,同时提供覆盖率较高但精准程度有限的标签和那些非常精准但量相对较小的标签
- 上下文定向需要对广告所在页面进行分析(注意,与搜索引擎的爬虫有很大不同),一般采用半在线的方式抓取和分析页面
- 行为定向是根据用户历史上的网络访问行为对用户打标签的过程。哪些网络行为有价值是挖掘行为数据来源时需要考虑的问题。行为定向一般采用 reach/CTR 曲线进行半定量的分析
12.1 受众定向技术分类
大概可以分为三种类型:
- 用户标签,即 t(u),以用户历史行为数据为依据,为用户打上的标签
- 上下文标签,即 t(c),根据用户当前的访问行为得到的即时标签
- 定制化标签,即 t(a, u),这也是一种用户标签,但必须根据广告主的某些属性或数据来加工
- 上下文 t(c) 标签:地域定向、频道定向、上下文定向
- 定制化 t(a,u) 标签:重定向、新客推荐(look-alike)
12.2 上下文定向
这里有一部分可以根据广告请求中的参数信息经过简单运算就可以得到,如地域定向、频道/URL定向、操作系统定向等;另外一类则是根据上下文页面的一些特征标签,如关键词、主题、分类等进行定向。
上下文定向主要有以下几种思路:
- 用规则将页面归类到一些频道或主题分类。比如,把 auto.sohu.com 下的网页归类到“汽车”分类中。这个方法比较简单(基于规则的都比较简单)
- 提取页面中的关键词。这时在将搜索引擎的关键词匹配技术推广到媒体广告时自然产生的,基本方法之一
- 提取页面入链锚文本中的关键词,需要一个全网的爬虫作支持
- 提取页面流量来源中的搜索关键词。除了页面内容,也需要页面访问的日志数据作支持
- 用主题模型将页面内容映射到语义空间的一组主题上,目的是泛化广告主的需求,提高市场的流动性和竞价水平
从前面几个方法可以看到,提取关键词是一项关键技术,一般可以使用 TF-IDF。
- 半在线抓取系统
- URL -> 标签的缓存若存在,直接返回
- URL -> 标签的缓存若不存在,返回空标签集合,然后后台抓取 URL,并打上标签,放入缓存
- 给缓存设置合适的 TTL(Time to Live)
- 文本主题挖掘
- LSA:对矩阵进行奇异值分解
- PLSI:对文档生成的过程进行概率建模来进行主题分析
- LDA:视 PLSI 模型的参数为随机变量
- 有监督的 LDA
- 层次化的有监督 LDA
在线广告系统弱一致的业务需求:只要保证大多数的广告决策最优正常,很少量的次优决策甚至随机决策都是可以接受的。充分把握这一点,对于设计高效率、低成本的广告系统至关重要。
12.3 行为定向
行为定向需要进行大规模的数据挖掘,是在线广告中数据利用和变现最重要的计算问题之一。
行为定向建模问题
- 目标是找出在某个类型的广告商 eCPM 相对较高的人群。如果假设在该类型的广告上点击价值近似一致,那么问题就转化为找出在该类型广告商点击率较高的人群。
- 由于点击行为是离散到达的随机变量,对其数量最自然的概率描述是泊松分布,形式为 $p_t(h)=\frac{\lambda_t^hexp(-\lambda_t)}{h!} $,其中 h 为某个用户在某个定向类别广告上的点击量,t 代表某个受众标签,而 $\lambda_t$ 为相应的控制点击行为到达频繁性的参数
- 行为定向模型要做的就是把用户的行为与频繁性参数 $\lambdat$ 联系起来。用线性模型的话就是 $\lambda_t=\sum{n=1}^N w{tn}x{tn}(\mathbf{b})$,这里 $\mathbf{w}t =(w{t1}, …, w{tN})^T$ 为标签 t 对应的行为定向模型需要优化的参数,n 表示不同的行为类型,入搜索、网页浏览、购买等。此处将原始行为 b 先经过特征选择函数 $x{tn}(\mathbf{b})$,再将结果作为特征用在模型中
- 最常用的特征选择函数是将一段时间内的原始用户行为映射到确定的标签体系上,同时计算出各行为在对应标签上的累积强度作为模型的特征输入。
前面就是工程上一种非常典型的建模思路:当面对一个多变量的回归问题时,可以先根据目标值的特征选择合适的指数族分布来描述,并用线性模型将多个自变量和指数族分布的参数联系起来。这样可以利用线性模型更新简单和可解释性强的特点,同时又对目标变量类型有较强的适应性,称为广义线性模型(Generalized Linear Model, GLM)
影响训练结果和效率的因素主要有两个:
- 训练集的长度:一般来说为了消除工作日的周期影响,天数采用 7 的倍数
- 时间片的大小,反映了对定向的时效性要求
各类行为的标签化方法同样很重要,对于搜索来说,可以采用搜索引擎扩展的方法
带泊松分布的公式看起来比较复杂,但核心目的是得到行为系数 $w{tn}$,这样新的行为定向决策的时候,只需要计算出线性函数 $\lambda_t=\sum{n=1}^N w{tn}x{tn}(\mathbf{b})$ 的值,并且根据阈值判断即可
行为定向可以通过 reach/CTR 曲线来进行半定量的评测,一般来说随着人群数量的增加,CTR 会逐渐降低,实际情况中一般会将阈值设置得较高,以达到比较好的定向效果
12.4 人口属性预测
建模中有两个问题需要注意:
- 不论用什么样的模型来预测人口属性,必须要有一定的拒识门槛,也就是对那些行为不够丰富或不够有代表性的用户应该输出“未知”的判断,而不是简单地用模型算出一个结果
- 模型训练集的获得非常重要,往往算法的有效性不如更准确、规模更大的训练集对结果的提升明显。较大数据集的获得往往是要依赖社交网络
12.5 数据管理平台
具体架构如下:
第 13 章 竞价广告核心技术
- 大量中小广告主的检索规模对计算的效率要求很高
- 需要对给定(a,u,c) 组合上的 eCPM 做尽可能准确的估计,由于大量中小广告主的参与,广告系统对 eCPM 的估计往往面临样本不足的问题。与此相关的点击率预测和探索与利用两个问题所涉及的技术也是竞价广告系统通用的关键技术。点击率预测是广告系统中最重要的机器学习问题之一,由于面对的数据量巨大,如何高效地涉及算法以减少迭代是优化中要考虑的关键。另外,结合广告业务的特点设计有效地特征,让点击率模型快速捕捉用户兴趣的动态信号是提高点击率预测效果的关键
- 竞价标的即关键词的粒度很细。查询扩展可以看成是一个关键词推荐问题。
- 广告网络中的反作弊、计价等模块,需要将系统日志快速加工处理并反馈给线上决策系统。另外,对用户行为和点击的快速反馈对广告效果的提高帮助很大。这些准实时数据处理需求催生了流计算平台
13.1 竞价广告计价算法
输入:
- 候选广告 ID 列表
vector<int>& cands
- 候选广告预估点击率列表
Vec & ctrs
- 候选广告出价列表
Vec & bids
- 市场保留价
float MRP
- 价格积压因子
float squash
- 要求的广告条目数
int slotNum
输出:
- 排序结果
vector<int> & results
- 计价结果
Vec & prices
计算流程
- 按照给定的 squashing 因子调整预估 CTR
- 计算调整后的 eCPM(跳过出价小于市场保留价的候选)
- 将所有候选按照 eCPM 排序
- 得到各竞价结果并计算定价
eCPM 可以分解成点击率和点击价值的乘积,eCPM 的估计主要就是点击率预测和点击价值估计两个任务
13.2 搜索广告系统
最早产生,也是最为重要的竞价广告系统。搜索广告的优化目标:对每次展示的各个候选,根据查询估计其点击率 $\mu$ 并乘以广告主出的点击单价得到 eCPM,再按此排序即可。
具体的技术架构如下:
查询扩展:与搜索有相似,也有不同,主要有三种方法;
- 基于推荐的方法:把用户的一个会话 session 内的查询 query 视为同一组活动,给定一组用户会话 s={1,…,M} 和一组关键词 w={1,..,N},可以得到一个交互强度矩阵 ${x{mn}}{M\times N}$。如果其中某个用户搜索过某个关键词,则矩阵相应元素就置为一个交互值(比如一段时间内搜索该次的次数)。因为这个矩阵很稀疏,所以通过协同过滤的方法来预测那些空值,并用预测后的结果进行比较关键词相似度的任务
- 基于主题模型的方法:这种方法主要考虑的是语意上的相关性,而非用户意图上的相关性,效果会差一些,只能作为用户搜索行为数据不足时的补充方法
- 基于历史效果的方法:如果发现某些关键词对某些特定广告组的 eCPM 较高,那么应该记录下来,之后当另外一个广告主选择其中某个关键词之后,根据历史记录自动进行扩展。
广告放置:搜索引擎广告中确定北区和东区广告条数的问题(带约束的优化问题)
13.3 广告网络
广告网络是除了搜索广告以外最重要的非实时竞价类广告产品,因为没有明确的用户意图以及展示位置的固定性,像查询扩展、广告放置等问题在广告网络中并不存在,优化目标变为(根据给定的用户和上下文求合适的广告过程):
短时行为反馈与流计算的场景:
- 实时反作弊
- 实时计费
- 短时用户标签
- 短时动态特征
13.4 广告检索
复杂的定向条件对检索技术提出了新的要求(这部分暂时不涉及,略过)
- 布尔表达式的检索优化
- 相关性检索优化
13.5 点击率预测
广告点击率预测的目的是广告排序,在 DSP 中需要尽可能准确预测 eCPM 用于出价。最简单的模型是基于统计的估计:
其中 $h_i$ 表示第 i 次展示被点击的次数,一般来说为 0 或者 1。这个模型简单,但是一般来说是很稀疏的,无法通过历史数据来统计,所以就有了点击率模型:
我们把点击事件 h 看成一个二元取值的随机变量,那么其取值为 1 的概率就是点击率,因此点击事件的分布可以写成以点击率 $\mu$ 为参数的二项分布(binomial distribution):
点击率模型的作用是在 (a,u,c) 组合与点击的概率 $\mu$ 之间建立函数关系,即 $\mu(a,u,c)=p(h=1|a,u,c)$ 的概率建模问题,我们的基础模型可以使用逻辑回归(Logicstic Regression, LR):
其中 x 表示 (a,u,c) 组合上的特征矢量;w 为各特征的加权系数,也就是要优化的参数;$(2h-1)w^tx$ 这一线性函数的输出通过 Sigmoid 函数 $\sigma(z)={1+e^{-z}}^{-1}$ 映射到 (0,1) 区间内,其中 (2h-1) 将 (0,1) 区间变为 (-1,1) 上,实际使用时还需要加入正则化项降低模型复杂度,优化问题可以表示成:
LR 的优化需要迭代进行,在 MapReduce 计算框架下,磁盘是迭代之间数据交换的手段,而磁盘是很慢的,所以要增加每个迭代的计算,减少迭代次数(很多其他算法也适用这个思路)。常见方法(这几个算法还没有仔细学习):
- L-BFGS(Limited-memory BFGS)
- Trust-Region
- ADMM(Alternative Directional Method of Multipliers)计算框架
正负例样本严重不均衡的问题
点击率模型的特征:
- 静态特征
- 动态特征
- 位置偏差与 CoEC
点击率模型的评测:ROC 曲线
第 14 章 程序化交易核心技术
14.2 需求方平台
DSP 的优化目标与大多数广告产品有所不同。从利润的角度出发,除了尽量提高广告的 eCPM,还需要尽量降低每次广告展示费用,而后者在广告网络这类产品中是无需优化的。
广告投放的决策流程为:DSP 服务器通过 RTBS 接口收到广告询价请求,然后经过与广告网络类似的决策步骤,包括检索和 eCPM 排序,找到价值最高的广告,并将报价返回给 ADX。这样的决策流程,适用于按 CPC 或效果付费,以套利为目标的 DSP,这类 DSP 通过优化算法提升广告主的 ROI 来赚取更多的利润。也有一类 DSP 产品(目前我在做的是这类比较简单 的),其服务接近于透明采买的方式,即广告主按照自己的用户划分和策略完成 RTB 购买,而 DSP 收取固定的手续费,这种情况下,对优化的需求就没有那么高。我们重点讨论的是前一种 DSP。
与广告网络相比,DSP 的广告决策过程更加复杂,几个重点的技术点:
- DSP 往往需要支持定制化的用户划分能力。在实际产品中,定制化用户划分有时由专门的 DMP 来提供,但更常见的情形的 DSP 提供的标准接口来实现。
- 由于 DSP 是完全面向广告主的产品,需要在量的约束下投放。因此,还存在类似在线分配的问题,这产生了对于出价策略的需求。
- 在按 CPC 结算的 DSP 中,进行 eCPM 估计时,需要估计 CTR;而在按 CPS 等效果结算的 DSP 中,还需要同时估计点击价值。并且,由于实时出价的要求,这两项的估计都要尽可能准确。
DSP 与其他广告产品相比,多了定制化用户划分(customized audience segmentation)部分,指通过第一方数据加工成标签,用于指导广告投放。
- 定制化用户标签(lookalike)
- 点击率预测:对准确性要求更高,需要去判断某部分流量是否存在点击率高估或低估。在实时竞价的动态博弈环境下,由于模型本身会影响流量的分布,对点击率预测和其他算法问题效果的理解要有新的思考方式,并且应该更多地根据线上实测的结果来判断一个模型的好坏与取舍。
- 点击价值预估:h到达率、c转化率、t转化单价 $v(a,u,c)=h(a,c)·c(a,u)·t(a)$
- 出价策略:尽可能将出价集中在那些利润较高的展示上