《计算广告》书摘


计算广告 :互联网商业变现的市场与技术 / 刘鹏,王超著. -- 3版. -- 北京:人民邮电出版社,2022.8
ISBN 978-7-115-59255-2


前言

在能够获得充分的流量或高价值的数据后,我们认为,所有能够传播信息的商品,其售价都会趋向其边际成本。这样的观点对许多传统行业商业模式的影响是深远的,也是我们认为大家应该在互联网时代深入了解广告、了解变现产品的原因。本书的核心目的,是让读者在清晰地了解互联网广告全貌的基础上,在遇到与后向变现相关的产品问题时,能够以合理的思维逻辑和背景知识来应对。对其中最重要的几类问题,我们来看看下面几个具体的例子。
(1)商业模式探索。例如,电影是一种边际成本很低、信息传播量又很大的典型商品。那么现在电影的票价为什么这么高?能否探索一种售价很低,而充分利用其信息传播能力的电影行业发行模式,获得更高的经济效益和社会效益?
(2)流量变现。例如,互联网电视厂商除了硬件销售的回报以外,还可以获得一部分用户流量。这些流量的性质和价值如何,应该以什么样的方式变现?
(3)数据变现。例如,室内导航技术是近年来快速发展的新型互联网应用,如果以向用户免费的方式运营室内导航产品,会得到什么有价值的数据资产,从而支撑相应的后向变现,又应该采用哪种具体的商业产品来支撑?
(4)商业产品建设和运营。例如,团购、游戏联运、返利购买、积分墙这些推广模式与一般的展示广告或搜索广告有什么内在联系?是否可以共用某些产品和技术平台?

在互联网广告中,服务于中小商家、以直接销售为目的的广告取代品牌广告成为主流,这也创造了全新的巨大市场:其次,它的关键不再是创意、策略等人工服务,而是以数据支撑的流量规模化交易为典型特点。也就是说,机器和算法取代了人员与服务,成为在线广告最鲜明的特色。可以说,互联网广告的灵魂就在于数据与计算,因此,也就产生了“计算广告”这个名词,以及其背后复杂的产品与技术。

第一部分 在线广告市场与背景

第1章 在线广告综述

1.1 免费模式与互联网核心资产

互联网免费模式的本质是将那些能够规模化、个性化传播信息的商品,以边际成本的价格出售。
网站等软件产品多服务一个用户的边际成本很小,因此这些产品都不收费,这是狭义的免费,而手机等硬件产品,边际成本即是量产成本,因此以毛利为零左右的价格出售,这是广义的免费。当然,这些产品的共同特点是能够传播信息,并且能够对不同用户个性化地传播信息,而像矿泉水、充电器这类无法传播信息的商品,是无法被互联网的免费模式改造的。
既然产品本身没有利润,这些产品的开发者的利润从哪里来呢?其实,这类免费产品在传播信息的过程中,获得了 3 项可变现的核心资产,这就是流量、数据和影响力。
(1)流量。流量的价值是,有人使用你的产品,你便可以在产品本身的功能之外夹带一些付费内容(sponsored content),或者称为广告,这样就把流量变成了收入。
(2)数据。有人在使用你的产品的过程中留下了一些行为和属性,比如搜过某个关键词,浏览过某个商品,填写过自己的性别,这些都是数据。根据这些数据,你可以更好地了解该用户的属性、偏好等信息。基于这些信息,可以调整投放付费内容的策略以提高效率。
(3)影响力。影响力指的是你的产品或内容获得了高于普通水准的关注与信任。当然,你投放的付费内容也就同时获得了更好的关注效果,而这些对于提高转化率同样是至关重要的(参见 2.1 节)。因此,具备影响力的产品或内容在投放广告时可以获得品牌溢价。
值得指出的是,近年来迅速崛起的大量网红和自媒体,实际上主要靠影响力而非流量和数据变现。如果将从公众号软文(影响力变现)标价与文末展示广告(流量和数据变现)收入进行对比,前者的价格往往是后者的数十倍。现有的在线广告体系并不能很好地处理这种以影响力为主要资产的媒体变现,这也是未来一个有趣的探索方向。
将这 3 项资产通过商业产品的形式转变成收入的过程,即商业化(monetization)过程,与用户使用免费产品的过程是分离的,因此称为后向变现。从上面的介绍可以看出,无论是数据变现还是影响力变现,都是建立在流量变现的基础上的,而这样的体系也就是计算广告技术所支撑的、现代的商业化产品体系。

1.2 大数据与广告的关系

自从互联网公司开始挖掘海量用户行为数据中的价值,大数据这一概念就进入实践阶段了。它在工业界最显著的特点是区别于以往数据处理系统的低成本、分布式计算架构。从数据来源、处理方式和应用方向这 3 个角度来看,大数据问题都有鲜明的特点。
(1)行为数据。传统的数据处理任务往往面对的是交易数据。所谓交易数据指的是商业活动中必须记录的数据,如电信运营商的话费充值、通话记录,银行的存取款、利息等。交易数据处理的规模往往并不太大,但是对一致性和实时性的要求非常高,IOE(IBM、Oracle 和EMC)的计算架构为交易数据处理提供了成熟的方案。与此相对,商业活动中产生的非必须记录的数据,就是行为数据。电信运营商采集到的用户位置、银行的窗口排队以及网站的用户访问日志等,都属于行为数据。与交易数据相比,行为数据的加工有两个特点,首先是规模巨大,其次是对一致性的要求要低得多,例如,网站的日志丢失千分之一,往往并不是什么严重事故。由于这两个特点,传统的 IOE 架构并不合适,这些是大数据架构产生的原动力。
(2)全量加工。如果数据规模很大,并且问题无法通过采样来降低处理的复杂程度,那就必须利用一些专门为海量数据处理而设计的计算和存储技术(如 MapReduce、NoSQL 数据库等)来实现。如图 1-1 所示,我们考察某数据处理过程的目标函数,就有可能存在如下两类有代表性的情形。

使用数据的应用有两种类型。一种是洞察(insight)应用,即对数据进行统计分析后得到整体的结果报表,再由决策者根据结果进行决策。洞察应用传统典型的例子是企业的财务报表,而商业智能(Business Intelligence, BI)也属于洞察应用。另外一种是自动化(automation)应用,即将数据处理的结果直接送给对业务进行自动决策的引擎。计算广告正是典型的自动化应用,从用户行为数据收集,到受众定向,再到线上根据用户标签的自动决策,整个过程都是自动进行的,人的作用只是建立流程和调整策略。电商的自动进货系统,也是一种大数据的自动化应用。
洞察应用由于业务决策过程中有人的参与环节,因此报表的数据规模不能太大,这会带来一定的信息量损失。另外,对洞察报表的解读和决策,实际上需要相当专业的训练,这一点读者想想财务报表的例子就可以明白。而自动化应用由于是由机器进行决策的,数据可以在个体粒度上进行处理,这使得数据能够发挥更大的效果。因此,我们认为,相对于传统的洞察应用,自动化应用才是真正发挥大数据优势的应用形态。

由于存在商业上的限制条件,计算广告产品和技术比推荐系统更加复杂。

1.3 广告的定义与目的

出资人、媒体和受众这三者的利益博弈关系是广告活动的主线,这一主线将贯穿于商业和产品形态的整个演化过程。

在传统媒体时代,供给方与需求方在市场地位上有相当的距离,不论是电视台、机场还是杂志,都与大多数广告主需要的转化行为之间有相当大的差距。因此,传统广告的目的主要是借助媒体的力量来快速接触大量用户,以达到宣传品牌形象,提升中长期购买率与利润空间的目的。我们称这种目的的广告为品牌广告(brand awareness)。当然,也有许多广告商希望能利用广告手段马上带来大量的购买或其他转化行为,我们称这种目的的广告为直接效果广告(direct response),有时简称为效果广告。
传统媒体投送和优化效果广告的能力显然是缺乏的。这是因为,对短期效果的追求要求广告精准地送达目标人群,而这在传统媒体上缺乏有效的技术手段。我们能够想起的以效果为目的的传统广告,恐怕只有在写字楼下散发的快餐传单,这被称为直接营销(Direct Marketing,DM)。而数字媒体的出现使效果广告空前蓬勃地发展起来,这主要有两方面的原因:一是数字媒体的特点可以让我们低成本地投送个性化广告,这本质上是在变现流量;二是一些在线服务,如搜索、电子商务,由于可以更清楚地了解用户的意图,也就使广告效果的优化更加容易,这本质上是在变现数据。
在线广告兼有品牌和效果两方面的功能。不过,互联网广告行业的高速发展主要是因为效果广告市场带来的巨大红利。从 2007 年到 2015 年,网络广告的市场规模发展迅猛,目前已经全面超越了电视广告,在中国甚至占据了整个广告市场的一多半份额;与此同时,传统广告渠道则增长乏力或快速下降。对比来看,在线广告的迅猛成长并没有导致电视广告市场的显著萎缩。这是因为网络广告的主要场景仍然集中在搜索引擎营销、移动应用下载、电商再营销等直接效果广告上,而这部分相对于电视广告更多的是增量而非替代。另外,报纸广告快速下降,这首先是因为报纸占据的用户时间大幅被互联网抢走,其次是因为报纸上部分分类信息广告与互联网效果类广告重叠较大。目前,随着数字媒体越来越多地占据了人们的时间,以及在线视频等冲击力更强的媒体越来越普及,在线广告也必将在品牌广告方面有更大的空间。

广告的根本目的是广告主通过媒体达到低成本的用户接触。
也就是说,按某种市场意图接触相应的人群,进而影响其中的潜在用户,使他们选择某产品的概率增加,或者对产品性价比的求程度降低,这才是广告的根本目的。至于短期内的转化效果,由于市场意图或媒体性质的不同,并不是直接可比的。换句话说,如果仅仅以转化效果为目的来思考问题,可能会背离投放广告的正确方法论。举个例子,某感冒药广告商如果以短期效果为导向,那么最佳的策略是把广告投放给那些现在已经感冒的人,不过这显然是一个荒谬的决策;再比如,某汽车广告商为了提升自己的品牌形象,希望对自己竞品品牌的用户加强宣传,而对于这部分人群,广告的直接效果甚至有可能比随机投放还要差。认清这一概念,有助于在遇到多种广告渠道的效果比较时,避免得出偏颇的结论。
广告活动的总投入容易确定,但总产出却不一定明确且可衡量,特别是在投放以中长期收益为目标的品牌广告时。因此,绝对的 ROI 有时难以计算,不过通过各个渠道之间的对比,我们仍然可以评估广告的成本是否令人满意。
在互联网环境中,广告的本质虽然没有变化,但是由于大量直接效果需求的产生,其表现形式越来越丰富和灵活。不论是与线下类似的横幅、搜索竞价排名,还是软文,甚至是表面上与广告并不相干的游戏联运,其本质都是付费的信息推广,从产品的角度来看都可以归在广告的范畴下。因此,对于互联网广告,我们有如下认识:
一切付费的信息、产品或服务的传播渠道,都是广告。

1.4 在线广告表现形式

(1)横幅广告(bannerad):它是嵌入在页面中的图片,往往需要占据固定大小的版面。目前,横幅广告大多数也都不再是静止的图片,而是由 Flash 或 HTML5 等方式实现的动态素材。

图1-2 横幅广告示例

(2)文字链广告(。textual ad):一段链接到广告主落地页的文字,是搜索广告的主流形式。

图1-3 文字链广告示例

(3)富媒体广告(rich media ad)。这类广告利用视觉冲击力较强的表现形式,向用户侵入式地投送广告素材。富媒体广告常见的形式有弹窗、对联、全屏等。它比较适合在高质量的媒体做品牌性质较强的广告投放,但是对用户的使用体验往往影响也较大。

图1-4 富媒体广告示例

(4)视频广告(video ad)。视频广告指的是广告的创意由静态素材变成了一段视频,其信息的传播量和冲击力都得以大大提高。有关视频广告的效果评价,除了点击率等,还可以采用用户观看时长等更接近用户印象的指标。
视频广告有几种主要的形式。

  • 在视频内容播放之前的前插片广告。根据插入位置的不同,视频广告又可以分为前插片、后插片、暂停等类型。图 1-5 给出了视频广告的示例。视频广告由于载体的独特性质,其效果和广告创意会比较类似于线下的电视广告。这种广告一般采用短视频的形式,创意的表现力要远远强于普通的展示广告,因此价格往往也比较高。
  • 在信息流中插入的视频广告。在 Wi-Fi 场景下往往自动播放,其效果远优于普通的信息流展示广告。
  • 手机游戏中的激励视频广告。它主要是利用游戏中的积分奖励,刺激用户主动观看视频广告,这种广告往往观看率较高,广告效果也较好。

图1-5 视频广告示例:前插片广告(左),暂停广告(右)

(5)交互式广告(playablead)。视频广告承载了更多的创意信息,因此会带来较好的推广效果。于是,在移动场景下,业界开始探索让用户直接在创意上完成交互,体验被推广产品的交互式方案。在移动应用和游戏推广中,交互式创意可以让用户不用下载 App 就可以体验其内容,有时可以带来更高的转化率,但同时对媒体也有用户注意力上的损失。交互式创意有两种

图1-6 交互式广告示例

(6)社交广告(socialad)。社交网络的兴起给广告传播的渠道和能力都赋予了新的空间。在社交网络中嵌入的广告,可以统称为社交广告。社交广告中最典型的形式是插入在信息流中的广告,这种方式最早见于 Twitter 的“PromotedTweets”产品。它力求在用户的交互过程中尽可能自然地插入广告,被归于原生广告的范畴中。“社交广告”与“社交网络中的广告”是两个不同的概念,例如,在社交网络页面上竞价售卖的文字链或横幅广告,其本质与普通网站上的展示广告并无太大区别。社交广告希望达到的效果是通过用户的扩散式传播获得更大的影响力,从这个意义上讲,在信息流的交互中挖掘价值前景光明。图 1-7 给出了社交网络信息流广告的一个示例。

图1-7 社交网络信息流广告

(7)移动广告(mobile ad)。

(8)邮件营销广告(Email Direct Marketing,EDM)。
这是通过电子邮件向用户推广信息的一种营销手段。与上面各种广告形式都不同,EDM 是一种主动营销方式,可以随时向合适的用户发送信息。不过也正因为如此,EDM 非常容易变成垃圾邮件的主要来源。对 EDM 的运营者而言,精准地把握用户兴趣,非常有节制地向用户提供相关信息非常关键。比起展示广告,EDM 中受众定向的利用更加直接,也更为重要。另外,通过短信、iMessage 等方式投放的广告,与邮件营销广告也非常相似。

(9)激励广告(incentivead)。直接激励用户产生转化以提高效果,这类广告称为激励广告。激励广告的典型代表之一是移动上常用的积分墙模式,如图1-10所示。

图1-10 积分墙广告示例

返利购买是电商行业常见的一种推广模式,它采用折扣或积分激励用户购买,也属于激励广告的一种。显然,这种方式可以获得任意高的投资回报率(ROI),但是也会带来一些老用户转由返利网下单。
除了积分墙、返利,激励广告,还有内容锁、锁屏等多种形式。特别需要注意的是,天下没有免费的午餐,激励广告虽然能显著提高转化效率,但是由于用户对产品的真实需求并不强,因此后续效果会大打折扣,特别是在获取新客方面的价值比较差。因此,激励广告的价格一般会显著低于非激励广告。

(10)团购。团购本质上是一种按照效果付费的泛广告产品,其本质也是一种激励性广告。团购推广的主要广告主是一些本地化的店铺,主要目的是为了获得新客。对团购平台来说,团购商品的排序与广告是一样的问题。传统的团购销售很少采用竞价的方式,而多是预先约定价格,不过目前各团购网站也在采用竞价的方式直接售卖。另外,团购的广告库中是付费信息而非创意,这有利于发展原生广告的推广方式,具体讲解参见第 9 章。

(11)游戏联运。游戏联运是根据用户的最终游戏内消费在推广渠道和游戏开发商之间分成的商业产品,这仍然是一种按效果付费的泛广告产品。在页游和手游的推广中,联运是一种非常常见的发行模式,读者在各种产品中看到的图 1-12 所示的游戏下载专区,其背后的商业模式往往都是联运。实际上,在中国的各大 Android 应用市场中,游戏联运的收入远远超过其他类型广告的收入。不同的联运渠道分成比例可能相差很大,在 Apple Store 这样典型的国外市场中,渠道的分成比例一般为 30%,但是在中国,有些强势的联运渠道分成比例甚至可以达到 90% 以上。游戏联运完全可以按照广告产品思路来设计和运营。

图1-12 游戏联运产品示例

(12)固定位导航。这主要包括网址导航站的位置入口(如图 1-13 所示)、应用分发平台的推荐位置等付费推广位置。一般来说,这种产品的销售都采用按时间付费的模式,而不是动态的竞价模式。这是因为广告主除了引流以外,往往更加关注这些入口位置的橱窗效应。这种广告的销售和运营模式与按天购买的合约广告相同。

图1-13 网址导航产品示例

1.5 在线广告简史

合约广告(agreement-based advertising),即采用合同的方式约定某一广告位在某一时间段为特定广告主所独占,并且根据双方的要求,制定广告创意和投放策略。如图 1-14 中左半部分所示,例如,这样一个广告位一天的售卖价格是 10000 元。显然,这样的采买模式并没有用到数字媒体可以对不同用户投放不同内容的个性化特征。

图1-14 流量与数据变现示意

互联网广告运营者经过探索,很快就发现了数字媒体不同于传统媒体的本质特点:可以对不同的受众呈现不同的广告创意。在今天看来再平常不过的这个观念,实际上是在线广告效果和规模不断发展的核心驱动力。认识到这一点,媒体找到了一条能使广告位报价继续提高的思路。如图 1-14 所示的情形,由于剃须刀广告只需要男性受众,我们将该广告位的男性用户流量分配给它,价格变成 6 000 元,而对女性受众展示某化妆品广告,价格也是 6000 元。这样的广告投放方式,称为定向广告(targeted advertising)。对广告主来说,用更低的成本获得了与原来通投广告位一样的有效受众,而对媒体来说,总收入变成了 12000 元,多出来的 2 000 元,就是数据(这里为每一个用户的性别数据)变现的价值。请读者注意:
在广告业务中,数据变现是附着在流量变现的基础上的。

定向广告系统对计算技术提出了两个需求:一是受众定向(audience targeting),即通过技术手段标定某个用户的性别、年龄或其他标签;二是广告投放(ad serving),即将广告投送由直接嵌入页面变为实时响应前端请求,并动态决策和返回合适的广告创意。由于是从传统广告延伸而来,此时的定向广告仍然以合约的方式进行:媒体与广告主约定广告位、时间段和投放量,并在此基础上确定合同的总金额以及量未达标的情况下的赔偿方案。这种担保式投送(guaranteed delivery,GD)的交易方式,逐渐成为互联网合约式广告的主要模式。一般来说,这样的合约仍然主要面向品牌广告主,并且采用按千次展示付费(cost per mille,CPM)的计费模式。
担保式投送广告系统中有一个重要的计算问题,即保证满足各合约目标量的要求的同时,尽可能为广告主分配到效果更好的流量。这个问题有两个难点:一是如何有效地将流量分配到各个合约互相交叉的人群覆盖上;二是要在在线的环境下实时地完成每一次展示决策。这就是在线分配(online allocation)问题。如果将各合约的量看作约束条件,将广告效果看作目标函数,则可以利用带约束优化(constrained optimization)的数学框架来解决。
展示广告领域定向投放的最初动机,是媒体为了拆分流量以获得更高的营收。但是如果提供非常精细的定向,反而会造成售卖率的下降,因此,最初的定向标签往往是人口属性等粒度较粗的标签。不过,精细受众定向显然更符合需求方的口味和利益——不要忘了,广告市场的钱全部是来自需求方的,他们的利益被满足得越好,市场的规模就会越大。因此,受众定向产生以后,有两方面的发展趋势:一是定向标签变得越来越精准,例如具体某件商品的购物兴趣;二是广告主的数量不断膨胀。在这些趋势下,按照合约方式售卖广告遇到了越来越多的麻烦:首先,很难对这些细粒度标签组合的流量做准确预估;其次,当一次展示同时满足多个合约的时候,仅按照在线分配策略决策,有可能浪费了部分本可以卖得更贵的流量。既然量的约束带来了这些麻烦,有没有可能抛弃它呢?这样的思路催生了计算广告历史上革命性的产品模式——竞价广告(auction-based advertising)。在竞价模式下,供给方只向广告主保证质即单位流量的成本,但不再给出量的保证。对于每一次展示,则按照收益最高这样的简单原则来决策。

付费搜索显然也是一种定向广告,即根据用户即时兴趣定向投送的广告,而即时兴趣的标签就是关键词。
除了变现搜索流量本身,搜索引擎也开始考虑将关键词竞价的方式推广到其他媒体上:如果将用户的搜索词换成正在页面中的关键词,可以将此产品从搜索结果页照搬到媒体页面上,这就产生了上下文广告(contextual advertising)。

从宏观市场上看,竞价广告与合约广告有很大的不同。没有了合约的保证,大量的广告主处在一个多方博弈的环境中。与直觉不同的是,在如何向广告主收取每次竞价费用这一点上,并不是按照微观上最优的方案实施就可以达到整个市场最大的收益。关于定价机制的深入研究,产生了广义第二高价(generalized second price,GSP)这一竞价重要的理论。
基于竞价和精准人群定向这两个核心功能,产生了广告网络(ad network,ADN)这种新的产品形式。它批量地运营媒体的广告位,按照人群或上下文标签售卖给需求方,并用竞价的方式分配流量。广告网络的计费模式以按点击计费(cost per click,CPC)模式为主,这里有数据和业务等方面的原因,我们将在 2.3.2 节中具体探讨。这种产品的千次展示收益(revenue per mille,RPM)一般来说达不到合约广告的水平,但它使大量媒体的剩余流量(remnant inventory),即没有能力通过合约售卖的流量,有了可行的变现手段:这些媒体可以直接把自己的库存(inventory)托管给 ADN,借助 ADN 的销售和代理团队让自己的流量变现。
搜索广告、广告网络只有出价接口,是否意味着广告主不再需要量的保证呢?实践中,往往还会由需求方产品来保量。竞价广告产生以后,流量采买形式发生了变化:一是更多地面向受众而非广告位进行采买;二是越来越需要技术手段保证广告主量的要求,并在此基础上优化效果。这又是一个与在线分配类似的带约束优化问题。但是实际上,这个问题有很大不同:因为只能在供给方定义好的标签组合上指定出价,而不能控制每一次展示的出价,市场看起来更像一个黑盒子,所以需求方只能靠选择合适的标签组合,以及阶段性调整出价来间接控制效果。这种面向多个 ADN 或媒体按人群一站式采买广告,并进行量和质优化的需求方产品,称为交易终端(trading desk,TD)。
广告网络的竞价过程是内部进行的,这无法满足广告主定制化的人群选择和优化要求。设想下面的两种情形。
(1)某电商网站准备通过广告召回它的流失用户。
(2)某银行准备通过已有的信用卡用户找到相似的潜在用户群,并通过广告触达他们。
显然,这些人群仅靠广告平台自己的数据无法得到。这样的需求催生了一种开放的竞价逻辑,让需求方按自己的人群定义来挑选流量,这就是实时竞价(real time bidding,RTB),它将竞价过程由广告主预先出价,变成每次展示时实时出价。只要把广告展示的上下文页面 URL,以及访客的用户标识等信息传给需求方,它就能进行完成定制化的人群选择和出价。于是,市场上产生了聚合各媒体流量,采用实时竞价方式进行变现的新产品形态——广告交易平台(ad exchange,ADX)。这个名称让我们很容易联想起股票交易所。事实上,如果我们把 ADN 的交易方式想象成场外交易市场(over-the-counter market),那么 ADX 与股票交易所确实有着类似的作用。
通过实时竞价,按照定制化人群标签采买广告,这样的产品就是需求方平台(demand side platform,DSP)。由于实时竞价一般采用按展示次数计费的方式(原因 7.3 节中会具体讨论),DSP 需要尽可能准确地估计每一次展示的期望价值。在这一点上,DSP 比 TD 要方便多了,因为充分的环境信息使得深入的计算和估计成为可能。基于 DSP 的广告采买,非常类似于股票市场上的程序交易,我们把这样的广告采买方式也叫作程序化交易(programmatic trade)。除了 RTB 以外,还有其他几种程序购买的交易方式,我们将在 7.2 节中具体介绍。总体而言,在线广告中程序化交易的地位将会不断加强,这是由广告主利益最大化的趋势所决定的。

除了这条交易形态的主线,互联网广告产品还有另外一条发展线路,即产品展现逻辑上的发展:在展示广告的最初阶段,广告位被作为与内容相对独立的单元来决策和运营,并且完全以优化收入为目标;同时,人们从搜索广告和社交网络信息流广告中得到了启发——将内容与广告对立起来,未必是一个好的选择,前面这两种广告产品,正是由于与内容的展现和触发逻辑有着高度的一致性,才使得它们的效果很突出。沿着这样的思路,将内容与广告以某种方式统一决策或展示的产品形式——原生广告(native ad)在近年来得到了越来越多的关注。如何将原生的决策方式与已经比较成熟的广告交易相结合,是目前移动互联网广告发展的热点。有关这方面的问题,我们将在第9章中具体讨论。

第2章 计算广告基础

千次展示期望收入(expected cost per mille, eCPM)是计算广告中最为核心的量化指标之一。eCPM 又可以分解为点击率和点击价值的乘积。

2.1 广告有效性原理

用一个三段式信息传播模型来解剖广告由物理上产生到最终产生转化行为的全过程,广告转化的有效性模型如图 2-1 所示。
图2-1 广告效果产生过程示意
如图 2-1 所示,广告的信息接收过程分为 3 个大阶段,即选择(selection)、解释(interpretation)与态度(attitude),或者进一步分解为 6 个子阶段,即曝光(exposure)、关注(attention)、理解(comprehension)、接受(acceptence)、保持(retention)与决策(decision)。下面我们分别来讨论每个阶段的意义和关键点。
(1)曝光阶段。这一阶段指的是广告物理上展现出来的过程,其有效程度往往与广告位的物理属性有关,并没有太多可以通过技术优化的空间。实际的广告实践中,因为曝光的有效性对最终结果的影响往往远远高于其他技术性因素,所以才会有“位置为王”的说法。在互联网广告中,位置的影响有时会更加显著。因此,如何从算法上消除由此带来的点击率的偏差,是一个重要的实际问题。
(2)关注阶段。这一阶段指的是受众从物理上接触到广告,到意识上关注到它的过程。对广告而言,曝光并不一定意味着关注。
如何提高关注阶段的效率呢?首先,尽量不要打断用户的任务。这一点是上下文定向的原理基础,也是讨论原生广告产品的出发点之一,上面的例子也可以用这个原则来解释,当用户明确辨识出某个固定的广告位,并且不再认为它与当前网页的任务有关联时,他会下意识地屏蔽其内容;其次,明确传达向用户推送此广告的原因,这一点是受众定向广告创意优化的重要方向;最后,内容符合用户的兴趣或需求,这是行为定向的原理基础。
(3)理解阶段。用户关注到了广告的内容并不意味着他一定能理解广告传达的信息。举个例子,作者试玩了一款网页游戏,然后被某游戏广告定向到,并多次看到某宣传“四维城战新模式”的游戏广告。应该说这样的定向是精准的,我也认真地看了广告的内容,不过由于我不能直观理解这些内容,也就谈不上后续转化。
如何提高理解阶段的效率呢?首先,广告内容要在用户能理解的具体兴趣范围内,这说明真正精准的受众定向有多么必要;其次,要注意设定与关注程度相匹配的理解门槛。例如,在电视广告中,可以用有情节的短故事来宣传品牌;在路牌广告中,创意制作原则是将若干主要市场诉求都表达出来;而对于互联网广告,由于用户的关注程度非常低,我们应该集中强调一个主要诉求以吸引用户的注意力。
(4)接受阶段。受众理解了广告传达的信息,并不表示他认可这些信息。广告领域有一句名言:“我知道有一半的广告预算浪费了。”实际情况还有可能更糟,如果表达的信息不适当,甚至有可能有三分之一的广告展示起到负面效果!在使用幽默、性感这样非常规的广告手段时,要特别注意这一点。
广告的上下文环境对广告的接受程度有着很大的影响,同一个广告出现在某游戏社区上和门户网站首页上,用户会倾向于认为后者更具说服力,这也就是优质媒体的品牌价值。
(5)保持阶段。对于追求长期效果的品牌广告商,当然希望广告传达的信息给用户留下鲜明的记忆,以长时间影响他的选择。品牌广告商在创意设计上花了大量的精力提高这一阶段的效果。想想那些充满艺术性或浪漫气质的电视广告,就可以对此有直观的认识。
(6)决策阶段。成功广告的最终作用是带来用户的转化行为,虽然这一阶段已经离开了广告的业务范围,但好的广告还是能够为转化率的提高做好铺垫的。特别是对于电商或团购业务,在创意上强调哪些信息以打动那些价格敏感的消费者,是有相当学问的。

2.2 互联网广告的技术特点

在线广告刚刚产生的时候,大家对它最多的称道之处是它可以以展示和点击的形式直接记录和优化广告效果。不过,点击率这一指标从是否在绝对意义上能够反映广告效果是值得探讨的。从 1998 年到今天,横幅展示广告的平均点击率从 10% 一路降低到 0.1%,难道这说明广告的效果下降了两个数量级吗?快速增长的市场规模显然给出了否定的回答。我们认为,在不同的产品或时代中,点击率绝对值的比较并没有那么重要,而在一个特定时期不同广告和算法表现出来的差异,才是更有意义的。

根据功能的不同,媒体与转化行为的距离也不同。举个例子,对电商行业而言,门户网站、垂直网站、搜索引擎、电商网站、返利网,在转化链条上一个比一个更靠近购买行为。我们从直觉上就可以知道,越接近转化的媒体上的广告,其带来的流量就可以达到越高的 ROI,同时离“引导潜在用户”这样的广告目的也就越远。因此,在从需求方看在线广告时,应该注重各种性质媒体的配合关系,并从整合营销的角度去审视和优化整体效果。试想,如果一家电商只用返利网作为线上广告渠道,ROI 一定可以做到很高,可是这样的营销能给他带来大量潜在用户吗?

与工业革命时期机器化的根本驱动力——电力相类比,互联网化的根本驱动力可以认为是数据的深入加工和利用。
在线广告的计算技术,在很大程度上也要依赖于对于数据的大规模利用。广泛收集用户的行为数据和广告反馈数据,利用云计算对用户打上合适的标签,根据数据在多个广告竞争同一次展示时做出决策,再将投放的结果统计数据反馈给广告操作人员以调整投放策略,这已经成为在线广告的基本投放逻辑。

2.3 计算广告的核心问题

计算广告的核心问题,是为一系列用户与上下文的组合找到最合适的广告投放策略以优化整体广告活动的利润。

2.3.1 广告收入的分解

在一次广告展示产生后,有可能发生哪些后续行为呢?参见图2-3。当用户在媒体的广告位上看到广告以后,如果产生兴趣,首先产生的是点击行为,广告点击与广告展现的比率称为点击率(click through rate,CTR);点击行为成功以后,将会打开广告主的落地页(landing page),落地页成功打开次数与点击次数的比例称为到达率,这是在广告主网站上发生的;如果用户从落地页开始,进一步完成下单等操作,则称为转化,转化次数与到达次数的比例称为转化率(conversion rate,CVR),这是在广告主网站上或线下发生的。

$eCPM = r(a, u, c) = \mu(a, u, c) \cdot \nu(a, u, c)  (2.3)$

后文都将沿用这样的符号表示:µ 表示点击率,ν 表示点击价值(click value),即单次点击为广告主带来的收益。前者描述的是发生在媒体上的行为,后者描述的是广告主站内的行为。
在对多个候选排序时,是根据 eCPM 还是 CTR 排序,也是区别广告产品和用户产品的重要策略特征。进一步,如果我们将所有的点击价值都等同起来,那么根据 eCPM 排序和根据 CTR 排序实际上将得到一样的结果。因此,可以认为根据 CTR 排序是根据 eCPM 排序的一种特例,这也使得将内容与广告统一排序的原生广告成为可能。
图2-3 在线广告产生效果的步骤

eCPM 一般指的是估计的千次展示收益,它有两个很相近的概念:如果讨论的是千次展示收入,往往用 RPM;如果讨论的是千次展示成本,往往用 CPM。这 3 个术语有时在实用中的区别并不明显。
根据图 2-3 所示的流程,点击价值还可以进一步分解为到达率、转化率和客单价的乘积。

2.3.2 市场上常用的计费模式

(1)CPT(cost per time)计费模式。这是一种将某个广告位以独占式方式交给某广告主,并按独占的时间段收取费用的计费模式。严格来说,这是一种销售方式而非计费模式,因为价格是双方事先约定的,无须计量。这种计费模式主要适用于一些强曝光属性、有一定定制性的广告位。在一般的展示广告中,这种计费模式在欧美市场并非经常采用,但在中国的门户网站广告中,CPT 仍然是一种主流模式。CPT 这种独占式的售卖虽然有一些额外的品牌效果和橱窗效应产生,但是非常不利于受众定向和程序化交易的发展,因而长期看来比例会有下降的趋势。
(2)CPM(cost per mille)计费模式,即按千次(mille)展示计费,这里的“mille”是拉丁文“千次”的意思。这种计费模式是供给方与需求方约定好千次展示的计费标准,至于这些展示是否能带来相应的收益,由需求方来估计和控制其中的风险。对于品牌广告,由于目标是长期回报,很难通过短期数据反馈直接计算点击价值,而点击率也因为对于用户接触的核心要求变得不是唯一重要的因素。在这种情况下,由需求方根据其市场策略与预算控制流量单价并按 CPM 计费模式计费,是比较合理的交易模式。实际上,在大多数互联网品牌广告、特别是视频广告中,CPM 都是主流的计费模式。
(3)CPC(cost per click)计费模式,即按点击计费。这种计费模式最早产生于搜索广告,并很快为多数效果类广告普遍采用。在 CPC 计费模式下,点击率的估计是由供给方(或者中间市场)完成的。点击价值的估计则由需求方完成,并通过出价的方式向市场通知自己的估价。这样的分工对于以效果为目标的在线广告而言,有着清晰的合理性:供给方通过其用户行为数据,可以相对准确地估计点击率;而转化效果是广告主站内的行为,他们自己的数据分析体系也就能更准确地对其做出评估。因此,以 CPC 计费模式计费是效果类广告非常自然的合理方式。
当然需求方不会完全按照其点击价值来出价,而是会寻求更低的价格以获得套利空间。因此,如何在市场机制上避免广告主积极地调整出价,以促进市场竞争的激烈程度,是竞价体系设计的关键。我们将在第5章中讨论这一问题。
(4)CPS(cost per sale)/CPA(cost per action)/ROI计费模式,即按照销售订单、转化行为或投入产出比来计费,这些都是按照转化付费的一些变种。这是一种比较极端的计费模式,即需求方只按照最后的转化收益来计费,从而在最大程度上规避了风险。在这种计费模式下,供给方或中间市场除了估计点击率,还要对点击价值做出估计,这样才能合理地决定流量分配。CPA模式计费的广告中有两种特殊的类型:一类是某些收集销售线索的直接效果广告,按照收集到的线索数计费,这称为CPL(cost per lead)计费模式;另一类是移动应用下载的直接效果广告,按照安装数计费,这称为CPI(cost per install)计费模式。
5)oCPX(optimized CPX)计费。oCPX 是各移动广告平台广泛采用的一种新计费模式,这里的 X 可能是 M,也可能是 C,也就是说,广告平台仍然按 CPX 计费模式计费,但会根据后续的转化目标进行优化。也就是说,虽然计费模式仍然是 CPX,但是供给方会承担点击率和点击价值估计的任务。oCPM 是智能投放这一产品趋势下的新模式,也是 CPC 计费模式和 CPA 计费模式之间的一种中间状态。
综合起来看,对于效果广告,CPC 计费模式最有利于发挥供给方和需求方的长处,因而在 PC 时代为市场广泛接受;而对于品牌广告,由于效果和目的有时不便于直接衡量,可以考虑采用 CPM 计费模式;而 CPS/CPA/ROI 计费模式只在一些特定的环境下才比较合理。

既然广告有计费需求,也就同时产生了第三方监测的需求。在CPM类品牌广告中,由于曝光在媒体上产生,广告主往往会委托第三方的广告监测公司对曝光量、点击量等指标作技术核实,并以此作为计费的依据。在按CPC或CPS计费模式计费的广告交易中,由于计费的指标(即点击或转化)在广告主的网站上产生,并不需要特别的监测服务,因此,可以认为广告监测的主要服务对象是品牌广告主。随着CPM广告定向方式越来越复杂,广告监测也从简单的展示和点击计数到频次、人口属性等信息的验证和计量。另外,对于CPA类型的广告,实际执行中存在广告主故意扣量,从而低成本赚取大量品牌曝光的可能。因此,往往需要第三方的归因(attribution)监测工具来保证转化数和计费的公正。

2.4 在线广告相关行业协会

由于供给方和需求方的博弈关系,需要一些行业协会来约束和规范市场,关注这些行业协会的立场与使命,对更清晰地认识广告的商业逻辑大有帮助。以最重要的北美市场为例,主要有以下3个行业协会需要了解。

2.4.1 交互广告局

交互广告局(Interactive Advertising Bureau,IAB)主要是站在供给方的长远利益上来研究和影响市场。换句话说,IAB 主要关注的是在线广告供给方的利益。正如 IAB 在自己网站标题上声明的那样,这一组织存在的使命,是“dedicated to the growth of interactive advertising market”,即致力于交互广告市场的壮大。而这个方向的受益者,主要是各在线媒体与广告技术公司。因此,IAB 的典型会员是 Google、Facebook、Yahoo!、Microsoft 这样的广告供给方,以及 AudienceScience 和 MediaMath 这样的广告技术公司。广告技术公司和产品的发展是为了更好地服务广告主和提升在线广告效果,以利于更多的预算进入在线广告领域。从具体工作上看,IAB 与互联网大量媒体和广告平台合作,制定了一系列意义重大的标准和规范,这些都极大地促进了在线广告行业的健康发展。其中包括如下几个重要的规范。
(1)展示广告创意尺寸标准。根据 2001 年 IAB 公布的标准仅仅支持 7 种创意尺寸,即 120 × 600(摩天大楼)、160 × 600(宽摩天大楼)、180 × 150(长方形)、300 × 250(中级长方形)、336 × 280(大长方形)、240 × 400(竖长方形)、250 × 250(正方形弹出)。创意尺寸的统一化,对于在线广告市场淡化广告位概念、推广受众定向有着非常根本的促进作用。中国市场与此对比,由于广告位尺寸非常复杂,因而各个网站之间的壁垒较高,非常不利于定向广告和程序采买的发展。
(2)视频广告标准 VAST(digital video ad serving template)。由于视频广告创意和展示形式比较复杂,消耗资源也较多,IAB 制定了一套统一的 XML schema 用于向在线视频媒体投放视频流内的广告,并对其用户进行相应的规范化的描述,这一标准实际上减少了进入视频广告领域的技术障碍,使得视频广告市场规模快速发展成为可能。
(3)通用实时竞价接口标准 OpenRTB。实时竞价的技术我们将在第 7 章中介绍,简单来说,这种采买方式是为了方便需求方按照自己的受众划分高精准地采买流量。假设各个广告交易平台的实时竞价接口不同,则意味着需求方需要付出几倍的技术成本以完成广泛的市场对接。于是,IAB 制定了统一的 OpenRTB 标准,将横幅广告、视频广告、移动广告情形下的实时竞价接口做了统一的规范。

2.4.2 美国广告代理协会

美国广告代理协会(American Association of Advertising Agencies,4A)并不是一个专门从事互联网广告的组织,而是线上线下各种广告,特别是品牌广告的代理商在美国的行业协会。4A 公司向其会员代理公司约定,至少要向广告主收取一定比例的服务费用,这一方面是为了避免行业内的恶性竞争,另一方面也是确保广告代理公司能够站在广告主的利益角度考虑问题,而后一点对于市场的长期健康发展是有很大帮助的。
为什么能够确保广告代理公司能够站在广告主的利益角度考虑问题

2.4.3 美国国家广告商协会

美国国家广告商协会(Association of National Advertisers,ANA)是一个广告主的协会,也是最彻底地代表需求方利益的组织。其会员多是 AT&T、宝洁(P&G)、NBA 这些拥有大量广告预算的广告主。ANA 对广告主利益的维护可以从一件小事中得到体现:在微软宣布考虑在 IE10 支持限制第三方 cookie 滥用的“do not track”(DNT)协议时,是 ANA 明确声明对这样的计划表示反对,因为这样将会使得在线广告市场精确投送广告的能力受到很大影响,而这显然是与广告主的利益相违背的。

第3章 在线广告产品概览

图3-1 在线广告产品进化示意
图3-1所示的产品的发展历程,表面上看是广告产品和市场本身的进化,实际上是由于数据利用和变现需求的推动。为了方便讨论,我们这一发展历程分为 4 个阶段。
(1)合约广告产品。它由线下广告的交易形式衍生而来,又可以分为按照时段售卖的 CPT 广告和按照约定展示量售卖的 CPM 广告。这类广告产品主要服务于后续效果不宜直接衡量的品牌类广告主,在门户网站和视频网站较为常见。保量 CPM 广告产生的原动力是数据变现的需要。不过由于合约中量的约束的存在,它能够变现的往往只是人口属性这类规模较大的数据。
(2)竞价广告产品,它的最重要的形式是搜索广告,其产品形式为对搜索关键词的竞价。这种广告在拓展到站外展示广告流量时,演进成了对页面关键词或者用户标签竞价的产品形式,也就是 ADN。竞价广告的商业逻辑与合约广告完全不同,也是解决效果类广告需求的关键产品形式。竞价广告产生的根本原因是为了变现诸如关键词、精细用户标签等高价值但量不大的数据,从合约中放弃量的保证以后的结果。
(3)程序化交易广告产品。竞价广告的进一步发展催生了实时竞价的交易形式。实时竞价使得需求方可以更灵活地划分和选择自己的目标受众,也使得更广泛的数据使用和交易迅速发展起来。以实时竞价为核心的一系列交易方式逐渐演变为机器之间以程序化的方式完成广告交易决策,因此,这类产品称为程序化交易广告产品。程序化交易的主要推动力是市场中广告主数据和第三方数据的使用与变现,同时它也催生了与此相关的数据交易市场。
(4)原生广告产品。广告的产品体系除了自身的演进,另一个重要课题是如何处理与非商业化内容的关系,让广告与内容尽可能以“原生”的方式共存。搜索广告和社交网络信息流广告对此作了非常有价值的探索,不过这样的原生广告在规模化和交易化方面也遇到了很多的问题。然而,随着近年来移动设备对于原生广告的强烈渴求,以信息流广告、激励视频广告、灵活拼装素材的广告等为代表的原生广告正在快速发展中。从数据的角度来看,原生广告更加重视场景数据的加工和使用

3.1 商业产品的设计原则

互联网是一个产品驱动的行业。熟悉产品设计的读者可能了解,用户产品演进的根本驱动力,是人们追求方便的天性。因此,用户产品的设计原则总是朝着更简单、更直观、更快捷的方向努力。而相应的产品设计重点也集中在关键功能的突出、操作过程的流畅等方面。

然而,商业产品关注的重点和运营的方式有相当大的区别。有时候用户体验优秀的商业产品,并不一定能带来良好的口碑或市场上的成功,这是为什么呢?商业产品一般都有一个明确的商业目标,而使用者的动力也是为了优化这个商业目标。例如,广告,其使用者不论是媒体、代理或广告主,都是为了优化自己的利润。因此,对这类产品的选择标准是客观的,也是可衡量的。Facebook 的广告之所以为大量的中小广告主广泛采用,主要原因并不是因为其使用便捷性远超同类产品,而是因为其推广效果有目共睹。因此,商业产品的任何一项功能改进,只要能带来其对应商业目标的上升机会,即使在使用流程上引入一些不便,也是可以接受的。这样的产品原则带来的结果,正如图 1-15 所示,整个广告市场的交易环节越来越复杂,使用门槛也越来越高,这与用户产品简化的大趋势是非常不同的。

3.2 广告系统的产品接口

3.2.1 广告主层级组织与投放管理

在多数产品中,广告的层次分为广告主、广告(推广)计划(campaign)、广告(推广)组(ad group)、广告创意(creative)等几个层级。
(1)广告计划概念上对应于广告主的一次投放合同,其中包括预算、时间范围等基本信息,还有一些相关设置,例如:(a)在有多个广告产品可供选择时,要在广告计划中确定投放的是哪个产品;(b)预算的分配策略,对于大多数广告计划,较为均匀地分配预算可能比较合理,但是对于游戏开发、移动应用冲榜等类型的推广,预算的集中花费则很重要。
(2)广告组对应于一个具体的广告投放策略,主要是设定受众定向条件和出价。
对媒体的选择也可以认为是一种定向条件。
对于出价与能获得流量的规模和质量的关系,广告主很难有直觉上的认识。因此,从产品的角度来讲,往往需要给出一些有意义的提示,例如,根据当前出价做的流量预估,或者比较直接的“建议出价”。

(3)广告创意则是最终展示出来的素材,可能在同一个组策略下有不同尺寸的创意存在。广告创意的必要设置还应包括展示和点击的监测地址等。

这样的 4 层级组织方式是比较通用的。除了业务管理的便捷性,这样的层级结构还为数据统计和建模提供了天然的、合理的层级结构,让新创意的冷启动问题变得容易一些。

3.2.2 供给方管理接口

供给端的资源组织主要分媒体和广告位两个层次,其中媒体可以是网站,也可以是移动应用开发者。
媒体的操作比广告主方要简单,一般来说,添加和删除广告位以及查看各广告位的运营数据是主要的功能需求。这一接口的功能性示例见图3-6(广告位名称已经被隐去)。
图3-6 媒体广告位管理示意
对于其中的某个具体广告位,根据产品功能的不同,需要的操作功能也不同,但一般来说,设定广告位尺寸、获取广告投放代码或SDK,设定该广告位对广告类型的要求,是一些通用的需求。在广告管家或SSP之类的供给方产品中,往往还会有精细的流量分配功能。

第4章 合约广告

在线广告业务的初始阶段,媒体与广告主的代理商是市场的主要参与者。线下广告的商业逻辑也被照搬到了线上,由广告代理公司和媒体签订协议,确保某些广告位在某时间段为指定的广告商所占有,同时广告商按整体合同支付广告费用。这种按CPT计费模式计费的广告位合约方式对技术的依赖性较小,只需要用到简单的广告排期系统。
合约广告的重要形式是按CPM计费的展示量合约。这种方式仍然用合同约定确定一次广告活动的投放总量和展示单价,但是售卖的对象已经由“广告位”进化到了“广告位+人群”。可以说,因为数据也被直接应用在广告售卖中,所以这是在线广告发展史上的一个重要里程碑。从供给方产品和技术的复杂程度来看,CPM合约甚至比竞价产品系统更加复杂,其复杂性主要来源于如何满足多个合约对投放系统量的要求,这就是合约广告中重要的在线分配问题。
按CPM售卖的展示量合约广告直接催生了受众定向技术。当然,受众定向本身的意义和重要程度远远超出了合约广告的范畴。

4.1 广告位合约

广告位合约是最早产生的在线广告售卖方式。它是指媒体和广告主约定在某一时间段内在某些广告位上固定投送该广告主的广告,相应的计费模式为 CPT。这是一种典型的线下广告投放模式,在互联网广告早期被采用。这种方式的缺点非常明显,即无法做到按受众投放广告,因而也无法进行深入的效果优化。
不过,这种方式在一些特定的场景下也有可取之处:首先,在一些强曝光属性的广告位上采用这种独占式的广告投放,往往可以有效地给用户带来品牌冲击,而在其他一些横幅位置长期独占式的购买,有利于形成“橱窗效应”,塑造不断攀升的品牌价值和转化效果;其次,这种销售模式可以向广告主提供一些额外的附加服务,如同一个页面上的竞品排他,这就使高溢价的流量变现成为可能。
随着受众定向技术的发展,广告位合约的执行方式也发生了很大的变化。即使某个广告位全部投放一个广告主的创意,也并不意味着要投放同样的创意,受众定向在其中也可以起到很重要的作用。例如,某汽车生产商广告主旗下可能有多个系列的产品,如小型车、紧凑型车、豪华车、SUV 等,而这些车型的潜在购买人群其实也有很大的区别,如果能够对这些系列的受众分别投送相应的创意,就可以取得更好的效果。另外,即使在受众上无法区分,也可以利用频次控制的方式向同一用户递进式地展示一系列创意,以达到更好的效果。
广告位合约还有一种变形形式,即按照广告位的轮播售卖。在这种方式中,同一个用户对同一个广告位的一系列访问,被依次标上一组循环的轮播顺序号,如{1, 2, 3}。将其中具有同样顺序号的展示作为一个虚拟的广告位,售卖给广告主。需要注意的是,对某一个用户而言,第一次展示的顺序号不应该设为 1,而是应该按相等概率从所有轮播顺序号中随机选取一个,并从此开始累加和循环。这样做是为了保证各个轮播分配到的流量一致。这种轮播的售卖方式,在广告位独占式售卖库存不够而广告主又需要确定的展现规则保证时,被较广泛地采用,特别是在中国门户网站的品牌广告中。
在 CPT 售卖的情形下,供给方和需求方的计算需求和技术成分都不太高。广告主的营销需求往往是 4A 或其他代理公司进行媒介采买。而对于广告质和量两方面的要求,也都是根据代理公司人员对媒体广告位的历史经验,以及对广告主业务的了解,通过人工优化的方式来满足。对供给方(即媒体)而言,往往会使用一种在合同确定以后自动执行合同的广告管理工具,或者称为广告排期系统。

4.2 受众定向

从展示量合约开始,大多数广告产品的核心是按照受众售卖的。
在考察某种定向方法时,有两个关键点需要关注:一是定向的效果,即符合该定向方式的流量高出平均效果的水平;二是定向的规模,即这部分流量占整体广告库存流量的比例。
另一个类似的概念是用户画像,它与受众定向的意思很相近。不过,用户画像这个词可能会给人带来一定的错觉,让人以为对用户刻画的重点是年龄、性别、付费能力这些状态属性,而实际上,对用户刻画的重点往往是当前购物兴趣等直接驱动效果的标签。

4.2.1 受众定向方法概览

图4-2 常见受众定向方法一览
在图 4-2 中,水平方向表示的是定向技术在广告信息接收过程中大致起作用的阶段,而垂直方向为定性的效果评价。对受众定向的一些典型方法说明如下。
(1)地域定向(geo-targeting)。这是一种很直觉也很早就被广泛使用的定向方式。由于很多广告主的业务有区域特性,因此地域定向是所有在线广告系统都必须支持的定向方式。地域定向也可以被认为是一种上下文定向,不过其计算很简单,仅仅需要简单的查表就可以完成。虽然地域定向一般来说效果有限,却是一种不可或缺的流量选择手段。举个例子,假设某电商网站只在北京运营和送货,那么其效果广告一般来说应该定向在北京的区域内;否则,其他省的顾客点击广告进入购物环节后,会发现无法计费,这将带来很差的用户体验。
(2)人口属性定向(demographical targeting)。人口属性定向虽然在效果上未必突出,但是由于在传统广告的话语体系中大量使用这类标签来表达受众,因此它特别为品牌广告主所熟悉。在在线广告的品牌合约中也经常会有对人口属性的要求。人口属性的主要标签包括年龄、性别、受教育程度、收入水平等。人口属性有一点与兴趣标签不同,那就是它是可以监测的,即可以用采样加调研的方法来判断一次人口属性定向的广告活动受众中有多大比例是正确的。因此,在按 CPM 计费模式计费的广告中,人口属性比其他定向标签为广告主接受的程度更高。
如果没有特别的专门数据来源,如实名制 SNS 的注册信息或在线购物的消费记录等,一般情况下要准确进行人口属性定向并不容易。在人口属性数据覆盖率不足的情况下,我们可以用已知人口属性的用户作为训练集,构造分类器对人口属性自动标注。不过,这种分类器的方法确定人口属性的准确程度有限。在效果类的广告活动中,预测人口属性的必要性不大,因为预测出来的人口属性也是根据用户其他行为特征得到的,并不能提供额外的信息量。
(3)上下文定向(contextual targeting)。根据网页或应用的具体内容来匹配相关的广告,这就是上下文定向。上下文定向的粒度可以是关键词、主题,也可以是根据广告主需求确定的分类。上下文可以粗略地描述用户当前的任务,而任务的匹配对于提高广告的关注程度至关重要。在不同类别的内容上,上下文定向的效果有很大的区别。但是,这种方式有一个非常大的好处,那就是覆盖率比较高。对大多数广告展示,不论对当前访问用户的信息了解有多少,往往都可以根据当前浏览的页面推测用户的即时兴趣,从而推送相关广告。由于覆盖率高,上下文定向也是 ADN 中首选的定向方法之一。
(4)行为定向(behavioral targeting)。行为定向是展示广告中非常重要的一种定向方式,其框架是根据用户的历史访问行为了解用户兴趣,从而投送相关广告的。行为定向之所以重要,是因为它提供了一种一般性的思路,使我们可以变现在互联网上收集到的用户行为数据。因此,行为定向的框架、算法和评价指标奠定了在线广告数据驱动的本质特征,并催生了相关的数据加工和交易的衍生业务。如果把上下文定向看成是根据用户单次访问行为的定向,那么行为定向可以被认为是一系列上下文定向的融合结果。因此,上下文定向是行为定向的基础,而且对各种类型的上下文定向,都可以有相对应的行为定向方式。例如,地域定向是根据用户当前访问的 IP 来确定地理区域,相应地,也可以根据用户过去一段时间内的访问中最频繁的地理位置来定向,这种方式更接近用户的经常居住地。
(5)精确位置定向(hyper-local targeting)。在移动设备上投放广告时,有可能获得非常精准的地理位置。例如,利用蜂窝信息或者 GPS,地理定位的精度完全可以达到街区的粒度,如果进一步利用 Wi-Fi、蓝牙等设备的室内定位技术,精度可以进一步达到数米级。这就使得基于精确地理位置的广告成为可能,也使得大量区域性非常强的小广告主(如餐饮、美容等)有机会投放精准定位的广告,这已经与传统意义上的地域定向有了质的区别,也成为移动广告最重要的机会之一。
(6)重定向(retargeting)。这是一种最简单的定制化标签,其原理是对某个广告主过去一段时间内的访客投放广告以提升效果。显然,某个广告主的访客是其独有的信息,因此这属于定制化标签。重定向被公认为是精准程度最高、效果最突出的定向方式,不过其人群覆盖量往往较小。这是因为,重定向的覆盖投放量是由广告主固有用户的量和与媒体的重合比例共同决定的。关于重定向的原理,将在第 7 章中具体介绍。
(7)新客推荐定向(look-alike targeting)。由于重定向的量太小,而且无法满足广告主接触潜在用户的需求,因此不能仅仅依靠它来投送广告。新客推荐定向的思路是根据广告主提供的种子访客信息,结合广告平台更丰富的数据,为广告主找到行为上相似的潜在客户。这一方法的目的是希望在同等用户覆盖率的情况下,达到比一些通用的兴趣标签更好的效果,这也从实质上体现了广告主数据的核心价值。新客推荐只是一种大致思路,而非具体的方法,其基本原理将在第 7 章中介绍。
(8)动态定价(dynamic pricing)。这并不是一种定向广告技术,但却与其有一定的关联,因此我们在这里一并说明。根据我们的观点,团购也是一种变相的广告形式,这种广告有两个显著的特点:首先是一般都针对区域性的广告主,因此地域定向或者直接按照地域分类组织是必要的功能;另外,团购主要是利用价格工具,直接降低用户在决策阶段的门槛,使得对价格敏感的用户转化效果有明显的提升,当然,这一手段也是要付出成本的。用类似的手段在创意上直接显示打折或降价的促销信息也被其他的电商类广告广泛使用。
(9)场景定向(scenario targeting)。场景定向是移动环境下的新问题。移动设备不同于 PC,它体现了场景上的丰富性。你在健身时、吃饭时、看电视时、开会时,都会携带和使用手机,这些你在使用手机时的背景状态就是场景。显然,场景对于广告的决策有非常重要的意义。另外,移动设备丰富的传感器和状态信息为场景的判断提供了可能。关于场景定向,我们将在 9.4.2 节中具体讨论。

4.2.2 受众定向标签体系

在一些反映用户兴趣的受众定向方法(如行为定向、上下文定向等)中,我们需要一个标签体系,将每个用户映射到其中的一个或几个标签上去。如何规划合理的标签体系对广告产品的运营影响非常大。
标签体系有两种组织方式。一种是按照某个分类法制定一个层次标签体系,其中上层的标签是下一层的父节点,在人群覆盖上是包含关系。一些面向品牌广告的受众定向,往往采用这种结构化较强的标签体系。需要指出,这一体系中的标签是根据需求方的逻辑而制定的,某些在媒体方意义很大的分类标签,如军事等,由于没有明确的需求对应,不宜出现在标签体系中。
另外一种兴趣标签的组织方式,是根据广告主的具体需求设置相应的标签,所有的标签并不能在同一个分类体系中描述,也不存在明确的父子关系。这种半结构化或非结构化的标签体系往往包含一些比较精准的标签的集合,因而主要适用于多种目标,特别是效果目标并存的广告主的精准流量选择要求。

是选择结构化的兴趣标签体系还是选择非结构化的兴趣标签体系,更多的是商业上的决策,主要考虑下面两种情形。
(1)当标签作为广告投放的直接标的时(包括 CPM 广告及竞价广告中直接可被广告主选择的人群),这些标签既要能够为广告主所理解,又要方便广告主的选择。因此,在这种情形下,结构化的层级标签体系往往是较合理的产品方案,特别是在 CPM 广告中,标签的划分不能过细(原因在 4.3.1 节中讨论)。这种结构化标签体系的一个典型代表是表 4-1 所示的 Yahoo!担保式投送受众定向标签体系。从表 4-1 可以看出,这样的标签体系非常易于理解和操作,在面向品牌广告主售卖时较为适用。

表4-1 Yahoo! 担保式投送受众定向标签体系
|一级标签|二级标签|
|—|—|
|Finance|Bank Accounts、Credit Cards、Investment、Insurance、Loans、Real Estate…|
|Service|Local、Wireless、Gas & Electric…|
|Travel|Europe、Americas、Air、Lodging、Rail…|
|Tech|Hardware、Software、Consumer、Mobile…|
|Entertainment|Games、Movies、Television、Gambling…|
|Autos|Econ/Mid/Luxury、Salon/Coupe/SUV…|
|FMCG|Personal care…|
|Retail|Apparel、Gifts、Home…|
|Other|Health、Parenting、Moving…|

(2)当标签仅仅是投放系统需要的中间变量,作为CTR预测或者其他模块的变量输入时,结构化的标签体系其实是没有必要的,应该完全按照效果驱动的方式来规划和挖掘标签,而各个标签之间也不太需要层次关系的约束。这样的标签体系,比较典型的代表是 BlueKai 的标签体系,由于其目的是追求效果或特殊人群定位,因此组织上的规整性也就让位于效果的精准性了。关于 BlueKai 标签体系的更多介绍,参见 8.2.4 节。
还有一种特殊的标签形式,即关键词。直接按照搜索或浏览内容的关键词划分人群,往往可以达到比较精准的效果。关键词标签是无层级关系、完全非结构化的,它虽然很容易理解,但并不太容易操作。

4.2.3 标签体系的设计思路

标签体系的设计必须要分行业进行,而其中的关键思路是深入研究该行业的用户决策过程。简单来说,就是要洞彻在这个行业里,用户决定买什么、不买什么的原因和逻辑。我们举几个常见的广告主行业来说明此原理。
(1)汽车行业。汽车行业的用户决策逻辑比较清晰。一个准备购买汽车的用户首先考虑的因素一定是价格:如果有 20 万元预算,就买不了 50 万元的车,也不大会考虑 10 万元以下的车。在价格区间范围需要挑选的就是车型:如果家里有两个孩子,很可能会考虑七座车;如果是“单身贵族”,可能会对跑车感兴趣。这两项都是比较理性甚至刚性的约束。而在这之后,才是对品牌的精挑细选。
因此,汽车行业的标签体系大体应该是价格、车型和品牌,这里对重要程度的排序是不能错的。
(2)游戏行业。游戏有与电影和音乐类似的艺术性特质,它的用户决策过程总体上不易把握。因为人们对艺术的喜爱并不是理性的,也就难以总结规律。如果直接用 RPG、ACT、SLG、RTS、STG 这些游戏分类作为标签体系行不行呢?其实这些分类只是为了便于游戏的组织和索引,并不能准确反映用户的决策逻辑。难道一个“RPG 游戏爱好者”会看到 RPG 就非玩不可,其他的游戏都不屑一顾吗?显然不是如此。
要想把游戏的用户标签做好,就要深入细分的游戏场景中去深入研究。比方说,玩老虎机游戏的用户往往经常换不同素材的新游戏,也就是说,将“老虎机爱好者”作为一个用户标签,与用户决策过程是相符的。而喜欢海岛奇兵游戏的用户,对于 SuperCell 新出的游戏也往往心仪,此时“SuperCell”这个品牌就成了有效的用户标签。
(3)电商行业。从消费者决策的角度来看,电商行业其实不能称为一个行业,而是多个行业的集合。不过,对于电商中典型的商品类型,如服装等,用户决策过程也是相当微妙的:某个女生看了 H&M 的某款裙子,其实很难推断出她要买裙子,也不一定是对 H&M 情有独钟,也许仅仅是因为这款裙子的特殊造型。在这类商品中,“H&M”或者“连衣裙”都不一定是有效的用户标签。因此,在实践当中,电商行业的实际做法是基本上不依靠分类,主要以“单品+个性化推荐”的方法构建和使用标签体系。详细讨论参见 7.4.4 节。

4.3 展示量合约

广告位合约并非主流。实际上,互联网主流的品牌广告投放方式是按 CPM 计费模式计费的展示量合约。展示量合约指的是约定某种受众条件下的展示量,并按照事先约定好的单位展示量价格来计费。这种合约还有一个名称,就是担保式投送(GD),其中的“担保”指的就是量的约定。在实际执行中,在未能完成合约中的投放量时,可能要求媒体承担一定的赔偿。
很多情况下,我们把展示量合约通俗地称为“CPM 广告”。实际上,CPM 广告还包括另一种按 CPM 计费模式计费但是不约定展示量的售卖方式,如广告交易市场中的广告售卖。而那样的非保量 CPM 实际上属于竞价广告而非合约广告,其商业逻辑差别较大。因此,这里我们仍然采用展示量合约的说法。
媒体从按固定广告位售卖变为按 CPM 售卖,初衷是为了在流量变现的基础上加入数据变现,面向的仍然是原来的品牌广告主。广告主按广告位采买时,比较容易预估自己拿到的流量,可是按照人群定向的方式采买,流量却有诸多不确定的因素。因此,需求方希望在合约中加入对量的保证,才能放心地采买。
展示量合约虽然以人群为显式标的进行售卖,但是请注意一个非常重要的事实:展示量合约并没有摆脱广告位这一标的物。
这是因为在 CPM 这种计费模式下,无法将多个差别很大的广告位打包成同一售卖标的。因为不同广告位的曝光有效性可能差别巨大,所以合理的 CPM 也会相应地大幅变动。实践中展示量合约往往是以一些曝光量很大的广告位为基础,再切分人群售卖,最典型的例子是视频网站的贴片位置或者门户网站首页的广告位。对实时竞价有所了解的读者可能会有疑问:广告交易市场里的广告位五花八门,为什么可以按 CPM 计费模式计费呢?这个问题我们在后面谈到实际竞价的产品逻辑时再进行讨论。
虽然从交易模式上看,展示量合约仍然是比较传统的交易模式,但是从技术层面上看,这种模式的出现实际上已经反映了互联网广告计算驱动的本质:分析得到用户和上下文的属性,并由服务端根据这些属性及广告库情况动态决定广告候选。这一商业模式的出现,需要有一系列技术手段的支持,这些手段主要包括受众定向、流量预测和担保式投放等。

4.3.1 流量预测

展示量合约售卖的是某特定人群上的广告曝光次数,而人群不同于确定的广告位,因此必须在合约中约定投放的量。于是,就产生了流量预测(traffic forecasting)这一问题。流量预测在广告产品中有以下 3 个主要用途。
(1)售前指导。因为要约定曝光总数,所以事先尽可能准确地预测各人群标签的流量至关重要。如果流量严重被低估,就会出现资源售卖量不足的情形;如果流量严重被高估,则会出现一部分合约不能达成的状况。这些都会影响系统的收入。
(2)在线流量分配。同样是在展示量合约广告中,由于合约之间在人群选择上会有很多交集,当一次曝光同时满足两个以上合约的要求时,怎样决策将它分配给哪个合约以达到整体满足所有合约的目的,这是下文将要讨论的在线分配问题。各种在线分配算法都要依赖流量预估的结果,以达到高效和准确的目标。
(3)出价指导。在竞价广告中,由于没有了量的保证,广告主往往需要根据自己预计的出价先了解一下可能获得多少流量,以判断自己的出价是否合理。
综上所述,广告里一般的流量预测问题,可以描述成对流量 t(u, b) 这个函数的估计,其中第一个参数 u 是给定的人群标签或人群标签的组合,第二个参数 b 是出价。在展示量合约中,因为没有竞价,所以可以看成是上述问题在 b →∞ 情形下的特例。

4.3.2 流量塑形

流量预测对于展示量合约非常重要,不过这本质上还是被动地统计流量情况。在有些情形下,我们可以主动地影响流量,以利于合约的达成。这一产品策略问题称为流量塑形(traffic shaping)。
流量塑形的典型场景可以参考门户网站上售卖的展示量合约广告。门户网站各子频道的流量严重依赖于首页关键位置链接的导流。假如在车展期间,汽车频道上的展示广告需求旺盛,那么首页上的链接应该更多地给汽车频道导流以利于收入的增加。这样的想法相当直接,在实践中也被广泛使用。不过,从商业产品的要求来看,要系统化、高效率地达到流量塑形的目标,需要将用户产品与广告产品的需求情况打通,然后按照一定的准则,在不伤害用户体验的情况下,尽可能提高商业变现的效率。

4.3.3 在线分配

展示量合约这种保量合约会面临一个问题:各个合约要求的人群很可能大量交叠,如何设计分配策略,使得各个合约都尽可能被满足。我们将其简化为一个二部图(bipartite graph)匹配问题:二部图的一方表示广告库存的供给节点,每个节点代表的是所有人群标签都相同的流量集合;二部图的另一方表示广告合约的需求节点,每个节点代表的是一个广告合约的人群标签条件。
供给节点、需求节点和在线分配二部图的示例如图 4-3 所示。在这个示例中,下方的 6 个节点为供给节点,而上面的 3 个节点为需求节点。如果某供给节点的受众标签能够满足某需求节点的要求,我们就在相应的 2 个节点间建立一条连接边。供给节点中的各个条件之间都是“与”的关系,因此各个供给节点之间的流量是无重合的;需求节点中的各个条件也是“与”的关系。(如果广告投放中设置的是“或”的关系,则可以转化为多个需求节点。)显然,需求节点之间可能会抢夺同一个供给节点的流量。

图4-3 在线分配中的二部图匹配问题示意

如果系统允许在一天结束后才对流量做分配,我们可以很容易地设计策略:根据每个供给节点的流量和各需求节点的约束,解上面的分配问题,得到每个供给节点应该分配多少比例的流量给某个需求节点。不过在实际情况中,我们不可能等到流量情况全部已知后再做决策,而是需要在每一次曝光时实时做出分配决策,因此,这一策略问题称为在线分配。在线分配需要根据历史数据和某种策略,离线得到一个分配方案,线上则照此方案执行。
随着标签数量的增加,供给节点的数量会以指数速度上升,而每一个供给节点的流量当然也就迅速收缩。当节点的流量过小时,对其进行相对准确的预测就变得相当困难,这时上面所说的方案就会变得完全不可行。因此,展示量合约这类广告产品在人群标签非常丰富和精准时,是无法有效地运作的,而这正是竞价广告产品的原动力之一。

4.3.4 产品案例

展示量合约有两种典型的产品场景:一是用于视频广告资源;二是全球主要门户网站的品牌性广告位。

Yahoo! 担保式投送市场为品牌广告主提供合约式的采买接口(可以通过 API 下单),并且提供了基础的定向功能来划分人群。Yahoo! 担保式投送中的人群标签包括地域、人口属性(主要是年龄和性别)以及行为定向标签。其行为定向标签分为多个层次,其中前两层的一部分标签如表 1-1 所示。
在这个行为定向标签体系中,一共有数千个标签,不过实际售卖中,产生过销售合约的不过 100 多个。这非常典型地反映了合约广告的尴尬:大量精准的标签在合约量的束缚下基本无法售卖。因此,要特别注意,一个广告产品声称自己的标签体系多么复杂,有多少标签种类,这些在实际上没有太大的意义,而这些标签的人群规模才更有说服力。

第5章 竞价广告的产品脉络

合约广告在现代数字广告平台已非主流,而主流的广告产品几乎无一例外采用了竞价模式。竞价广告的基本逻辑很容易从 5.1 节中的计算广告核心问题得出:估算每个广告候选的 eCPM,决策本次展示的 eCPM 最高者胜出。
竞价广告不同于内容推荐场景的关键因素,其关键是竞价过程里被调度的对象(广告客户)与调度方(广告平台)之间存在利益的不一致,这形成了一个博弈的市场环境。因此,围绕着平台与客户之间如何分工与合作,就衍生出了产品、技术和市场机制等方面的若干核心问题。其中,如何设计合理的市场机制是在其他场景中不太容易遇到的问题。在现代广告系统中,这个问题的解决思路和框架是在严谨的博弈论指导下建立起来的,并且形成了商业化产品在设计和运营过程中的一些重要基础概念和指导原则。应该说,区分一个商业化产品经理是否合格的一个核心标志,就是他对市场在博弈和机制这两个方面的理解。
在计算用于排序的eCPM过程中,因为数据分布在供需双方,所以如何分工计算eCPM中的点击率和点击价值就成了需要探讨的问题。沿着这个思路,市场上逐渐形成了“程序化交易”和“智能投放”两个异化的产品方向。

5.1 竞价广告的三大核心问题

竞价广告是用拍卖的方式销售广告的:系统根据计算得到的eCPM决定谁可以得到本次展示机会。显然,这里不再像第4章中介绍的合约广告那样,需要预估流量和分配流量,只需要把eCPM算清楚,按照价高者得的方式决策即可。在同一次拍卖中,可能存在几个广告位。竞价广告在搜索广告和信息流广告中的具体位置,可以参见图5-1中的示例。
图5-1 竞价广告位置示例

我们把这一竞价过程抽象一下。假设在某次广告展示中有一组广告位可以被占用,将这些广告位按照其经验价值排名,分别记为 s = 1, 2, … , S(如果只有一个广告位,S 为 1)。同时,在该次广告请求中,有一组广告 a = 1, 2, 3,… , A 出价参与拍卖,系统将前 S 个 eCPM 最高的广告依次放到前面排序好的 S 个广告位上,如图 5-2 所示。这一问题也被称为位置拍卖(position auction)。
这看起来是一个典型的博弈论问题。如何设计其中的一些重要机制往往对整个竞价市场的收益、稳定性、公平性等有着巨大的影响,这就是我们后面要谈到的机制设计。

图5-2 位置拍卖问题示例

竞价广告的好处:首先,它避免了刚性的媒体定价,采用市场博弈的方式决定价格,这让各种类型的流量因其供需的紧张程度自动得到了合适的定价,有利于资源效率的最优化配置;其次,它去除了合约广告中供需双方之间量的约束,使调度过程变得简单明晰,也使细分流量、容纳大量的广告客户成为可能。

实际上,在竞价广告产生以后,广告平台的客户数量才有了质的突破,从几千迅速上升到几万、几十万直至数百万。在今天,Facebook 广告平台有超过 900 万的活跃账户。

$eCPM = r(a, u, c) = \mu(a, u, c) \cdot \nu(a, u) = \mu(a, u, c) \cdot c(a, u) \cdot t(a) (5.1)$

如上所示,eCPM 可以分解成点击率和点击价值的乘积,或者进一步分解成点击率、转化率和转化价值三者的乘积。由于点击率相关的数据产生在媒体上,而转化率、转化价值相关的数据产生在客户那边,因此要得出这个用于排序的 eCPM 指标必然要涉及供需双方的数据和计算合作。
竞价问题的复杂性和产品的多样性,就是从供需双方合作这一点引入的。看一看式(5.1)的计算过程,很容易发现,有 3 个重要问题需要解决。
(1)计算的供需分工问题。虽然说数据分属供需双方,媒体计算点击率、客户计算点击价值是最自然的分工。然而,这并不是唯一可行的方式,如果深入思考一下,就会产生这样的想法:为什么不能将点击率和转化率全都交给媒体计算,客户只提供转化价值?或者为什么不能整个 eCPM 都交给客户计算?
实际上,这两种思路也是完全可行的,并且是竞价广告产品发展的主要方向,我们将在 5.3 节中探讨计算分工带来的产品演进方向。
(2)合作的信息透明问题。不论由客户方提供转化价值、点击价值还是整体的 eCPM,在 eCPM 的计算过程中,必定需要客户提供的某种数据信息。这就产生了一个直接的问题:为什么客户要把自己的真实数据上报给广告平台?
当然,客户确实是没有义务说实话的。但是,如果客户不说实话,eCPM 的计算就会不准确,相应地排序自然也就是错乱的,这就违背了我们设计竞价市场的初衷。具体来说,这违背了我们希望整个市场能够“将广告展示机会提供给产出最大的人”这样一种最优化社会资源配置的理念。
之所以有这个问题,核心原因是客户与平台的利益诉求并不一致:客户希望有更高的投入产出比,而平台希望有更高的收益,他们之间是既合作又斗争的博弈关系。
(3)如何准确估计的问题。在供需双方完成了 eCPM 的计算分工以后,需要探讨的就是具体的计算方法了。在此过程中,需要计算的核心量包括点击率、转化率和用于竞价标的物的受众定向标签等,而这些更多是属于技术的范畴的,会用到一些大数据和机器学习方面的能力。

5.2 竞价市场的机制设计

我们先给图 5-3 中的位置拍卖问题标示一些相关数值:当某个广告 a 被放在 s 位置上时,其期望收益即 eCPM 为 ras = µsνa。这里做了一些假设,比如点击率µ仅与位置 s 有关,而点击价值ν仅与广告 a 有关,但这并不影响对竞价问题宏观市场的讨论。
图5-3 位置拍卖问题示例
所谓机制设计(mechanism design),就是在博弈论的框架下指定其中的一些数值的计算规则和方法,这里有可能涉及的数值包括对每个位置上的广告收取的费用(即价格 p),还包括允许参与竞价的准入门槛,以及计算过程中的一些参数等。在讨论这些具体的机制之前,我们有必要先说明,设计这些机制的根本目标或原则是什么。
如前所述,在竞价广告中,机制设计最基本的任务是解决客户真实上报需求方的价值问题,以达到正确排序的目的。在博弈论框架下,把这一目标函数称为社会福利最优,即广告主和广告平台总体的收益最大。其中的逻辑不难理解:如果客户实话实说,广告平台会把广告机会分配给后续回报价值最高的广告主,也就实现了资源的最合理配置,即社会福利最优。
然而,必须说明的是,平台真实希望的结果并不一定是社会福利最优,而是平台方利益最大,在机制设计中,这一目标称为收入最优。在5.2.4节中,我们会讨论收入最优的机制设计,我们可以看到,与社会福利最优相比,收入最优将带来机制上非常显著的差异。

5.2.1 定价问题

位置拍卖最重要的机制设计是定价(pricing)问题,它探讨的是在一次位置拍卖中,给定各参与者的出价以及他们的期望收益,如何对最后获得某个位置的广告商收取合适的费用。

假设有某个单位置(S = 1)的广告机会在竞拍,开始有两个广告主参与,甲出价 1 元,乙出价 2 元,于是乙赢得了此次竞价,如果按照其出价来收费,市场就向他收取 2 元的费用。在广告市场里,这一拍卖机会还会重复出现(对应于不断产生的展示),因此广告主也存在调整出价的机会,假设乙在发现自己出 2 元钱能拿到流量以后,自然就会想到,是不是可以调低出价,用更低的成本拿到流量?乙将一直不断尝试,直到把出价调低到 1.01 元,发现继续调低就拿不到位置了。于是系统稳定在甲出价 1 元,乙出价 1.01 元。此时,假设又有一个广告主丙加入竞争,并希望赢得此广告位,那么以此类推,他在不断调整后将会出价 1.02 元,市场的收入也就是 1.02 元。我们有可能通过调整定价策略来影响系统的总收益吗?答案是肯定的。例如,我们在甲出 2 元,乙出 1 元参与竞价时,并不对获胜的甲收 2 元,而是收取其下一名(即乙)的出价 1 元,那么甲就没有动力调低其出价了。那么当丙加入时,就需要出价 2 元以上才可以赢得竞价,市场的收入也就变成了 2 元(不论丙出价多少,我们都按其下一位即甲的出价来收费)。这个简单的例子告诉我们,在广告这样的参与者可以针对同一个标的物不断调整出价的拍卖环境中,通过聪明的定价策略,完全可能为整个市场创造更高的收益和更好的市场稳定性。
在定价问题上,微观上的直觉未必可以推广到宏观市场。从整个市场的角度来看,我们重点需要研究的是市场处于稳定状态下的收益和其他特性。而所谓稳定,指的是整个竞价系统处于纳什均衡(Nash equilibrium)状态,即每个广告商都通过出价得到了最符合自己利益的位置。对某一次位置竞价来说,其对称纳什均衡(symmetric Nash equilibrium)状态的意义很容易理解:对于最终位置排名竞价结果中的每一条广告,其收益都比排在其他位置上要高。显然,在这样的状态下,每个广告商都达到了自己的最优状态,整个系统也就随之稳定下来。
市场方能够主动调整的是定价策略。随着定价策略的不同,市场达到稳定状态时的宏观收益情况和稳定的程度都有所不同。因此,有关竞价市场宏观性质的研究,主要目的是寻找更好的定价策略以优化整体收益。

在线广告竞价市场最常见的定价策略是 GSP 方案,另外还有一种 Vickrey-Clarke-Groves(VCG)定价策略,我们分别来介绍一下。
1.广义第二高价(GSP)
在只有一个位置的拍卖中,向赢得该位置的广告商收取其下一位广告主的出价,这样的拍卖也叫作 Vickrey 拍卖。在搜索广告这种有多个位置的拍卖过程中,很容易凭直觉将第二高价策略推广成这样的策略:对每一个赢得位置的广告主,都按照他下一位的广告主出价来收取费用,这就是广义第二高价。
第二高价有个重要的性质:客户将自己的回报作为出价忠实表达的话,将会获取最大的总利益。这称为“实话实说原理”,这正是我们在 5.1 节中希望得到的结果。显然,在实话实说原理的引导下,很容易理解第二高价是社会福利最优的机制。
第二高价和广义第二高价的直觉合理性在上面已经有所解释。不过,实际上广义第二高价并不是多位置拍卖时社会福利最优的机制(最优策略是下面要介绍的 VCG 定价)。但是,广义第二高价却有着实现简单、容易向广告主解释等诸多操作中的优点,因此在实际的竞价广告系统中是最主流的定价策略。

如果按 CPM 计费模式计费,那么广义第二高价可以非常直接应用。但在按 CPC 计费模式计费的竞价广告系统中,广告主的出价是针对点击的,而竞价是针对 eCPM 的,因此要对两者做一下换算,以实现 CPC 情形下的广义第二高价,其定价公式为:

$qs = \frac{\mu_{s+1} \cdot b_{s+1}}{\mu_s} + \Delta (5.3)$

如果将等式两边同时乘以 $\mu_s$,可以看出广义第二高价实际上仍然是 eCPM 上的第二高价。
不论是采用 CPM 计费模式还是 CPC 计费模式,在广义第二高价的情形下,对某广告主的定价是一定不会大于其出价的。实际上,这种定价策略也同样适用于采用 CPS 计费模式的竞价市场,并且只需要将式(5.3)中的 µ 换成 µν 即可。式(5.3)最后的 ∆,一般为广告系统计费货币的最小单位,如 1 美分,这是一种历史惯例,也在某种程度上让广告主心理上感觉更加合理。

2.VCG
VCG 定价是 Vickrey、Clarke 和 Groves 在研究竞价系统均衡状态时得到的社会福利最优的定价策略,其基本思想是对于赢得了某个位置的广告主,其所付出的成本应该等于他占据这个位置给其他市场参与者带来的价值损害。
这种定价策略在直觉上的合理性很容易理解。理论分析表明,VCG 定价策略的优越性体现在如下几个方面:首先,在这种定价策略的稳定状态下,市场中的理性广告主是忠实出价的,也就是说,每人能找自己的回报价值来出价,就找到了自己的最优状态;其次,相对于其他定价策略,这种定价向广告主收取的费用是最少的。在单广告位拍卖的情形下,VCG 定价策略就退化为第二高价策略。
这种定价策略在直觉上的合理性很容易理解。理论分析表明,VCG 定价策略的优越性体现在如下几个方面:首先,在这种定价策略的稳定状态下,市场中的理性广告主是忠实出价的,也就是说,每人能找自己的回报价值来出价,就找到了自己的最优状态;其次,相对于其他定价策略,这种定价向广告主收取的费用是最少的。在单广告位拍卖的情形下,VCG 定价策略就退化为第二高价策略。
可以证明 VCG 是社会福利最优的定价方式,也就是说,广告平台和广告主的整体收益达到了最大。不过,在 VCG 定价情况下,平台的收入却不如 GSP。
VCG 定价在竞价广告中并不是一种主流的方式。这主要是因为这种定价方式的逻辑过于复杂,比较难以向广告主解释清楚;另外,在广告主和媒体存在博弈关系的情形下,媒体是否正确地计算了“给其他市场参与者带来的价值损害”也很难验证。不过这种定价方法也有其市场空间,有的广告厂商(如 Facebook)在实际产品中也采用了这一定价机制。

5.2.2 价格挤压

在采用 CPC 计费模式的广告产品中,eCPM 可以表示成点击率和出价的乘积,即 $r = \mu \cdot \nu = \mu \cdot {bid_{CPC}}$。但是在竞价的机制设计中,我们有时会对此公式做一些微调,把它变成下面的形式:

$r = \mu^{\kappa} \cdot \text{bid}_{\text{CPC}} (5.5)$

其中的 κ 为一个大于 0 的实数。我们可以考虑两种极端情况来理解 κ 的作用:当 κ→∞ 时,相当于只根据点击率来排序,而不考虑出价的作用;反之,当 κ→0 时,则相当于只根据出价来排序。因此,随着 κ 的增大,相当于我们在挤压出价在整个竞价体系中的作用,因此我们把这个因子叫作价格挤压(squashing)因子。
价格挤压因子的作用主要是能够根据市场情况,更主动地影响竞价体系向着需要的方向发展。例如,如果发现市场上存在大量的出价较高但品质不高的广告主,则可以通过调高κ来强调质量和用户反馈的影响;如果发现市场的竞价激烈程度不够,则可以通过降低κ来鼓励竞争,如果存在短期的财务压力,这样就可以短期使整体营收有所上升;如果要鼓励广告主提高广告质量和相关性,则可以通过提高κ来降低出价的影响。

5.2.3 市场保留价

为了控制广告的质量和保持一定的出售单价,竞价广告市场往往要设置一个赢得拍卖位置的最低价格,我们将这一价格称为市场保留价(market reserve price,MRP),俗称“起价”或“底价”。广告主的出价只有在高于市场保留价时,才能获得竞价机会,同时在赢得某个拍卖位置后,如果根据定价策略算出的付费低于市场保留价(以广义第二高价为例),也需要调整到市场保留价的水平上。
确定 MRP 是竞价广告重要的产品策略,MRP 定得过低或过高,都不利于整个市场的收益最大化。一般来说,当竞争较充分、广告主深度足够时,MRP 可以设置得比较高;反之则应适当降低。市场保留价的设置有两种方法:一是对整个竞价市场采用同样的保留价格;二是根据不同标的物(如搜索广告里的关键词)的特性设置不同的保留价格。如果按照后一种方法设置,显然应该对那些竞争较激烈的关键词设置比较高的 MRP。
在搜索广告的实践中还有一点:北区和东区的广告虽然共享一个竞价队列,但为了保证北区黄金位置得到较好的变现,我们往往会对北区单独设一个较高的 MRP。
关于如何计算最优的市场保留价,也有一些理论研究和实践方法。简单来说,一个特定关键词的最优起价仅与竞价和质量度的分布有关,通过拟合其被保留价截断的分布为核心,可以通过理论上的计算公式来解出最优起价。自付费搜索的商业模式成型以来,搜索引擎便在不断尝试调整关键词竞拍的起价,在市场可以接受的前提下提升自身的收益水平。2001 年,Yahoo!将其起价统一设置为 5 美分,2008 年,Yahoo!结合理论的推导结果,对部分雅虎搜索关键词进行动态调价,不同价值的关键词被调整为不同的起价。此次调价后,据持续观测,起价提升在 2008 年第三季度,对收入的影响为 +13%。而谷歌并没有公开自己的起价计算方法与过程,但是一般认为其起价的制定策略是业界较为先进的,早在 Yahoo!实行动态起价之前,研究人员即发现谷歌的起价也是动态的。
无论是调整市场整体的 MRP,还是在不同流量划分上动态设置 MRP,其基本原理都是根据竞价广告主的 eCPM 分布,找到一个使填充率没有明显下降的 CPM 底价,然后再根据质量度倒算其 CPC 底价。实际上,由于考虑质量度,动态底价可以同时与 (a、u、c) 这 3 个参数都有关系,做到完全的动态。

5.2.4 收入最优和迈尔森拍卖

第二高价和 VCG 是社会福利最优的定价机制。但在实践中,广告平台更加关注的是使收入最优(也就是平台方价值最优)的方法。这个问题,称为最优拍卖问题(optimal auction problem)。当拍卖的标的是单个的不可分物品时,罗杰·迈尔森(Roger Myerson)给出了理论上的最优机制,称为迈尔森拍卖。
在迈尔森拍卖中,我们假设某个广告主 a 的点击期望收益 $ν_a$ 为一个随机变量,其概率密度函数为 $f_a$,累积分布函数为 $F_a$,而广告主 a 的出价为 $b_a$。为了简化问题,我们先假设所有广告候选的点击率没有差别,在这种情形下,最优的拍卖机制如下。
(1)将广告主的出价映射成一个虚拟出价 $b_a’ = b_a - [1-F_a(b_a)]/f_a(b_a)$。
(2)以 0 作为虚拟出价上的 MRP,对出价者进行过滤。
(3)在虚拟出价上按第二高价方式进行定价,并转换回真实出价域来扣费。
总结起来,这种机制不保证按照出价的高低进行排序,甚至有时还会拒绝所有的出价者。当 $f_a$ 皆为[0, 1]区间的均匀分布时,此机制等价于第二高价加上 0.5 的底价。其作用直观上也很好解释:对于那些期望收益很可能比较高的大玩家,我们会通过虚拟出价的变换对其进行一定程度的惩罚,以刺激其出更高的价格。
由于迈尔森拍卖不仅会影响定价结果,甚至还会影响排序结果,很难向广告主解释其公平性,因此,实践当中各大广告平台虽然或多或少地会采用一些迈尔森拍卖的思想(如对出价能力强的买家进行一定程度的价格歧视),但很少直接采用迈尔森拍卖的形式作为市场规则。当然,即使有的平台确实采用了类似的机制,也不会公开宣称。
严格按照迈尔森拍卖的方式对客户的出价上下其手以获取更多的利益会导致不公平的拍卖机制。另外,建模过程也相当复杂,并不容易实践。虽然如此,迈尔森的结论还是给竞价广告市场的运营者带来了非常重要的启示:在一个拍卖市场中,客户的数量和活跃度才是收入的根本决定因素,而若干大客户鹤立鸡群的预算反而可能是毒药。于是,除机制本身以外,在产品、运营各环节中,如果能够尽量降低小客户进入的门槛,为他们提供便利甚至扶持,对整体市场的健康运转十分有益。

5.2.5 定价结果示例

我们用一个具体的例子来直观地说明上述的综合竞价和定价过程:假设有一组广告竞争一个有多个位置的搜索广告展示机会,其出价和系统对其点击率[1]的预估如表 5-2 中的第一列和第二列所示,那么计算出的 eCPM,以及按照 GSP 定价策略并取不同 κ 值时向每个广告主收取的费用,如表 5-2 的后面几列所示[2]。从表 5-2 的例子中可以看出,经过 GSP 的 CPC 定价并不是降序的,并且存在低于 MRP(如第三位的广告)的情形,这时需要将其强制设为 MRP;另外,κ 对排序和定价都有明显的影响。

[1] 这里的点击率考虑了广告而未考虑位置和其他因素的影响,因此仅仅是示意性的。
[2] 计算中忽略了式(5.3)中计价时多加的 ∆。

表5-2 GSP广告竞价过程示例(单位:元。MRP=0.25)
|出价|点击率(%)|排序/定价(κ = 1.0)|排序/定价(κ = 2.5)|排序/定价(κ = 0.5)|
|:-:|:-:|:-:|:-:|:-:|
|0.8|1.6|1/0.50|1/0.25|2/0.25|
|2|0.4|2/0.75|3/0.70|1/1.60|
|0.3|1|3/0.25|2/0.25|3/0.28|
|0.4|0.5|4/0.25|4/0.25|4/0.25|

5.3 计算分工带来的产品方向演进

如果将 eCPM 全都交给需求方计算,并将算出的 eCPM 值上报广告平台参与竞价,这就是程序化交易模式,我们将在第 16 章详细解读;如果将点击率和转化率都交由供给方平台预估,需求方只需要给出转化价值,这就是在移动广告时代越来越重要的以 oCPX 为代表的智能投放模式,我们将在 9.5 节中探讨这一模式。

根据 eCPM 的分解决定某部分由谁来计算,是各种计费模式产生的根本原因。
表 5-3 竞价广告的计算分工与产品方向
|计费模式|点击率|转化率|转化价值|产品关键|
|—|—|—|—|—|
|CPC竞价|供给方|需求方|需求方| |
|程序化交易|需求方|需求方|需求方|实时报价|
|智能投放|供给方|供给方|需求方|oCPX|

5.3.1 自然的计算分工与CPC计费

按点击计费的 CPC 模式,在竞价广告中具有最为自然的合理地位,其原因很容易理解:在广告的数据链路中,供给方占有展示和点击数据,自然具备计算点击率的基础;需求方占有广告主站内数据,自然具备评估转化率的基础。
这种中庸的计费模式,在通过机制解决了需求方上报真实点击价值的问题以后,理论上具备了得到相对正确的 eCPM 并用于排序的产品基础。因此,在 PC 时代的竞价广告市场中,CPC 这种计费模式具有接近垄断的地位,这也是计算分工最为自然的结果。
这种计算分工只是“自然”的,因为谁的数据谁负责计算,但并不一定是“合理”的,因为供需双方在具体场景下的数据价值、计算能力,可能有着巨大的差异。因此,深入思考的商业产品领域的产品经理,一定会思考另外两个显而易见的可能的产品方向:让需求方承担更多计算任务,或者让供给方承担更多计算任务。

5.3.2 程序化交易——需求方承担更多计算分工

有些情况下,除了计算点击价值,需求方还有充分的能力,在点击率计算方面也有可能比媒体方做得更好。既然如此,一个自然的产品思路就是干脆把点击率也交给需求方来计算。
需求方同时计算点击率和点击价值,从计费模式上来看,就要变成 CPM 计费模式。读过 2.3.2 节的读者应该对此不难理解。可是,在竞价广告中,仅将计费模式变成 CPM 还不能达到由客户承担更多计算任务的目的,问题出在哪儿呢?
我们注意到,在式(5.1)中 eCPM(即点击率)是 a、u、c 这 3 个变量的函数,也就是说,它与某次具体的展示相关。但是,如果仅从广告 a 的角度来看,点击率显然不能当成常量来理解和建模,否则就失去了数字广告对不同的用户动态分配不同的广告这一根本性的优势。因此,对于同一个广告,即使由需求方来计算整体的 eCPM,也必然要求对每次展示机会分别计算,才有可能比供给方计算更有优势。
要对每次展示机会分别计算 eCPM,并上报给供给方排序,显然,原有的基于人工操作的出价界面就不适合了——现代广告平台每秒都可能有成千上万次的广告请求。于是,新的市场诉求催生了新的产品形式:将供给方询价、需求方报价变成实时接口,而需求方用一段程序代替原有的人工出价,在每次展示机会上分别计算 eCPM 并报价,这就是所谓的程序化交易。
因此,程序化交易的本质就是为了适应需求方承担更多计算任务的产品诉求,用程序替代人进行报价的新交易接口形式。程序化交易一般都是采用 CPM 计费模式。

细心的读者会产生一个疑问:需求方计算eCPM时要在每次展示机会上分别计算,那么在CPC计费的场景中,需求方负责计算并作为报价输出的点击价值,难道不也是要在每次展示上分别计算吗——不同的人群和场景,显然对转化率和转化单价也有影响。一点儿没错,在CPC计费模式下,客户给出的统一点击报价其实是抹杀了各次展示之间转化率的差异,用下面的式子做了近似:

$\text{eCPM} = r(a, u, c) = \mu(a, u, c) \cdot \nu(a) \quad (5.6)$

虽然有这样的近似,但是由供给方计算的点击率部分还是与(u, c)有关,于是,整体的 eCPM 计算仍然体现了人群和环境的差异,具有细分流量的能力。可是,如果在需求方计算整体 eCPM 的场景时抹去(u, c)的差异,代之以统一的值 eCPM(a),那么整个竞价广告体系就失去了个性化的基本能力。
我们再从宏观博弈的角度分析一下程序化交易产生后的市场影响。什么样的客户有能力计算 eCPM,并实时提供报价呢?显然,只有那些信息技术能力较强,并且具备一定数据基础的客户才有可能这么做,做了也才有意义。于是,程序化交易的新模式,服务的主要是那些能力较强的头部客户。他们本来就是市场竞争中的相对强者,再加上程序化接口的出现,他们的买量能力又进一步加强了。于是,市场上可以预期的后果之一就是“强者更强,弱者更弱”,而根据我们在 5.2.4 节中的迈尔森拍卖理论,这对于拍卖方的收入最优很可能并不是好事。
那么,如果从扶持小客户的角度出发,又会有什么样的产品方向呢?

5.3.3 智能投放——供给方承担更多计算分工

对大量的中小客户来说,理解竞价广告的逻辑是有一定困难的:什么是竞价?什么是CPC?什么又是二价?这些理论上自洽的体系,对各行各业将数字广告视为一个新推广渠道的客户来说是相当费解的。于是,虽然有适合驱动直接效果的产品优势,这些与传统广告截然不同的模式和术语,不得不说还是阻碍了相当多客户进入这一领域。
除了模式和术语带来的鸿沟,我们认为自然合理的 CPC 计费模式其实对很多中小客户来说也是不小的挑战:计算点击价值用于 CPC 计费模式下的出价,对那些根本还没有建立数字化运营体系而无从量化计算每个点击带来转化的客户来说,实在是勉为其难。即使能参与,他们往往也会非常感性地设置出价,整个市场也就离社会福利最优的目标相去甚远。
这么看来,在 CPC 计费模式下,市场上肯定还有大量潜在的中小客户因为无法定量计算点击价值等问题,对竞价广告只能望洋兴叹。而根据我们在 5.1 节中的讨论,竞价广告市场收入最核心的原则是尽量扩大活跃的客户群,而扩大客户群最重要的产品动作,就是帮助中小客户解决以上困惑和定量计算问题。
如果按 CPS/CPA/ROI 计费,看起来以上问题可以迎刃而解:客户无法理解和计算 CPC,但是对单次转化带来的收益一般都是比较容易评估的,如果按效果计费,显然有更多的客户可以参与到市场中来。这就带来了我们所说的第二个产品方向——智能投放。
智能投放的产品理念,就是由平台承担更多的计算任务,帮客户计算好转化率,而客户只需给出转化价值作为出价即可。那么,能不能直接采用 CPS/CPA/ROI 计费模式呢?看起来可行,可实际上这会带来非常严重的劣币驱逐良币问题。
举个不太恰当的例子,某网络红人以亲自发明制造“绝对没有用处的机械装置”而走红。假设有人按这个思路生产了一批毫无用处、根本不会有人买单的产品,那么在以 CPS 模式计费的广告平台上,他尝试着卖这些东西是没有任何成本的——卖出去了才交钱,卖不出去无所谓。于是,就会有大量没有经过精细打磨的“劣币”产品跑到平台上来以 CPS 模式蹭流量。而我们知道,平台对一个产品转化率的判断,归根结底要靠数据积累,因此在数据积累还不充分的学习期,这些“劣币”的转化率肯定是会被高估的。而随着这种蹭流量的“劣币”大量涌入,大量的流量就会浪费在它们身上,整个生态也会逐渐崩溃。
这么看来,直接采用 CPS 计费模式计费一般不可取。那么,合理的智能投放模式是什么样的呢?目前的主流是 oCPX 计费模式。oCPX 是现在各移动广告平台广泛采用的新计费模式:广告平台采用 CPX 计费模式计算费用,但是在内部引擎的优化上,会根据客户给出的转化出价,计算转化率并进行优化。也就是说,虽然计费模式仍然是 CPM,但是供给方会承担点击率和点击价值估计的任务。
对于新广告,因为无法确定它是不是“良币”,所以采用 CPA 计费风险较高。而在 oCPX 模式下,广告主将自己的转化数据对接给平台,在积累到一定转化量,建模上已经可以较准确评估其转化率以后,“劣币”自然也就拿不到流量了,而那些转化率好的“良币”也就可以“躺着赚钱”了。
通过 oCPX 计费模式,平台可以极大地降低了广告主的投放优化工作量。而这样的变化,让大量运营能力薄弱的客户进入竞价广告市场成为可能。于是,这一产品方向实际上起到了扶持小客户、提高市场活跃度的作用,而这对平台的收入水平与健康程度至关重要。从实践效果来看,Facebook 的活跃账户数量已经突破了 900 万,这与其 oCPX 的产品创新应该说有直接的关系。

第6章 搜索广告与竞价广告网络

对比合约广告可知,竞价交易模式的本质是将量的约束从交易过程中去除,仅仅采用“价高者得”的简单决策方案来投放广告。
本章将集中介绍非实时的竞价类广告产品,主要是搜索广告和竞价广告网络,并重点讨论其中关键的产品策略。
在竞价的交易逻辑下,展示广告领域也产生了广告网络这种批量采购各种媒体剩余流量,然后按照点击付费的方式售卖给广告主的产品形式。广告网络中竞价的标的有两种:一是上下文页面中的关键词,这是直接从搜索广告衍生而来的;二是根据用户行为加工的兴趣标签,这是从展示广告的定向逻辑发展而来的。广告网络的竞价环境与搜索广告有所不同:各种上下文或用户标签的有效性差别巨大,另外各种广告位的差别也会很大。因此,除了完全依照 eCPM 估计排序广告外,冷启动问题以及各种复杂环境下点击率的归一化非常重要。这些使广告网络的效果优化有着独特的挑战性。
面对竞价广告的产生,需求方的产品和技术也在发生变化。其中关键的变化有两点:一是由面向广告位采买变成面向人群的跨网络采买;二是帮助广告主在竞价环境中完成量的保证,而这一点是竞价市场本身不再保证的。能达到这些需求方目的的产品,我们称其为媒体采买平台。在媒体采买平台里,在量的约束下完成 ROI 优化的问题依然存在,并且变得比在线分配问题更加困难,ROI 优化也成为高端采买平台提供的服务之一。当然,搜索广告的媒体采买和 ROI 优化同样十分重要,这项专门的服务被称为搜索引擎营销(search engine marketing,SEM)。

6.1 搜索广告

搜索广告是典型的竞价广告产品,其特点是广告主就某标的物(在这里是关键词)的广告展示机会展开拍卖式的竞争,并根据竞争结果依次占据该广告展示的若干位置。这与第4章中的展示量合约是截然不同的:首先,量的保证不复存在,广告主需要自行调整效果与量的平衡;其次,价格的约定也被去掉,每个广告主都可以随时调整个关键词上的出价。

6.1.1 搜索广告产品形态

搜索广告是以查询词为粒度进行受众定向,并按竞价方式售卖、按CPC计费模式计费的广告产品。通常,搜索广告展示在搜索结果页,如图6-2所示。PC搜索广告创意的展示区域一般来说分为北(north)、东(east)、南(south)3个部分。北区和东区的所有位置构成同一次关键词拍卖的位置集合,竞价时位置的排序为{north1, north2, …, east1, east2, … },这基本上是根据各个位置点击率的高低排列的。同时,并不需要在这些位置上全出广告,这与横幅广告有显著的区别。对于南区的广告,不同的搜索引擎有不同的产品处理方法,有的直接照搬北区广告,有的则直接照搬东区的前几条。
图6-2 搜索广告竞价位置示例
搜索广告最基本的形式是与自然检索结果一致的文字链,一般会加底色和角上的“推广”“推广链接”“Ads”等字样,以区别于自然结果,这样做的目的是让那些对广告没有兴趣的人尽量减少误点击,从而降低广告主的无效消费和提升用户体验。
由于移动搜索结果一般简单组织成信息流的形式,移动搜索广告的形式比 PC 搜索广告要简单:在通用搜索中,广告往往出现在最上面或最下面,并没有东区的存在;在一些垂直搜索中,广告则可能穿插在内容里。图 6-3 给出了移动搜索广告的产品示例。
图6-3 移动搜索广告产品示例
搜索广告竞价的标的物是竞价关键词(bid term),用户输入的查询(query)通过与关键词相匹配,来确定是否可以触发该条广告。匹配的方式既可以采取简单的精确匹配,也可以有更多的扩展方式,这称为查询扩展,是搜索广告的一项比较关键的产品策略。

在互联网广告的整个产品谱系当中,搜索广告有着特别重要的地位,具有以下一些鲜明的产品和技术特点。
(1)搜索广告的变现能力,即 eCPM 远远高于一般的展示广告,其市场重要程度也就得以彰显。因此,与搜索广告相关的一些独特问题和算法的研究,受到了高度的重视。而搜索广告高变现能力最关键的产品原因就是,用户主动输入的查询直接反映了用户的意图。
(2)搜索广告的受众定向标签,即是上下文的搜索查询。由于搜索词非常强地表征着用户的意图,因此搜索广告可以进行非常精准的定向。相对于搜索词,根据用户历史行为得到的兴趣标签的重要性大打折扣,这一方面是因为其信号远不如搜索词强烈,另一方面是因为用户这样明确意图的任务是不能被打断的(参见 2.1 节)。因此,搜索广告里的 eCPM 由一般情形下的 r(a, u, c)退化成了 r(a, c)。
(3)搜索广告的展示形式与自然结果的展示形式非常接近,往往仅在底色和文字链接中有不太引人注目的提示。这样的产品设计使得它有原生广告的意味,也进一步提高了广告效果。但是,这样的广告结果对相关性的要求远远超过展示广告,因此在根据查询匹配广告时需要非常精细的策略和技术。

6.1.2 搜索广告产品新形式

1.超越文字链的创意
显然,蓝色超链接不是搜索广告的产品终点。随着搜索结果本身向着展示更丰富、获取内容更直接、行业性不断加强的方向发展,搜索广告也在探索一些能传递更多价值的展现形式,以同时提升用户体验和变现效率。
图6-4 搜索广告新产品示例

2.弱相关广告形式
搜索引擎右侧的产品原则与左侧相比,有一点点区别,那就是在合理和可解释的范围内可以增加一点相关性要求稍低的泛化内容,因此为这部分的广告产品设计也提供了新的空间。我们用两个例子来介绍这方面的探索。
(1)图 6-4 中的③部分是一种在搜索广告中常见的带有一定品牌意味的广告形式。它是以广告主对应的一组导航类搜索关键词,在用户搜索这些关键词时展示该广告主的品牌宣传性创意。这样的产品,可以提升广告主用户对品牌的认知程度和后续黏性。
(2)图 6-4 中的④部分是一些搜索引擎提供的同类推荐功能,在此例中,为相关的旅游类网站。显然,这部分的列表和排序可以按照竞价广告的逻辑来运营。通过这一广告产品,可以为搜索引擎提供一些离决策稍远、以接触潜在用户为目的的广告。如图中的例子,携程的用户可能不一定用过同城网,但是在此处看到以后,或许会尝试并对其发生兴趣。当然,这样的产品绝对不能在搜索左侧的结果中展示,因为那样会引起用户对结果相关性的质疑。

3.原生化探索
搜索广告从一开始就具有原生广告的特点:它的商业化结果与自然结果一样,由用户的主动意图触发,并且在展示形式上与自然结果相差不大。实际上,有相当比例的用户是完全无法区分自然结果和广告结果的。因此,探索搜索广告与内容的自然结合,以越来越“原生”的方式投放广告,也是产品的重要方向。
与谷歌不同,中国的搜索广告有混排在自然结果中的竞价排名方式,而类似于图6-2的标准形式是后来才逐渐发展起来的,但是这种混排的形式一直存在于广告产品中,并且对营收仍然发挥着重要的作用。这种混排虽然褒贬不一,而且在一部分查询上降低了结果的质量,但可以说是搜索广告原生化的一种探索。另外一个原生化的趋势是,在有些直接面向商品的信息类搜索中,像图6-5中那样提供结构化内容结果时,在其中混入商业化结果,并进行统一排序。与只提供自然结果相比,这可以增强变现能力;与只提供广告结果相比,这可以避免需求不足带来的结果质量下降。这样的广告,也可以称为“商品直达式广告”。

6.1.3 搜索广告产品策略

如图 6-6 所示,搜索广告的决策过程可以分为查询扩展、检索、排序、放置、定价等几个阶段。在搜索广告中,竞价标的即关键词的粒度很细。查询扩展是搜索广告独有的策略,目的是为广告主自动拓展相关的查询词,扩大匹配流量;广告检索和根据 eCPM 排序候选广告,是广告系统的核心流程,本章后面介绍竞价广告网络时会再讨论;而定价是竞价广告非常核心的策略,我们在 5.2 节的机制设计中重点介绍。

图6-6 搜索广告决策过程示意

在搜索广告中,排序的依据(即 eCPM)可以简单地表示成 $r(a, c) = \mu(a, c) \cdot \text{bid}_{\text{CPC}}(a)$。不过在实际产品中,点击率 µ 这一项会被质量度(quality score)所替代,而后者除了考虑点击率,还需要综合诸如落地页质量等其他因素,得到更全面的对广告质量的评价,其目的是避免广告主的恶意行为、促进市场长期发展等。而在本书中,为了说明基本概念和算法,将主要考虑点击率的作用。

1.查询扩展
查询扩展是搜索广告的一项关键策略。对广告主来说,从浩若烟海的关键词中找到符合自己需求的组合绝非易事。因此,搜索引擎会提供将广告中的关键词自动匹配到更多相关查询的服务,常见的匹配方式有以下几种。
(1)精确匹配,即不对广告主提供的关键词做任何形式的扩展,保证忠实按照广告主的意图精准执行。精确匹配的执行方式是,先将用户输入的查询分词,例如“英语培训”这个查询可以分成{英语,培训}这个词集合,当这个词集合与广告主设定的关键词集合完全一致时,就触发精确匹配。以“英语培训”这个关键词为例,在精确匹配方式下,可能触发广告的有“英语培训、培训英语”这两个查询。
(2)短语匹配。当用户的查询完全包含广告主关键词或关键词(包括关键词的同义词)的集合时,就认为匹配成功,可以触发相应的广告候选。仍以“英语培训”这个关键词为例,在短语匹配方式下,可能触发广告的搜索有“英语培训、英语培训暑期班、哪个英语培训机构好、英语的培训、英语相关培训、英文培训”等。但像“英语歌曲、电脑培训”这样的词就不会被触发。总的来说,这种方式是用较精细的概念匹配较宽泛的概念,因此一般来说还是比较精准的。
(3)广泛匹配。当用户的查询词与广告主的关键词高度相关时,即使广告主并未提交这些查询词,也可能被匹配。仍以关键词“英语培训”为例,在广泛匹配方式下,可能会触发“外语学习班、四级证书”这样的查询。广泛匹配的逻辑并没有清晰的定义,一般来说,都是用数据挖掘的算法自动获得。因此,虽然打开广泛匹配可以获得较多的流量,但是流量的精准性往往会打一定的折扣。
(4)否定匹配。由于短语匹配和广泛匹配都是由系统自动完成,难免会出现一些匹配不精准的结果,因此,需要同时向广告主提供否定匹配的功能,即明确指出哪些词是不能被匹配的,这样可以灵活地关停一些低效的流量。
短语匹配和广泛匹配都属于典型的拓词方式,将其与否定匹配相结合,广告主可以比较自由地在流量和质量之间找到平衡点。然而由于媒体与广告主利益的不一致,搜索引擎提供的拓词方式未必是对广告主最佳的,我们后面介绍 SEM 产品时会讨论这一点。

2.广告放置
当广告候选完成排序以后,需要分别确定北区和东区的广告条数,这个环节称为广告放置(ad placement)。由于这两个区域构成一个统一的竞价队列,实际上是要分别设定进入北区和进入东区的条件,其中最关键的是进入北区的条件。
北区是黄金的广告展示位置,一般来说,通用搜索引擎的广告收入中绝大部分都来自于北区,因此北区广告的平均条数与收入直接相关。但同时,由于北区广告直接压低了自然结果的位置,必然会对用户体验产生一定的影响。因此,要想获得商业利益与用户体验较好的平衡,我们在关注收入指标时,也要特别关注北区广告的数量和质量。整个搜索引擎的北区广告平均条数,称为 NFP(north foot print)或 ASN(average show number),在考察一项新算法对 RPM 的影响时,我们往往也应同时关注 NFP,而在 NFP 显著变化时,对比对应的 RPM 变化没有太大意义。
确定一条广告能否进入北区要考虑两个关键因素:一是该广告相关性是否足够,二是该广告的 RPM 是否足够,前者是为了确保用户体验,后者是为了高效地利用展示位置。另外,一般来说,北区还会设定一个广告条数的上限。根据整体 NFP 的约束和收入的目标,我们可以很容易通过数据模拟的方法确定相关性和 RPM 的最优阈值,这些将在第 14 章中再讨论。
前面说过,搜索广告的决策一般来说不太考虑用户 u 的影响,但是在确定北区广告条数这个问题上是一个例外,这就是个性化的广告放置。个人偏好、对广告了解程度的不同,不同的用户对广告的容忍度和点击率呈现出明显的差别:有一部分用户总是会跳过广告,直接从自然结果开始浏览,但也有一部分用户或者对广告不太会分辨或者对其接受程度高,会将广告与自然结果一样看待,因此产生大量点击。很显然,对前一类用户,应该降低北区广告条数,这样在不显著减少收入的情况下可以换来更好的用户体验;而对后一类用户,应该在有符合条件的广告时,尽可能用足北区的位置。

6.1.4 产品案例

1.Google AdWords
Overture 发明 CPC 售卖方式的时候,广告的投放方式很简单,只是以广告主的出价高低排序,出价最高的广告赢得曝光的机会。谷歌发现了此模式的缺陷:出价最高的广告赢得了很多曝光,但如果没人点击,平台还是没有收入。因此,谷歌将策略改变为在投放过程中预估每条广告的点击率,然后按点击率和出价的乘积大小对广告排序,这样就形成了现在竞价广告普遍采用的根据 eCPM 决策的逻辑。
在引入点击率来表达相关性后,在 CPC 计费模式下形成了一个对广告主、用户、平台都有利的生态。在此生态下,广告主可以通过选择关键字来定向目标受众,并通过改善广告创意提高点击率的方式降低出价。谷歌通过给用户投放点击率高和出价高的广告提高收益。因为每次给用户投放都是点击率高的“个性化”广告,所以用户在使用搜索引擎时看到了更多相关付费信息,降低了广告对用户的干扰。
相关性提高后,广告主就会以更低的出价赢取更多的点击,所以广告主就有动力通过更精准的关键词条件和更好的广告创意来提高广告的点击率。整个系统的营收也就相应增长了。2013 年,谷歌财报中谷歌网站的收益达到了 374 亿美元,而这主要来自于 Google AdWords 这一款搜索广告产品。
为了简化概念,这里介绍的 AdWords 是其过去的产品范畴。目前,谷歌已经将其展示广告网络、移动广告网络的需求方入口统一在 AdWords 产品下,目的是为广告主提供一个统一市场(universal marketplace),方便统一的效果跟踪的优化,这实际上也是广告产品面向需求方接口的一个重要趋势。

2.淘宝直通车
淘宝直通车广告主要出现在淘宝站内搜索结果页上。但是由于商品搜索的结果展示与通用搜索引擎有很大区别,相应的广告展示也有很大不同。在图 6-7 中,广告只出现在页面的东区和南区。

图6-7 淘宝直通车广告示例

淘宝直通车的前身是雅虎直通车,卖家可以在雅虎搜索和雅虎网站上投放广告,2008 年改名为淘宝直通车。开始的广告排名规则非常简单,即出价高的广告主赢得投放机会。之后淘宝也完善了广告策略,开始采用与 AdWords 一样的 eCPM 排序方式。与之前的广告排名规则相比,由于投放的广告相对来说点击率都比较高,因此卖家的转化率提升,而淘宝也因为宝贝整体的点击率提升获得更多的营收,形成共赢的局面。
与通用搜索引擎的广告主来自各行各业不同的是,淘宝直通车的广告主来自于淘宝平台上的卖家群体。淘宝与它的广告主之间基本是共生的关系,这使得淘宝对其广告主有更大的影响力,并在如下的几个方面有明显的优势。
(1)广告主可以推广单品,并且直接复用商品的图片、描述等信息,而不需要针对广告渠道制作创意,这使得大量中小卖家使用直通车的额外成本很低。
(2)由于站内搜索与用户购买意图强相关,因此广告的效果较好。
(3)由于淘宝对其广告主全部转化流程的了解,使得淘宝直通车在利用后续数据优化广告系统(如转化预估、商品上下架同步等)方面,都达到了一般搜索广告难以达到的深入程度。
因此,虽然淘宝直通车仅仅是一个垂直搜索引擎的广告系统,但是其生态体系却支撑了阿里巴巴这一中国最大互联网公司大部分的营收和利润,也是淘宝变现的主要途径之一。这个例子告诉我们,在一些高商业价值的垂直搜索引擎(如电商、房产、汽车、应用下载)中,利用搜索广告的产品体系进行变现是需要最优先考虑的流量变现方式。

6.2 竞价广告网络

竞价机制在搜索广告逐渐成熟的同时,也在展示广告领域得到了广泛应用。对展示广告而言,合约式的售卖方式必然无法消耗所有的库存,实际销售中为了控制售卖比例以获得更高的品牌溢价空间,未通过合约售卖的广告流量很多。这部分流量,我们称为剩余流量(remnant inventory)。竞价交易模式的产生,为这部分流量提供了变现的机会,催生了广告网络这一产品。广告网络的产品功能是,批量聚合各媒体的剩余流量,按照人群或上下文标签的流量切割方式售卖给广告主。
对一些中小媒体而言,甚至完全没有按合约售卖的流量,而是将所有的广告位都交给广告网络来变现,图 6-8 中给出了一个网页上所有广告网络位置的示例,其中所有用线框标出的部分,都是交由广告网络来变现的。
移动应用内流量的广告网络最常见的广告形式是横幅与插屏。不过近年来,移动广告网络原生化发展的趋势已经确立,我们将把这部分有关产品形式的讨论放在第 9 章中讲解,这里主要介绍广告网络在广告决策方面的产品逻辑。

图6-8 广告网络广告示例

6.2.1 广告网络产品形态

一般来说,广告网络中的投放决策过程对媒体而言类似于一个黑盒子:只需要在广告位的剩余流量上调用广告网络的投放代码或SDK,而不用关心每次展示的投放结果。在实际运营中,广告网络既有竞价的售卖方式,也有合约的售卖方式。不过我们这里重点讨论的是其竞价部分。
竞价广告网络的产品逻辑示意如图6-9所示。这里的产品关键,一是售卖的标的主要是人群,而广告位被淡化了。(根据第4章的讨论可知,合约广告是很难淡化广告位标的的。)另外,当流量满足多个广告活动要求时,简单地采用竞价模式而不用考虑量的约束。

图6-9 广告网络产品示例

根据人群划分模式的不同,广告网络产品其实有两个来源:一方面来源于搜索引擎发展出来的上下文广告产品,即根据页面中提取的关键词来投放广告;另一方面来源于展示广告的兴趣标签向精细化发展后。无论是上下文还是兴趣,都可以看成是对受众的划分方式,因而它们都统一在广告网络这一产品中。
竞价广告网络有下面几个关键的产品特点。
(1)竞价方式不向广告主做量的约定,而是根据变现能力,即 eCPM,来决定每次展示分配给哪个广告主。因此,与合约式的广告系统不同,广告网络大大降低了为保证合约而设计复杂在线分配算法的必要性,因而其中的计算技术可以把精力集中在对 eCPM 的估计上。
(2)由于是按人群售卖,广告网络会极力淡化媒体和广告位的概念。由于淡化了媒体的概念,广告网络中很难拿到品牌溢价高的广告位,一般来说也不适合广告主的品牌类需求。
(3)从商业角度来看,广告网络的销售模式与合约的方式相比,无须再满足广告主品牌独占的要求,而像是让国美和苏宁同时参与同一个人群的竞价,这使得提高市场流动性成为可能,而在合约广告中,这一点是很难做到的。
(4)由于广告网络根据实际消耗来计费,一般来说财务上采用广告主先充值的方式,这区别于合约广告投放结束后计费的方式,结果使得广告网络运营方的现金流状况大为改善。
广告网络存在 CPM、CPC 和 CPS 等不同的计费模式,不过最主流的计费模式是 CPC。我们有必要从计算的角度分析一下采用 CPC 计费模式的合理性:首先,从需求方来看,既然是各种媒体的不同广告位聚合在一起售卖,广告主无法知道每个媒体上广告的具体位置。而位置对于广告的曝光效果影响巨大,因此实际上广告主根本无法评估每次展示的出价,而在点击上出价,这个问题就没那么严重了。另外从供给方来看,由于淡化了广告位的概念,并且聚合了多个媒体的流量,广告网络可以接触到同一个用户比较丰富的网络行为,并且知道每次展示所在的媒体与广告位位置,因此比广告主更容易估计点击率。根据第 1 章中的讨论,由广告网络负责估计点击率,需求方根据对点击价值的估计来出价,是最合理的市场分工。
但是,对一些有特殊业务需求或者特殊数据来源的媒体或媒体组合来说,有时候希望能够直接从广告网络的广告库中挑选广告,并能够创造比广告网络自动挑选更多的价值。因此,某些广告网络也会对一部分合作供给方开放广告库供其自行挑选,这种广告网络的运营模式可以称为联盟(affiliate)模式。

6.2.2 广告网络产品策略

广告网络中的广告决策过程与搜索广告相比,流程要简单一些,如图6-10所示,分为检索、排序、定价等几个阶段。虽然流程相对简单,但是广告网络在广告检索和排序两个环节上面对的问题与搜索有些区别。

图6-10 竞价广告网络广告决策过程示意

1.广告检索
广告与搜索面对的文档其实不同,它往往是一个用布尔表达式表达的投放条件,而不可以简单看成一个词的集合。而像搜索那样的面向词集合的检索方案,对布尔表达式来说不是最有效的。在搜索广告条件下,这一问题并不突出,但是在展示广告网络中,这样的差别就值得重视了。
搜索广告检索与搜索基本一致,用常规的倒排索引技术就可以解决。展示广告网络与搜索广告不同,由于用户意图不明确,我们往往要将更多的关键字、兴趣标签同时用于检索过程,而实践也证明,使用更多的标签对于提高效果是有直接帮助的。将很多的标签同时用于一次检索也与搜索中的短查询情形差别很大,这可以描述为一个相关性检索问题,需要探索专门的方法。
以上两个问题主要都与具体的算法有关,在第 14 章中介绍广告技术时再详细讨论。

2.广告排序
竞价广告中排序的准则是 eCPM,而在采用 CPC 计费模式的情形下,对 eCPM 的估计转化为对点击率的估计问题。应该说,在搜索广告和展示广告网络这样的竞价广告产品中,点击率预测的问题才开始面临真正的挑战。
与广告位较规整、点击率较高的搜索广告相比,广告网络中的 CTR 预测有两方面的困难。首先,点击数据更加稀疏,而且需要同时考虑上下文和用户量方面的信息,这使得各种新广告、新策略的冷启动问题非常突出。如何设计好一个合理可行的冷启动策略,对展示广告网络来说至关重要。其次,广告网络中由于广告位的差别巨大,点击率的变动范围很大,这使得稳健地估计点击率变得相对困难。我们在后面讨论点击率预估技术时,将主要以展示广告的复杂情形为场景展开讨论,并将其与搜索广告的特例做对比。

6.2.3 产品案例

广告网络有两种不同的业务方向:一种是广泛承接各种广告库存并面向所有品类的广告主进行服务,称为水平广告网络;另一种则专门服务于某一种类型的广告主(如电商、游戏等),并寻找相关的媒体资源来搭建网络,称为垂直广告网络。下面我们分别举例来介绍这两种类型的广告网络。

Google Display Network
与 AdWords 只通过采用关键词来定向人群不同,AdSense 定向人群的方式更加多样化,可以通过一系列关键词或主题来确定相关的网页,或者通过人群兴趣、性别、历史访问信息等属性来定向人群,也可以通过这些定向条件的组合精确地选择想到达的网页和人群。与 AdWords 相比,广告主可以有机会接触更多的网页和流量。
在 AdSense 的生态圈中,媒体方会通过调整广告位置和格式、给页面补充合适的关键字以吸引更多同类广告等方式提高点击率。广告主方则会通过选择合适的定向条件和出价提高点击率。在这种机制下,用户会看到更多相关广告,而平台方也会有比较好的收益。

6.3 竞价广告需求方产品

竞价广告市场的产生对需求方的技术也提出了新的要求:原来通过直接与媒体签订保量合约的采买方式,变成通过竞价为广告主完成量与质需求的采买产品。具体来说,这样的产品需要具备一项基本功能,即按照广告主预算跨媒体一站式采买人群的功能。另外,还可以具备一项高级功能,即机器决策的 ROI 优化功能。
这样的需求可以分解为两个基本问题:一是如何挑选合适的目标人群;二是如何对各个目标人群给出合适的出价。由于竞价广告平台的决策过程对于需求方来说是个黑盒子,因此要解决好这两个问题其实并不容易。

6.3.1 搜索引擎营销

搜索广告对应的需求方产品,即通过竞价采买搜索引擎关键词来做推广,这就是搜索引擎营销,即 SEM。上面说的两个基本问题在 SEM 中具体表现为关键词选择和出价。对 SEM 来说,各个标签即关键词的流量是互不重叠的,这与展示广告受众定向标签之间可以做复杂的布尔运算不同。
首先来看关键词选择,如果广告主提供一些种子词,那么这个问题看起来非常类似于 6.1.3 节中的查询扩展问题,但又有相当大的区别:搜索引擎进行查询扩展的目的是为了提高自己的营收,而需求方进行关键词选择的目的是提高广告主采买流量的 ROI。这两个目标显然有着很大的区别,因此广告主更信赖代表需求方利益的 SEM 公司。不过 SEM 公司由于数据来源的问题,需要长期的数据积累才能达到较好的效果。同时,对于大量长尾的小型广告主,往往比较难于积累起足够的数据用于优化,因此这类 SEM 公司服务的对象主要是中型以上的广告主。
关键词选择和出价两个问题都有相当的难度。首先来看关键词选择,如果广告主提供一些种子词,那么这个问题看起来非常类似于 6.1.3 节中的查询扩展问题,但又有相当大的区别:搜索引擎进行查询扩展的目的是为了提高自己的营收,而需求方进行关键词选择的目的是提高广告主采买流量的 ROI。这两个目标显然有着很大的区别,因此广告主更信赖代表需求方利益的 SEM 公司。不过 SEM 公司由于数据来源的问题,需要长期的数据积累才能达到较好的效果。同时,对于大量长尾的小型广告主,往往比较难于积累起足够的数据用于优化,因此这类 SEM 公司服务的对象主要是中型以上的广告主。
对于出价的问题,传统的认识是广告主根据到达率、自己网站的转化率和客单价来估计点击价值,并以此点击价值为参考来出价。不过这忽略了一个问题,那就是各个关键词的转化率、客单价和市场竞争水平都有很大的区别,因此只有在不同关键词上做不同的出价,才能更深入地优化整体采买的 ROI。由于搜索广告的定向粒度很细,可以看出关键词选择和出价都是规模很大的优化问题,而且由于广告网络半封闭的竞价机制,数据的反馈和调整都不够及时,因此这一优化问题的技术挑战是比较大的。

6.3.2 交易终端

我们将面向 ADN、DSP 等的一站式采买平台称为交易终端(TD),与之类似的概念还有媒介采买平台,可以认为它们是同一类产品。
媒体采买平台的技术挑战主要在于 ROI 的优化部分,要合理地选择需要的受众定向条件,并在每个人群上优化出价,以保证量的要求和优化收益,是一个复杂的组合优化问题。由于无法具体控制每一次展示,其困难程度要高于后面实时竞价的情况下的效果优化。
无论是对接 ADN 还是 DSP,TD 都需要采取 API 接入的形式,才能完成自动的流量选择和优化。在程序化交易越来越普遍的今天,TD 主要对接的对象已经成了各种 DSP。

6.3.3 产品案例

EfficientFrontier
EfficientFrontier开始是一家专门从事SEM优化的广告技术公司。
他们的业务是通过关键词选择和出价,为搜索广告主提供大量关键词情形下的 ROI 优化。EfficientFrontier 采用金融领域的投资组合(portfolio selection)理论方法来解决这两个问题,而有效边界(efficient frontier)也是这一金融领域中的术语。这一问题是通过计算的方法确定一个投资组合中各个品种的投资比例,以达到期望收益最优情况下风险最小的理论。在各个投资期望收益水平下,相应的最小组合风险对应的曲线就称为有效边界。
如果将搜索广告里的标的物,即关键词,类比于股票,那么在一定预算的限制下分配各个关键词上的投入,以求达到整体 ROI 的最优,从框架上看非常类似于上述的投资组合问题。因此,EfficientFrontier 公司按照这一思路,将量化金融里的投资组合理论与计算广告技术结合起来,创造性地发展出了大规模的关键词出价优化技术。图 6-11 中给出了有效边界的一个示例,图中每个点代表一个广告投放设置,即关键词组合及其出价,而每一个组合也就对应了一个收入和成本。将各成本对应的最高收入的投放设置连接起来,就构成了有效边界曲线。找到这条有效边界曲线后,给定广告主的预算,就可以找到最佳的投放策略。在可选的关键词数量很大时,投放设置的集合规模非常大,再加上搜索引擎非实时的数据反馈,可以想见此优化问题的困难程度。
广告主优化广告投放收益的问题其实比优化股票收益还要复杂。由于广告主的收益就是 ROI,而无论是估计点击率还是估计点击价值都严重依赖于数据,因此这方面数据的积累实际上才是 EF 最核心的竞争力。为了获得更多的数据来强化其竞争力,它被 Adobe 旗下的 Omniture 收购也就符合逻辑了,因为 Omniture 是专门提供网站分析工具的公司,积累了大量的网站行为数据,这对优化 ROI 来说非常有价值。

图6-11 SEM中的有效边界示意

6.4 竞价广告与合约广告的比较

从需求端来看,合约广告的采买方式对广告主来说缺乏透明性,唯一能做的就是在合约的层面预先约定好一些最关心的利益条款,但是很难做深入的优化。不过,合约的采买方式也有一定的好处,特别是可以对量的保证可以有预先的约定,这对于品牌性质较强的广告活动来说是比较有意义的。

第7章 程序化交易广告

随着需求方优化效果的要求进一步加强,广告网络在产品形态上已经无法完全满足需要,而市场的一个重要发展方向是向需求方彻底开放。具体而言,除了允许广告主按照已经定义好的用户划分来购买,还要进一步提供广告主自行选择流量和在每次展示上独立出价的功能。这样的功能,必然要求询价、出价和竞价在展示时进行,这就产生了以实时竞价(即 RTB)为核心的程序化交易市场。

RTB 的产生使得广告市场向着开放的竞价平台的方向发展,这样的平台就是广告交易平台,即 ADX,其主要特征是用 RTB 的方式实时得到广告候选,并按竞价逻辑完成投放决策。与广告交易平台对应的采买方称为需求方平台,即 DSP。
从需求方来看,定制化的用户划分能力使得广告主可以像优化自己的推荐系统那样优化广告购买,唯一的区别是这个推荐系统是放在站外的。动态出价的产品需求以及广告主预算范围内的套利,要求 DSP 具备点击率预测、点击价值估计、流量预测、站外推荐等多方面的计算能力。除了站外推荐,新的技术发展趋势是根据广告主提供的种子用户,利用媒体数据为广告主找到行为相似的潜在用户。这样的一些定向方式都是针对 (a, u) 组合的定制化用户划分。
在需求方的利益得到充分保证后,媒体的变现手段也发生了相应的变化。发展到今天,媒体至少有 4 种广告变现选择:合约售卖方式、自营竞价广告网络、集成其他广告网络、通过 RTB 市场变现。如何动态地选择这 4 种模式中变现价值最高者,最大化媒体收益,是供给方的需求痛点。在这样的需求驱动下,产生了 SSP 这种优化媒体利益的产品。
除了交易模式的改变,程序化交易还催生了另外一个重要的市场:数据加工和交易市场。开放的交易模式使得广告主可以自由地使用各种数据指导投放,而 RTB 过程又为附带的数据交易提供了天然的基础设施。因此,在程序化交易时代,数据加工和交易规模化地发展了起来。作为数据加工与交易的两个关键产品,即数据交易平台(data exchange)和数据管理平台(即 DMP),分别从第三方数据和第一方数据入手,为市场提供了有价值的数据源或数据加工服务。

7.1 实时竞价

先来直观地了解一下,为什么广告交易会向实时竞价的方向发展。竞价广告网络中的受众定向虽然可以很精准,但是还是会有一些完成不了的场景。例如,某广告主希望对自己的流失用户进行一次广告促销,或某广告主希望广告平台帮助找到与其现有用户类似的潜在用户。显然,无论怎样选择在广告网络中既有的人群标签,都不可能完成上述的任务。实际上,这两个任务有一个共同的特点,即在做人群选择时,需要利用广告主自有的数据。我们称这样的人群标签为定制化用户划分(customized audience segmentation)标签。
利用定制化标签进行投放,在传统广告网络中并非完全无法解决:对于最常见的重定向,采用由广告网络在广告主网站布设代码或 SDK 的方式,也可以收集人群和投放广告;而对于一般的定制化标签,可以采用由广告主上传用户 ID(cookie 或移动设备 ID)集合的方案,由广告网络来决策和投放,例如 Facebook 的广告产品就提供这样的功能。不过,这样的方案仍然存在着很多问题。
(1)这种定制化标签的数量是与广告主的量级成正比的,将这些标签由广告平台集中加工使用,显然是一个低效的解决方案。
(2)除了定制化的人群库,需求方往往还对频次、时间、地域等诸多因素有综合决策的需求,而简单地上传用户 ID 集合显然无法达到这样的目的。
(3)简单的人群库交互无法做到精细的出价和预算控制。
因此,采用广告网络这样的封闭式竞价方案,是无法规模化和精细化地针对定制化标签做投放的。什么样的解决方案更加合理呢?其实很简单,只要把竞价过程开放,在广告展示时由需求方来判断是否需要并出价,就可以解决上面的问题,这样的思路就产生了实时竞价。因此,我们认为:
用定制化标签指导广告投放,是实时竞价的关键产品目标。
实时竞价的交易方式不仅解放了相关的效果类广告需求,也为品牌广告创造了全新的机会。我们知道,品牌广告的核心在于其人群触及策略,但无论在展示量合约广告,还是竞价广告网络中,人群的定义方式都由广告平台决定,需求方基本没有加工的自由。然而,在实时竞价交易中,服务于品牌广告主的 DSP 可以根据市场上采买的各种数据,为某个特定的广告主加工特有的人群,完成更加符合其市场策略的人群触及。因此,我们会发现,品牌广告的预算基本上没有进入竞价广告网络,但是在向程序化交易转移。

实时竞价的流程

实时竞价的产品接口可以分成两个过程,即预先将 ADX 与 DSP 的用户标识对应的 cookie 映射(cookie mapping)过程以及线上广告请求时的竞价与投放过程,如图 7-2 所示。下面我们分别介绍一下这两个过程。

图7-2 实时竞价(RTB)过程示意

((1)用户标识映射(cookie 映射)。当供给和需求双方都可以得到同样的用户标识时,例如在移动上用 IDFA 或 Android ID 投放时,并不需要此映射过程。但是在 Web 环境下根据 cookie 投放广告时,映射过程不可避免。cookie 映射一般是由 DSP 在广告主网站上发起,这样做的原因是,一般情况下 DSP 负责的是加工广告主定制受众标签,因而不需要对所有用户都做映射。映射过程又可以细分为以下两个步骤。
1)用户标识映射(cookie 映射)。当供给和需求双方都可以得到同样的用户标识时,例如在移动上用 IDFA 或 Android ID 投放时,并不需要此映射过程。但是在 Web 环境下根据 cookie 投放广告时,映射过程不可避免。cookie 映射一般是由 DSP 在广告主网站上发起,这样做的原因是,一般情况下 DSP 负责的是加工广告主定制受众标签,因而不需要对所有用户都做映射。映射过程又可以细分为以下两个步骤。
步骤 1.1:从广告主网站向 DSP 服务器发起 cookie 映射请求。
步骤 1.2:DSP 与 ADX 服务器之间通信完成 cookie 映射。由于 cookie 映射这项专门技术的应用范围不仅限于 RTB,我们将在第 16 章中介绍实时竞价技术时对其进行详细讨论。
(2)广告请求(ad call)。RTB 的广告请求可以分为以下 3 个步骤。
步骤 2.1:当用户接触到媒体网站的广告位时,前端向 ADX 发起广告请求。
步骤 2.2:ADX 向各 DSP 传送 URL(或应用 ID)和用户标识,发起询价请求。如果是 Web 环境,DSP 还要根据 cookie 映射查出对应的己方用户标识。随后,DSP 根据数据决定是否参与竞价,如果参与则计算并返回自己的出价。在等待一个固定的时间片后,ADX 选出出价最高的 DSP 返回给媒体网站。
步骤 2.3:媒体网站从胜出的 DSP 拿到广告创意并展示。
其中步骤 2.2 和步骤 2.3 可以合并为一步,即 DSP 同时返回出价和广告创意地址,由 ADX 返回给媒体。这样做的好处是减少了一次服务器往返,用户看到的广告延迟也会减少,缺点是 ADX 可以获得 DSP 某个广告商的相关受众,因而存在信息泄露风险,不太符合 ADX 中立市场的地位。
实际产品中,这两种方式都有采用。实时竞价的交易方式,给予了广告主最大的流量选择空间,也对系统提出了更高的要求,并且带来了下面这些实际的问题。
(1)每次展示都有 ADX 服务器与多个 DSP 服务器的参与,这使得服务器与带宽成本大大增加。读者可以简单计算一下,假设每个广告请求包的大小是 1 KB,每秒产生 5 000 个广告请求,在将每个广告请求都发给 10 个 DSP 的情形下,需要的带宽就将达到 400 Mbit/s,而这样的数字对 ADX 来说只是一个不大的规模。
(2)在询价过程中,ADX 要等待一个约定好的时间片(一般为 100 ms 左右),这使得用户看到的广告延迟增加,对 CTR 有负面影响。但是,在移动应用内广告场景下,由于客户端可以缓存广告创意,这一问题的影响变得不太严重。
(3)原理上,DSP 可以以极低的出价参与竞价,这样虽不能获得流量,却可以低成本得到媒体的用户行为数据,这里存在着潜在的信息泄露风险。
需要特别提醒的是,实时竞价中的“实时”这一限定,特指的是需求方实时地,也就是在每一次展示时参与广告竞价,而供给方对不同广告实时比价的过程,在前面讲到的一般竞价广告中也存在。因此,不要把搜索广告、广告网络等也理解成实时竞价产品。

7.2 其他程序化交易方式

在实时竞价产生以后,广告交易越来越多地依赖机器间的在线通信,而非事先约定或由人工操作完成,这样的交易方式称为程序化交易。程序化交易的核心目的是让需求方能够自由地选择流量和出价。除实时竞价以外,市场上还存在若干其他的程序化交易方式,IAB 在其报告中,根据库存类型和价格模式这两个关键产品特征,把市场上与程序化交易相关的交易方式分成 4 类,如表 7-2 所示。

表7-2 IAB总结的与程序化相关的交易方式
|交易方式|库存类型|价格模式|参与方式|市场术语举例|
|—|—|—|—|—|
|担保投送优化|预留|定价|一对一|programmatic direct, programmatic premium|
|非预留定价交易|非预留|定价|一对一|preferred deals, private access, first right of refusal|
|邀请制竞价交易|非预留|竞价|一对少量|private marketplace, private auction, closed auction, private access|
|公开竞价交易|非预留|竞价|一对多个|real-time bidding (RTB), open exchange, open marketplace|

7.2.1 优选

优选(preferred deal)比实时竞价产生要早,可以看成是只有一个需求方的程序化交易,其交易过程如图7-3 所示。

图7-3 优选交易过程示意

优选方式允许单个需求方既可以按照自己的意愿来挑选流量,又可以避免复杂的竞价过程。这个过程主要有以下 5 个步骤。
(1)用户访问媒体页面。
(2)媒体页面通过 JavaScript 代码或 SDK 向供给方广告投放机发起广告请求。这里的供给方广告投放机,有时是媒体自己的广告投放机,有时则是其他供给方产品的广告投放机。
(3)供给方广告投放机向需求方的广告投放机发起请求,询问是否需要此次广告展示机会。
(4)需求方广告投放机判断是否需要此次展示机会,如果需要,则返回相应的广告创意。
(5)需求方如果不需要此次展示机会,则通知媒体广告投放机,由供给方广告投放机从自有广告库中选择合适的创意返回。
优选过程同样可以使需求方自由地挑选流量,因此也是一种程序化交易方式。因为只有一个需求方参与,所以媒体比较容易控制广告的质量和来源。优选一般按 CPM 计费模式计费,由于没有了多方竞价,又有选择流量的便利,因此往往要约定一个比市场价格更高的 CPM 单价。与 RTB 相比,优选的一个缺点是决策过程可能存在比较多的投放机往返:在极端情况下,需要 3 次投放机的往返才能够得到最后的广告。

7.2.2 私有市场

除了实时竞价这种公开市场拍卖机制,有时媒体为了保证广告主的质量,希望将拍卖限制在一些被邀请的需求方的小范围内。这种程序化交易叫作私有市场。私有市场中的在线交易过程与公开的实时竞价一致,在此不再赘述。
私有市场兼顾了优选与实时竞价的好处:首先,私有市场与优选一样,是一种邀请制而非公开的交易方式,因此广告主的质量可以较好地控制,这有利于确保媒体的价值不受伤害;其次,在被邀请的各需求方之间仍然保留了竞价的关系,这有利于提升媒体的变现能力。当然,与实时竞价相比,这两点主要都是对媒体有利,因此私有市场往往是大型优质媒体在考虑程序化交易时的选择。私有市场使更多的优质媒体加入程序化交易市场,反过来可以促进品牌广告投放的程序化进程。
从 2014 年开始,私有市场在整个程序化交易市场中得到了越来越多的重视,以 DoubleClick ADX、Mopub 等为代表的主流 ADX 都在大力加强私有市场的产品和服务。可以预见,随着私有市场与公开市场的充分发展与融合,程序化交易能在效果与品牌、媒体利益与广告主利益的平衡方面变得越来越成熟。

7.2.3 程序化直投

程序化直投属于直接购买与实时竞价之间过渡的一种交易模式。这种方式的特点是,交易本身仍然以定价、保量或半保量的方式完成,但是需求方可以自行对采买的库存做广告投放决策,有时也可进行一定的流量选择。一般来说,程序化直投主要有以下几种应用场景。
(1)跨媒体频次控制。在传统的合约广告模式中,各个媒体分别与广告主签订合同,而媒体负责合同的执行。当同一个用户在不同的媒体上出现时,频次控制也是分别进行的,这对于预算的有效利用是不利的。而在 PDB 模式中,DSP 代表广告主可以进行广告投放,因此也就可以进行跨媒体的频控,这是此种交易模式的优势之一。
(2)多个子产品流量分配。对于一些集团性的大广告主,如宝洁、大众等,往往有多条子产品线有广告投放的需求。于是,在统一采买的资源上对子产品进行流量的再分配也就成了切实存在的需求。在 PDB 模式下,需求方的广告投放机可以根据自有的 CRM、DMP 以及自行决定的策略在子产品之间灵活地分配流量,相当于将采买的资源变成了一个内部的 ADN,这对于提高流量使用价值非常重要。
(3)一定比例的还量。部分媒体在支持 PDB 方式时,向 DSP 提供了一定比例的还量自由(例如可以返还 20% 的广告请求),这使得 DSP 获得了介于合约购买与 RTB 之间的流量选择能力。在频次过高或人群不匹配时,DSP 可以利用还量权力决定不投放广告。不过,这种还量远非 RTB 那样彻底,仍然是一个有较强约束的优化过程,实际的优化效果也相当有限。

7.2.4 广告交易方式谱系

现在我们对在线广告市场上主流的交易方式做一个小结。如图7-4所示,按时间段和广告位独占式的售卖,以及展示量合约的售卖,是销售与客户之间将广告投放的关键要求约定下来的交易方式,其中人的因素起了相当大的作用,不过这种售卖一般来说由于能满足一些品牌性需求,溢价能力也较强,属于高质量媒体优先考虑的售卖方式,我们将其称为优先销售(premium sale)。从技术层面来说,优先销售整体对计算的要求不算特别深入,而且主要技术集中在供给方(如在线分配、受众定向)。

图7-4 在线广告主要交易方式一览

在竞价广告网络的市场形态下,对供给方而言,可以通过将广告位直接托管给 ADN 的方式变现,也可以同时使用给多个广告联盟,按照一些规则或模型对不同的流量分割选择不同的 ADN,这称为网络优化(network optimization),7.4 节中还会讨论。对需求方而言,存在着选择合适的人群标签并合理出价,以优化整体 ROI 的需求。这样的交易方式虽然已经比较依赖计算,但是双方的决策并不是实时完成,效率还没有达到最高。我们可以把这种交易方式称为半程序化交易。
在实时竞价市场中,程序交易的过程变得更加简单直接,通过 RTB 或优选等接口,DSP 与 ADX 直接对接,并完成精细的流量采买。我们在图 7-4 中列出了包括优先销售和程序化交易等各种在线广告主要的交易方式,供大家参考。

7.3 广告交易平台

广告交易平台,即 ADX,是程序化交易时代的关键产品,它负责将媒体流量以拍卖的方式售卖给 DSP。
ADX 的产品策略较为简单,由于所有的广告竞价都是实时进行,因此不需要保存广告库,也不需要广告检索流程,排序过程也非常简单。广告交易平台中需要注意的产品策略,主要是如何解决给多个 DSP 发广告请求带来的带宽和机器成本的上升。这一问题,我们称为询价优化(call out optimization)。询价优化的具体技术方案将在第 16 章中再做介绍。
ADX 一般采用 CPM 计费模式,这一点要特别说明一下。我们前面提到过,展示量合约采用 CPM 计费模式计费,但是不同的广告位一般要放在不同的合约中,分别定价;而广告网络由于广告位复杂,一般只能采用 CPC 计费模式计费。那么为什么在情况与广告网络类似的广告交易市场中可以采用 CPM 计费模式计费呢?原因在于,在实时竞价中,广告决策是由 DSP 完成的,而且对每次展示都可以得到广告位信息。因此,虽然各个广告位的点击率差别很大,但是 DSP 还是可以自行精细估计点击率,并实时计算出当前展示的合理 eCPM。并且,由于第一方数据在程序化交易中的广泛使用,DSP 对于人群在特定广告上产生的效果,往往能够估计得更加精细。因此,采用 CPM 计费模式计费,将 eCPM 整体的估计都交给需求方是比较合适的市场分工。

产品案例

DoubleClick ADX
DoubleClick 作为一个 ADX,连接了众多广告网络和 DSP,当一次广告展示发生时,AdSense 和 AdWords 只是作为其中两个参与者而已,AdWords 赢得的展示并不一定在 AdSense 上展示,在 AdSense 上展示的广告也不一定是来自 AdWords 的。
DoubleClick 提供的是一个完全透明、理论上任何 DSP 都可以对任何流量竞价的公开交易市场。媒体一般会允许一些或所有需求方通过这种方式接入他们的流量。通常不会与需求方产生直接交流,媒体主可以在完全不知情的情况下参与公开市场流量竞拍。
DoubleClick 的公开透明的 RTB 模式克服了 RightMedia 由于历史问题带来的一些设计上的不足,在其 ADX 的拓扑结构设计上有其独到之处。RightMedia 在拓扑结构设计上,任意两个媒体间换量需要双方签订合同,即在会进行换量的媒体间连边,伴随着换量的媒体的增多,节点之间的连接是任意的,没有规律,这带来了设计上的复杂性。DoubleClick 采用了星形拓扑结构,媒体直接换量需要先经过谷歌公司,直接和谷歌公司签订合同,这么做一方面降低了 ADX 模式的复杂性,另一方面将单纯的分成收益拆分成了两份合同里的收入和成本,也增加了谷歌公司的现金流。

7.4 需求方平台

与 ADX 相对应,程序化市场中的需求方产品就是 DSP。DSP 产品的核心特征有两个:一个是 RTB、优选等程序化的流量购买方式;另一个是支持需求方定制化用户划分的能力。这两个核心特征其实是同一问题的两个方面:为了按需求方定制化的用户划分采买广告,需要市场开放竞价接口;但如果仅根据供给方定义的用户划分来采买,那么像广告网络那样的非实时竞价也就够了。
什么是定制化用户划分呢?从受众定向的角度看,那些形如 t(a, u) 的定向方式,即与广告主相关的定向方式,就是定制化用户划分。举两个直观的例子。先看第一个例子,假设某电商网站准备进行一次面向其老客户的广告投放,这里的“老客户”就是一种定制化用户划分,显然只有该电商自己才能找到这个用户群,而任何媒体或广告网络,无论数据能力有多强,也无法加工出这样的标签。再看第二个例子,某银行希望通过广告接触到自己信用卡的潜在客户。要找到这些潜在客户,我们需要以银行现有的客户作为基础,分析其行为和人口属性有哪些特征,然后再根据这些特征去拓展可能的潜在客户。这一过程既需要需求方的数据,又需要媒体或第三方数据,而其加工出的人群仍然是与广告主相关的,因此也属于定制化用户划分。
[1] 本书用“定制化”一词来表示对不同客户的不同结果,而用“个性化”一词来表示对不同用户的不同结果。
由于可以细分到每次展示来决策和出价,使得推荐和广告这两项互联网重要的产品找到了完美的契合点。

7.4.1 需求方平台产品策略

DSP 的广告决策过程(见图 7-5)与广告网络非常相似,同样先要经过检索、排序、定价几个阶段,主要的差别是完成广告选择后,增加了一个出价的步骤。因为在实时竞价环境中,出价直接决定着 DSP 的流量基本单位成本和利润,所以出价是 DSP 的关键产品策略之一。
图7-5 需求方平台广告决策过程示意
DSP 与广告网络另一个不同的产品策略问题,体现在受众定向的方式上。在广告网络中,主流的定向方式都是根据第二方数据加工的标签;但是在 DSP 中,以第一方数据为核心,结合第二方或第三方数据的定制化标签,即 t(a, u)的定向方式,是其关注的重点。在各种定制化标签中,重定向和新客推荐的方法具有一定的普适性,是 DSP 需要特别重视的产品策略。
下面我们来讨论一下 DSP 中这两个关键的产品策略。

7.4.2 出价策略

在竞价广告网络中,估计 eCPM 的目的是为了对广告进行排序,而绝对的 eCPM 值并不需要太精确。但是在 DSP 中,由于每次展示都要按 CPM 向 ADX 报价,因此准确地估计 eCPM 非常关键,这也成为 DSP 出价策略的基础。
DSP 直觉的出价策略比较简单,只要 eCPM 估计足够精准,并按照此值出价即可。由于 ADX 一般也是按照 GSP 来计费,这样的策略是可以确保有利润空间的。如果高于此价格出价,则可能存在亏损的风险,如果低于此价格出价,则没有充分利用流量。如果没有预算的限制,那么这样的出价策略就是最优策略了。
为什么预算的限制使得情况有变化了呢?我们来看一看图 7-6。图 7-6 中的曲线是某 ADX 的成交价在一天内随时间变化的曲线[29]。我们发现,由于市场中各 DSP 的广告主、预算及出价的变化,这一曲线不但不平滑,甚至变化还非常剧烈。在这样的市场中,假设我们的 eCPM 是某高于市场水平的固定值,可以比较两种出价策略。

图7-6 DSP不同出价策略

(1)由于 eCPM 高于市场水平,我们可以对所有询价按 eCPM 出价,这样可以获得所有流量,直至当日预算消耗完,即图 7-6 中的策略 A。
(2)我们选择一些市价较低的流量出价,获得这些流量,直至当日预算消耗完,即图 7-6 中的策略 B。
很显然,采用策略 B 中我们付出的成本,要显著低于策略 A,当然也就能获得更高的利润。
在上面的例子中,DSP 优化的出价策略可以定性地描述为:首先,通过历史的观察和预测,得到市价的曲线;然后,将一天的预算分配到那些市价较低的流量上。当然,实际情况要更加复杂,因为 eCPM 也会随着时间而变化,例如游戏广告在休闲时间的 eCPM 显著高于上班时间。于是我们希望获得的并不是市价较低的流量,而是 eCPM 与市价的比例较大的流量。因此,DSP 的出价策略要基于两条曲线,即 eCPM 和市价随时间变化的曲线。
当然,除了在时间轴上找合适的出价区间,也可以将此策略拓展到更多的维度上。例如,一般来说女性用户流量的商业价值较高,市场价也可能会比较高,如果 DSP 广告在男女用户的 eCPM 上差别不大,甚至在男性用户上更高(如游戏),那么就应该尽量多投放男性流量,以获得更高的利润。不过,加入更多维度使问题变得复杂了很多,而且其他因素对市场价的影响没有时间那么大,因此,做好时间轴上的出价策略是实践中最关键的。

7.4.3 出价和定价过程

DSP同时存在面向广告主的定价过程和面向ADX的出价过程,而这两个过程又有密切的关联。我们考虑DSP在各个广告主之间按CPC竞价方式收费的情形,在这种情况下,出价和定价的过程如图7-7所示。

图7-7 DSP出价与定价过程示例

DSP 对各个广告候选估计 eCPM 并进行排序,由于向排名第一的广告主(图 7-7 中的 a1)收费时,要按 CPC 的第二高价 p1 = r2/µ1,因此向 ADX 的 CPM 出价也要等于 r2。值得一提的是,由于 ADX 一般也采用第二高价,因此 r2 已经是最优出价策略,当然在有预算限制的情况下,策略会有所不同,详见 16.2.4 节中的讨论。
如果 DSP 赢得了实时竞价,那么 ADX 会按照第二名 DSP’ 的出价 b’ 向 DSP 收取费用。在这种情形下,DSP 就获得了 b − b’ 的期望收益。但是,在 DSP 按 CPC 向广告主收费的情形下,这只是期望而非确定的收益。

7.4.4 重定向

它的概念很简单,即把那些曾经对广告主服务发生明确兴趣的用户找出来,向他们投放该广告主的广告。在不同的广告类型上,重定向主要有以下两种目的。
(1)用于品牌广告。当用户已经选择过某品牌的服务或产品后,如果在质量比较高的媒体上看到该品牌的广告,这个用户会进一步肯定自己决策的正确性,从而对该品牌的认知度也大大加强。这种用途下,应当以宣传品牌而不是具体产品为主要诉求。
(2)用于效果广告。当用户曾经考虑过某种产品,但没有完成最终转化,通过在线广告将这个用户找回,点击率和转化率都会明显高于平均水平。如果用户已经选择了该产品,那么可以利用推荐技术向这个用户推送相关的产品广告。
重定向可以根据信息来源和使用信息的精细程度区分为网站重定向、个性化重定向和搜索重定向。下面分别加以说明。

1.召回重定向与个性化重定向
网站重定向(site retargeting),即将在一段时间内到达过广告主网站或应用的用户作为重定向集合。这样的重定向流量其 eCPM 一般来说要比无定向流量高出一个数量级,因此需要尽可能扩大投放量。在媒体上采买这种重定向流量时,能够得到的量有两个主要影响因素,一是广告主网站本身的访客量水平,二是这些访客与媒体的重合程度。前一个因素没有办法通过广告手段扩大,而后一个因素则要求尽可能多地通过各种渠道采买重定向流量,显然 DSP 是合适的方式。
个性化重定向(personalized retargeting),是召回重定向的一种特例。对重定向流量进行深入加工,按照品类和购买阶段等因素进行创意上的深度个性化,就是个性化重定向。具体来说,个性化重定向可以在两个方面做深入挖掘:一是对于处于不同购买阶段的用户,采用合适的创意推动他尽快完成转化行为,这里的购买阶段包括浏览、搜索、加入购物车等;二是对于已经有过一些购买记录的用户,使用推荐技术向其展示相关的商品以提升二次购买率。从这两层意义上看,这一方法与推荐有非常多的共通之处:从广告产品的视角看,我们称之为个性化重定向;而从推荐产品的视角看,则可以认为是一种站外推荐(off-site recommendation),换句话说,是将原来广告主网站上的推荐模块搬到了站外。
在图 7-8 中,我们给出了个性化重定向广告的一个示例。该广告投放的对象是某个京东商城的用户。该用户很可能在京东商城关注过某种手机商品,以及有关 PHP 编程的技术书。因此,广告系统根据他的个性化购物兴趣,结合京东商城的商品库存,为其推荐了相关的手机和技术书籍。可以想见,这样的广告其点击率和转化率都会比较高。

图7-8 个性化重定向广告示例

个性化重定向与传统的受众定向方式有较大的差别,其产品关键有以下几点。
(1)动态创意。个性化重定向的核心是用推荐的思路实时决定展示什么商品。由于广告主的商品数量往往相当大,因此显然不可能为所有的商品组合预先准备好创意。因此,动态创意是个性化重定向最重要的支持技术,这也是在线广告朝着彻底个性化、动态化方向发展迈出的重要一步。
(2)推荐引擎。个性化重定向可以看作是站外推荐。不过与站内推荐相比,它有一些不同之处:首先,站内商品页上的推荐主要根据上下文信息来进行,而站外推荐则是根据用户信息来进行;其次,站内推荐由于是发生在某个特定的购买环节上的,因而往往不需要根据用户的购买阶段来调整创意,而站外推荐这么做则非常必要。
(3)广告主商品库存实时接口。对于站外的商品推荐,如果用户在点击某单品到达广告主网站时,发现该商品已经售完或下架,或者是价格与创意上的宣传不符,会对该广告主的品牌形象有较严重的伤害。为了尽可能避免这种情况的发生,个性化重定向服务需要提供准实时的商品库接口,让广告主可以及时地将库存和价格信息同步过来。

2.搜索重定向
搜索重定向(search retargeting),即将搜索过与广告主直接相关的关键词的用户群作为重定向集合。这样的方式也可以获得很精准的用户群,其绝对量也要高于网站重定向,不过对于非主要搜索引擎提供商来说,依靠搜索重定向能覆盖的人群比例未必会高于网站重定向。
既然搜索重定向使用的是搜索引擎的第二方数据,那么为什么也归为定制化标签呢?这要从如何获得搜索重定向中用的词表说起。给一次广告活动确定合适的搜索重定向词表,一般来说有下面3种思路。
(1)人工根据经验确定词表。
(2)如果该广告主同时也在搜索引擎投放,可以直接采用对应投放的关键词表。
(3)基于广告主流量统计的方法,即统计广告主网站流量中从搜索引擎来的流量,将其中频度较高的关键词作为搜索重定向词表。
其中最后一种策略在实践中表现出来两方面的优势:首先,由于是根据实际流量数据统计得到,效果往往比其他方法更好;其次,通过在广告主网站布置代码等手段得到第一方数据后,整个过程可以自动化,简便易行。因此,我们建议的首选搜索重定向策略,是第三种策略,而这种策略需要依赖于第一方数据,因此也是一种定制化标签。

7.4.5 新客推荐

重定向的方式虽然精准,但是量受到极大的限制。而且对于大部分广告主来说,除了对老用户精耕细作,他们更希望能有办法接触到那些“有可能”对自己产品发生兴趣的潜在用户。对于那些处于快速成长期的电商,或者是网站流量并不大的线下业务广告商(如银行、汽车),这方面的需求尤其强烈。
“有可能对自己产品发生兴趣”这样的用户标签,从目的上来说很明确,但从做法上来说比较模糊。很容易想到的思路是:由广告主根据自己的第一方数据提供一部分种子用户,再由拥有更丰富数据的第二方数据的广告平台分析这些用户网络行为的特征,并根据这些特征找到具有相似特征的拓展人群。很显然,这也是一种定制化用户标签。这样的标签加工策略称为“新客推荐”。
从推荐的角度来看新客推荐,重点在于向没有关注广告主产品的潜在用户推广。既然是推荐,就不是漫无目的的撒网式推广。另外,这样的推荐技术,考虑的是没有广告主站内行为情况下的推荐,是原有狭义推荐问题的扩展。
新客推荐是一种合理的受众定向产品思路,但是要在一定的数据支持下才有可能产生价值,并且由于它涉及第一方数据和第三方数据的获取与加工,在技术上是有一定的挑战的。读者在遇到这类产品时,要特别注意从数据和技术方案合理性的角度判断其真正价值。不客气地说,在中国市场,“新客推荐”这个词已经在一定程度上变成了效果不明、原理解释不清的定向方式的遮羞布,而几乎所有的广告产品都声称自己有此项能力,这实在可以称为中国的“新客推荐乱象”。

7.4.6 产品案例

定制化用户划分和 RTB 技术的产生,催生了许多以技术方式优化广告采买的 DSP 公司。这些公司当中,有些以 CPM 采买并优化 ROI 的套利模式为主;有的则以透明的采买和效果优化功能性服务为主。

1.Criteo
Criteo 的重点产品是按照个性化重定向方式采买广告。其核心技术也就是前面介绍的 3 项:动态创意、推荐引擎和广告主商品库存实时接口。
Criteo 按照 RTB 或优选的方式,以 CPM 计费模式与媒体结算,但是与广告主之间的结算完全采用 CPC 计费模式,从而实现套利,并且也比较容易被效果类广告主接受。在个性化重定向的方案框架内,Criteo 还提供了 user、category、data 和 banner 这 4 个维度上比较灵活的优化功能,即广告主可以根据不同的用户细分、商品种类、具体数据和创意类型设置不同的点击出价,从而达到非常精细的 ROI 管理和优化的目的。这样的展示广告运营和投送方式,其精细程度与搜索广告有相似之处:都是在非常精准的流量细分上以效果为导向投放广告,并且能够在非常精细的粒度上控制出价。不过,这种方式对展示广告来说有一些先天的缺点:个性化重定向不同于搜索广告,需要预先在广告主网站布置跟踪代码,这使得新广告主加入的进程变得大为复杂。因此,专门从事个性化重定向的公司,在初期会面临需求不足的问题,并且需要运营商大量的努力和效果上良好的记录才能逐步改善,而 Criteo 也同样经历了这一过程。

2.InviteMedia
InviteMedia 原是一家独立的 DSP 公司,它在 2010 年 6 月以约 7 000 万美元的价格被谷歌公司收购,现已整合进 DoubleClick 的广告系列产品,并改名为 DoubleClick Bid Manager。虽然谷歌在广告产品中全线布局,但 InviteMedia 被整合后仍然保持相对独立,和代表媒体利益的 DoubleClick ADX 之间仍然是相互博弈的关系。
其业务是提供比较透明的 RTB 采买功能,例如,设定一些规则和优化目标,帮广告主把相关 ADX 接入进来,并从中收取固定比例的佣金,希望借此方式快速拓展广告主端的影响力。当然,随着业务发展,现在也正在提供越来越深入的采买 ROI 优化服务。同时伴随着 2013 年 InviteMedia 将域名切换到 DoubleClick 的域名 dc.com,InviteMedia 不再需要和 DoubleClick ADX 进行 cookie 映射,减少了由 cookie 映射带来的损失,从而提升了采买的效率和最终投放的效果。

7.5 供给方平台

我们再来看看在程序化交易产生以后,供给方的收益优化方案。对于媒体而言,没有必要把全部流量变现都放在一种交易方式上,媒体既可以通过直接销售来高溢价地售卖品牌广告,也可以综合使用各种程序交易方式以追求更高的填充率。
参照 7.2 节中的广告交易方式谱系,媒体的变现平台可以采用这样的产品逻辑:当广告请求到达时,首先检查优先销售的订单有无需求,这包括 CPT 和 CPM 的合约,如果有需求,按照优先级和在线分配的方案完成投放;如果没有这类销售合约,则进入竞价流程,从自运营广告主库中找出 eCPM 较高的,并估算可供调用的若干广告网络的 eCPM,在这两者之间找到较高的,再以此为 MRP 通过 RTB 接口向接入的各 DSP 实时询价。可以看出,在这样的逻辑中,广告请求是被分配到自运营广告库进行广告投放(ad serving),还是以嵌入 JavaScript 或 SDK 的方式对接其他广告网络,或者是以 RTB 方式对接 DSP,是根据其收益在线动态决定的,这样的方案称为动态分配(dynamic allocation)。对应的产品形态就叫作供给方平台(supply side platform, SSP)。

7.5.1 供给方平台产品策略

SSP中多种广告源动态分配的决策过程如图7-10所示。

图7-10 动态分配决策过程示意

这一过程有如下几个关键环节。
(1)聚合(mediation):集成多个 ADN 的 JavaScript 代码或者 SDK,在线动态决定向谁请求广告。选择 ADN 的逻辑,也是对某次展示机会的(u, c),对候选的 ADN 估计其 eCPM 以优化收益。由于此时我们没有具体广告的信息,因此这里只能做粗略的估计。在实际策略中考虑的因素主要有两个:一是广告网络或 DSP 的分成模式和比例;二是它们各自的广告返回率,当然可以分时间段和地域进行统计。如果这些合作方本身集中投放某种行业类型的广告,那么人群和环境标签也是有帮助的。
(2)广告投放(ad serving):SSP 一般也会提供投放媒体自行销售的广告的功能,即帮助媒体做广告投放。从这个功能来看,更像是帮助媒体实现了一个私有的 ADN。不同之处在于,这些内部的广告需要跟外部的 ADN 一起排序,决定是投放内部广告还是向外部 ADN 请求广告,而唯一的准则就是优化收入。
(3)市场(marketplace):在程序化交易产生以后,SSP 也会以 RTB 方式向 DSP 请求广告,这形成了一个市场。SSP 里的市场与 ADX 并没有本质的区别,尤其是在 DSP 越来越多、ADN 越来越少以后,SSP 与 ADX 呈现出越来越强的同质化趋势。
在上述 3 个需求来源中,一般的决策过程是先估算被聚合 ADN 和内部广告的 eCPM,排序选出最优以后,再以此最优的价格作为底价,向 DSP 发出询价请求。有时,向选出的 ADN 投放请求以后,该 ADN 并不一定能填充这次展示机会,那么 SSP 就要转向排名第二的需求方,如果仍然是 ADN,则需要向其再次请求广告,依此类推。这样的模式叫作瀑布模式。显然,多次请求使得总体请求广告的延迟大大增加,因此这是一种比较低效的模式,而下面要提到的 Header Bidding 模式,则可以在一定程度上解决这个问题。

7.5.2 Header Bidding

在程序化交易市场中起决定作用的不只是技术,还有商业利益上的博弈。随着谷歌、Mopub 等在供给方市场的地位日趋垄断,它们一来在流量分配时会或多或少优先自己内部的广告主,二来会收取比较高的费用(可能高达 40%),广告主和媒体的利益受到了一定的损害。在收益最大化的驱使下,市场驱使广告主和媒体联合起来打破垄断,这便催生了 Header Bidding 技术。
从 2016 年 2 月到 9 月,使用 Header Bidding 技术的媒体网站的数量几乎呈爆发式增长:不到一年时间,就有超过 40% 的头部网站采用了 Header Bidding 技术。
Header Bidding 是 Bidder 和媒体建立直连绕过 ADX 的一种方式,Bidder 有机会在实时竞价开始之前直接向媒体报价,媒体根据出价高低决定中标者。这里的 Bidder 就是所有可以进行报价的服务,可以是 DSP,也可以是 ADX 或者其他广告参与者。如果没有,再交由 ADX 进行实时竞价。而直接的报价过程,是在客户端即浏览器或应用中发生的。其广告决策过程如图 7-11 所示。

图7-11 Header Bidding决策过程

(1)用户访问媒体页面,向媒体服务器发起 HTTP 请求。
(2)媒体服务器将实现 Header Bidding 功能的脚本 hb.js 放在 HTML 的 head 标签中,该 HTML 作为 HTTP 响应发给用户浏览器。
(3)用户浏览器在解析 HTML 时,将媒体网站配置好的 hb.js 下载到本地。在 hb.js 的控制下,用户浏览器向媒体网站约定好的 Bidder 发起本次曝光机会的竞价请求,Bidder 将报价返回给用户浏览器。
(4)在 hb.js 控制下,用户浏览器将各家 Bidder 报价信息回传给媒体网站。
(5)媒体服务器同时向 ADX 或 SSP 发送广告请求。
(6)ADX 或 SSP 发起 RTB 过程并获得广告候选。
(7)媒体服务器将 Header Bidding 出价结果和 RTB 出价结果放在一起进行排序,出价最高者赢得本次广告展示机会,用户浏览器请求胜出方加载广告。
Header Bidding 也可以被认为是供给端产品,或者一种特殊的 SSP。与上面一般 SSP 的决策过程相比较,它们主要区别在于绕过 ADX 接入的是可以返回报价的 DSP 而非只能估计 eCPM 的 ADN,这使得收入优化变得简单直接,也比较容易获得更高的 eCPM。但是这种方式在技术上存在明显的问题:最关键的一点是,客户端询价的模式带来了比较大的广告时延,这使实际的曝光减少了,也影响了用户体验。因此,我们更倾向于认为 Header Bidding 的成功是商业博弈的结果,而不是一种技术上的进步。

7.5.3 产品案例

在广告网络时代,SSP 产品由于可以一站式地接入多个广告网络,对媒体来说价值较大。当今,随着程序化交易的发展,其市场空间有所减小,产品功能上也与 ADX 有更多交叠。

1.Admeld
早年 Admeld 在为媒体做收益管理时,接入的主要流量并不只是来自 ADX 里的 RTB 流量,而是主要来自各大 ADN,比如,在北美市场就接入了 50 多家 ADN,换句话说,媒体只要加一段 Admeld 的代码,就可以对接所有这些 ADN,这极大地方便了剩余流量的变现和优化。在对这 50 多家广告网络做网络优化时,如前所述,由于对广告网络自己的定向方式和广告库不是特别清楚时,反而是使用广告位和时间段这样的基本划分比较稳健,因此主要在广告位维度、时间维度、广告返回率和分成比例等少数维度上进行 eCPM 估计和流量切分。
Admeld 也会从 DMP 购买用户数据,这样做一方面是为了自己能更进一步深入地估计各广告网络的 eCPM,另一方面也是为了方便参与竞价的各 DSP 了解流量质量,从而刺激 DSP 的竞价价格和市场的流动性。

2.Mopub
随着程序化的发展,ADN 的重要性在逐渐下降,于是 SSP 也演变成以实时竞价为主的与 ADX 类似的产品形式。不过在移动应用变现领域,随着 FAN 这样的封闭 ADN 越来越重要,传统的 SSP,或称为聚合平台的产品又逐渐在市场中占有一席之地,而其中最典型的代表之一就是 Mopub。
Mopub 是面向移动应用媒体,通过综合管理各种广告来源优化媒体收入的平台。与 7.5.1 节中的产品逻辑相对应,Mopub 主要提供以下几种变现功能。
(1)ADN 聚合。ADN 一般以 SDK 的形式嵌入 Mopub 的 SDK 中。媒体可以自行管理在各地区、各时间段中各个广告网络的优先级,并且采用瀑布式的请求来综合利用各个 ADN。Mopub 在这部分变现中并不向媒体收取费用。
因为 Facebook、Admob 等在移动应用变现中具有一定的重要性,所以这一部分往往是媒体最重要的收入来源。不过,由于 ADN 不会向 Mopub 实时报价,因此算法优化的空间相对较小。一般来说,SSP 需要以 API 的方式从 Facebook、Admob 等 ADN 拉取报表以优化收入,Mopub 目前采用的是由媒体手工填写各 ADN 的 RPM 的操作方式,似乎不是特别方便,也不太容易做到实时优化。
(2)程序化交易市场。对于 ADN 变现以外的流量,Mopub 自建了一个程序化交易市场,从各 DSP 处获得广告和变现能力。这部分与一般 ADX 的功能差别不大,但是因为是在 SSP 内的程序化交易市场中,所以需要按照 7.5.1 节中的动态分配方案来综合优化收入。
在程序化交易市场部分,Mopub 收取的中间费用较高,可以达到 30%~40%。
(3)广告投放(ad serving)。Mopub 也允许媒体自行进行广告销售,并为媒体的直客提供广告投放功能服务。一般来说,媒体的直接销售可能在一些头部流量上获得最高的溢价。因此,SSP 需要以最高优先级投放直客广告,再将剩余流量交由 ADN 聚合或交易市场来变现。

第8章 数据加工与交易

要提高定向的精准程度与人群覆盖率,技术并不是最重要的因素。那么什么才是决定性的呢?是数据的来源与质量。这是正确认识精准广告业务非常重要的观点。为了强调这一观点,我们以大家更容易理解的石油加工工业为例来做类比。在石油工业中,从油田挖掘出的原油是整个行业的原材料,炼油厂的作用是把这一原材料加工成汽油等燃料,再输送给加油站这样的销售终端。在精准广告中,可以把用户的行为类比于石油工业中的原材料,而日志收集和清洗系统的作用就相当于油田的挖掘设备。而受众定向的平台可以类比于炼油厂,它把原油,即清洗过的日志,加工成用户标签,而这些用户标签就像汽油一样,是可以被销售和使用的了。而传统广告中起关键作用的广告位,在这里仅仅变成了加油站,负责完成产品消费的过程而已。
技术能力的高低,直接影响着数据采集和变现的有效性。不过从另一个角度说,技术的作用也不能被过分夸大。巧妇难为无米之炊,没有高质量的原材料,即用户数据,再高明的技术也没有用武之地。

8.1 有价值的数据来源

(1)用户标识。对广告而言,如何确定哪些行为来自于同一个用户是非常关键的问题。用户标识对于行为定向的重要性往往容易被忽视。实际上,稳定精确的用户身份,对准确界定受众和利用数据至关重要。无论能拿到多少行为数据,如果没有办法把它们与投放系统联系起来,这些数据就没有办法发挥作用。
对于浏览器行为,我们最常使用的用户标识是 cookie,但是由于存在同时使用多个浏览器、cookie 过期或用户主动清除 cookie 的情况,这种用户标识的长期一致性并不算太好。好在对广告来说,起关键作用的还是用户近期内的行为,所以用 cookie 作为用户标识还是为业界广泛采用的基础方案。如果运营广告业务的域名同时提供其他有永久身份的服务,比如电子邮件、SNS 等,那么可以用这一永久身份找回过期或被清除的 cookie,这样用户身份的一致性就会有所改善。当然,如果广告业务域名和用永久身份服务的域名不同,也不是完全没有办法,在后者同意的前提下,可以采用 cookie 映射的方法来对应彼此的用户身份,这一技术的细节将在后面谈到广告交易的技术时再讨论。
在移动互联的情形下,iOS 与 Android 在应用内广告使用的用户 ID 有所不同:前者是苹果公司设计的广告专用用户标识符(IDentifier For Advertising,IDFA),其性质与 cookie 类似,而后者没有专门的广告用户 ID,一般采用 Android ID 或国际移动设备标识(International Mobile Equipment Identity,IMEI)等标识信息。
由于高质量的用户标识本身就是一种非常有价值的数据,因此也是可以在市场交换和售卖的。

(2)用户行为。业界通常认为,主要有转化(conversion)、预转化(pre-conversion)、搜索广告点击(sponsored search click)、展示广告点击(ad click)、搜索点击(search click)、搜索(search)、分享(share)、页面浏览(page view)、广告浏览(ad view)等在线行为是可以被广泛采集并且对受众定向或广告决策有明确作用的。按照对效果广告的有效性分类,这些行为又可以分为决策行为、主动行为、半主动行为和被动行为。
决策行为主要包括转化和预转化。这些都是在广告主的网站内发生的行为,往往对应着非常明确的用户兴趣。例如,在电商网站上,转化对应最后的下单,而预转化对应下单前的搜索、浏览、比价、加入购物车等多种准备工作。这类行为的价值是最高的,但是也是供给方或广告平台最难得到的。根据广告主的数据来进行重定向或者个性化重定向是对此类行为最直接的利用。在行为定向中,这类数据虽然量不大,但却不能忽视。
主动行为主要包括广告点击、搜索和搜索点击。这一组行为都是用户在网络上在明确意图支配下主动产生的行为,因而也有比较丰富的信息量。其中的广告点击行为一般来说量不大,并不能作为定向的主要数据来源。而搜索行为是能够大量获得的最主要的主动行为,要特别注意挖掘利用。
半主动行为主要包括分享和网页浏览。主动行为和半主动行为都是用户在目的比较弱的内容消费过程中产生的,因此,其所涉及的兴趣领域对把握用户信息有价值,但是细节的内容精准程度有限。半主动行为的指导意义虽然有限,但是其数据量却是各种行为中最大的。
被动行为主要是指广告浏览。广告浏览严格来说不能算作定向的行为依据,但是由于其频次与相应类别的广告点击负相关,因而在行为定向的建模中也可以使用。

(3)人口属性。人口属性是常用的一种定向标签,因此其数据来源很重要。一般来说,只有一些能够与用户实名身份绑定的服务才可以得到此信息。我们也可以利用网络行为数据来进行人口属性标签的预测,但是这样做的准确程度一般都很有限,而且这仍然需要一些标定的数据用于训练。对于某些人口属性,可能一些特别的信息比较容易给出准确的判定,例如,用语音服务记录的声音信号,可以将男女区分得相当准确。

(4)地理位置。地理位置信息随着能获得的精度不同,其用途也会有相当大的差异。如果只能根据 IP 进行映射,我们往往只能拿到精确到城市级别的地理位置,当然这对于很多广告投放来说,已经有相当的价值。而在移动互联环境下,GPS 或蜂窝可以提供的定位往往可以精确到几百米的范围,这就让我们可以收集用户线下的到店兴趣,并使精确位置定向的区域广告商(如餐饮)投放定向广告成为可能。

(5)社交关系。社交网络上的关系反映了人与人之间的联系,也隐含了一种联系人之间“兴趣相似”的合理推测。因此,社交关系可以用于用户兴趣的平滑。当广告系统观察到某个人的行为不足,无法进行精准的行为定向时,可以考虑借鉴其社交网络朋友的行为和兴趣。例如,一个人在微博上的好友有很多都是足球爱好者,那么可以猜测他也是一名足球爱好者。虽然这样的猜测未必准确,但只要统计上合理,就会对广告投放效果有帮助。需要注意的是,这样的平滑只适用于那些长期稳定的兴趣,对于短时的购买兴趣则不太适用。从这个意义上来看,强关系类型的 SNS 比弱关系的 SNS 有优势。

(6)设备信息。移动设备能够获得的数据比 PC 要丰富得多,其中一些设备的状态信息,如设备的应用安装列表、机型、年龄、陀螺仪乃至电池电量等,对场景的确定非常有帮助。因此,移动广告对于设备信息的收集和深入加工有特别重要的意义。

关于以上各类行为数据对广告效果的意义,有两条基本的规律:首先,随着用户主动意图的提升,相应的行为数据价值也随之增大;其次,越接近转化的行为,对效果广告的精准指导作用越强。把握这两条规律,有助于大家判断各种各样的行为数据的价值。不过读者不要忘记,广告的根本目的是“低成本地接触潜在用户”。如果仅仅从转化效果上判断行为数据的作用,会发现靠近转化的行为更精准,实际上是因为这部分人群已经更加接近于决策的最终阶段,也就是说越发不是“潜在用户”。因此,在行为定向这个问题上,不能单纯追求ROI或者转化效果,而是要根据广告主的具体的人群接触目标来平衡效果和覆盖率。

8.2 数据管理平台

8.2.1 三方数据划分

广告中用到的用户数据,根据其来源的不同,可以分为第一方数据、第二方数据和第三方数据。一般我们说的第一方和第二方分别是指广告主和广告平台,而不直接参与广告交易的其他数据提供方统称为第三方。在广告网络中,主要使用第二方数据指导广告投放;而在实时竞价环境下,不仅第一方数据可以被利用起来,大量第三方数据的加工和交易也逐渐发展起来。第一方数据的量虽然一般较小,却是所有数据的灵魂。以第一方数据为基础,用好第二方数据和第三方数据,是实时竞价时代重要的方法论。

8.2.2 第一方数据管理平台

面向第一方的数据加工产品,是狭义的数据管理平台。第一方数据的收集和加工是广告市场上非常重要的环节。不过,对没有这方面技术积累的广告主而言,专门设团队进行数据加工是没有必要的。因此,市场上产生了专门管理此业务的产品,这就是第一方数据管理平台。这一产品有下面几个核心功能。
(1)它可以为网站(可以是媒体,也可以是广告主网站)提供受众定向功能,并将得到的用户标签应用于网站业务。在这一过程中,除了加工一些通用标签,DMP 还需要能够比较灵活地按照网站定义的用户标签来加工受众人群。
(2)广告主网站可以通过 DMP 与广告采买渠道进行更方便的数据对接。这一点可以通过下面的应用来理解。假如某广告主需要通过外部广告平台做重定向,那么需要将自己的用户集合通过某种技术方式通知广告平台。如果每个广告平台都采用在广告主网站上加跟踪代码的方式来收集用户,就会有两个弊端:一是多个广告平台同时加代码,有可能使页面变得太重;二是访客的积累可能需要长达数周的时间,这使得广告平台重定向的效率降低。如果由 DMP 唯一负责广告主网站的用户积累和划分,并通过数据接口的方式传送给广告平台,那么可以在很大程度上解决上述问题。
第一方 DMP 的商业逻辑如图 8-3 所示。DMP 应数据源(data provider,DP)的要求,收集第一方数据,并加工成第一方需要的用户标签。DP 可以根据这些用户标签进行站内运营,也可以用这些用户标签来指导 DSP 进行广告投放。如图 8-3 所示,DSP 利用这些标签数据以 RTB 方式在 ADX 中投放广告,当然,第一方需要同时向 DSP 支付费用。

图8-3 第一方DMP商业逻辑

虽然 DMP 按照 DP 需求整理和加工数据会向 DP 收取费用,但是绝对不应该把数据看作自己的财产进行二次变现,或者把不同 DP 的数据混合使用。第一方 DMP 是一种数据托管和加工服务,并非以数据变现为目的,其客户也多为大中型的媒体和广告主。

8.2.3 第三方数据管理平台

第三方DMP,也称数据交易平台。它的主要产品功能是聚合各种来源的在线的用户行为数据,将这些数据加工成有价值的用户标签,然后在广告市场上通过售卖这些标签来变现。数据交易平台与数据管理平台的产品边界并不是泾渭分明,一般来说,数据交易平台除了聚合成形的用户标签,也都会提供聚合原始行为数据、自行加工标签的功能,也就是兼具 DMP 的产品功能;不过,数据交易平台往往是按照自己的逻辑,而非媒体的需求来制定标签体系和加工数据。因此,数据交易平台主要是站在第三方数据的角度提供产品,所以称为第三方 DMP。
第三方 DMP 的商业逻辑如图 8-4 所示。DMP 从多个 DP 那里收集原始数据,按照自己的逻辑加工成用户标签,并向 DSP 出售标签数据收入。同时,获得的收入再按照一定的比例分成给 DP。与第一方 DMP 不同,第三方 DMP 是一种数据变现产品,其 DP 也以中小型的媒体和数据所有者为主。

图8-4 第三方DMP商业逻辑

8.2.4 产品案例

数据管理和交易产品在程序化交易市场已经比较普及,但是在中国市场中还没有形成规模。究其原因,恐怕与大量作弊和流量劫持(参见17.4节)等灰色低成本渠道不无关系。

1.BlueKai
BlueKai 的主要业务模式,是聚合大量中小媒体的有价值行为数据,使用受众定向技术为用户打上标签,并对外售卖标签以获取收入。BlueKai 通过数据交易获得的收入,其中很大比例还将返还给数据提供方。BlueKai 的重点放在汽车网站、旅游网站和各种购物网站上,因为这些网站背后代表着某一个同质性较高的族群,与这些主题网站相关的广告主,如航空公司、汽车厂商等,也非常需要精准营销。例如,有一家卖服装的小网店,它有自己用户的搜索行为和购买行为,但它的数据量不大,不值得用这些数据去分析变现,BlueKai 就会与这些中小网站合作,通过汇聚众多中小网站的用户资料和行为数据,加工成受众定向标签对外售卖。例如,某些 DSP 想知道用户身上有什么标签,而它又没有用户信息,就可以向 BlueKai 购买或分成,BlueKai 再向网站分成。
通过这种数据交换方式,广告市场上最有价值的数据资源被盘活利用了:数据拥有者不需要直接涉足复杂的广告业务,也可以对数据进行变现;而数据需求者也可以方便地找到数据购买来源,以快速提高自己广告投放的效果。BlueKai 也注意到了隐私的问题,它提供了一个接口,用户可以看到自己的资料被谁使用,也可以选择“捐给慈善机构”。而实际上这不过是一种规避风险的方式,基本上不会影响到 BlueKai 和中小网站原本的收入。有关隐私方面的问题,读者可以进一步参考 8.4 节。
BlueKai 提供大量细分的类别,它有着开放体系上的标签,如“对宝洁洗发水感兴趣的人”“想去日本旅游的人”,这些非常精细的类目对于要做效果广告的广告主来说非常有意义,所以它的售价也很高。根据广告主使用目的和数据来源的不同,这些标签又分成如下的几种:Intent、B2B、Past Purchases、Geo/Demo、Interest/Lifestyle、Branded、Estimated Finan-cial/Economic。这是一个比较典型的半开放的标签体系,其中的 Intent 部分非常类似于前面的兴趣定向体系,这部分是由 BlueKai 根据通过数据交易平台收集的用户行为加工的。而其他部分,有的由其他数据提供商直接提供,如由 Bizo 提供的 B2B 标签,也有的根据多家的数据融合决策而成,如 Demo/Geo 标签,实际上融合了 Bizo、Datalogix、Expedia 等多家数据提供商的数据源。
之所以说 BlueKai 的标签体系是开放式的,是因为它会根据数据的来源和市场需求不断拓展和调整标签的类别和内容,力求能够满足尽可能多的广告主的特质化需求。表 8-1 中列出了 BlueKai 的几种主要标签、覆盖用户量和主要数据来源。

表8-1 BlueKai标签体系主要类别
|类别|描述|数据来源|用户规模|
|—|—|—|—|
|Intent|最近输入词表现出某种产品或服务需求的用户|BlueKai Intent|16亿以上|
|B2B|职业上接近某种需求的用户|Bizo|9亿|
|Past Purchase|根据以往消费习惯判断可能购买某产品的用户|Addthis, Alliant|6.5亿以上|
|Geo/Demo|地理上或人口属性上接近某标签的用户|Bizo, Datalogix, Expedia| |
|Interest/LifeStyle|可能喜欢某种商品或某种生活方式的用户|Forbes、i360、IXI……|10.3亿以上|
|Qualified Demo|多数据源上达成共识验证一致的人口属性|多数据源|9亿以上|
|Estimated Financial|根据对用户财务状况的估计做的分类|V12| |

2.AudienceScience
它的核心业务有以下两项。
(1)主要提供面向媒体和广告主的第一方 DMP 服务。例如,《纽约时报》自己有很多用户,也有很多在线数据,但它的核心业务不是做广告,也不是做数据加工,它更愿意把数据交给 AudienceScience。AudienceScience 帮它加工一些有意义的用户标签,如财经类用户、体育类用户。《纽约时报》的 BI 系统可以用这些标签分析哪些用户对哪些内容感兴趣,应该如何优化内容。
(2)AudienceScience 还直接运营一个效果广告网络,并帮助广告主进行投放管理和优化,这里它就用到了它分析得到的用户标签。就其数据聚合和收入分成的模式来说,AudienceScience 与 BlueKai 有很多相似之处。两者主要的区别是 AudienceScience 并不通过售卖标签来获得收入,而是仅供委托他们优化效果的广告商使用,即通过运营一个自有的广告网络来变现,使用标签创造的营收按照一定比例与提供数据的媒体分成。这样做的原因是 AudienceScience 认为数据加工业务在扣除媒体分成以后利润空间太小,而自营广告网络有可能获得更大的套利空间。
AudienceScience 具体的商业流程是:网站(可以是广告主或媒体网站)先把自己的流量托管给 AudienceScience,并付给 AudienceScience 一定的技术服务费,AudienceScience 把数据加工成标签,首先提供给网站用以优化它的流量和用户体验。
2017 年 5 月,AudienceScience 公司关闭了,这也反映出在当今互联网广告业中,单纯的数据服务规模化和盈利能力都比较有限,在市场上举步维艰。

3.TalkingData
TalkingData 以向开发者提供应用统计分析工具为切入点,积累每月 700 PB 左右的独立设备数据,在这些数据的基础上,又推出了营销云产品 MarketingCloud。从产品上看,这是一个将第三方数据和第一方数据相结合用于营销的 DMP 产品,从商业模式上看,更接近于第一方 DMP 产品。MarketingCloud 主要的产品功能有以下几个。
(1)用户 ID 的映射与管理。客户在各种情形下收集到的第一方用户数据,往往以不同的 ID 出现。例如,CRM 数据、线下门店数据、线上浏览数据、微信公众号数据,其对应的用户标识都不一样。为了有效地管理用户,需要把以不同 ID 出现的同一个用户数据打通,这需要比较强的第三方数据积累,MarketingCloud 提供了这方面的产品功能。
(2)向客户开放的第三方标签库。由于 TalkingData 已经积累了大量的第三方数据,可以让客户在自己的第一方数据以外,使用全网用户数据进行受众定向或新客推荐。比起第一方 DMP 主要利用第一方数据的方法,这些第三方数据有可能让客户面向新用户的营销能力有质的提升。目前,MarketingCloud 中的第三方用户标签包括人口属性、城市、设备属性、应用兴趣、消费偏好等体系,一共 800 多个细分维度。
(3)地理围栏目标受众。通过 GPS、Wi-Fi 信号、蓝牙等方式,移动设备可以更准确地了解用户的地理位置,恢复用户的场景。MarketingCloud 利用 TalkingData 积累的地理位置数据,向客户开放根据地理围栏构建目标受众的能力。
(4)营销过程监测和管理。第一方数据管理和第三方数据利用的主要目的之一是用于营销过程。对此,MarketingCloud 提供了用于营销前的受众洞察和营销后的数据分析,希望逐渐驱动营销过程的自动化。

8.3 数据交易的基本过程

数据交易一般是通过 ADX 或 SSP 作为中转来完成的,如图 8-5 所示。DMP 的各种用户标签,以批量传输的方式提供给 ADX,并作为 ADX 的一个辅助产品售卖给各 DSP。标签一般按照 CPM 计价,DSP 如果选择购买某种标签,则在广告询价的过程中,ADX 将本次请求的用户标签传给 DSP,最终以 DSP 实际成交的展示量乘以 CPM 价格作为其购买数据的附加费用。

图8-5 数据交易过程示意

以广告交易为载体进行数据交易,与在 DMP 和 DSP 之间直接进行数据交易相比,是更加合理的产品方案,它有以下一些好处。
(1)因为数据的量级可能较大,所以数据传输的成本是无法忽略的。如果在 DMP 和 DSP 之间进行数据交易,总体的数据传输成本就非常高。而在广告请求上附加用户标签本身不会带来额外的服务开销,因此整体数据交易的传输成本就只有 DMP 和 ADX 之间的一次传输。
(2)所有的 DSP、数据提供方都只需要与 ADX 进行 cookie 映射,这种以 ADX 为中心的星形拓扑结构,比起 DSP 直接与数据提供方进行 cookie 映射的拓扑结构,显然要方便得多。ADX 触达的用户规模往往比单个 DSP 或 DMP 要高很多,这种方案实际上最大限度地避免了由于 cookie 映射带来的数据损失。
(3)实现了数据的部分交易。DSP 显然很少有机会利用到某个 DMP 的所有数据,通过在广告交易过程中传数据的办法,DSP 可以自由限制需要的数据范围。例如,某 DSP 只投放上海地区的客户,那么在 ADX 中选择上海地区以后,就只会收到上海地区的数据了。
(4)ADX 在数据的买方和卖方之间恰好起到了数据使用量监测和计费的作用。
不过,数据作为一种信息类商品,其属性与其他实体商品乃至广告这种虚拟商品最大的不同在于可以重复售卖;另外,数据又不同于软件这种可以重复售卖的信息商品,因为软件售卖后使用者之间是彼此分离的,而同一份数据的使用则是面对同一批用户群的,因此存在博弈关系。
对于这样一种特殊商品的交易,我们对其规律的认识也是循序渐进的。目前看来,8.2 节介绍的现有数据管理机制是存在一些问题的。我们举个例子来说明:假如某 DMP 知道某个用户是高尔夫爱好者,把这个信息以数据交易的模式卖给了一家 DSP,于是该 DSP 可以利用此信息获得较高的回报,当然也就可以承受比较高的数据采购价格;但是,如果 DMP 将此数据出售给了 DSP,那么这些 DSP 在定向同一个用户时,必然因为竞价的关系抬升流量成本,于是因为数据获得的回报就变少了,当然也会间接影响数据的变现价格。简单来说,我们认为:数据的重复售卖会引起数据价格向流量价格的转移。
无限制重复售卖数据的另一个问题是无法按竞价的方式售卖,这一点并不难理解。我们知道,在线广告市场正是因为采用了竞价交易模式,才带来了客户数量和变现能力的大幅提升。因此,我们期望数据也能探索竞价的交易模式,如果数据采用限量的售卖,则有可能发展竞价模式,同时保证数据的提供方的利益。限量的数据售卖就是,每条信息在一定时间内仅提供给有限家购买者,不过究竟应该提供给几家,竞价方式该如何确定,还有待探讨。

8.4 隐私保护和数据安全

广告是一个典型的个性化系统,它需要大量使用用户的行为数据来进行受众定向,同时,在广告市场中还存在着数据交易的产品。无论是受众定向还是数据交易,都需要谨慎地考虑对行为数据的使用是否会泄露用户的隐私;同时也要考虑拥有数据的利益方,特别是广告主,是否在广告市场中被平台或竞争对手获得和利用了自己的关键商业数据。

8.4.1 隐私保护问题

隐私保护除了关心那些成批的用户资料泄露,更大的挑战是针对熟人的隐私窥探,即窥探者在了解被窥探者一些背景信息的基础上,用这些背景信息进一步试图获取其更多的隐私信息。后一种挑战由于可能是人工与机器相结合,而且对成本往往不敏感,给隐私带来的风险也最大。一个最生动的例子可以参见“清华学生用自拍照推理出王珞丹住址”这篇报道,在这个例子里,一名清华学生通过分析王珞丹的微博发帖和照片,准确地得到了其住址这一隐私信息。下面我们来具体看一下隐私保护的原则。

1.隐私保护基本原则
(1)要严格避免使用个人可辨识信息(personal identifiable information,PII)。PII 是最重要的隐私信息,它指的是那些被获取后可以方便地定位到具体人的信息,如身份证号、电话号码、电子邮件地址、家庭住址等。这些信息一旦被恶意获取,会给当事人带来非常大的不便和潜在风险,因此需要无条件地被严格保护。需要说明的是,广告系统中经常使用的用户标识,如 cookie、IMEI 等,由于不具有方便地辨识人的作用,因此不属于 PII。
(2)用户有权要求系统停止跟踪和使用自己的行为数据。如图 8-6 所示,当向用户提供行为定向广告时,广告提供商应该给出明确的提示,如图 8-6 中的广告创意右上角的“AdChoices”。如果用户对自己的行为被使用感到不满,可以通过此入口得到更多的详细说明,并且可以通过说明页面上的“Opt-Out”操作来通知系统停止跟踪和使用自己的行为数据。系统得到通知后,必须停止记录该用户的行为信息,也不再向其投放行为定向广告。这样的入口给了用户决定是否接受个性化广告的权力,对特定情形下的隐私保护非常重要。
(3)不应长期保留和使用用户行为数据。即使用户同意接受行为定向广告,广告平台在数据的使用和存储上也应该有所节制。长期保留用户行为数据对受众定向价值有限,同时又加大了数据泄露的风险,因此应该只保存一段时间内的行为数据,过期的数据如果并非与业务直接相关,不应再存储。

图8-6 Ad Choices示例

(4)工程上还需要特别注意权限的严格分配和最小数据访问的原则。工程师在调试程序时,最好使用采样过的、关键信息被匿名化处理过的数据子集,而在生产系统中要通过特别的密钥访问原始数据全集,即使是开发数据处理程序的人,包括管理层,也不应当有数据访问的权限。
上面的这些原则相当基本,也非常重要,是广告系统、推荐系统在用户行为数据使用中首先要遵循的。不过,这些原则并不能解决一些深层次的数据隐私泄露问题,对此我们还需要更加深入的认识与对策。

2.准标识符与 K 匿名
PII 是可以辨识个人身份的隐私信息,那么是不是非 PII 的信息就无法辨识身份了呢?举个例子,假设有这样一条用户信息“姓名:×××;手机号:×××;年龄:36;工作地点:上海市携程大厦;性别:男;职位:测试工程师;爱好:羽毛球;月薪:15 000 元”,其中的“姓名”“手机号”等 PII 已经被隐藏。但是,如果此用户的一个朋友看到这条记录,根据“年龄、工作地点、性别、职位、爱好”这些非 PII 的组合,还是很容易辨识出是谁的信息,从而得到“月薪”这一隐私信息。
在上面的例子里,年龄、工作地点、性别、职位、爱好这组信息虽然单独看来都无法确定一个人,但组合在一起就有可能让熟人确定出对应的人,这样的信息,我们称为准标识符(quasi-identifier)。由于有这样的准标识符的存在,即使没有提供 PII,也存在比较高的隐私泄露风险
有没有什么办法能够降低这一挑战带来的风险呢?简单的思路是将准标识符做一定程度的泛化。例如,将“年龄:36岁”泛化成“年龄:30~40岁”,将“工作地点:上海市携程大厦”泛化成“工作地点:上海市”。如果泛化的结果使数据集里的每一组准标识符的实例都能找到 K 条与其相同的,那么就说实现了 K 匿名。显然,当 K 的值取得比较合理时,隐私泄露的风险也就降低了不少。
准标识符与 K 匿名并不是互联网隐私问题的产物,而是在数据库领域就有的。它给了我们很大的启发:当背景信息充分,而这些信息又较为稀疏时,隐私问题的挑战会变得更大。而在以互联网广告、推荐等为代表的个性化系统相关的数据交易中,这样的风险变得空前严峻。

3.稀疏行为数据的挑战
在计算广告这样的个性化互联网应用中,对一个用户的描述不再限于上面例子里的基本信息,而是包括了其大量的行为数据。行为数据的特点是极为稀疏,换句话说,任何两个用户的行为数据都几乎不可能是相同的,也很难通过K匿名的方案来解决。那么是否可以通过行为数据来反推用户的隐私呢?答案是肯定的,而且有实际的案例发生。
在著名的 Netflix 百万美元推荐大赛中,主办方公布了比赛用的数据库,其中的关键用户信息已经去除了 PII,并做了 K 匿名处理。不过,由于用户的观影记录和打分是推荐使用的主要数据而未做处理。当数据公布后,恰好有一位关注者在数据中发现了一条记录,从其观看的影片和评价分数来看,集合可以确定无疑是自己的另一位朋友,而同样在这个用户观影记录中,还发现了一些同性恋题材的影片。读者显然明白这意味着什么,实际上,他的朋友不想为人所知的同性恋隐私被这样一个推荐大赛在无意中泄露了。由于稀疏的行为数据很难通过简单技术处理模糊用户间的区别,再加上其他一些原因,这一大赛就没有继续举办下去了。
作者对上面的隐私安全问题做了更加系统的研究,他发现通过简单的算法就可以将 Netflix 给出的数据与另一个 IMDb 给出的数据库做用户身份上的对应,而且准确率相当高。抛开具体的方法不谈,这一研究向我们揭示的问题是:通过稀疏的行为数据,可以比较容易地定位自己熟悉的人,并进而获取其相关隐私信息。这一问题的发现使工业界对隐私安全问题的认识大大提升,也提醒我们在数据交易和披露过程中,要特别注意这方面巨大的风险。这也催生了与深度个性化系统中隐私安全相关的差分隐私(differential privacy)问题的研究。
坦率地讲,稀疏行为数据给隐私保护带来的巨大风险还没有成熟的解决方案,这无疑将是大规模行为数据利用头上的达摩克利斯之剑。在实际的工业实践中,需要对此问题有一定程度的认识和理解,并尽可能考虑到自己的业务过程中与此相关的隐私安全风险。
目前,差分隐私的技术在学术界和工业界引起了越来越多的关注。所谓差分隐私,指的是对数据集进行一定程度的修改,在尽可能少损失查询准确率的情况下,使隐私泄露的风险最低。2016 年,苹果公司宣布在其 iOS 10 操作系统中集成了差分隐私技术,不过具体实现了什么样的功能尚不清楚。

8.4.2 程序化交易中的数据安全

1.供给方的数据安全
因为在 RTB 过程中,ADX 需要向参与竞价的 DSP 广播每次展示的 URL 和 cookie,这使得 DSP 在理论上存在规模化监听媒体用户行为的可能。假设有某个恶意的 DSP,对于能够参与竞价的所有广告请求,都以很低的价格参与竞价,目的不在于赢得流量,而在于收集媒体上的用户行为,这就产生了媒体数据的安全问题,我们将其称为供给方的数据安全问题,第 7 章中介绍 RTB 原理时也曾经提到过这一问题。
供给方的数据安全问题尽管在 RTB 中确实存在,但是并不是想象中那样严重。我们可以了解一下 16.1.2 节中介绍的询价优化技术:由于带宽的限制,实际上在每次询价时,ADX 应该尽可能只向那些最可能赢得竞价的 DSP 发送询价请求,而那些以恶意收集数据为目的的 DSP,在理想情况下应该被挡在大部分询价之外。

2.需求方的数据安全
再来看看需求方的数据安全问题。在RTB的环境下,由于定制化标签的引入,广告主的第一方数据也暴露在了广告交易的过程中,而这些数据有的是广告主的核心数据,需要认真考虑其安全问题。我们用图 8-7 所示的例子来说明一下:假设有两个英语教育类广告主“英孚教育”和“华尔街英语”,两者都通过 DSP 进行重定向访客找回,那么他们分别利用 RTB 的方式接触到了自己的访客集合。需要注意的是,这里的访客集合实际上是广告主的私有数据,也是特别具有商业价值的数据,然而,DSP、ADX 和媒体都有可能在 RTB 过程中得到这些访客集合。如果 DSP 希望制造更加激烈的竞价环境以获得更高的利润,那么它实际上可以将这两个广告主的访客集合合并在一起,并生成一个相应的用户标签吸引双方来对此标签竞价。这种做法的实质是在竞争对手之间倒卖访客集合,并且可以通过比较模糊的标签名字(如为上面两个广告主的访客集合打上“英语教育”的人群标签)非常隐蔽地操作。随着竞价激烈程度的增加,原本属于广告主的利润就向市场其他环节发生了转移,这个问题就是需求方的数据安全问题。

图8-7 需求方数据安全问题示例

需求方的数据安全性在某种意义上比供给方的数据安全性更加重要,因为这决定了广告主是否可以放心地通过RTB进行广告采买。坦率地讲,当前的广告交易市场对这个问题的重视程度和解决方案都还很不充分。因此,要提醒广告主,在广告交易中使用自己的第一方数据时,特别是面对强势的广告平台时,要特别留意数据安全的问题。

8.4.3 欧盟的通用数据保护条例

欧盟议会于 2016 年 4 月通过的《通用数据保护条例》(General Data Protection Regulations,GDPR)于 2018 年 5 月正式生效实施。GDPR 适用范围很广,任何收集、传输、保留或处理欧盟成员国个人信息的机构组织均受其约束。
GDPR 规定了对于个人敏感数据的收集、处理和存储的原则,而下列个人数据皆被视为敏感数据:

  • 种族或民族出身;
  • 政治观点;
  • 宗教/哲学信仰;
  • 工会成员身份;
  • 涉及健康、性生活或性取向的数据;
  • 基因数据;
  • 经处理可识别特定个人的生物识别数据。

其中最后两类数据是以前的相关法规讨论中未曾涉及的,也是在新时代技术背景下合理的拓展。
对这些数据的收集和使用,GDPR 要求企业必须以明确得到用户“同意”为基础,在征求同意的条文中,企业需要明确说明用户他的哪些信息会被收集,以及这些信息是如何被存储和使用的。以前那种模糊的、容易混淆的条文,将不再被允许。
另外,GDPR 认为对消费者来说,应该明确拥有对个人数据的以下 4 项权利:

  • 数据访问权,即用户有权了解企业对其数据的具体使用情况;
  • 被遗忘权,即用户有权要求企业删除已经收集的个人数据;
  • 限制处理权,即有权禁止企业将信息用于特定用途,如用于营销或者将数据透露给第三方;
  • 数据携带权,即用户想离开某平台时可以带走其在该平台产生的个人数据,如歌曲列表。

GDPR 被称为史上最严格的用户隐私保护法规。应该说,这一条例对于用户隐私的重视与剖析,值得所有互联网工作者认真学习。另外,欧盟为了彰显其执行这一条例的决心,声称会对违反该条例的企业处以最高达数千万欧元的罚款。
但是,我们认为该条例也存在很多严重的问题,主要有以下几点。

  • 如前文所述,用户隐私保护本身是个复杂的技术问题,恐怕不是靠法规可以彻底解决的。例如,因为数据本身与其他用户隐私有关联性,“数据携带权”这样的规定实际上很难执行。事实上,GDPR 中很多具体的执行标准到今天仍然语焉不详。
  • 法规低估了互联网产品使用数据的技术复杂性。实际上,由于深度学习等方法的普遍应用,企业本身也无法说清楚用户的数据是如何被使用的,这就使这样的规定有些想当然了。
  • 有人评估过,如果企业严格按照 GDPR 条例改造产品和系统,那么要花费至少数百万美元的额外成本。显然,这样的成本对于 Google 和 Facebook 这样的大公司来说无足轻重,但小企业却难以承受。

因此,我们认为,这一条例很可能会成为加剧互联网寡头化趋势的“恶政”。
总体而言,GDPR 是用户隐私保护领域的一次重要探索。但从实际规定来看,这一条例有些因噎废食和纸上谈兵,如果彻底严格执行,有可能会对欧洲的互联网产业带来致命打击。

第9章 信息流与原生广告

广告毕竟是离不开用户产品的。目前的广告交易体系倾向于直接使用第一方数据和第三方数据做指导,在独立的交易环境中完成投放,而广告与媒体内容的关系则在一定程度上被弱化了。应该说,这并不是一个好的趋势,独立于内容的广告交易,必然会在效果和用户体验方面碰到天花板。将内容与广告决策深度融合的原生广告产品是本章讨论的重点。
原生广告最重要的也是最早引发“原生”问题讨论的产品形式就是信息流广告。这种广告形式最早见于社交网络,后来为各类移动广告产品广泛采用。从形式上看,交互的联动性和相对独立于周围内容的特性,使信息流广告有非常好的效果,我们将试图在此基础上给出信息流广告的定义。从产品本质上看,信息流广告与普通展示广告区别不大,可以看成是一个多位置且广告放置比较自由的竞价广告产品。
但是,关于“原生广告”这个更一般的概念,我们很难给出清晰的定义。实际上,从软文、搜索广告到社交网络中的信息流广告,都有一些原生广告的意味,但也都只反映了原生广告的一个侧面。应该说所有将商业化内容与非商业化内容统一生产或混合排序的产品,都可以认为与原生广告有关系。这样的产品方向,也经常被称为内容即广告(content as ad)。在本章中,我们会介绍几种常见的原生广告初级产品。
原生广告得到充分的重视和发展是在移动互联网时代到来以后。这是因为,将广告与内容独立地展示和运营在屏幕较小、触屏交互方式不够精准的移动设备上遇到了巨大的挑战。于是,业界开始探讨将原生广告部分代替一般展示广告,提高移动环境下广告的变现能力。在原生的发展方向下,以激励视频为代表的深度原生广告形式正在变得越来越普及,并且带动了移动广告视频化和交互化的发展方向。
不过,与内容结合的原生广告如何能够规模化、交易化运营是产品面临的一个挑战。根据现在市场上的产品探索,我们总结了一些原生广告交易化运营的关键点,以及将会面临的主要挑战。

9.1 移动广告的现状与挑战

9.1.1 移动广告的特点

在认清了移动设备的一些独特属性,特别是可以对人的行为模式进行全时段、全场景分析这一特点后,我们会发现,移动广告面临着前所未有的巨大的市场机遇。
移动广告的库存正随着移动设备的爆发式增长而迅猛成长,这一点带来的流量红利当然是最大的机遇。不过,我们更关注的是,从产品本身来看,移动广告究竟带来了哪些新的机会呢?我们认为至少有以下两点。
(1)场景广告的可能性。从用户行为分析角度来看,移动设备与 PC 最大的不同是可以对用户行为模式进行全天候的监测和分析。移动设备的特点是一直跟用户在一起,并且从地理位置、生活状态、需求意图等各方面都可能对用户有深入的理解。因此,在移动环境下,受众定向完全有可能做到从场景和意图出发,而不是仅根据兴趣推送商品。举个例子,根据简单的地理位置分析,就可以判断用户是在家还是在上班,如果是在上班,那么就不应该向其推送游戏广告。
(2)大量潜在的本地化广告主。广告发展到今天,可以说没有任何主流的渠道可以帮助本地化小商家做推广。电视、路牌这种品牌性媒体自不必说,即使是在线广告,在 PC 时代往往也只能定位到城市级别,这样的地域定向对一个小区的理发店来说显然是粒度太粗了。而在移动环境下,GPS、蜂窝、Wi-Fi 等多种精确定位的手段,使基于精确地理位置的本地化广告变得可行。当然,精确地理位置也需要结合移动特点,用场景化的方式来使用。

9.1.2 移动广告的传统创意形式

图9-2 移动广告形式示例

1.横幅与插屏
横幅是移动应用中产生比较早的广告创意形式,也是直接从 PC 广告的形式传承下来的。虽然形式上类似,但在移动广告中横幅这种形式却有一定的问题。首先,移动横幅广告的点击率远高于 PC 横幅广告,当然其中有很大比例是误点击。横幅的误点在移动设备上会严重打乱用户的任务,因此对用户体验的伤害也较大。其次,广告主观察到的转化率很差,这一方面是因为大量的误点不会产生任何效果,另一方面是因为广告主的后续转化体系在移动广告上不够成熟,当然这并不是横幅独有的问题,我们后面还会提到。
插屏广告(interstitial ad)与视频中的暂停广告非常类似,往往也是出现在游戏或其他应用暂停时。这种广告同样有着点击率虚高、转化相对较差等特点。
虽然横幅和插屏有这些问题,但是由于广告网络、广告交易平台等成熟交易体系的存在,这种标准化程度较高的形式最容易形成规模。因此,到目前为止,横幅和插屏广告仍然是移动展示广告主要的形式,并且主要以竞价方式售卖为主。

2.开屏与锁屏
开屏是在一个应用打开时,在加载页面展示的全屏广告,读者在新浪微博、网易新闻等应用加载时经常可以看到。开屏可以说是移动广告形式比较好的探索之一,因为用户在等待应用打开时还没有明确的任务,因此不会对广告很反感。另外,全屏的展示形式让这种广告的品牌价值更高,因此在实际售卖时往往以合约方式为主。
与开屏类似,还有一种锁屏广告,它是在用户的移动设备被锁定时展示的广告,其特性与开屏广告很相似,对用户体验的影响也较小。但是,这种广告一般以激励型为主。

3.推荐墙与积分墙
由于移动应用生态体系的存在,有相当比例的移动广告预算是以推广应用下载为目标的。最直接的下载类广告形式是推荐墙(offerwall)。从技术上说,这可以类比于第 8 章中提到的站外推荐。不过,推荐墙并没有成为移动应用推荐类广告最主要的形式。
实践中还有一种叫“积分墙”的产品。积分墙同样是向用户推送应用下载类广告,不同的是,在用户下载并激活该应用后,会得到一定的积分,这些积分往往可以兑换游戏币、电话卡等虚拟物品,以此刺激用户的下载行为。积分墙与返利网一样,都属于激励广告,虽然点击和激活数据很好,但是后续活跃程度比较差。不过,在特殊场景下,积分墙这种推广方式也有其特殊的价值。
(1)应用冲榜。当开发者开发的新应用上线时,往往需要短时间内的大量下载,冲高在 Apple Store、Google Play 等这类应用商店里的排名,因此积分墙是一个很好的渠道。不过在中国,由于 Android 市场非常割裂,因此积分墙主要流行于 iOS,而苹果公司从 2013 年开始也明确表示会打击这类用积分推广影响榜单的方法,因此其前景并不乐观。
(2)游戏开服。在线手机游戏增加新的服务器时,也需要短时间内有大量玩家进入以形成社区,因此也常常选择积分墙。

9.1.3 移动广告的挑战

(1)应用生态造成的行为数据割裂。在目前的移动互联网环境中,并没有形成 PC 时代那样的以 Web 为核心的生态,取而代之的是以应用为主的生态体系,这有些像 PC 早些年的情形。
应用与 Web 相比,虽然在用户体验的流畅性、功能丰富性方面有一定的优势,但是也带来了对商业产品的挑战:各应用之间相对独立,没有 Web 环境下超链接那样的组织体系,因此数据的来源也相对割裂,整合起来比较困难。因此,虽然理论上说,移动环境对用户的了解更加深入,但实际操作中数据的获取更加困难。Web 生态下常用的数据交换接口,如 JavaScript 跟踪代码之类,在应用生态中需要用更加复杂的 SDK 来解决,可行性往往大打折扣。
(2)许多 PC 时代广告主移动化程度还不够,无法充分消化广告带来的流量。虽然原理上讲,将一个 PC 的广告投放迁移到移动投放上非常简单,但在实际操作中,会在后续转化流程上遇到巨大的麻烦。
首先,是落地页展示和交互模式的巨大差别。如果将 PC 端的落地页直接照搬到移动投放中,交互体验会非常差,效果当然也不会好。这还仅仅是落地页,如果涉及后续转化流程的多个页面,可以想象,广告活动的移动化不仅是一个系统工程,而且很可能是要等待广告主自身业务移动化的进程。
为了让广告主后续的转化流程更符合移动环境的用户使用习惯,移动广告的落地页也产生了一些新模式,例如,点击广告直接拨打广告主服务电话或者发送短信,这也都是为了让后续的转化流程更加顺畅。
(3)移动广告的产品形态需要一次革命。上面谈到的传统横幅广告在移动环境下遇到的问题,实际上反映了产品形态的深层次问题。在传统的在线广告中,广告位和内容总是被放在不同的单元中,以相对独立的方式运营的。但到了移动环境下,屏幕的尺寸减少了很多,如果被广告位再占据一块空间,那么变现与用户体验的矛盾就显得非常突出了。
那么,移动广告产品形态的变革有何方向呢?显然,原生广告是一个值得探索的方向。因为原生的目的就是解决广告与内容对立的问题,希望广告也能在用户正常的内容消费中和谐地存在。如果这样的产品能够发展起来,也就不存在广告与内容争抢版面并严重损害用户体验的问题了。正是基于此,我们才将移动广告和原生广告这两个并非并列关系的问题在本章里一起讨论,因为在我们看来,只有原生化才是移动广告最重要的方向。

9.2 信息流广告

作为原生广告最重要的形式之一,信息流广告起源于社交网络。2010 年 4 月,Twitter 发布了其“Promoted Tweets”产品,在其信息流中插入商业化的内容,如图 9-4 所示。这样的信息流广告后来也被其他的社交网络(如 Facebook、微博、QQ 空间等)广泛采用。信息流广告由于自然地出现在用户内容消费的主路径上,而且展示形式与内容非常接近,因此受到的关注比较有效,这也使得其效果比一般展示广告有较大的提升。正是从这种信息流广告开始,大家才意识到,内容与广告的有机融合是提升广告十分有效的手段,这也催生了对于原生广告系统性的探讨。

图9-4 “Promoted Tweets”信息流广告示例

如今,信息流广告也出现在一些非社交类的媒体上,如今日头条、Yahoo!新首页等。这些适合于信息流广告的媒体都有一个共同特点,即信息流中的各条内容相关性并不强。在这种情形下,插入一条商业化内容,形式上不会显得太突兀,用户体验也会较好。如果在一些垂直媒体的信息流中提供广告,则需要考虑上下文的影响,以达到原生的目的。实际上,在社交网站上投放信息流广告时,如果考虑与周围内容的相关性,也会提升一些效果。
信息流中的内容排序方式比较多样化,例如,在社交网络中一般按照时间排序,在新闻客户端则按照兴趣、热度等排序。因此,无法将内容与广告按同一准则排序,一般是将广告按照一定的规则插入到自然结果中。

9.2.1 信息流广告的定义

在产品发展过程中,对信息流广告曾经有过不同的称谓和理解。最初,大家认为这是伴生在社交网络产品中的广告产品,所以往往只提及社交广告;后来,随着新闻等内容类产品广泛采用这种变现方式,才开始将信息流广告作为一种特殊的产品形式来考虑;近来,随着各种类型的应用都开始结合自己的交互特点嵌入这种广告形式,信息流广告的外延开始不断丰富,内涵也逐渐明确。如图9-5所示,典型的上下滑动交互信息流、多列的瀑布流,甚至左右滑动的负一屏,在用户体验上和广告效果上都呈现出比较一致的特征,可以把它们都归到信息流广告的范畴。当然,信息流广告这种形式既可以用于移动端,也可以用于PC端。

图9-5 信息流广告若干示例

信息流广告指的是这样一种广告形式:首先,广告以与内容联动的方式进行交互;其次,被广告区隔开的各部分内容之间没有直接的关联。

我们用图9-6来说明以上定义的两个关键点。

图9-6 信息流广告关键特征示意

(1)广告与内容的交互联动,指的是用户在上下、左右或其他交互方式操纵内容进行浏览时,嵌入内容之间的广告也要按同样的方式被操作,换句话说,怎么操作内容,就怎么操作广告。如图 9-6 所示,用户通过上下滑动操作 c1~c4 这些内容片断的显示时,嵌入其中的广告 a 也跟随其移动改变显示位置。广告与内容的交互一致,一方面可以极大程度地提高操作的便捷性,降低误点概率;另一方面会让用户感觉广告也是内容消费的一部分,从而提高关注程度和广告效果。举个例子,传统的横幅广告在内容交互时,广告在上部或下部悬浮不动,就不符合这条定义。在插屏这类占据屏幕较大比例的广告形式中,如果采取角上按钮关闭广告,则并非内容的典型交互形式,所以不应认为是信息流广告;但如果通过滑动消除广告,进入其他内容或功能界面,也可以归为信息流广告。
(2)被广告区隔开的内容相对独立,指的是图 9-6 中被 a 区隔开的 c1~c4 等部分各自独立表达一项内容,并没有直接的接续、因果等关系。之所以强调这一点,是因为如果内容块之间有很强的联系的话,用户从感知上就会认为广告打断了他当前的阅读任务,根据 2.1 节的讨论我们知道,这会影响广告的关注程度和用户的产品体验。根据这一定义,我们知道在一篇文章中间开辟一个广告位,把内容区隔开的产品形式,并不属于信息流广告,而社交网络、新闻客户端等产品形式,由于内容块之间天然具有联系较弱的特征,非常适合采用信息流广告变现。
需要说明的是,展示样式与内容块一致、采用受众定向的方式精准投放广告等特征,虽然在实践中为大多数信息流广告产品所采用,但是并非根本特征,可以不放在定义的要求之中。

9.2.2 信息流广告产品关键

就信息流广告特有的产品问题来看,有两点需要专门讨论:一是如何将同样的广告素材适配到不同的信息流位置上去;二是如何处理广告在信息流中出现的位置与密度。
1.广告位适配问题
信息流广告不同于标准的横幅、插屏等位置,往往需要根据媒体的上下文布局与风格确定展示样式。然而,为每一种展示样式单独制作一个创意的成本,对于广告主和平台来说是无法接受的。因此,需要有自动化的产品方案能够解决同一个广告在不同广告位下的适配问题。
实际上,这个问题并非信息流广告独有的,而是原生广告遇到的普遍性问题,我们将其称为“表现原生”问题。9.4 节中将对此进行详细讨论并给出示例。
有人认为,对于 Facebook 这类流量很大的平台,设计信息流广告时并不涉及多种位置适配的问题,这样的观点是不对的。实际上,任何一个平台在充分变现自由流量后,都会向外拓展新的流量来源,而这些站外流量由于产品情况复杂,要做到原生的展示必然存在适配问题。而如果广告主需要为站外拓展流量重新制作创意,必然会带来填充率的严重下降,变现能力也会大打折扣。

2.广告竞价与放置
信息流广告与普通的展示广告并没有非常本质的区别。如图 9-7 所示,信息流广告可以看成是一个多位置的竞价广告产品,其基本产品问题可以概括如下。

图9-7 信息流广告广告放置示意

(1)一个信息流插入的若干广告位(见图 9-7 中的 a1, a2, a3, …)构成一个竞价队列,可以按照 VCG 或 GSP 来扣费。当然,也可以将 a1, a2, a3 视为不同的广告位分别竞价,不过如果要求在这几个广告位之间对广告去重的话,就等价于只有一个竞价队列。
(2)如图 9-7 所示,在哪里插入信息流广告主要取决于两个参数:一是 S,即首条广告出现在第几条内容之后;二是 K,即两条广告之间间隔几条内容。这两个参数的值越大,广告获得的用户关注就越少,对用户体验的影响也越小。于是,这里有一个信息流广告主要的产品问题,即与 6.1.3 节中搜索广告类似的广告放置问题。
解决信息流广告放置问题的思路也与解决搜索广告放置问题基本一致:在平均广告条数的约束下,通过调整每个用户的 S 与 K,优化总体广告的点击率。其中平均广告条数的约束,相当于对用户体验的约束,当然也可以改用其他更加精细的量化指标。求解的关键也与搜索广告一样,需要尽可能准确地预估每个用户相对于整体用户的点击率水平。具体的方法思路参见 6.1.3 节。

9.3 其他原生广告相关产品

我们看一下在信息流广告以外,市场上曾经出现的几种内容与广告深度结合的广告产品,对原生的问题形成一些感性认识。

9.3.1 搜索广告

在竞价广告产品中,我们重点介绍了搜索广告,现在可以换一个视角再做解读。
搜索广告的展示形式与自然搜索结果基本一致,也可以看成是存在于同一个信息流当中。因此,它的高变现能力也部分地源于这种原生的产品形式。另外,搜索广告的另一个特点,即用一个明确的查询来触发广告,对我们探索原生广告也很有启发:要想真正做到“内容即广告”,显然在广告决策过程中要明确考虑用户当前的任务和意图,并直接根据这些来触发广告。
搜索广告与内容的混合方式有两种,一种是将广告在固定的位置上展现,另一种是将广告与内容混合排列在一起。当然,在实际的搜索引擎中,广告与内容也是来源于不同的服务,前者按照 eCPM 排序,后者按照相关性排序,两者混合的规则也是一些固定的逻辑,并没有实现按同一准则的统一排序。应该说,如果按照内容即广告的思路前进,那么在搜索引擎中,内容与广告按照同一准则的统一排序将会是一个有价值的发展方向。

9.3.2 软文广告

在这种广告类型中,内容本身就是为了委婉地宣传某种产品而生产的。很多网站的内容营销,实际上指的就是这种软文广告。这种方式也从一个独特的角度体现了“原生”的意义:较高质量的软文往往让读者可以像接受普通文章一样接受其内容,因而宣传效果也会比较好。不过这种软文广告的生产和传播过程很难被标准化,不是产品化交易的对象,因此并不是我们重点讨论的广告产品。
虽然软文本身离广告产品较远,不过也给我们提供了重要的启发:在内容的生产过程中,应该同时考虑到商业化的可能。虽然整篇的软文生产很难做到规模化,但是如果将内容中一些相对标准化的片段变成商业化信息会如何呢?显然,这个方向是值得探索的。

9.3.3 联盟

在前面介绍广告网络的时候,我们提到过一种联盟的模式,即由媒体从广告库中自由选择要推广的对象,并按照自己控制的方式来进行推广。虽然这是比较原始的广告产品形式,但是也对原生的思路有一定启发:只有给媒体一定的选择广告的权限,才能比较容易地做到广告与内容在主题上的和谐,也才会产生像淘宝客那样可以将广告自由地嵌入博客和各种网站的用法。
不过还是要说明,这样简单的联盟方式并不是理想中的原生广告形式。因为在这种方式下,数据基本上无法发挥作用,也并没有一个第三方平台专业化地负责广告的运营和投放,而且因为投放过程不透明,作弊情况比较多。因此,联盟的市场相对原始,规模化程度也有限。

9.4 原生广告平台

我们从现有的原生产品状态和共同特点出发,来看看市场真正需要的原生广告平台有什么样的产品特征。注意,下面我们讨论的基础是由独立广告平台,而不是媒体本身提供广告。

9.4.1 表现原生与场景原生

“原生”这一概念实际上有两种不同的诉求:

  • 表现原生:将广告的展示风格和样式变得与内容相一致,做到产品形式上的“原生”;
  • 场景原生:将广告的投放决策逻辑与内容生产相一致,做到用户场景上的“原生”。

表现原生从广告有效性原理来看,这样做有助于用户自然地给予广告更多的关注。而在独立原生广告平台的情形下,要做到广告与内容表现上的和谐,只能由媒体来设计和控制展式样式。当然,表现原生可以考虑的方面很多,并不是只在信息流中嵌入与模板接近的广告。例如,在图9-8中,在插屏广告外套上一个媒体风格的对话框,也是很典型的原生设计,效果也非常显著。另外,像字体、颜色这些特征,在表现原生的要求下也需要根据媒体做适配,这些显然都是传统的“创意”无法承载的新产品要求。

图9-8 原生插屏广告示例

场景上的原生性则需要媒体明确提供场景和需求。如果我们进一步比较搜索广告和社交网络信息流广告,会发现前者的效果仍然要好于后者。究其原因,是因为搜索广告的投放决策是完全按照内容结果的展示原则进行的,在以投放内容的方式匹配广告。根据这一点,我们可以得到原生广告的另一个产品原则,即应该用媒体提供的广告需求来筛选广告。

在 9.3 节中介绍的原生广告产品中,社交网络信息流广告侧重于表现的原生性,而搜索广告在表现和场景两个方面都是原生的。大体而言,对于那些用户直接意图比较模糊的用户产品,如社交网络、新闻列表等,表现原生的广告产品就足够了;而对于用户直接提供明确意图的用户产品,如搜索,则最好要做到场景上的原生性。除了这两类产品,互联网上还有大量的用户产品,实际上用户有比较明确的意图,但是并未以查询等方式直接提供,并且在表现形式上也不是规整的信息流模式。在这样的用户产品中,联盟或软文就是适用于这样场景的原生广告形式,这实际上也是兼顾了表现和场景上的原生性。但是,联盟和软文并不能像其他广告产品那样以计算的方式来优化效果,并且通过广告市场规模化地交易,因此在这方面存在着探索空间。

9.4.2 场景的感知与应用

在移动环境下,“场景”具有特别重要的意义,这一点与 PC 大为不同。人们使用桌面 PC,无非是上班办公和回家上网这两个典型场景;使用笔记本计算机时,场景会稍丰富些,如会有在高铁上或咖啡厅里使用的场景。到了移动时代,场景的丰富性大大增加:人们在吃饭、健身、乘地铁、开会时都会携带手机。显然,对广告营销来说,场景携带了很多有价值的信息,因为它直接反映了用户所处的状态。例如,在用户工作时向其投放游戏广告应该点击率不会太高。需要说明的是,场景与 4.2 节中讲的上下文并不是一回事:上下文主要表达的是当前用户关注的互联网内容,而场景主要表达的是用户本身的环境和任务。
同时,由于移动设备有丰富的用户行为、地理位置和传感器信息,通过数据推断用户场景也是可能的。例如,上面说的用户工作场景,可以用如下数据逻辑获得:每天上午 10 点检测用户所处的位置,如果统计发现每月有一定的天数(如 15 天)以上在同一个地点附近出现,那么可以推断这个地点就是该用户的上班地点。以后只要用户出现在这个地点,就可以认为这个用户处在上班的场景。

移动设备状态和场景可能过于琐碎,如何找到对营销和其他任务有关键意义的部分是一个比较大的挑战。举个例子,假设我们后验地知道北京的出租司机群体有某项共同需求,那么从陀螺仪、速度这些状态信息上找出这一群体并不难。可是,这样的群体和可能的生活状态五花八门,绝不是产品经理可以全面了解的,这与 PC 时代我们基本采用“看什么推什么”的思路相比,难度大大增加了。因此,要从海量的用户状态信息中找到有意义的场景,只能依靠机器的自动挖掘,采用深度学习的思路来进行。

表9-2 移动设备状态与传感器信息示例
|移动设备场景|信息示例|
|—|—|
|硬件信息|品牌、型号、CPU、显示屏参数、系统定制商、MAC地址、RAM大小……|
|软件环境|操作系统名称、操作系统版本号、操作系统架构、时区……|
|状态信息|信号强度、Wi-Fi列表、音量、屏幕亮度、陀螺仪、蓝牙信息、NFC状态……|
|广播信息|飞行模式、电量、系统启动、按下照相物理按键、改变输入法、应用被安装……|

9.4.3 植入式原生广告

根据场景原生的需求,在一个第三方运营的原生广告平台中,媒体应该提供哪些有指导性的广告需求呢?简单来说,一是要判断用户当前的场景及意图,二是要确定根据用户的意图提供什么样的信息。例如,在一篇旅游博客上,媒体运营方可以很容易地判断读者一般是为了了解该目的地的旅游信息,进而可以向广告平台请求同一目的地的酒店作为广告。我们相信,通过这种方式,可以真正挖掘一家媒体的商业价值。这不同于传统的展示广告中的上下文定向,因为在上下文定向中,是广告平台而非媒体,采用比较粗浅的自然语言处理方法获得页面的主题。对于用户的意图,这种面向全行业的自动化往往行不通,而如果有了媒体的主动参与,用户意图提取起来就容易得多了。
广告平台提供的则是结构化的付费内容。由于媒体控制广告展示,广告平台返回的就不能是成形的图片或文字链创意,而必须是一些结构化的信息,作为媒体拼装创意的素材。因此,原生广告平台的广告库的结构不是简单的广告投放和创意信息,而是各行业结构化的付费内容,这一点将会显著改变广告业态的结构。
如果按照上面的逻辑来设计和运营一个原生广告平台,实际上可以称为一个“植入式广告”的投放系统,这样的系统逻辑是在内容的行文中自然地植入付费信息。我们仍然以上面提到的旅游网站为例,用图 9-9 中的概念性示例看一下整个投放决策过程。图 9-9 中的广告请求发生在某拉萨旅行游记的网页上。在这样的内容中,除了游记本身,编辑很自然会推荐拉萨酒店,以方便读者。然而我们知道,酒店信息是高度商业化的内容,有没有可能以付费内容的方式从第三方广告平台获得呢?这显然是可行的。

图9-9 植入式原生广告投放过程示意

(1)首先,媒体给出用户场景或意图,并用一个结构化查询“类型=酒店;地点=拉萨”来表示。这里的“类型”限定的是需要什么样的付费内容,而后面的“地点”则是与此类型相关的查询条件。
(2)广告投放机收到此查询后,会去酒店库中检索符合条件的酒店。在得到候选后,广告投放机仍然要根据 eCPM 对各个候选进行排序,而在此排序过程中,人群标签仍然可以使用,例如收入水平较高的用户可能对高星级的酒店点击率较高。
(3)排序完成以后,将结构化的酒店信息拼装渲染的过程则由媒体来控制。媒体可以自由地根据自己页面的风格、色调、字体等,从酒店信息中选取需要的字段,加工成最终展示出来的创意,而这样的创意是可以做到与内容无缝融合的。在实际产品中,如果将每一次的广告渲染都交由媒体处理,则既对媒体提出了过高的技术要求,又不利于点击监测、反作弊等环节的实施。因此,我们可以采用一种等价的方法:由媒体按照广告平台的格式提供渲染模板,在广告平台审核通过后,每次展示按照此模板来拼装渲染,最后返回的与普通广告一样,仍然是一段 HTML 片段。
以这种植入式广告的逻辑来运营原生广告,是希望在内容生产的过程中,当某些片段商业价值较高时,将这些内容按照严格的条件,交由广告平台来生产。这样做,不仅可以避免现有的展示广告产品对用户体验的打扰和伤害,而且有可能将展示广告变成类搜索广告,真正为媒体创造高价值的变现能力。
不过,不要指望这样的产品能在一夜之间变成主流,因为这样的广告体系与现有体系的差别是巨大的。它将会面临哪些挑战呢?我们设想,主要可能会有下面两点挑战。
(1)媒体参与让广告多了一个自由度,运营难度大大增加。在前面介绍的各种广告产品中,媒体对于除了品牌广告部分的交易,基本上都可以简单地加投放代码或 SDK 来完成。这虽然带来了引发原生广告讨论的许多问题,但也极大地方便了媒体的流量变现需求。但是无论是“原生”还是“植入式”,从字面就可以理解,没有媒体一定程度的参与是不可能的。如果媒体以图 9-9 所示的方式参与广告交易过程,那么从生成用户意图查询到渲染模板的设计,需要做不少的工作。所以,尽管原生广告对于媒体用户体验和变现能力都有帮助,但要想让中小型媒体参与到这样的交易过程中,需要一个较长的市场培育和产品教育过程。
(2)大量分行业、结构化广告信息的建立需要时间。原生广告处理的信息,从原来的广告创意变成了结构化的付费内容。然而,即使是目前比较大的广告平台,实际上也还没有成规模地积累起这样的付费内容库,它们有的都只是广告创意。唯一已经积累起一些付费内容库的产品是 DSP 中的个性化重定向,其内容库主要集中在电商行业。而大量的非商业化行业,如新闻、视频等,实际上也存在付费推广自己内容的需求,而这部分的内容库需要市场慢慢积累。

9.4.4 产品案例

1.InMobi原生广告
作为一家总部在印度的广告技术公司,InMobi 在创立之初就把握了移动互联网广告全球化的特点,大力开阔全球市场,首先避开竞争激烈的北美、欧洲市场,InMobi 把视角对准印度周边的新型市场,如印度尼西亚、马来西亚、沙特阿拉伯等,等有了一定实力站稳脚跟后 InMobi 再进入北美市场、欧洲等市场,经过不断的全球化拓展的努力,InMobi 成为仅次于 Google Admob 的全球第二大移动广告平台,覆盖到全球 165 个国家和地区的 7.59 亿消费者。

图9-10 InMobi原生广告示例

2.Facebook Audience Network
Facebook Audience Network(FAN)是 Facebook 为第三方移动应用开发者提供的广告变现产品,它以 SDK 的方式集成在应用当中,并且主要提供原生广告形式。
FAN 的广告投放策略与一般 ADN 有所不同,仅在那些有 Facebook 账号的移动设备上才会出广告,这使其填充率并不高。不过,由于账号带来比较确定的真人属性,因此广告主愿意出更高的价格,这也使 FAN 的 eCPM 一般来说要高于其他 ADN。另外,FAN 还有对媒体广告位的分级评定制度,级别不同的广告位会以不同质量的广告填充,eCPM 水平也会相差巨大(甚至有一个数量级的差距)。
与其他大多数变现产品不同,FAN 迄今为止没有引入任何程序化交易的成分:既没有向 DSP 开放 RTB 接口,也没有从其他 ADX 那里购买流量。维持这样封闭生态的原因是 FAN 主要致力于原生广告领域,重点解决的是如何用一组相对稳定的素材来适配各种广告位的问题。对此,如图 9-11 所示,FAN 的解决方案是让广告主提供如下一组元素:(1)图标;(2)标题;(3)赞助内容标签;(4)广告主选择;(5)大图;(6)社交元素;(7)描述;(8)行动按钮。在大多数情形下,利用这几个元素灵活拼装,就可以适应各种比例和风格的广告位。而且,FAN 的 SDK 直接向媒体返回这些素材,媒体用一个模板自行拼装。这样的方式极大地提高了广告的原生化,不过媒体自行拼装的产品形式也带来了一定的修改或替换创意的风险。

图9-11 FAN原生广告元素

市场上也出现了一些针对 FAN 的有损用户利益的收入优化方法,甚至出现了“利用 Facebook 广告大规模获取用户,并利用 FAN 激进变现”的套利手段。对此,FAN 在 2017 年加强了对开发者和广告位的审核,正在牺牲一些收入以换取市场的良性发展。

3.Applovin
激励视频广告(rewarded video ad)最常见的场景是在游戏媒体当中,其展示过程分下面几个步骤。
(1)游戏场景带入。在游戏里的某个情节中,会向用户提示看一段视频,看完以后可以给游戏内的虚拟商品奖励。
(2)播放视频广告。当用户打开视频时,会发现这是一个 15~30 秒的广告片,并且不能跳过。
(3)广告播放结束。视频广告播放完成,向用户展示下载或其他转化跳转页面,同时发送点击请求。
(4)获得游戏奖励。回到游戏中,获得虚拟商品的奖励。

图9-12 激励视频广告流程示意

注意,这里的激励视频与 1.4 节中提到的激励广告是不一样的,因为激励视频只对用户观看广告的行为给予奖励,并不刺激用户去下载,因为不会出现获取用户质量偏低的情况。
激励视频是原生广告发展到今天的一个代表性产品,它需要从游戏的场景自然带入,又需要与游戏的积分体系无缝对接,为用户带来了沉浸式的广告体验。当然,媒体往往也要付出一定的成本来设计和实现带入情节。不过,这种原生形式的核心部分——视频素材播放,又是相当标准的过程,非常容易程序化地交易。因此,我们有理由认为,激励视频广告将会是移动广告最近几年的重要发展方向之一。
与大家的直觉不同,Applovin 的激励视频广告最成功的是服务于效果而非品牌广告主。主要的几家激励视频广告网络都以服务应用下载广告为主要的收入来源。究其原因,我们认为有以下两点:首先,在激励的场景下,用户不能跳过视频只能看完,接受了充足的信息后,转化效果自然也会变好;其次,激励视频附赠的游戏内虚拟商品,对那些非充值的游戏用户来说,实际上是稀缺资源,这让用户可以在实际价值较低的情况下观看广告。

9.5 智能投放的产品原理

除了原生化趋势,移动广告与 PC 时代的广告还有一个重要的产品差异,那就是智能投放(oCPX)的模式被广泛采用。

9.5.1 智能投放的基本问题和起因

智能投放的基本问题很清楚:竞价过程中平台承担更多的计算任务,帮助客户,尤其是那些数据和信息技术能力有限的小客户,降低对竞价广告的理解门槛,以及运营优化的成本。同时,为了避免在彻底的 CPA/CPS/ROI 模式下众多产品有问题的客户涌入蹭流量,带来劣币驱逐良币的问题,主流的智能投放产品都采用了计费与出价相分离的 oCPX 计费模式。oCPX 的基本模式可以体现在数字广告的转化链路上,如图 9-13 所示。

图9-13 oCPX的基本模式

从平台方的技术角度看,oCPX 模式引入的新问题主要是转化率的预估计算。然而,解决这个问题的困难程度远非点击率预估可比:首先,不同行业的客户转化流程有很大的不同,一般来说无法用统一的模型建模;其次,转化数据的量比点击数据还要少很多,于是数据稀疏的问题更加严重。总之,在 PC 时代,数据的不一致性和稀疏性,使得大家虽然对转化率预估抱有期望,但是实践中的可行性却不高。
那么,为什么在移动广告市场中转化率预估问题发生了重大进展,以致智能投放模式能够兴起并迅速普及呢?其实,这与移动广告市场客户转化流程的一致性大大加强不无关系。我们知道,移动广告中很多行业的转化都以 App 下载的形式体现,从电商、游戏、工具到金融,营销目标往往都需要首先下载客户的 App。于是,从流程上看,实际上这些客户的转化流程都是由广告跳转到应用市场,然后下载,也就是说,在技术而非商业的视角下,真实的客户只有一个,那就是应用市场,而不同客户的下载转化过程在应用市场中都是一致的。
这无疑给计算转化率建模带来了极大的方便:所有下载类客户数据流程一致,理论上可以共同建模,数据稀疏性的问题被极大地缓解了。因此,oCPX 模式在移动广告时代技术可行性大大提升。
受到这一模式的启发,如今的广告平台也在 App 下载以外的领域大力推动客户转化流程的一致性。例如,在目前中国主流的广告平台上,非平台电商自建站的方式已经逐渐淡出,转而采用平台提供的统一建站模板,这样做的目的之一就是统一的转化流程有利于转化率预估的建模。

9.5.2 oCPX的一价与二价理解

智能投放模式有一个隐蔽而不得不谈的重要问题,就是如何理解和使用客户给出的转化出价,这涉及最终的竞价环境是一价还是二价的问题。之所以要谈这个,是因为全球几家主流的广告平台对这一点的理解和选择有所不同。

在oCPX模式下,客户给出的转化出价t(a)可以理解成其出价,也就是bid,也可以理解成其期望得到的实际转化成本,也就是price。我们知道,在二价或VCG市场中,这两者显然是不同的。而这种不同的理解对应着产品实现上较大的不同,也带来了市场性质上的一二价差异。

如果把转化出价t(a)理解成bid,那么平台的做法非常简单,在第二高价的机制下算出eCPM:

$eCPM = r(a, u, c) = \mu(a, u, c) \cdot c(a, u) \cdot bid_{CPA}(a) $

将该 eCPM 用于排序,如果该客户胜出,按照下一位的 eCPM ‘向该客户收费即可。在这种情况下,虽然计费用 CPM,但是仍然可以算出客户的 CPA 成本,假设点击率和转化率的估计可靠,在客户预算充分的情况下,这一 CPA 成本是:

$p_{CPA}(a) = \frac{eCPM’}{\mu(a, u, c) \cdot c(a, u)}$

容易验证,这一成本一定是小于其出价 bidCPA(a)的,整体市场与 CPC 计费时的二价市场没有本质的区别。于是,二价市场的实话实说原理和整体市场的社会福利最优性质不变,客户只要大致清楚自己每个转化的价值,忠实地将其作为 CPA 出价即可。
另一种对 oCPX 模式下 CPA 出价的理解,是将其理解成客户对实际转化成本的期望,也就是说,它表达的是 price 而非 bid。在这种理解下,市场的机制变成了一价模式。实际上,在中国市场的这种模式下,广告平台做的还要更多:由于点击率和转化率预估的偏差,简单地把客户的出价按一价处理并不能保证最终的转化成本与出价接近。于是,在采用这种模式的实际系统中,平台还会跟踪实际的转化成本,并根据其与出价这一期望成本的偏离程度,动态调整其在系统中的真实出价,以期通过这种补偿让转化成本尽快收敛到出价。
我们可以用 Facebook 广告平台中的产品术语来区分这两种理解:前者接近于其产品中的出价上限(bid cap)模式,而后者接近于其产品中的花费上限(cost cap)或者目标花费(target cost)模式。我们可以从图 9-14 所示的 Facebook 广告平台的示意图和文字说明来形象地理解其区别。而之所以这里会引入上限(cap)的概念,与后面要提到的预算表达模式有关。

图9-14 Facebook广告智能投放的几种出价模式

那么,这两种理解都有什么样的优势和劣势呢?首先,由于在智能投放模式下平台要计算转化率比点击率要困难很多,为了尽量防止实际的 CPA 与客户期望相去甚远,采用一价表达并努力补偿实际的转化成本,可能会降低客户的教育成本;然而,市场变成一价后,因此带来的各种机制问题也就不能小觑。依我的个人意见,站在二价表达的基础上逐渐引导市场和客户可能是比较合理的解决方案。

9.5.3 预算表达模式

oCPX 的重要初衷是帮客户降低理解和运营数字广告的门槛,从而显著提升潜在客户的市场规模。我们站在客户的角度来看,由于二价、CPC 这些概念不容易理解,oCPX 给他们带来了方便,因此,即使是转化上的出价或者期望成本,对有些客户来说也难以理解或实操,特别是对那些业务数据化不强的客户而言。因此,在实践中很自然会产生一个更进一步的想法:能不能让客户连转化出价也不必提供?
既然连出价对新客户来说都很费解,那么有什么对他们来说是容易理解的呢?很简单,只有预算是所有客户都能理解的概念。于是, Facebook 的广告平台首创了一种用预算表达出价的新模式:客户告诉平台一天以内希望投入的广告预算,平台将这些预算尽量均匀地在各个时段消耗掉。而这个过程仍然是在竞价的框架内完成的:平台根据自己的数据建模,预测出每个时间段客户所选人群在市场上的价格水平,再据此倒算出出价多少可以实现预计的消耗计划。
如果采用这种机制,客户只需给出每天的预算,就可以将这些预算均匀地分布在一天中消耗掉,避免了对竞价的理解和相关优化,形成了为市场广泛接受的“傻瓜式”竞价。
然而,这种通过分时预算倒算出价的方式在某种意义上违背了二价市场的实话实说原则,对真正有运营能力的客户来说,有点过于简单粗暴了。最典型的问题,是在某个时段平台倒算出来的 CPA 出价高于客户的真实转化价值时,便有可能带来亏损。于是,Facebook 又为有能力的客户提供了前文所说的“出价上限”模式,在这一模式下,当客户提供的上限小于某时间段系统算出的出价时,则以前者替代后者。
预算表达下的 oCPX 模式,让客户的广告运营从原则上看变得十分简单:做好广告素材、选定人群(或上传种子)、定好每日预算,按下启动键就可以了,这使得客户参与机制复杂的现在数字广告系统的门槛大为降低,也让市场的活跃客户数量大大增加。

9.6 原生广告与程序化交易

从受众购买、程序化的市场趋势变成了在媒体深度参与下将广告融合到内容中。读者不免会产生这样的疑问:这两条道路是不是通往同一个方向呢?原生广告与程序化交易的产品结合点在哪里呢?
请大家先观察和思考一个现象:搜索广告是否有程序化交易的可能呢?显然,我们没有见到过这种产品场景。不过在 Facebook 的信息流广告中,却有按照广告主上传的人群库投放的方式,这虽然不是程序化交易,但是目的却很类似,而且也很容易改造成 RTB 的交易方式。我们前面说过,搜索广告和信息流广告都是原生广告的特殊形式,那么为什么在程序化交易这一点上,这两种形式的接受程度不同呢?
这里的关键问题就是原生广告是否根据用户意图触发。在明确提供用户意图的原生广告中,完全开放地进行RTB很难控制付费结果的相关性。例如,对搜索而言,能够做到良好相关性的只有谷歌这样的大平台,而引入大量 DSP 参与竞价,就很难保证结果质量了,因此,在这种情形下,我们认为采用单个技术能力较强的原生广告网络(也可以自营)的方式比较可行。但如果是像社交网络信息流这样的原生广告环境,由于用户意图并不明确,也不要求广告依此触发,在这种情况下完全可以考虑用程序化交易的方式来运营,而且我们依然认为这也是原生广告未来的发展趋势之一。

第三部分 计算广告关键技术

第10章 计算广告技术概览

个性化系统与搜索系统都是互联网时代具有挑战性的大规模计算问题。由于数据规模的要求,它们一般都采用检索(retrieval)加排序(ranking)这样类搜索的系统架构,因而这两种系统有非常多的相似之处。个性化系统与搜索系统的主要差别在于大量的用户特征的使用。由于需要对每一个用户进行刻画,这一过程需要用到大规模的分布式数据处理平台,如Hadoop;另外,由于个性化特征的效果与其生成的实时性关系很大,为了尽可能实时地利用线上数据,我们还会用到流计算平台来加工短时的个性化特征。将离线的分布式计算平台和在线的流计算平台相结合,已经成为这样的系统生成个性化特征的常用方案。
要搭建这样一个五脏俱全的广告系统,实际上并没有看起来那么复杂。这里最关键的方法是要充分利用开源社区的成熟工具快速搭建系统框架,把底层通信、资源分配、集群管理、跨语言调度等与核心业务逻辑无关、但又有较高技术难度的部分用成熟方案来解决,这样广告系统的开发者就可以重点关注业务逻辑和核心算法了。

10.1 个性化系统框架

如图 10-1 所示,一般的个性化系统由 4 个主体部分构成。
(1)用于实时响应请求,完成决策的在线投放引擎(online serving engine)。
(2)离线的分布式计算(distributed computing)数据处理平台。
(3)是用于在线实时反馈的流计算(stream computing)平台。
(4)连接和转运以上三部分数据流的数据高速公路(data highway)。
这几部分互相配合,完成个性化系统的数据挖掘和在线决策任务。

图9-14 Facebook广告智能投放的几种出价模式

这几部分的协作流程是:在线投放系统的日志接入数据高速公路,再由数据高速公路快速转运到离线数据处理平台和在线流计算平台;离线数据处理平台周期性地以批处理方式加工过去一段时间的数据,得到人群标签和其他模型参数,存放在缓存中,供在线投放系统决策时使用;与此相对应,在线流计算平台则负责处理最近一小段时间的数据,得到准实时的用户标签和其他模型参数,也存放在缓存中,供在线投放系统决策时使用,这些是对离线处理结果的及时补充和调整。可以看出,整个系统形成了一个闭环的决策流程,而这个闭环在搭建完成后,基本依靠机器的运算来运转,人的作用只是进行策略上的调整和控制。
还有一点需要强调,由于个性化需要的是对用户尽可能准确的理解,因此除了个性化系统本身的日志,一般都还会用到其他的业务线数据或采买得到的数据,这些数据都会进入数据高速公路以及后续的加工流程中。因此,在同一个企业中,我们会在不同的业务之间尽可能共享离线和在线的两个计算平台,以及所有的用户行为数据。

表10-1 Web规模问题比较

比较项 搜索 搜索广告 展示广告 个性化推荐
主要准则 相关性 利润 用户兴趣
其他目标 垂直领域决定 质量、安全性 多样性、新鲜度
索引规模 十亿级 百万级、千万级 百万级 百万级、亿级
个性化 较少的个性化需求 亿级规模用户上的个性化
检索信号 较明确 较分散

10.2 各类广告系统优化目标

广告系统的优化目标是提高广告产品的利润,也就是第2章中提到的计算广告核心挑战。
对应于 10.1 节的个性化系统一般框架,在广告系统中,每次展示的 r 是由在线的投放引擎来决策的,而离线数据处理平台和流计算平台所做的,都是为了准备 $a_i$, $u_i$, $c_i$ 这 3 个变量或其组合的一些特征。

表10-2 主要广告产品优化目标分解

广告投放 产出(r 投入(q 约束
点击率(µ 点击价值(ν
GD 常数 常数 合约的展示量要求
ADN µ(a, u, c) bidCPC(a) r
ADX bidCPM(a) r 带宽、服务成本
DSP µ(a, u, c) ν(a, u) q(a, u, c) 预算限制

在展示量合约的 GD 系统中,只要各合约达成,系统的收益就是确定的,因此这一系统的主要优化在于满足各合约带来的约束,而成本由于是媒体静态产生,与广告优化过程无关,可以认为是常数;ADN 需要估计点击率 µ(a, u, c),并与广告主出的点击单价 $bid_{CPC}(a)$ 相乘得到期望收入,而成本是与收入成正比的媒体分成;ADX 直接用广告主出的展示单价 $bid_{CPM}(a)$ 作为期望收入,成本也是与收入成正比的媒体分成;只有在 DSP 中,点击率 µ(a, u, c)、点击价值 ν(a, u) 和成本 q(a, u, c) 都可能是需要预估和优化的,因此算法的挑战较大。

10.3 计算广告系统架构

图10-2 在线广告系统一般性架构示意

并不是每一个广告系统都需要以上所有的功能模块。这样的架构图和模块划分,是为了方便本书后面在各种广告系统之间进行架构上的对比。大家要注意的最关键之处是,在一个完整的广告系统架构中数据的记录、交易、流转、建模和使用,因为这些是广告系统最核心的驱动力,也从本质上决定了广告产品的变现能力和利润空间。
在实践中,广告系统的建立应该是循序渐进的。一般来说,对一个刚起步的广告产品,有广告投放机和相应的日志系统,实现简单的定向投放逻辑,就可以开始使用。随着对广告效果深入优化的需求,需要建立起完整的广告排序和用户行为反馈模型;而当中小广告主大量增加时,就需要实现广告的倒排索引和相应的检索功能。因此,在一个新的广告产品开始运营和逐步完善的过程中,要特别注意根据当前阶段的实际需求决定哪些模块是必要的,哪些可以暂时省略,以避免过度设计和不必要的投入。

10.3.1 广告投放引擎

广告投放引擎的主要模块有以下几个。

(1)广告投放机(ad server)。这是接受广告前端 Web 服务器发来的请求,完成广告投放决策并返回最后页面片段的主逻辑。广告投放机的主要任务是与其他各个功能模块打交道,并将它们串联起来完成在线广告投放决策。一般来说,为了扩展性的考虑,我们都采用类搜索的投放机架构,即先通过倒排索引从大量的广告候选中得到少量符合条件的或相关的候选,再在这个小的候选集上应用复杂而精确的排序方法找到综合收益最高的若干个广告。对广告投放机来说,最重要的指标是每秒数(query per second,QPS)以及广告决策的延迟(latency)。
(2)广告检索(ad retrieval)。这部分的主要功能是,在线时根据用户标签(user attribute)与页面标签(page attribute)从广告索引(ad index)中查找符合条件的广告候选。广告检索得到的候选将被送入广告排序模块。
(3)广告排序(ad ranking)。这部分是在线高效地计算广告的 eCPM,并进行排序的模块。eCPM 的计算主要依赖于点击率估计,这需要用到离线计算得到的 CTR 模型和特征(CTR model & feature),有时还会用到流计算得到的实时点击率特征(real-time feature)。在需要估计点击价值的广告产品(如按效果计费的 DSP)中,还需要一个点击价值估计的模型。
(4)收益管理(yield management)。我们用这部分来统一代表那些在各种广告系统中将局部广告排序的结果进一步调整,以全局收益最优为目的做调整的功能,如 GD 系统中的在线分配、DSP 中的出价策略等。这部分一般都需要用到离线计算好的某种分配计划来完成在线时的决策。
(5)广告请求接口(ad call interface)。在实际系统中,根据前端接口形式的不同,广告请求可能来自于基于 HTTP 的 Web 服务器,也可能来自于移动 App 内的 SDK 或者其他类型的 API 接口。不过,无论是哪种接口,只要能够提供用户唯一的身份标识 ID 以及其他一些上下文信息,从逻辑上讲与标准的 HTTP 请求就没有本质区别,因此我们都用 Web 服务器来表示。
程序化交易市场中的广告请求接口与上面有所不同,它包括作为需求方时使用的 RTBS,以及作为供给方时使用的 RTBD。这一接口可以采用 IAB 建议的 OpenRTB 协议,或者其他主要 ADX 规定的接口形式。
(6)定制化用户划分(customized audience segmentation)。由于广告是媒体替广告主完成用户接触,那么有时需要根据广告主的逻辑来划分用户群。这个部分指的是从广告主处收集用户信息的产品接口,而收集到的数据如果需要较复杂的加工,也将经过数据高速公路导入受众定向模块来完成。

10.3.3 离线数据处理

计算广告最具挑战的算法问题很多都集中在离线数据处理的部分。离线数据处理有两个输出目标:一是统计日志得到报表、仪表板等,供人进行决策时作为参考;二是利用数据挖掘、机器学习技术进行受众定向、点击率预估、分配策略规划等,为在线的机器决策提供支持。
离线数据处理的主要模块有下面几个。
(1)用户会话日志生成。从各个渠道收集来的日志,需要先整理成以用户ID为键的统一存储格式,我们把这样的日志称为用户会话日志。这样整理的目的是让后续的受众定向过程更加简单高效[1]。
[1] 关于为什么要这样做,可以参照第13章中行为定向部分中的讨论。

(2)行为定向。这部分的功能是完成挖掘用户日志,根据日志中的行为给用户打上结构化标签库中的某些标签,并将结果存储在用户标签的在线缓存中,供广告投放机使用。这部分是计算广告的原材料加工厂,也因此在整个系统中具有非常关键的地位。
(3)上下文定向。这部分包括半在线页面抓取和页面标签的缓存,这部分与行为定向互相配合,负责给上下文页面打上标签,用于在线的广告投放中。
(4)点击率建模。它的功能是在分布式计算平台上训练得到点击率的模型参数和相应特征,加载到缓存中供线上投放系统决策时使用。
(5)分配规划。这部分为在线的收益管理模块提供服务,它根据广告系统全局优化的具体需求,利用离线日志数据进行规划,得到适合线上执行的分配方案。
(6)商业智能系统。这部分包括 ETL (extract-transform-load)过程、仪表板和 Cube。这些是所有以人为最终接口的数据处理和分析流程的总括。因为它担负着对外信息交流的任务。由于实际的广告运营不可能完全通过机器的决策来进行,其间必然需要有经验的运营者根据数据反馈对一些系统设置做及时调整。因此,实现一个功能强大、交互便利的 BI 系统是非常重要的。
(7)广告管理系统。这部分是广告操作者,即客户执行(account execute,AE)与广告系统的接口。客户执行通过广告管理系统定制和调整广告投放,并且与数据仓库交互,获得投放统计数据以支持决策。一般来说,广告系统中只有这部分是面向用户的产品。根据对操作对象开放程度的不同,这一系统有时又有开放自助的需求,在这种情况下,还需要包含相应的财务结算功能。

10.3.4 在线数据处理

在线数据处理基本上可以认为是离线数据处理的镜像功能,它是为了满足广告系统对实时数据反馈的要求,解决那些离线分布式计算平台无法快速响应的计算问题。在线数据处理的主要模块包括以下几个。
(1)在线反作弊。实时判断流量来源中是否有作弊流量,并且将这部分流量从后续的计价和统计中去除掉,是广告业务非常重要的部分。此模块是所有后续在线数据处理必须经过的前置模块。
(2)计费。这部分同样是计算广告关键的业务功能之一。对于那些经过扣费预算耗尽的广告,系统必须马上通知广告索引系统将其下线。当然,扣费也必须在扣除了作弊流量的基础上进行。
(3)在线行为反馈,包括实时受众定向和实时点击反馈等部分。这部分是将短时内发生的用户行为和广告日志及时地加工成实时用户标签,以及实时的点击率模型特征。对于在线广告系统,这部分对于效果提升的意义重大:在很多情形下,把系统信息反馈调整做得更快比把模型预测做得更准确,效果更显著。
(4)实时索引。这部分的主要功能是实时接受广告投放数据,建立倒排索引。广告的索引由于涉及预算调整等商业环节,因此必须在投放管理者调整以后非常快速地在线上广告索引中生效。

10.4 计算广告系统主要技术

从系统架构的角度看,大规模广告决策和投放都有如下一些特点:首先是服务压力大,这是由于广告的投放量往往数倍于页面浏览的PV,这使得广告成为互联网流量规模最大的产品之一;其次,因为用户对广告产品接受是被动的,广告展现延迟的增加往往会带来广告效果的显著下降,因此广告系统的决策延迟是非常关键的指标;从另一方面看,也正由于广告是被动的用户产品,其决策结果的逻辑性不直接,因此广告系统在用户标签的数据一致性方面要求是比较低的,也往往并不需要持久化的存储,这为系统设计提供了一定的灵活性。

10.5 用开源工具搭建计算广告系统

广告系统架构模块众多、交互复杂,从头搭建并不容易。在大型互联网公司中,这样的广告系统可以精雕细琢,其中的很多模块也都可以进行专门开发。不过,对于初创型企业和变现业务方向尚需探索的企业来说,需要根据最小值原型(Minimum Value Prototype,MVP)的原则,低成本、短平快地搭建系统,然后在实际业务中进行快速迭代。幸运的是,开源社区为搭建广告系统提供了很多不错的工具,利用这些工具可以相当方便地搭建起一个广告系统基础骨架。一般来说,我们可以利用成熟的开源工具解决底层通信、数据传输、负载分配等基础问题,从而将精力重点放在与业务逻辑相关的开发上。

10.5.5 数据高速公路Flume

计算广告这样的个性化系统由于并发很高,产生的日志量也非常大。在这类系统中,应该避免对数据做单点的集中式读写,而是尽量应该让数据的处理形成环形的流动,即由数据高速公路将线上日志准实时地送至离线或在线处理平台,再将处理结果存放在缓存中供线上决策使用。在这样的架构中,一个分布式、高吞吐率的数据传送通道至关重要。
在这类数据传输工具中,Flume 是比较常用的开源解决方案之一。Flume 是 Cloudera 提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统,它支持在日志系统中定制各类数据发送方,用于分布式地收集和汇总日志数据。Flume 提供了从控制台(console)、RPC(Thrift-RPC)、文本(text)、Tail(UNIX tail)、日志系统(syslog,支持 TCP 和 UDP 两种模式)、命令执行(exec)等数据源上收集数据的能力;同时,Flume 还提供了对数据进行简单处理并输出到各种数据接收方的能力。如果广告投放机采用系统日志方式记录投放、点击等日志,可以很方便地通过配置 Flume 将日志传送到 Hadoop 上。

10.5.6 分布式数据处理平台Hadoop

图10-2中的离线数据处理部分需要一个能够存储和加工海量数据的基础设施,实际上这也是大多数大数据系统都需要的平台。
HDFS 是一种易于横向扩展的分布式文件系统,提供大规模数据文件存储服务,支持 PB 级数据规模。它可以运行在上万台的通用商业服务器集群上,提供副本容错机制,为海量用户提供性能优秀的存取服务。计算广告系统里的海量日志文件等就是通过 Flume 之类的数据高速公路传送,最终存储在 HDFS 上,为各种离线计算任务提供服务。
Hadoop MapReduce 是一种分布式计算框架,顾名思义,它由 map 和 reduce 两个部分组成。map 是将一个作业分解成多个任务,而 reduce 是将分解后多任务处理的结果汇总起来。在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间有相互依赖,先后顺序不能够颠倒,这种任务是无法并行处理的。MapReduce 适用于第一种类型,庞大的集群可以看作是硬件资源池,将任务并行拆分,然后交由每一个空闲硬件资源去处理,能够极大地提高计算效率,同时这种资源无关性对于计算集群的横向扩展提供了最好的设计保证。
在广告系统中,Hadoop 主要承担着离线数据的存储和计算需求,可以说是计算广告系统进行大规模数据处理不可或缺的基础平台。无论是受众定向、点击率预测还是基础的报表生成,都需要在 Hadoop 上进行大规模的数据处理。

10.5.7 特征在线缓存Redis

无论是离线计算的受众定向标签还是点击率模型参数或特征,由于规模比较大,一般来说都无法直接存放在在线广告投放机的内存中,而是要用独立的缓存服务。在线用到的特征缓存有两个显著的特点,首先是往往只需要存储简单的键/值对,其次是大多数情形下需要支持高并发的随机读和不太频繁的批量写。在这样的需求下,Redis 是比较合适的开源工具之一。
Redis 也是一种 NoSQL 数据库,它主要提供的是高性能的键值存储(key/value store),采用的是内存数据集的方式。Redis 的键值可以包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)等数据类型,因此也被称作一款数据结构服务器(data structure server)。Redis 会周期性地把更新地数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了主从同步,具有非常快速的非阻塞首次同步、网络断开自动重连等功能。同时,Redis 还具有其他一些特性,其中包括简单的 check-and-set 机制、pub/sub 和配置设置等,使得它能够表现得更像缓存(cache)。

10.5.8 流计算平台Storm

Hadoop 能够处理的数据规模相当可观,但是处理的响应速度却很难保证。因此,在图 10-2 的在线处理部分,需要一种新型的、能够以数据流的方式对线上日志做准实时处理的平台作为基础设施,在这类平台的开源解决方案中,Storm 是工业界比较常用的一种。
广告中需要用到流计算的问题包括在线反作弊、计费、实时受众定向和实时点击反馈等(参见 14.3.1 节)。我们希望的解决方案是,能够自动地处理各流计算模块间的通信和数据依赖,并能够在数据规模增大时自动进行分布式的负载分配,Storm 这样的流计算平台就可以为我们实现上述的需求。流计算的任务逻辑与 MapReduce 过程有些类似,熟悉 Hadoop 编程的读者也可以比较容易地在 Storm 上开发应用。不过要注意,流计算的任务调度原则和 HDFS 上的 MapReduce 是不同的:前者是调度数据,让数据在不同的计算节点间流动起来,而后者是尽可能调度计算以减少数据 I/O。因此,流计算从本质上来讲并不是一个可以真正处理海量数据的框架,它的特长仍然在数据处理的响应速度上。
Storm 保证每个消息都会得到处理,而且处理速度很快,每秒可以处理数以百万计的消息,并且可以使用任意编程语言来做开发。另外,Storm 还可以直接部署在新一代的 Hadoop 计算调度引擎 YARN 上,这样可以非常方便地共享一个 Hadoop 集群的存储功能和计算资源。

10.5.9 高效的迭代计算框架Spark

用 Hadoop 进行大规模数据处理,在 map 和 reduce 两个阶段之间需要用硬盘进行数据交换,因此在需要面对多次迭代才能完成的任务时效率相当低。由于这样的迭代计算任务在计算广告中很常见(参见第 11 章),如文本主题模型、点击率预估等,我们非常需要一种更适合于迭代计算的框架。
作为一种新型分布式计算框架,Spark 的最大特点在于内存计算。Spark 的计算模型可以更加精简地描述等价的 MapReduce 模型,另外由于 Spark 的数据共享基于内存,因而相对于基于硬盘的 Hadoop MapReduce 批处理计算,其性能有数量级的提升。

第11章 基础知识准备

11.1 信息检索

为了达到面向大量中小广告主时良好的扩展性,计算广告采用的是类搜索的技术框架,即检索加排序两段的决策过程。因此,我们有必要对搜索引擎信息检索的基本方法有所了解,这里主要介绍倒排索引和向量空间模型。

11.1.1 倒排索引

倒排索引(inverted index)是现代搜索引擎的核心技术之一,其核心目的是将从大量文档中查找包含某些词的文档集合这一任务,用 O(1)或 O(log n)的时间复杂度完成,其中 n 为索引中的文档数目。也就是说,利用倒排索引技术,可以实现与文档集大小基本无关的检索复杂度,这一点对于海量内容的检索来说至关重要。正是有了倒排索引技术的支撑,互联网才在实时检索大规模数据方面取得了质的飞跃。我们用例子来说明倒排索引的基本概念,假设我们有如下的几篇文档:
D1 =“谷歌地图之父跳槽Facebook”
D2 =“谷歌地图之父加盟Facebook”
D3 =“谷歌地图创始人拉斯离开谷歌加盟Facebook”
D4 =“谷歌地图创始人跳槽Facebook与Wave项目取消有关”
D5 =“谷歌地图创始人拉斯加盟社交网站Facebook”
对每篇文档都进行分词以后,可知这些文档中包含的关键词有:{谷歌,地图,之父,跳槽,Facebook,加盟,创始人,拉斯,离开,与,Wave,项目,取消,有关,社交,网站}。首先,去掉“与”这样的没有实际表意作用的停止词(stop word),我们对每一个词建立一个链表,表中的每个元素都是包含该词的某篇文档的标识。于是,与上面的文档集对应的倒排索引,也就是所有关键词的倒排链集合,可以表示如下:
谷歌 → {D1, D2, D3, D4, D5},地图→ {D1, D2, D3, D4, D5},之父→ {D1, D2},
跳槽 → {D1, D4},Facebook→ {D1, D2, D3, D4, D5},创始人→ {D3, D4, D5},
加盟 → {D2, D3, D5},拉斯→ {D3, D5},离开→ {D3},Wave→ {D4},
取消 → {D4},项目→ {D4},有关→ {D4},社交→ {D5},网站→ {D5}。

倒排索引最基本的操作有两项:一是向索引中加入一个新文档;二是给定一个由多个关键词组成的查询时,返回对应的文档集合。需要注意的是:在倒排索引中,由于文档ID是在加入倒排索引时被在线分配的,因此每个倒排链都可以确保是有序的,这会在后面的应用中得到具体利用。

11.1.2 向量空间模型

如果说倒排索引技术是大规模信息检索的基石,那么向量空间模型(vector space model, VSM)则是信息检索中最基础且最重要的文档相似度度量方法之一。VSM的核心有两点,文档的表示方法和相似度计算方法。
首先,我们对每个文档采用词袋(bag of words,BoW)假设,即用各个关键词在文档中的强度组成的矢量来表示该文档:
$ d = (x_1,x_2,…,x_M)^T \quad(11.1)$
其中 $x_m$ 一般采用词表中第 m 个词在 d 中对应的词频-倒数文档频率(term frequency-inverse document frequency,TF-IDF)值,这是一种信息检索中最常见的词强度度量,可以分解为两个量的乘积:一个量是词频(term frequency,TF),即某文档中该词出现的次数;另一个量是倒数文档频率(inverse document frequency,IDF),即该词在所有文档中出现的频繁程度的倒数。IDF 的引入是考虑到那些广泛出现在各个文档中的常用词对主题的鉴别力并不强,因而需要降低其权重。IDF 的计算方法有若干种,最常用的形式为:

$$IDF(m) = \log\left(\frac{N}{DF(m)}\right) \quad (11.2)$$

其中 DF(m)为词 m 在其中出现的文档的总数目,N 为总文档数目。在广告应用中如何计算 IDF 值,在某些情形下需要不同的处理。例如,在处理对广告主有价值的竞价标的词时,可以采用所有广告描述,而不是互联网上的网页作为文档集合。相应地,在根据关键词进行广告检索时,也应该使用这种方法得到的 TF-IDF。
这样的 BoW 文档表示方法是对自然语言最简单粗略的一种近似表示。它完全忽略了词的前后接续关系,以及更高阶的语法因素的影响,因而并不太可能具有精细的文档描述能力。不过,这种方法在信息检索中的作用无疑是巨大的,因为它通过极为简单经济的操作对文档进行了简化,同时又比较好地保留了文档的概貌,这对于海量文档数据的处理和索引非常有利。时至今日,虽然学者们在自然语言处理方面取得了许多进展,但这种简单的方法仍然是工程实践中信息检索和文档主题挖掘的最常用文档表示。如果我们考虑更精细的文档描述,可以进一步加入文档的 n-gram 信息,但是也会带来数据的爆炸式增长和模型估计稳健性上极大的挑战。
采用 BoW 的文档表示方法,在计算两个文档的相似度时,一般是用其对应矢量的余弦距离:

$$\cos(d_{1},d_{2})=\frac{d^{T}{1}d{2}}{||d_{1}||\cdot||d_{1}||}$$

余弦距离的最显著好处是当两个矢量在尺度上没有归一化时,仍然可以得到比较稳健的结果。例如,有两篇一样的文档,将其中的一篇内容重复一遍,再去计算余弦距离仍然是0,而如果采用其他方式,如欧氏距离,结果就不再是0了。再比如两个人对各种电影打分,甲倾向于给较高的分数,乙倾向于给较低的分数,那么在一组三部电影上,甲给出的分数{3.6, 3.6, 4.8}和乙给出的分数{3.0, 3.0, 4.0}实际上一致程度相当高,这也可以被余弦距离比较公允地度量出来。
对海量文档进行检索的基本方案。在离线索引阶段,需要对文档集合分词,并按照BoW模型表示得到每个文档的TF-IDF矢量,对分词后的文档集合建立倒排索引。当在线的查询到来时,也进行分词,从倒排索引中查出所有符合要求的文档候选,并对其中的每个候选评价其与查询的余弦距离,按距离由小到大进行排序。

11.2 最优化方法

为了探索比上面的向量空间模型更加有效的计算广告方案,必然会碰到大量的与数据挖掘和机器学习相关的算法问题。在这些与数据相关的问题中,最重要的基础技能,是最优化的理论和方法。最优化讨论的是在给定一个数学上明确表达的优化目标后,如何用系统性的方法和思路找到该目标的最优解。这方面的书籍和文章很多,我们从工程的角度出发,简要整理一下在面临各类目标函数时的一般性思路,并希望大家能够认清“模型”和“优化”这两个概念的联系与区别。
最优化问题讨论的是,给定某个确定的目标函数(objective function),以及该函数自变量的一些约束条件,求解该函数的最大或最小值的问题。这样的问题可以表示为下面的一般形式:

$$\min f(x)$$

$$\text{s.t. } g(x) \leq 0, h(x) = 0 \quad (11.4)$$

其中 f(x)是一个关于自变量 x 的目标函数,而 g(x)和 h(x)为 x 的矢量函数,对应着一组不等式和等式约束约束条件,其中 g(x)<0 表示矢量 g(x)的每一个元素都小于或等于 0。根据约束条件以及目标函数的性质不同,最优化问题求解的思路也有很大的不同。其中无约束优化问题的方法是基础,而带约束优化问题则在一定条件下可以转化为无约束优化问题来求解,这涉及下面将要谈到的拉格朗日法和凸优化问题。

11.3 统计机器学习

机器学习是近年来得到快速发展和广泛应用的研究领域,它研究的是用数据或先验知识优化计算机算法的效果。从机器学习的方法可以分为统计方法和非统计方法。非统计的方法种类很多,并且往往最后都归结于一个具体的优化问题,可以通过深入掌握优化理论和算法,比较有效地把握各种非统计类方法。而统计类机器学习方法,虽然也用到最优化方法,但是还有一些在概率框架下系统性的思路。

11.3.1 最大熵与指数族分布

所谓单模态,可以理解为分布从几何形态上看只有一个峰或者一个谷,这实际上说明了指数族分布虽然数学上使用方便,但其实际的描述能力是有限的,并不适合于表达多种因素并存的随机变量。

11.5 深度学习

深度神经网络指的是将简单的感知神经元连接在一起,从而模拟各种函数的灵活框架。
深度学习与大数据有着天然的密切联系:由于计算技术和计算能力的快速发展,我们目前已经能够处理越来越复杂的网络结构。但要让复杂的网络结构发挥优势,一定要有大量的数据才行。因此,深度学习最有可能在那些数据丰富的领域发挥巨大的作用。换言之,在具有明确目标函数,又具备充足高质量数据来源的问题上,机器的能力会非常快地接近甚至超过人类。

11.5.1 深度神经网络优化方法

当神经网络的规模很大、层数较深时,优化方法计算量非常大,这也是神经网络在学术界提出了几十年以后仍然没有得到广泛使用的原因。直到 Jeffrey Hinton 等人利用 GPU 大幅提高了神经网络的计算效率,才使它接近于实用,并迅速取得了在语音识别、图像识别等问题上的重要进展。今天训练实用的深度神经网络不利用 GPU 应该说是不太现实的。

11.5.4 生成对抗网络(GAN)

Szegedy 在研究神经网络的性质时发现,针对一个已经训练好的分类模型,将训练集中的样本做一些细微的改变会导致模型给出一个错误的分类结果。这种虽然发生扰动但人眼可能识别不出来且会导致误分类的样本称为对抗样本,他们利用这样的样本发明了对抗训练(adversarial training),模型既训练正常的样本也训练这种自己造的对抗样本,从而改进模型的泛化能力。
Goodfellow 提出了生成对抗网络(generative adversarial network,GAN),它要解决的问题是如何从训练样本中学习出新样本,训练样本是图片就生成新图片,训练样本是文章就生成新文章,等等。GAN 受博弈论中的二人零和博弈的启发,它采用一种非常巧妙的思想给出了用深度神经网络实现生成模型的一般思路。
它包含一个生成模型 G 和一个判别模型 D。用噪声数据 Z 生成一个类似真实训练数据的样本,追求效果是尽可能像真实样本;而 D 是一个二分类器,估计一个样本来自训练数据(而非生成数据)的概率。训练时,固定一个模型的参数,更新另一个模型的参数,交替迭代,使对方的错误最大化。最后的目标是使 G 能准确描述出样本数据的分布。
虽然从概念上说,GAN 是一种有前景的用深度学习解决生成问题乃至无监督训练问题的方案,不过其优化过程还有很多问题没有解决,包括模型训练的收敛性和细节的把握方面都存在很多的问题。但是毋庸置疑,这将是未来若干年深度学习研究的重点方向之一。

第12章 合约广告核心技术

12.1 广告排期系统

对于采用 CPT 计费模式计费的广告位合约,媒体一般采用广告排期系统来管理和执行。广告排期系统与我们后面要讨论的各种广告系统都不同,因为它并不是一个个性化系统,也不太需要服务器端的动态决策。广告排期系统的一般技术方案是将广告素材按照预先确定的排期直接插入媒体页面,并通过内容分发网络(content delivery network,CDN)加速访问。这样可以使广告投放延迟很小,也没有服务器端的压力和开销。
广告排期系统需要注意的技术环节是,在与其他动态广告混合投放时的调度策略。由于广告位合约的方式不需要在服务器端计算,因此在混合投放时,也要充分考虑这一特点,尽可能地减少服务器端的负载。另外一个相关的问题就是,当一些横幅广告位上没有广告位合约,需要用其他服务器动态决策的广告补足时,由于服务器可能出现超时或其他错误导致广告未能返回,那么也需要在页面上展示一个默认广告防止出现广告位的空白,这样的广告称为防天窗广告。防天窗广告由于需要在服务器不工作的情形下补位,因此也应该放在 CDN 上实现。

排期与动态广告混合系统

对一个广告位合约与动态广告混合投放的系统来说,需要同时考虑 CPT 广告和防天窗广告的投放逻辑。我们以 Web 页面上的广告投放为例来描述这一调度过程。
(1)前端的广告位代码从 CDN 上获取一个默认广告素材,并标示此广告是优先的 CPT 广告还是防天窗广告的参数。
(2)根据上述参数,如果 CDN 上获得的是一个 CPT 广告,那么直接将素材渲染在页面上即可。
(3)如果 CDN 上获得的是一个防天窗广告,则优先向广告投放机发送请求,如果在指定延迟时间内有广告返回,则将其渲染在页面上。
(4)如果服务器在指定延迟时间内没有广告返回或发生其他错误,则将从 CDN 里得到的防天窗广告渲染在页面上。
这一过程如图 12-1 所示。可以很容易地验证,只要 CDN 不发生错误,这样的系统就可以保证不会出现广告位上的天窗。同时,由于我们对广告位合约直接通过前端投放,在这部分流量上避免了访问服务器带来的延迟,因此 CPT 广告的效果可以得到较好的保证。实际的排期和动态广告混合系统,由于有轮播模式的存在和地域定向[1]的需求,会比上述的逻辑更加复杂一些,不过在原理上没有差异。
[1] 地域定向虽然是受众定向的一种,但由于逻辑比较简单,在 CPT 广告中也会售卖,并且可以采用在前端代码中实现逻辑的方式。

图12-1 排期与动态广告混合投放决策逻辑

12.2 担保式投送系统

与展示量合约对应的广告系统称为担保式投送(guaranteed delivery,GD)系统。在展示量合约这样的交易结构中,只要合约都被满足,系统的收益就是一定的,于是式(2.2)中的优化目标变成了常数。不过,这一系统多了合约带来的一组量的约束条件,因此变成了一个带约束优化问题。关于此问题的具体描述和解法将放在后面的在线分配部分中介绍。有时,展示量合约还会约定投放量未达到时的惩罚,在这种情况下,目标不再是一个常数,不过这仍然可以用在线分配的一般框架来解决。
担保式投送系统的整体架构如图 12-2 所示。在此系统中,在线投放引擎接收用户触发的广告请求,根据用户标签和上下文标签找到可以匹配的广告合约,然后由在线分配模块决定本次展示投放哪个广告。完成决策后,将展示和点击日志送入数据高速公路。这些日志一方面进入离线分布式计算平台以后,通过日志的整理,完成合约的计划,即确定在线分配算法的参数,再将分配方案送给线上投放机使用;另一方面,日志也送到流式计算平台,在反作弊和计价的基础上,再对索引进行快速调整。可以看出,这一系统的核心技术是在线分配的算法策略与执行过程。

图12-2 担保式投送广告系统架构示意

由于担保式投送需要用到人群标签或上下文标签,因此在广告检索的过程中也需要用到用户标签库和页面标签库这两个标签库。

12.2.1 流量预测

在展示量合约广告中,流量预测是一项支撑技术。在广告网络中,一般来说也需要根据定向条件和出价估计广告展示量,以辅助广告主进行决策。因此,流量预测是一项在计算广告中广泛使用的技术。
流量预测的问题可以描述为:给定一组受众标签组合以及一个 eCPM 的阈值,估算在将来某个时间段内符合这些受众标签组合的条件并且市场价在该 eCPM 阈值以下的广告展示量。这里的 eCPM 阈值主要用于竞价广告系统中,目的是了解在某出价水平下的流量情形。对展示量合约式广告来说,这个阈值是不需要的,或者为了工程上一致,将该阈值设为一个很大的常数。
流量预测一般的方法其实并不是预测,而是根据历史数据的统计来拟合未来的流量。当然,也可以引入时间序列分析的方法,从流量在时间轴上的规律预测未来某个时间段的流量,这主要适用于需要短时预测的场景,对广告业务来说不是很有必要。
流量预测的大多数应用场景对实时性的要求都不算高,例如,在竞价系统辅助决策时,秒级的响应完全可以满足要求,这比线上广告检索毫秒级的要求显然要低得多。用反向检索的方案来进行流量预测,主要有如下一些步骤。
(1)准备文档。将历史流量中$(u, c)$上的所有标签的展示合并为一个供给节点 $i$,并统计其总流量 $s_i$,以及这部分流量上 $eCPM$ 的直方图 $hist_i$。这样的每个供给节点作为流量预测反向索引的一篇文档。
(2)建立索引。对上一步生成的每个供给节点建立倒排索引,文档的关键词即为此供给节点$(u, c)$上的所有标签。同时,在索引的正排表部分记录下 $s_i$ 和 $hist_i$。
(3)查询结果。对于一条输入的广告 $a$,将其限定的标签条件作为查询,得到所有符合条件的供给节点的集合。
(4)估算流量。遍历上一步得到的每个供给节点,对于某个供给节点 $i$,首先计算其与该广告 $a$ 的 $eCPM$,即 $r(a, u_i, c_i) = \mu(a, u_i, c_i) \cdot bid_{a}$,然后根据相应的 $eCPM$ 直方图 $hist_i$ 计算 $a$ 能获得的流量。这样,就可以估算出 $a$ 在出价 $bid_a$ 情形下能获得的近似流量。
上述基于反向索引的流量预测方法如图 12-3 所示。在实际操作过程中,由于历史广告投放日志可能流量非常大,将所有的供给节点都建立索引在规模上是无法承受的。当然,实际上我们也并不需要这样做,在流量预测误差允许的范围内,我们可以在上面的第 1 步和第 2 步之间加一个采样的过程,将索引中的供给节点的数量控制在合理的规模。

图12-3 基于反向索引的流量预测示意

12.2.2 频次控制

频次指的是某个用户在一段时间内看到某个或某组广告的曝光次数。关于频次对广告效果的影响,Herbert E. Krugman 博士在 1972 年提出了著名的“三打理论”:第一次,刺激消费者试着了解信息,去问“这个广告是什么?”;第二次,刺激消费者去评量,去问“广告内容是什么?”“我曾经看过这个广告吗?”;第三次,消费者接触到广告时会回忆并开始逃离广告。三次足以对消费者产生作用。这个理论对广告投放的效果有重要的指导意义,但是主要适用于传统广告,并且假设用户已经顺利通过了关注阶段。对于互联网广告,技术手段能够记录到的展示在广告位置差异的影响下离有效展示有相当大的差距,因此无法直接套用三打理论。不过,一般来说,随着某个用户看到同一个创意频次的上升,点击率呈下降的趋势这一点是可以被验证的。因此,在按照 CPM 采买流量时,广告主有时会要求根据频次控制某个用户接触到某创意的次数,以达到提高性价比的目的。特别是在视频广告这样有效曝光程度较高的广告产品中,频次控制(frequency capping)的意义和重要性尤为显著。
图 12-4 给出了某广告产品中实际的频次与广告效果(eCPM)的关系曲线。将这一量化结果与传统广告的频次理论相对比,会有一些新的发现:首先,广告效果随着频次的上升呈单调下降趋势,而并非在三次时达到最佳;其次,频次较高的广告展示效果很差,因此,没有足够的广告主数量,整体的广告效果会受到相当大的限制。而这些特点在竞价广告产品中更加容易利用,我们将在第 14 章中再讨论。

图12-1 排期与动态广告混合投放决策逻辑

从计算的角度来看,频次是使得式(2.2)中的可分性假设不成立的最主要影响因素。而将频次作为一个可控制的定向条件引入广告系统后,这个问题虽不能被彻底解决,却可以大大地缓解。频次控制的需求可以描述成,控制各(a, u)组合在一定时间周期内的展示量。应该说,频次的明确要求主要存在于展示量合约广告中,而在采用CPC计费模式的竞价广告中,可以将频次作为CTR预估的特征之一,从而隐式地对广告的重复展示进行控制。
频次控制有客户端和服务器端两种解决方案。客户端的方案就是把某个用户对某个广告创意的频次值记录在浏览器cookie里,投放决策时再把这个值传给投放器来决策创意。这一方案的好处是简单易行,而且服务成本低。缺点是扩展性不够好,当同时跟踪多个广告的频次时,cookie可能会变得很重,从而影响广告响应时间。当然,在移动应用广告中利用SDK做前端投放控制的场景中,客户端的方案是非常好的选择。服务器端的方案是在后台设置一个专门用于频次记录和更新的缓存,当广告请求到来时,在缓存中查询候选广告的频次,并根据最后实际投放的广告更新频次。

12.3 在线分配

展示量合约广告的优化问题与式(2.2)表达的一般问题的主要区别在于,合约量的要求引入了一些约束条件,这引出了在线分配问题。
在线分配问题指的是,通过对每一次广告展示进行实时在线决策,从而达到在满足某些量的约束的前提下,优化广告产品整体收益的过程。很容易理解此问题计算上最困难的地方在于“在线”,也就是在信息尚不全面的时候做出决策;而系统上最困难的地方在于分配策略是需要弱状态的,同时各广告投放机之间的耦合程度也要尽量低。

第13章 受众定向核心技术

从式(2.1)的计算广告核心问题来看,受众定向技术是对广告(a)、用户(u)、上下文(c)这 3 个维度提取有意义的特征(这些特征也称为标签)的过程。由于上下文标签也可以认为是即时的用户兴趣,因此我们把它们统称为受众定向。
关于各种受众定向技术的原理,应该在第2章里广告有效性模型的基础上进行理解。对于某种特定的定向技术,需要同时关注其效果和规模两方面的指标,同时提供覆盖率较高但精准程度有限的标签和那些非常精准但量相对较小的标签,这有利于市场形成竞争的环境,也为竞价广告形成充分竞争提供了基础。
从技术框架来看,受众定向标签可以分成用户标签、上下文标签和广告主定制化标签3种类型,其实现方案也有较大的不同。
上下文定向需要对广告所在的页面进行分析,然而这一分析过程与搜索引擎的爬虫有很大的不同。结合广告对上下文信息的需求特点,一般可以采用一种半在线的方式抓取和分析页面,这种方式避免了无效的页面分析计算,又能够快速地对需要分析的页面做出响应。
行为定向是根据用户历史上的网络访问行为对用户打标签的过程。哪些网络行为有价值是挖掘行为数据来源时需要考虑的问题。
与受众定向直接相关的数据产品主要是数据交易平台和数据管理平台。这两种产品从第一方数据和第三方数据的角度出发,专门提供数据加工和交易功能。

13.1 受众定向技术分类

我们先来回顾一下第4章中介绍的受众定向常见方法。
图4-2 常见受众定向方法一览

按照计算框架的不同,这些受众定向技术可以分为以下3种类型。

(1)用户标签,即可以表示成t(u)形式的标签,这是以用户历史行为数据为依据,为用户打上的标签。

(2)上下文标签,即可以表示成t(c)形式的标签,这是根据用户当前的访问行为得到的即时标签。

(3)定制化标签,即可以表示成t(a, u)形式的标签,这也是一种用户标签,不同之处在于是针对某一特定广告主而言的,因而必须根据广告主的某些属性或数据来加工。

以上各种定向中,地域定向、频道定向和上下文定向属于t(c)的定向方式;人口属性定向、行为定向属于t(u)的定向方式;而重定向和新客推荐则属于t(a, u)的定向方式。各种定向的标签被应用于根据用户和环境信息选取广告候选的过程,因而对广告投送的结果会有比较显著的影响。t(c)和t(u)两种定向方式,一种是根据当前环境信息,另一种是根据历史日志数据,因而在技术方案上有比较大的区别。而定制化标签,即t(a, u)形式的标签,则变成了完全开放的标签体系,其标签数量不再是常数,而是有可能与广告主数目成正比,因此最适合于在程序化交易的环境中由需求方直接提供。实际上,我们还需要对每个广告也打上标签t(a),以便与上下文或用户的标签进行匹配,广告标签一般有两种常用选择:一是直接将广告投放中的广告主、广告计划、广告组、关键词等直接用作标签;二是用人工的方式归类。我们可以用一个(a, u, c)上的三维坐标来示意以上的几种标签类型,参见图13-2。

图13-2 常见受众定向方法一览

13.2 上下文定向

我们先来看那些归类为 t(c)的受众定向方式。这样的定向中有一些根据广告请求中的参数信息,经过简单运算就可以得到,如地域定向、频道/URL 定向、操作系统定向等。另外一类则是根据上下文页面的一些特征标签,如关键词、主题、分类等进行定向,我们重点讨论这样的上下文定向技术。
抛开标签体系不谈,仅从打标签的方法上来看,上下文定向主要有如下的几种思路。
(1)用规则将页面归类到一些频道或主题分类。例如,将 auto.****.com 下的网页归在“汽车”这个分类中。这种方法相对简单。
(2)提取页面中的关键词。这种方法是在将搜索引擎的关键词匹配技术推广到媒体广告上时自然产生的,也是上下文定向的基本方法。
(3)提取页面入链锚文本中的关键词。这种方法需要一个全网的爬虫作支持,因此已经超出了一般意义上广告系统的范畴,有兴趣的读者可以参考搜索引擎方面的有关文献。
(4)提取页面流量来源中的搜索关键词。这种方法除了页面内容,也需要页面访问的日志数据作支持,从技术方案上看更接近后面介绍的行为定向。
(5)用主题模型将页面内容映射到语义空间的一组主题上,这样做的目的是为了泛化广告主的需求,提高市场的流动性和竞价水平。
上下文定向中的关键词提取可以按照信息检索中的一般方法,即选取页面内容中 TF-IDF 较高的词作为关键词(见 11.1.2 节中的具体介绍);也可以采用需求方驱动的思路,从广告商相关描述中得到商业价值高的关键词表和 IDF,再与页面内容中关键词的 TF 一起计算 TF-IDF,以此来选取关键词。当能够得到比较丰富的广告信息时,如运营搜索引擎的文本广告,或者可以拿到广告主 SEM 词表时,后一种方法往往更加有效。
确定了对上下文页面打标签的方法以后,在在线广告投放时,页面标签系统需要对广告投放机查询的某一个 URL 快速返回其对应的标签。复杂的打标签计算是不可能马上完成的,不过在广告的问题中,某一次展示时标签的缺失并不是致命性的。根据广告的这一特点,我们可以用一种半在线的方式实现页面抓取和打标签的逻辑。

半在线抓取系统

上下文页面的有关信息显然不可能在广告请求发生时实时分析得到,那么我们是否需要一个类似于搜索引擎爬虫的系统来做预先抓取呢?对广告系统来说,是没有这个必要的。因为页面信息对搜索引擎而言是服务的主体内容,而对广告系统而言,只是锦上添花的补充信息,我们完全可以设计一个更轻量级、效率更高的页面抓取系统。这一系统的设计关键是不做任何离线抓取,而在在线服务时产生实际需求后才尽快抓取,我们把它叫作半在线的抓取系统。
半在线抓取系统的工作原理如图 13-3 所示。系统用一个缓存(如 10.5.7 节中介绍的 Redis)来保存每个 URL 对应的标签,当在线的广告请求到来时进行如下操作。
(1)如果该请求的上下文 URL 在缓存中存在,那么直接返回其对应的标签。
(2)如果该 URL 在服务中不存在,为了广告请求能及时得到处理,当时返回空的标签集合,同时立刻向后台的抓取队列中加入此 URL,这样在较短的一段时间(通常为秒至分钟量级)之后,该 URL 就被抓取下来,并打上标签存入缓存中。
(3)考虑到页面内容可能会不定期更新,可以设置缓存合适的存活时间(time to live,TTL)以做到自动更新标签。
这样的方案有以下两点好处:一是在线缓存的使用效率非常高,仅仅那些最近有广告请求发生的 URL 才会被抓取,这样就不需要耗费大量的爬虫资源去抓取可能根本用不到的 URL;二是因为只抓取需要的页面,并且可以在该页面第一次广告请求后很快得到页面标签,页面的信息覆盖率也很高。

图13-3 上下文定向半在线抓取系统示意

半在线的上下文抓取系统非常典型地揭示了在线广告系统弱一致的业务需求:只要保证大多数的广告决策最优正常,很少量的次优决策甚至随机决策都是可以接受的。充分把握这一特点,对于设计高效率、低成本的广告系统至关重要。

13.3 文本主题挖掘

根据上下文内容进行受众定向的粒度,可以精细到关键词,也可以粗略到页面的类型。除了这两种极端情况,我们也可以考虑将页面内容直接映射到一组有概括性意义的主题上,例如,将一个讲编程语言的博客页面映射到“IT技术”这样的主题上。如果把页面视为一个文档,这就对应于文本主题模型(topic model)的研究问题。文本主题模型有两大类别:一种是预先定义好主题的集合,用监督学习的方法将文档映射到这一集合的元素上;另一种是不预先定义主题集合,而是控制主题的总个数或聚类程度,用非监督学习的方法自动学习出主题集合,以及文档到这些主题的映射函数。
广告中的主题挖掘有两种用途:如果仅仅用于广告效果优化的特征提取,那么监督或非监督的方法都可以;如果是用于对广告主售卖的标签体系,那么应该优先考虑采用监督学习的方法,因为这样可以预先定义好对广告主有意义且可解释的标签体系,对售卖会有很大帮助。

13.4 行为定向

再来看那些归类为t(u)的受众定向方式。这类定向问题包括从用户网上浏览记录加工得到的兴趣定向,以及根据用户历史所在的地域得到的用户主要居住地的“where on earth”定向等。由于这些都是根据用户的历史行为进行挖掘的问题,因此把它们统称为行为定向(behaviorial targeting,BT)。
行为定向需要进行大规模的数据挖掘,根据某用户一段时期内的各种网络行为,将该用户映射到某个定向标签上。

13.4.1 行为定向建模问题

行为定向问题的目标是找出在某个类型的广告上eCPM相对较高的人群。如果假设在该类型的广告上点击价值近似一致,那么问题就转化为找出在该类型广告上点击率较高的人群。虽然对品牌广告而言,点击率未必总是合理的评价指标,然而当我们认为在该类型上的各种目的的广告均衡存在时,点击率仍然具有相对的衡量意义。因此,我们可以把某个用户在某类广告上的点击量作为建模的对象。

13.4.2 行为定向特征生成

行为定向特征的生成过程有两点需要讨论:一是特征选择函数 $x_{tn}$ 的确定;二是式(13.6)对应模型的训练集的组织和生成方式。行为定向的特征生成过程,由于样本量比较大,处理的高效性是我们在工程中主要考虑的问题。
最常用的特征选择函数 $x_{tn}(b)$ 是将一段时间内的原始用户行为映射到确定的标签体系上,同时计算出各行为在对应标签上的累积强度作为模型的特征输入。例如,对于页面浏览行为,我们用上下文定向的方法将 URL 转换为标签,作为此次行为的标签,而一次浏览的强度置为 1;对于搜索行为,可以根据查询词将其映射为标签,而一次搜索的强度置为 1。关于搜索、广告点击、网页浏览等各类行为的标签化方法,在后面还会专门讨论。模型中的 $w_{tn}$ 的作用实际上就是在调整搜索、浏览等不同行为类型的重要程度。这一特征生成过程如图 13-7 所示。

图13-7 行为定向特征生成过程示意

这里要注意,我们考虑的是“一段时间内的行为”,因为过于久远的行为对用户兴趣的贡献是很小的。

行为定向的训练过程实际上就是调整各个标签类别上各种特征权重的过程。一般来说,为了消除工作日的周期性影响,训练集的天数一般选择为 7 的整数倍。

各类行为的标签化方法

上面关于行为定向特征生成的讨论还缺少一个环节:特征选择函数 $x_{tn}(b)$ 的计算方法,即搜索、广告点击、网页浏览等行为映射到一个或多个定向标签上。这是行为定向计算过程中最关键的环节,下面介绍工程中的实用方案。
(1)网页浏览、分享等与内容相关的行为,可以通过 13.3 节中提到的有监督文本主题模型的方法,将其映射到预先定义好的标签体系上,也可以直接提取内容中的关键词作为标签。
(2)广告点击等与广告活动相关的行为,可以转化为对广告落地页内容的分析,因此可以使用与网页浏览相同的方法。不过,实践中经常会碰到广告落地页内容为图片、Flash 或者内容很少的情形。因此,根据创意形式的不同,还有其他两种方法:当创意为文字链时,可以将其题目或描述作为内容;当创意为图片时,往往需要人工标注其标签,但由于工作量较大且正确性不宜评估,建议只在必要时进行。
(3)最值得重视的是搜索、搜索点击等与查询相关的行为。由于查询的信息量较少,很难直接提取标签。可行的方案有两种,都要用到搜索引擎:第一种方案是利用搜索引擎做内容扩展,即将查询送入搜索引擎,用返回的若干结果描述或者链接页的内容作为该查询对应的内容,这种方案借助通用搜索引擎即可;第二种方案是对查询进行某垂直领域分类时,直接利用相应垂直媒体的标签体系和搜索引擎。下面以电商行业为例来说明此方案。
如果要给查询标注电商行业标签,可以采用与某综合电商,如淘宝,相一致的分类标签体系。在此基础上,任给一个查询,将其送入淘宝的搜索引擎,然后查看返回商品结果对应的分类,将此分类作为标签即可。如果返回结果很少或结果中的分类很分散,可以认为此查询没有合适的电商行业标签。这实际上是借鉴了电商搜索引擎成熟的分类能力,往往可以较快地做到比较准确的查询分类。这一方法的限制是必须采用与某电商一致的标签体系,不过一般来说这不是个大问题。这个例子虽然针对电商行业,但对于其他垂直行业,如汽车、房产等,也完全适用,只要借助于该行业网站比较成熟的垂直搜索引擎即可。
(4)转化、预转化等需求方行为,往往可以对应到一个单品。同样,利用该单品的分类信息,可以将其映射到某个标签上,而对于预转化中的站内搜索行为,可以按照上面的一般搜索行为来处理。
这几类典型行为的标签化过程如图 13-9 所示。对于其他行为,往往也可以归到这几种类型之一,或者根据其行为数据的特点做具体讨论。

图13-9 各类行为标签化方法示意

13.5 人口属性预测

严格来说年龄、性别、教育程度、收入水平等人口属性并不属于用户的兴趣,而是用户确定的特点描述。不过在实际定向广告系统中,除了一些实名的社交网络以外,规模化地获得人口属性比较困难,因此我们往往还是需要数据驱动的模型,以用户的行为为基础自动预测其人口属性。
这种基于预测的方法直觉上很容易理解,以性别属性为例:经常访问军事网站或汽车网站的用户绝大部分都是男性,经常浏览娱乐八卦的用户则以女性居多。性别属性预测的问题可以描述成一个典型的二分类问题,其输入特征就是用户的原始行为 b(或者提取后的行为特征 x’),而输出就是{M(男),F(女)}两个分类。有很多机器学习模型都可以用于性别预测问题,比如采用最大后验概率的框架。
建模中有两个问题需要注意:首先,不论用什么样的模型来预测人口属性,必须要有一定的拒识门槛,也就是说对那些行为不够丰富或不够有代表性的用户,应该输出“未知”的判断,而不是简单地用模型算出一个结果;其次,模型训练集的获得非常重要,往往算法的有效性不如更准确、规模更大的训练集对结果的提升明显。而较大训练集的获得往往是要依赖社交网络,例如,可以将广告系统的用户身份与微博用户对应,再从微博公开的用户属性获得标注。
除了性别以外的其他人口属性,用简单的分类模型并不太准确。以年龄为例,假设我们把标签设定成 5 个年龄段,那么将第一个年龄段的人错分到第二个年龄段,与错分到第三个年龄段的代价应该是不同的,而如果采用简单的 5 个类的分类模型,这一差别就被忽略了。因此,需要在分类模型中明确考虑不同类之间的错分代价,而其他的属性如教育程度、收入水平也类似。不过总体上说,从用户行为上预测非性别的人口属性是比较困难的任务,除非有非常相关的数据来源以及充分多的准确的训练样本,否则不太建议用这种方法获得这些标签。

13.6 数据管理平台

数据管理平台的系统架构如图13-11所示。通过部署在媒体上的代码或SDK 收集第一方访问日志,送入数据高速公路。同时通过数据高速公路收集自有的第二方数据,然后把这些日志原始行为映射到结构化或非结构化的受众标签体系上。另外,还会有一些第三方提供的加工好的标签数据直接进入用户标签集,再通过统一的接口对外提供。在这一架构中,DMP同时对接了第一方、第二方和第三方的数据,并根据这些数据对受众群体做灵活的、自定义的划分。

图13-11 数据管理平台(DMP)系统架构示意

除了需要用到上面讨论的受众定向技术,DMP 还有一个技术问题,就是如何将用户标签传送给购买方,如某 DSP。这包括两个环节:一是用户身份对应,如第 16 章中将介绍的 cookie 映射;二是数据的传递方式,图 13-11 中展示的是直接通过在线缓存的形式访问,实际上更常见的方式是在广告交易的过程中,附着在询价请求上直接提供。

第14章 竞价广告核心技术

14.1 竞价广告计价算法

5.2 节中介绍了位置拍卖市场中一些常用的定价策略,包括 GSP、MRP、价格挤压等,单独理解这些策略都不困难。在实际的系统中,我们需要将这几种策略综合起来执行。以按 CPC 计价的竞价广告产品中一次广告展示为例,我们将实际的计价算法用下面的代码描述,可以对照表 5-2 来进一步直观地理解这一完整的定价过程。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// In:
// cands : 候选广告ID
// ctrs : 候选广告预估的点击率
// bids : 候选广告的出价
// MRP : 市场保留价
// squash : 价格挤压因子
// slotNum : 要求的广告条目数
// Out:
// results : 排序结果
// prices : 计价结果
void auction(vector<int > & cands, Vec & ctrs, Vec & bids, float MRP,
float squash, int slotNum, vector<int> & results, Vec & prices) {
int candNum = cands.size();

// 按照给定的squashing因子调整预估CTR
for (int c = 0; c < candNum ;c ++)
ctrs[c] = ctrs[c] ^ squash ;

// 计算调整后的eCPM
Vec eCPMs ;
eCPMs.resize(candNum, 1e -10f);
for (int c = 0; c < candNum; c ++)
if (bids[c] >= MRP) // 跳过那些出价小于市场保留价的候选
eCPMs[c] = ctrs[c] * bids[c];

// 将所有候选按照eCPM排序
for (int c1 = 0; c1 < candNum; c1 ++)
for(int c2 = c1 + 1; c2 < candNum; c2 ++)
if (eCPMs[c1] < eCPMs[c2]) {
SWAP(cands[c1], cands[c2]);
SWAP(eCPMs[c1], eCPMs[c2]);
SWAP(ctrs[c1], ctrs[c2]);
}

// 得到各竞价结果并计算定价
results.clear(); prices.clear();
for (int c = 0; c < candNum - 1; r ++) {
if (eCPMs[c] <= 1e-10f)
break;

// 按照GSP计算定价
float price = eCPMs[c + 1] / ctrs[c];
if (price < MRP)price = MRP;

results.push_back(cands[c]);
prices.push_back(price);
}
}

从定价过程的输入可以看出,对于一个采用 CPC 计费模式计费的竞价广告系统,需要先得到广告候选集合,并计算每个候选的点击率,这对应竞价广告两个最关键的计算问题,即广告检索和广告排序,这也是本章要讨论的重点技术问题。
竞价广告中根据 eCPM 对广告进行排序,而根据 2.3.1 节的介绍,按照点击和转化两个发生在不同阶段的行为,eCPM 可以分解成点击率和点击价值的乘积,eCPM 的估计主要就是点击率预测和点击价值估计两个任务:

$$ r(a, u, c) = \mu(a, u, c) \cdot \nu(a, u)  (14.1)$$

我们认为点击率 µ 是广告 3 个行为主体的函数,而点击价值则是用户 u 和广告商 a 的函数,而在 CPC 计算的竞价广告中,点击价值是广告主的出价,不需要估计。

14.2 搜索广告系统

搜索广告的优化目标在式(2.2)的基础上加以调整,可以用下式来表达:

$$ \max {a{1}, \cdots,T} \sum_{i=1}^{T}\left{\mu\left(a_{i}, c_{l}\right) \cdot \operatorname{bid}{\mathrm{CPC}}\left(a{i}\right)\right}  (14.2)$$

这个目标相对简单清晰:对每次展示的各个候选,根据查询估计其点击率 µ,并乘以广告主出的点击单价得到 eCPM,再按此排序即可。而在 eCPM 的估计过程中,根据上下文即用户输入的查询来决策。
搜索广告是竞价广告中最典型的系统之一,它与一般广告网络最主要的区别是上下文信息非常强,用户标签的作用受到很大的限制。因此,搜索广告的检索过程,一般都不考虑用户 u 的影响,而上下文信息 c,即查询,又是实时通过用户输入获得,因而离线受众定向的过程基本可以被省略。在这样的应用场景下,搜索广告的系统架构如图 14-1 所示,它与一般的竞价广告系统架构上的主要区别是没有上下文和用户标签的缓存,但是其检索模块由于查询扩展的需求,会比一般的竞价广告系统要复杂,并且在排序后的收益优化阶段还需要进行北区和东区的广告放置决策。

图14-1 搜索广告系统架构示意

14.2.1 查询扩展

搜索广告中查询的重要性极高,粒度又非常细,如何根据广告主需求对关键词进行合理的拓展对于需求方和供给方来说都有很大意义:需求方需要通过扩展关键词获得更多流量;供给方则需要借此来变现更多流量和提高竞价的激烈程度。因此,查询扩展(query expansion)是搜索广告的重要技术,它主要用于 6.1.3 节中介绍的广泛匹配情形下。介绍3种主要的思路。

1.基于推荐的方法
如果把用户一个会话内的查询视为目的相同的一组活动,可以在{session, query}矩阵上通过推荐技术来产生相关的关键词。这种方法利用的是搜索的日志数据,而基本上个性化推荐领域的各种思路和方法都可以适用。下面以查询扩展的问题为例介绍一下推荐技术的基本问题。
给定一组用户会话 s = {1, … , M }和一组关键词 w = {1, … , N },可以产生一个对应的交互强度矩阵{xmn}M×N。如果其中某个用户搜索过某个关键词,则矩阵相应的元素就置为一个相应的交互值,如该用户在一段时间内搜索过该词的次数。
显然,这个矩阵中大多数单元都是空白,但这并不意味着用户搜索该词的可能性为零。而推荐的基本任务就是根据这个矩阵中已知的元素值,去尽可能预测性地填充那些历史上没有观测到的单元。类似的场景除了搜索,还广泛出现在各种互联网应用当中,如商品的浏览或购买记录以及在线电影的打分记录,都可以抽象出类似的交互强度矩阵以及相应的推荐问题。这样根据群体用户的选择关联性进行推荐的问题也被称为协同过滤(collaborative filtering,CF)问题。

2.基于主题模型的方法
除了利用搜索的日志数据,也可以利用一般的文档数据进行查询扩展。这类方法实质上就是利用文档主题模型,对某个查询拓展出与主题相似的其他查询。关于文档主题模型的介绍,参见 13.3 节。
在主题模型的描述下,每个词 wn 都可以对应于一个文本主题组成的向量{zn1, zn2, …, znK}。于是,也可以用两个词对应的主题向量来计算它们的相似度。这种方法与上一种方法相比,主要考虑的是语意上的相关性,而非用户意图上的相关性,因此效果会差一些,只能作为用户搜索行为数据不足时的补充方法。

3.基于历史效果的方法
对搜索广告而言,还有一类查询扩展方法很重要,那就是利用广告本身的历史 eCPM 数据来挖掘变现效果较好的相关查询。由于在广告主选择竞价的关键词时,一般来说都会选择多组,如果从历史数据中发现,某些关键词对某些特定广告主的 eCPM 较高,那么应该将这些效果较好的查询组记录下来,以后当另一个广告主也选择了其中的某个关键词时,可以根据这些历史记录,自动地扩展出其他效果较好的查询。
虽然这种方法得到的扩展结果经常会与前两种方法得到的结果相重合,但是由于这种方法直接使用广告的优化目标,即 eCPM 来指导查询扩展,往往能够成为前两种方法非常重要的补充手段,而且对营收产生的效果往往还要好于前面的两种方法。

14.2.2 广告放置

如 6.1.3 节中讨论的,广告放置指的是搜索引擎广告中确定北区和东区广告条数的问题。考虑到用户体验,需要对北区广告的数量进行限制,因此,这是一个典型的带约束优化的问题。其中的约束是系统在一段时间内整体的北区广告条数,而优化的目标则是搜索广告系统的整体营收。
搜索广告虽然不宜进行深入的个性化,但在广告放置问题上存在着很大的个性化空间。不同用户对于广告接受和容忍的程度有着很大的不同,实际上,即使在北美市场这样的用户受教育水平较高的市场上,也至少有三四成的用户不能完全分辨搜索结果和广告。因此,对不同的用户动态调整北区的条目数,可以使得在北区平均广告数目相同的约束下,整体系统的营收有显著的提高。

14.3 广告网络

广告网络的典型系统架构如图 14-2 所示,其中广告投放的决策流程为:服务器接收前端用户访问触发的广告请求,首先根据上下文信息和用户身份标识从页面标签库和用户标签库中查出相应的上下文标签和用户标签;然后用这些标签以及其他一些广告请求条件从广告索引中找到符合要求的广告候选集合;最后,利用 CTR 预估模型计算所有的广告候选的 eCPM,再根据 eCPM 排序选出赢得竞价的广告,并返回给前端完成投放。

图14-2 广告网络系统架构示意

从离线计算的流程来看,广告网络需要根据广告投放的历史展示和点击数据,对点击率预测进行建模。
由于广告网络广泛采用CPC计费,准实时的计费和点击反作弊功能是必不可少的;另外,将用户行为尽快反馈到广告决策中对于点击率预估和受众定向的效果提升也非常关键。这些需求共同催生了流计算技术,这一技术被广泛应用于短时受众定向和短时用户行为反馈。

短时行为反馈与流计算

虽然用户行为定向不适用于搜索广告,但是用户在一个会话内的一系列查询如果能够快速处理,还是会对准确理解用户意图大有帮助。除了这样的短时用户行为反馈,在广告业务中还有一些需要快速对在线日志进行处理的场景,这些场景主要有以下几个。
(1)实时反作弊。反作弊是所有广告系统都需要的模块,关于反作弊具体的技术将在第 17 章中介绍。在 ADN、DSP 这类依赖于站外流量的广告产品中,爬虫流量、突发的作弊流量都会对广告主预算产生巨大的影响。因此,在所有需要实时数据处理的模块之前,需要一个实时反作弊的模块,对系统产生的日志进行过滤。
(2)实时计费。广告产品需要一个实时计费的模块,以便将那些预算消耗完的广告及时下线,避免系统损失。
(3)短时用户标签。Hadoop 上计算用户标签 t(u)往往需要比较长的更新周期,如每天,而及时利用用户分钟级别的行为数据加工用户短时兴趣的标签,被证明对广告效果帮助很大[2]。这种短时用户标签也需要一种数据准实时处理的工具。
[2] 搜索广告中查询的过分泛化会对相关性有较大负面影响。因此,我们不提倡在搜索广告检索阶段利用短时用户标签;不过在排序阶段,可以利用短时动态特征来加权那些用户更倾向于选择的结果。
(4)短时动态特征。CTR 预测中的动态特征(参见 15.1.4 节)也可以根据分钟级的数据补充调整。
这些场景对数据处理系统提出了新的挑战:简单的基于 Hadoop 的离线挖掘模式不再适用了,需要一个灵活的计算框架,能够实时流式地接受线上日志,并用预先组织好的一组处理过程来加工这些数据,得到随时可以被使用的结果。这样的需求催生了流计算平台。以上面的几个广告系统中实时处理的任务为例,它们组成的处理流程如图 14-3 所示。

14.4 广告检索

倒排索引是搜索引擎的关键技术,而广告的检索上也采用这样的框架。但是广告的检索问题也有一些自身的特点和需求,基本的倒排索引技术在广告检索中遇到了两个新问题。
(1)广告的定向条件组合,可以看成是一个由与或关系连接的布尔表达式,这样的文档显然与搜索引擎面对的 BoW 文档不太一样,这里存在着有针对性的检索性能优化空间。
(2)在上下文关键词或用户标签比较丰富时,广告检索中的查询可能相当长,甚至会由上百个关键词组成,这种情况下的检索也与搜索引擎中主要由 1~4 个关键词组成的查询有很大区别。试想,如果将 100 个关键词同时输入到搜索框中,返回的结果会是你想要的吗?
这些差异使得广告中使用的检索技术在基本的倒排索引之上有所发展。

14.4.1 布尔表达式的检索

广告检索与普通搜索引擎检索的第一个不同是布尔表达式的检索问题。在受众定向的售卖方式下,一条广告文档不能再被看成是BoW,而是应该被看成一些定向条件组合成的布尔表达式,例如下面的几个例子:
a1 = (age ∈ {3} ∩ geo ∈ { 北京 }) ∪ (geo ∈ { 广东 } ∩ gender ∈ { 男 })
a2 = (age ∈ {3} ∩ gender ∈ { 女 }) ∪ (geo ∈/ { 北京,广东 })
a3 = (age ∈ {3} ∩ gender ∈ { 男 } ∩ geo ∈/ { 广东 }) ∪ (state ∈ { 广东 } ∩ gender ∈ { 女 })
a4 = (age ∈ {3, 4 }) ∪ (geo ∈ { 广东 } ∩ gender ∈ { 男 })
a5 = (state ∈/ { 北京,广东 }) ∪ (age ∈ {3, 4 })
a6 = (state ∈/ { 北京,广东 }) ∪ (age ∈ {3} ∩ state ∈ { 北京 }) ∪ (state ∈ { 广东 }∩
gender ∈ { 男 })
a7 = (age ∈ {3} ∩ state ∈ { 北京 }) ∪ (state ∈ { 广东 } ∩ gender ∈ { 女 })
在这些例子中,我们用布尔表达式来表示广告的定向人群,并且写成析取范式(Disjunctive Normal Form,DNF)的形式。在这样的表达形式中,先要解释以下两个概念。
(1)每个 DNF 都可以分解成一个或多个交集(conjunction)的并,如 a1 可以分解成 j1 = (age ∈ {3} ∩ geo ∈ { 北京 }) 和 k2 = (geo ∈ { 广东 } ∩ gender ∈ { 男 }) 这两个交集。
(2)每个交集又可以进一步分解为一个或多个赋值集(assignment)的交,以 a1 为例,可以分解为 age ∈ {3}和 geo ∈ { 北京 } 这样两个赋值集。

14.4.2 相关性检索

竞价广告与搜索的检索问题还有一点不同,有时,竞价广告系统需要处理很多个标签组成的查询。让我们考虑上下文定向的情形:当通过网页内容的关键词来匹配广告候选时,往往需要用十多个甚至几十个关键词去查询广告,再进行 eCPM 排序。在这一情形下,如果仍然采用一般搜索引擎对查询的处理办法,则会陷入两难的境地:如果各个关键词之间是“与”(and)的关系,基本上不可能得到任何匹配的结果;如果各个关键词之间是“或”(or)的关系,那么在检索阶段就会返回大量相关性很差的候选,给后续排序的效率带来很大的挑战。
同样地,当用户的兴趣标签较丰富时,也存在类似的挑战。简单地比较一下搜索与搜索重定向广告,就可以理解为什么展示广告的查询信号会丰富很多:在搜索中,只需要根据用户当前输入的关键词进行检索;而在搜索重定向广告中,虽然用的也是搜索信号,但是需要将用户一段时间内的搜索关键词全部考虑,显然这样的查询要长了很多。这里也可以看出,搜索广告完全可以采用一般的检索技术,但是展示广告需要有新的方案。
考察上面问题产生的原因会发现,在长查询的检索情形下,我们实际上希望的是查询与广告候选间的相似程度尽可能高,但任何一个关键词是否出现在文档中其实都不关键。这样以查询和文档间的相似程度为目标的检索问题称为相关性检索。
解决相关性检索的基本思路是,在检索阶段就引入某种评价函数,并以此函数的评价结果来决定返回哪些候选。

14.4.3 基于DNN的语义建模

当一个概念由于用词和风格不同,在文档和查询中不是用同一关键词来表达时,基于关键词匹配的向量空间模型的泛化能力不足。后来流行起来的主题模型(如 LDA)有一定的泛化性能,但无监督 LDA 不能够有针对性地解决具体问题。随着词嵌入方法在 NLP 领域的广泛应用,端到端地从原始文本中监督学习任务相关的语义表达,使语义的表达能力和准确程度都大幅提升,这也成为广告检索技术发展的前沿方法。

在广告、搜索、推荐这些领域,经常用点击率作为弱监督标签来衡量给定用户(u)或上下文(c)与候选(a)的语义相关性。只不过在不同场景下 c 的含义略有不同:搜索场景下 c 是关键词,上下文广告场景下 c 以内容为主,而推荐场景则更多考虑 u。

14.4.4 最近邻语义检索

最近邻检索的工程效率是一个核心问题:由于每个文档和查询都能够计算出一个距离得分,如果对所有文档完全遍历该得分,以语义向量 200 维、候选文档 100 万篇规模的数据集为例,检索过程可能要耗时数十毫秒,而这在高并发的在线广告场景下是不可接受的。因此,为了降低性能消耗,需要对候选文档数进行剪枝,同时又能保证较高的召回率,这类加速最近邻检索算法称为近似最近邻(approximate nearest neighbor,ANN)查找。

第15章 点击率预测模型

15.3 探索与利用

15.3.1 强化学习与E&E

在实际的广告场景下,决策行为更像是一个多状态的行为序列。举个例子,一个汽车广告的优化目标是促成该车型的最终交易,那么在用户单状态即决策独立的假设下,为了最大化交易率,很可能给用户的若干次访问都反复推荐该款车的降价广告,导致用户或是直接购买或是直接离开。如果考虑到用户的购车决策路径上其实有多个状态,把用户的行为建模成一个多状态马尔科夫链,则可以学习出在用户第一次访问时推荐该车型的品牌广告,点击品牌广告后进而推荐针对该车型的信贷业务,最终再推荐该车型的降价广告这样的决策序列,这最终有可能带来更高的转化率。
在多个决策行为不独立且需要优化决策序列的整体收益的场景下,贪婪地每次选择短期收益最大的决策往往并不是最优解。在强化学习领域,会把问题建模成一个智能体(agent)和环境(environment)多轮交互的模型,该模型主要包含如下几个重要元素。
(1)收益(reward):智能体执行完某个动作(action)后,环境反馈的短时回报。
(2)价值(value):在给定当前的状态和动作前提下,智能体可以得到的各状态收益的期望累计,即长期收益。
(3)策略(policy):智能体在给定的系统状态下执行动作的概率分布 p(action|state),强化学习的目标即是学习出来的策略使智能体最终获得的长期价值回报最大。
强化学习大致分为两种模型:一种是基于策略的模型,直接搜索能够最大化未来奖励的策略;另一种是基于价值的模型,直接对值函数 Q 建模,然后遍历出预估 Q 值最高的动作。伴随着强化学习和深度学习的融合,在围棋对弈、无人驾驶等领域都取得了不错的表现。
强化学习主要的挑战,正是如何在探索(exploration)与利用(exploitation)之间获得最优的平衡。在广告中,需要牺牲一部分流量上 eCPM 最优的策略,采用相对随机的策略来采样那些效果未知的特征空间,这就是探索过程;再根据探索和正常决策的总体流量更有效地预测点击率,这就是利用过程。这样的整体策略称为探索与利用,即 E&E。E&E 可以形象地类比成玩老虎机时的决策问题:玩家面对老虎机上 A 个有不同期望收益的手柄,需要用尽可能少的筹码探索出收益最高的那个手柄,然后利用这个结果去获取回报。这种简单的 A 中选 1 的研究问题也称为多臂老虎机(multi-arm bandit,MAB)问题。下面我们来看一下 MAB 问题的数学描述。

15.3.2 UCB方法

MAB问题经典的思路是置信上界(upper confidence bound,UCB)方法。此方法的原理是,在每次投放时,不但简单地选择经验上最优的广告,而且考虑到经验估计的不确定性,进而选择估计值有可能达到的上界最大的那个广告。
根据这一思路,在每个决策点,UCB 的过程主要分成两个步骤:首先,根据过去的观测值,利用某种概率模型计算出每个 a 的期望回报的 UCB;然后,选择 UCB 最大的 a。

第16章 程序化交易核心技术

本章主要介绍两点相关技术:一是各广告或数据产品在进行用户身份对应时的 cookie 映射方法;二是如何优化询价的服务成本,即尽可能只向那些可能赢得拍卖的 DSP 询价,这也是第 12 章中介绍的在线分配框架下的具体问题。
在所有在线广告产品中,需求方平台(DSP)是算法挑战相对较大的。首先,在实时竞价环境下,DSP 需要提供重定向、新客推荐等定制化用户标签,而这既需要与第一方数据和商品库打通等繁杂的工程接口,又产生了一些新的建模问题,特别是像新客推荐这种第一方数据和第三方数据兼用的受众定向问题。其次,需求方平台需要像广告网络那样估计点击率,并且会遇到比广告网络更高的准确性要求,另外还需要在面向效果类广告主时同时估计点击价值。另外,实时竞价中的出价是存在优化空间的,这是 DSP 特有的出价策略问题,也对 DSP 的收益影响很大。

16.1 广告交易平台

由于主要功能是提供公开或私有的实时竞价市场,广告交易平台是架构上相对简单的广告产品,其架构如图 16-1 所示。

图16-1 广告交易平台系统架构

这一架构主要涉及的是在线广告请求时的系统过程,而离线的 cookie 映射过程将在下面专门介绍。当用户访问媒体页面,广告请求发至 ADX 后,ADX 向各个接入的 DSP 发起询价并完成比价决策,然后将胜出的 DSP 返回给媒体页面进行广告投放。从核心概念上看,ADX 既不需要自己的广告索引,也不需要 eCPM 估计,因而可以用非常简单的架构实现。但是这仅仅是理论上的概念,实际产品中,ADX 与 ADN 的界限并不是泾渭分明,往往为了支持小规模广告主在更方便的图形界面采买,也需要广告检索和排序;而为了实现询价优化,简单的 eCPM 估计也是不可少的。

我们先来看一下在线广告中是如何对用户身份进行跟踪的。在不同的广告形式中,采用的用户身份标识也不尽相同。
在 Web 环境下投送的广告,用户身份标识可以用 HTTP 协议提供的 cookie 机制来完成。cookie 机制在安全性方面有很多好处,比如每个域名下的服务只能访问本域名下的 cookie,这实际上是由浏览器保证了不同 Web 应用之间用户数据的隔离。不过 cookie 在用户跟踪的有效性方面受到一些限制:首先,用户可以主动清除 cookie,于是广告系统对该用户的跟踪就中断了;其次,由于广告网络往往是在其他域名的网站上跟踪用户和投放广告,其种植的 cookie 是第三方 cookie。而对于第三方 cookie,浏览器一般有更为严格的限制,有的浏览器甚至会在默认情况下禁止第三方 cookie,这也成为行为定向的障碍。随着市场对用户隐私问题越来越关注,W3C 还进一步制定了“do not track”(DNT)的标准,用于用户主动向网站要求不要被跟踪,或者不要被网站上的第三方应用所跟踪。cookie 的跟踪方式还有一个问题,那就是当某台计算机的用户使用多个浏览器时,其 cookie 无法直接统一起来。
在有用户登录信息的广告产品中,用户登录的身份往往是比浏览器 cookie 更强的身份标识,而最典型的情形出现在社交广告中。用户登录信息不仅在接续性上远远好于普通的浏览器 cookie,还具有能够打通不同的桌面和移动设备的功能。因此,创造网站功能以鼓励用户登录,是很多从事广告业务的互联网公司都在努力的方向。当然,也不能认为用户登录身份的准确性一定好于浏览器 cookie。例如,在某些游戏性质较强的产品中,由于一个用户可能创建多个“马甲”参与,会导致其用户标识相当不准确。
与其他身份标识不同,cookie 由于具有域名之间的隔离性,在 RTB 这种服务器间的广告请求中,DSP 无法直接得到自己域名下的 cookie。因此,必须要通过某种技术手段来完成身份对应,这称为 cookie 映射。cookie 映射应用的范围很广,除了上面提到的 ADX 与 DSP 之间的身份对应,典型的应用还有媒体与 DMP 之间的身份对应,以及某具有永久用户标识的服务向其他域名提供 cookie 找回的服务等。
新增书签新增笔记
cookie 映射的场景比较多样,我们可以重点关注 3 个问题:由谁发起?在哪里发起?谁保存映射表?最典型的场景有两种:一是涉及两个域名,即在一个域名的服务上向另一个域名发动的 cookie 映射;二是涉及三个域名,即在一个第三方域名页面上发动的其他两个域名间的 cookie 映射。我们分别来讨论这两种情况。
涉及两个域名的 cookie 映射,典型的例子是媒体与 DMP 之间的身份对应问题。如图 16-2 所示,这一过程有 5 个步骤

图16-2 媒体与DMP间cookie映射示例

(1)用户到达媒体页面。
(2)向媒体的 cookie 映射服务请求一段负责此功能的 JavaScript 代码。
(3)媒体的 cookie 映射服务返回该段 JavaScript 代码。
(4)该 JavaScript 代码判断需要映射的话(如果最近已经做过则可以不做),向 DMP 发起 cookie 映射请求,并传送两个参数:媒体的标识(mid),以及媒体方的 cookie(mck)。
(5)DMP 返回一个 1 × 1 的 beacon,并记录下媒体方 cookie(mck)与己方 cookie(dck)的对应关系。
考察一下我们关注的 3 个问题可以发现,这一 cookie 映射过程是由媒体方在媒体的页面上发动,并由 DMP 方保存映射关系。这样做有其合理性:媒体需要从 DMP 获得标签的人群是自己的访问人群,因此从媒体页面发动;而 DMP 保存映射,可以比较方便地将自己的用户标签与媒体 cookie 对应,并传回给媒体。
涉及 3 个域名的 cookie 映射,典型的例子是 DSP 与 ADX 之间的用户标识对应问题。如图 16-3 所示,这一过程有 6 个步骤。
(1)用户访问广告主页面。
(2)选择性加载一个 DSP 域名下的 iframe。
(3)DSP 判断需要映射的话,返回包括多个 beacon 的动态 HTML,此处多个 beacon 的目的是同时与多个 ADX 交换 cookie。
(4)通过其中的某个 beacon 向对应的 ADX 发送 cookie 映射请求,并带有 ADX 标识(xid)、DSP 标识(did)和 DSP cookie(dck)3 个参数。
(5)ADX 通过 302 重定向向 DSP 返回 ADX 标识(xid)以及其域名下的 cookie(xck)。
(6)DSP 返回一个 1 × 1 的 beacon,并记录下 ADX 方 cookie(xid)与己方 cookie(dck)的对应关系。

图16-3 DSP与广告交易平台间cookie 映射示例

这个过程与上一个过程相比,由于是在第三方的网站上发动映射,因而较为复杂,需要用到 302 重定向,不过熟悉前端技术的朋友应该不难理解。仍然考察我们关注的 3 个问题,这次是由 DSP 在广告主页面上发动映射,并由 DSP 保存映射关系。这样做也是符合业务逻辑的:DSP 主要需要对广告主的人群做深入加工,并对这部分人群在 ADX 中出价,因此从广告主页面发动;而 RTB 是 cookie 的对应,由各 DSP 分别自行完成,比在 ADX 中集中时完成显然更加合理,因此这一映射表保存在 DSP 方。

16.2 需求方平台

DSP的优化目标与大多数广告产品有所不同。从利润的角度出发,除了尽量提高广告的eCPM,还需要尽量降低每次广告展示的费用。

$$ \max {a{1}, \cdots,T} \sum_{i=1}^{T}\left{\mu\left(a_{i}, u_{i}, c_{i}\right) \cdot v\left(a_{i}, u_{i}\right)-p\left(u_{i}, c_{i}\right)\right}  (16.2) $$

式(16.2)中的减号前的部分,即收益,可以通过 eCPM 估计来计算,其技术与广告网络中的 eCPM 估计相类似;而减号后的部分则通过出价策略来优化,这是 DSP 特有的优化需求。
DSP 的系统架构如图 16-4 所示,其中广告投放的决策流程为:DSP 服务器通过 RTBS 接口收到广告询价请求,然后经过与广告网络类似的决策步骤,包括检索和 eCPM 排序,找到价值最高的广告,并将报价返回给 ADX。这样的决策流程,适用于按 CPC 或效果付费、以套利为目标的 DSP,这类 DSP 通过优化算法提升广告主的 ROI 来赚取更多的利润。也有一类 DSP 产品,其服务接近于透明采买的方式,即广告主按照自己的用户划分和策略完成 RTB 购买,而 DSP 收取固定的手续费,在这种情况下,对优化的需求就没有那么高。我们重点讨论的是前一种 DSP。

图16-4 需求方平台(DSP)系统架构示意

与广告网络相比,DSP 的广告决策过程更加复杂,我们会重点讨论下面的几个技术点。
(1)DSP 往往需要支持定制化的用户划分能力。在实际产品中,定制化用户划分有时由专门的 DMP 来提供,但更常见的情形是由 DSP 提供的接口来实现。
(2)由于 DSP 是完全面向广告主的产品,需要在量的约束下投放。因此,还存在类似在线分配的问题,这产生了对于出价策略的需求。
(3)在采用 CPC 计费模式的 DSP 中,进行 eCPM 估计时,需要估计 CTR;而在采用 CPS 等效果计费模式的 DSP 中,还需要同时估计点击价值。并且,由于实时出价的要求,这两项的估计都要尽可能准确。

16.2.1 定制化用户标签

DSP 与其他广告产品相比,多了定制化用户划分功能,这是收集第一方数据的接口,这部分数据将用于加工第一方专用的用户标签,用于指导广告投放。
对于定制化用户标签中最常用的重定向,需要将访问广告主网站的某特定用户集合传送给 DSP。这个接口也有两种主要的实现方式。
(1)直接在广告主的网站上布设 DSP 域名的 JavaScript 代码或者外链图片(也可以是不可见的 beacon),这样 DSP 就可以直接收集到访客的记录,再自行加工分析即可。
(2)采用线下数据接口的方式,定期将广告主或者其委托的 DMP 收集到的访客集合批处理式地传送给 DSP。当然,前提是 DSP 与广告主或其 DMP 之间建立起了 cookie 映射的机制。
这两种方式各有优缺点:前者能够实时地获取访客信息,但是需要一段时间的数据积累才能覆盖广告主用户集合的大部分,而且在多个 DSP 同时服务于一家广告主时需要加多段跟踪代码,这样会降低页面响应速度;后者虽然可以迅速得到访客集合,并且避免了页面因多组跟踪代码而变得太重,却在数据更新时有一定的延迟,并且对广告主方的技术要求较高。
除了获取第一方用户行为数据的接口以外,当需要提供个性化重定向功能时,DSP 还需要向广告主提供用于商品库同步的接口,由于不同广告主的商品库存储和管理区别很大,往往需要多套接口才能满足业务的需要。在实际的个性化重定向技术中,商品库的接口是最为复杂的功能之一。
在定制化用户标签中,要特别提到新客推荐这类方法,因为它要同时用到第一方数据和第三方数据,有比较独特的算法建模需求。

新客推荐建模
从这种定向方式的本质,即 t(a, u)的特点出发,并且以优化效果为主要目的,可以以前文讨论的点击率模型为基础,得到新客推荐的一般可行思路。
前文讨论的点击率模型的作用是任意给定一组 (a, u, c) 的组合,按照训练好的模型计算其预估的点击率。如果变换一下思路,筛选出一个特定广告主的历史投放数据,并且只使用那些与用户或广告主相关的组合特征 x(a, u),进而训练下面的模型:

$$ p(y = 1|x(a, u)) \quad (16.3)$$

虽然此模型的形式与点击率模型类似,但是其意义已经发生了本质的变化:首先,这里的一条样本应该是一个用户,而不是一次展示;其次,这里的输出信号 y 不再是点击行为,而是标示一个用户是否为广告主用户的二元变量。显然,此模型是一个针对广告主 a,评价某个 u 成为其用户可能性的评估函数。由于此模型评估的是用户的属性,因此与上下文信息 c 无关。
对于训练集中每一个用户 u,确定其对应的 y,有两种方法:第一种方法是根据广告主提供的种子用户集,将出现在该种子用户集中的 u 对应的 y 标为 1,否则标为 0;第二种方法是根据广告投放的记录,将点击过该广告主广告一定次数(一般设为 1)以上的用户对应的 y 标为 1,否则标为 0。比较这两种方法,第一种方法需要用到广告主提供的第一方数据,能够高质量且比较精确地圈定目标人群;第二种方法不需要第一方数据,但是靠广告点击收集的种子用户集合往往质量较差,而且量会受到限制,也会有比较严重的冷启动问题。至于新客推荐模型的具体形式和训练方法,与点击率模型有类似的选择。由于新客推荐问题的训练集正比于用户规模而不是展示量规模,因此求解的过程比点击率模型会简单一些,往往不需要用分布式计算方案就可以解决。
对任意一个给定的用户 u,上述新客推荐模型给出的是其成为广告主 a 用户的可能性。此可能性是(0, 1)区间的一个概率值,对其设定一个阈值,就可以将用户分成两类,一类我们认为是该广告主的潜在新客,另一类认为不是。这样就得到了该广告主的潜在新客这一标签,显然,这样的标签是一种定制化用户标签。
在很多情况下,为特定广告主发现新客,既可以采用这样的新客推荐标签,也可以采用普通的受众定向标签。例如,为给招商银行的信用卡寻找新客,既可以由招商银行提供种子用户,加工其专用的新客推荐标签,也可以简单地选择普通受众定向体系中的“财经/信用卡”这样的人群。显然,由于第一方数据的使用,我们希望新客推荐标签在同样的 reach 水平下,其 CTR 应该高于普通受众定向标签。否则,新客推荐技术就没有价值了。

16.2.3 点击价值估计

由于DSP代表的是广告主的利益,往往可以通过在广告主网站布设代码等方式获得转化数据,按CPS/CPA/ROI等转化效果模式与广告主做计费结算。在这种计费模式下,除了要按广告网络那样估计点击率,还需要估计点击价值。我们来看看点击价值估计的问题。

$$\nu(a, u, c) = h(a, c) \cdot c(a, u) \cdot t(a) \quad (16.5)$$

如式(16.5)所示,点击价值可以分解为到达率(reach)h、转化率 c 和转化单价 t 这 3 个量的乘积。到达率指的是实际打开广告落地页次数与点击次数的比例,这与广告主网站的页面打开延迟关系最大,与媒体的属性特别是误点情况也有一点关系,因此我们可以认为它与广告主 a 和媒体 c 有关;转化率指的是到达落地页以后,有多少比例产生了广告主定义的转化行为,这主要与用户对广告主产品的兴趣有关,因此是广告主 a 和用户 u 的函数;转化单价在 CPA/CPS 类的广告中,是广告主指定的转化费用,而在 ROI 类广告中,是广告主客单价与分成比例的乘积,因此我们认为转化单价主要与广告主 a 相关。当然,上面的讨论非常近似,实际上 a, u, c 这 3 个变量都对到达率、转化率和转化单价有一定的影响,而式(16.5)只考虑了其主要影响因素。
上面的几个量中,到达率与转化单价都不难统计,而转化率的估计是一个比较困难的问题。这首先是因为转化比起点击还要稀疏得多,用机器学习的方法建模存在较大困难;其次,转化的定义和性质与广告的具体业务类型,甚至不同广告主的目标紧密相关。例如,电商广告主会将购买定义为转化,而游戏广告主在开服的需求下会将注册定义为转化,在一般运营状态下会将充值定义为转化。显然,不同类型的转化无法用同一模型来描述,这进一步加剧了数据的稀疏性。
特别要注意的是,在没有充足的行业数据支持的情形下,广告产品千万不能贸然将点击价值估计全部交由机器完成。实践中比较可行的办法,基本上都是简单统计与运营经验相结合来估算转化率。不过,当某 DSP 的广告主类型和转化流程相对一致,比如专门服务于游戏客户的 DSP,或者像淘宝这样的平台电商自建的 DSP,那么在转化数据比较充分的前提下,仍然可以采用机器学习建模的方法预测转化率。

16.2.4 出价策略

如果 DSP 投放的广告活动没有预算的限制,那么出价策略非常简单:只要按照 eCPM 水平出价,就可以保证在第二高价的情况下每次展示都有利润。但是在有预算约束的情况下,我们显然希望每次展示的利润率尽可能高,而利润率除了需要知道 eCPM,还需要对当前展示的市场价格有所估计,并在全局水平上尽可能将出价集中在那些利润率较高的展示上,这就是 DSP 出价策略的直观理解。

16.3 供给方平台

供给方平台是与广告交易平台比较接近的产品,一般会实现私有的 RTB 交易以及网络优化等功能,并且用动态分配的逻辑决定当前展示分配给哪种广告渠道。

网络优化

网络优化问题是指 SSP 在接入多个广告网络以后,在线动态决定将广告请求发给哪个广告网络,从而优化整体收入的问题。
将网络优化与 16.1.2 节中介绍的询价优化问题做对比可以发现,这两个问题有一些相似之处:前者需要预估若干广告网络在当前(u, c)条件下的 eCPM,而后者则需要预估若干 DSP 在当前(u, c)条件下的 eCPM。当然它们也有很大的不同:首先是在网络优化时,只需要找到 eCPM 最高的广告网络,而在询价优化中,要根据带宽约束在线决定向哪几个 DSP 询价;另外,询价优化中 DSP 的 eCPM 可以根据历史数据比较精细地建模来计算,但是在网络优化中,由于广告网络一般没有向媒体报价的功能,往往只能采用粗略的数据分析和建模手段来估计其 eCPM。
概念上说,在网络优化中,估计某个(a, u, c)组合上的 eCPM 时,这里的 a 由具体的一个广告变成了某个广告网络,由于没有了具体的广告信息,因此预测的准确程度也会大打折扣。

第17章 其他广告相关技术

前面讨论的所有技术和算法的核心都是为了优化广告效果。不过,前面谈到的广告效果优化思路基本上集中在受众的选择的角度,而在实际的在线广告中,还有一项对广告效果影响巨大的技术,那就是创意优化。创意优化与受众优化性质有所不同,因为创意的改变实际上也改变了广告要表达的诉求。如何在基本的宣传诉求可比的前提下,结合受众定向对创意做调整,这是广告系统不能不考虑的重要问题。
广告系统运营中另一个必须考虑的问题是建立一个灵活的实验框架(experimentation framework)。由于各种策略、算法、架构的调整,通过线下评测和模拟都很难完全反映线上的变化,因此,需要有一个线上的实验系统来确定其有效性。线上实验系统的原理很简单,无非是从实际流量中分出一定比例用于实验方案。不过,由于同时测试的方案个数可能比较多,如何在一个框架中进行更多的测试是工程中提高广告系统进化效率的关键。
还有两个与广告效果的度量相关的问题需要介绍,一是如何在流量中去除那些恶意的和非主动的流量,这部分我们称为流量保护(traffic protection,TP)。其中去除恶意流量的反作弊问题,由于是一个“道高一尺、魔高一丈”的动态博弈过程,因此并无确定不变的技术和算法,不过也有一些原则和基础方法可以遵循。二是需求方站在自己的利益角度对广告效果的核实性度量,这称为广告监测。这两个问题其实有着相当深入的联系,在今天程序交易和受众定向大量被使用的在线广告市场中,这两个问题在一定程度上可以结合起来考虑,并催生了所谓广告安全的问题和相应技术。
受众定向和程序交易广告的另一个重要影响,是用户的行为数据存在在不同的广告产品之间泄露的可能。因此,隐私保护技术与其对立面,即去匿名化技术,从正面或者负面的角度,都与在线广告有着密切的联系。关于隐私保护相关问题及其在广告中的可能应用,也将是本章涉及的内容。

17.1 创意优化

创意对于广告效果的影响无疑是巨大的,然而我们不能把调整创意带来的效果等同于受众定向产生的效果。因为随着创意的改变,广告表达的诉求已经发生了变化,其点击行为也就不再与其他创意完全可比。可以通过一个例子来理解这个问题:假如有一个保险类型的广告主,将一个宣传公司品牌和实力的品牌型创意,变成一个用户填写车险申请的表单式创意,如图17-1所示。毫无疑问,后者的点击率会大幅度上升。但是实际上,这两个创意向用户传达的诉求有着相当大的区别:前者的目的是向潜在用户渗透性地宣传品牌的定位,以利于将来长期的用户转化和利润空间;而后者的目的则是短期内的转化效果,但对品牌特质的宣传则有所不足。

图17-1 品牌型创意(左)和效果型创意(右)

因此,一般情况下我们讨论的创意优化指的是在广告的基本诉求保持相对稳定的前提下,如何调整创意以提高效果。

17.1.1 程序化创意

创意优化的一个重要原理是第 2 章的广告有效性模型中就介绍过的原则:为了提高用户的关注程度,需要将向用户推送此广告的关键原因在创意中明确表达出来。由于推荐原因众多,这样的创意优化往往需要用程序自动进行,而不是预先做好大量的素材。类比于程序化交易,我们把这类思路称为程序化创意。下面我们就程序化创意的思路给出一些示例性建议。
(1)地域型创意。地域定向是根据用户的地域信息投送相应的广告,如果能将明确地域指示性的内容体现在创意上,往往会对效果有非常直接的帮助。例如,如图 17-2 所示,对同样一个汽车广告,对北京和上海地域的受众,分别加上当地经销商的联系电话。显然,对每个城市制作一版独立的素材是不经济的,应该在投放时动态加入与地域相关的信息。

图17-2 同一汽车广告在北京(左)和上海(右)的地域型创意

(2)搜索重定向创意。根据用户的搜索行为提供的重定向图片广告,如果能明确标示搜索词,往往更容易唤起用户的注意力和兴趣。因此,可以采用图17-3所示的创意形式,将用户曾经的搜索词放在图片下方的搜索框中,现在这也需要投放系统在线自动完成。

图17-3 搜索重定向创意示例

(3)个性化重定向创意。这种产品在 7.4.4 节中已经具体介绍过,其中展示的单品都是在线动态决定的(见图 7-8),而创意也是在线合成的,这也是一种程序化的创意。
在线广告的服务对象由传统的品牌广告向效果广告发生了倾斜,传统的由设计人员主导的、品牌形象驱动的创意生产模式,也一定会越来越多地加入机器决策的、效果导向的内容。因此,程序化的创意优化模式应该得到足够的重视。

17.1.2 点击热力图

在找出创意设计的问题、优化效果等方面,点击热力图是一个非常重要的工具。点击热力图是将某一个创意各位置被点击的密度用热力图的方式呈现出来,帮助创意优化者直观地发现和解决其中的问题。一般来说,创意中的若干主要信息聚焦点应该会比较集中地吸引用户点击。如图 17-4 所示[1],在创意中人物的眼神发生变化时,用户关注和点击的热点也有很大的区别。显然,在这样的点击热力图指导下,创意的迭代优化可以半定量地进行,并且更加有目的性。
[1] 此图是眼球追踪的热点图,不过考虑到其与点击热力图的一致性,我们仍用它来说明问题。

图17-4 创意中人物的眼神对点击热力图的影响

不过,在程序化创意的影响下,点击热力图的使用有一些障碍:因为在线时会对创意的部分内容进行修改,这种情况下叠加在一起的热力图有时无法反映细节问题。不过,对于创意中一些固定元素的优化或动态模块整体的效果评估,热力图还是很有帮助的。

17.1.3 创意的发展趋势

随着移动广告原生化的趋势越来越明显,创意的形式也在快速变化之中。总体而言,创意正向着视频化、交互化的方向发展,其目的是为了在创意中承载更多的有效信息,以提升转化率。
在视频化的趋势当中,9.4.4 节中介绍的激励视频形式异军突起,是最近几年被广泛接受的创意形式。由于激励的存在,视频创意基本上总是可以被完整地播放,这提高了广告内容的传播效率,当然也就提升了广告效果。不过,视频的创意比较难以根据线上数据进行实时优化。于是,最近又出现了交互式广告又称试玩广告的概念,它是将游戏或应用中的某些片段直接搬到创意上来,让用户不用下载就可以直接交互试玩,可以更加真实地体验实际使用场景。
交互式创意有两种技术方案。一种是服务端交互的方案,即在服务器上以虚拟机的方式运行游戏,然后将画面以类似于直播的方式实时传送至用户设备上,同时,将在用户端收集到的交互行为传送给服务器,控制游戏做出相应的反应。这种方案的特点是,比较通用,无需对每个游戏作定制化的开发,缺点是服务器资源消耗巨大,往往是普通广告的上百倍;另外,由于有实时交互的需求,对用户网络环境的要求很高。目前看来,这种服务端交互的模式还处在较早的探索阶段,Google 等公司也都在积极研究。另外一种方案就是下面要介绍的客户端 HTML5 方案。

CrossInstall
CrossInstall 是一家专注于交互式创意的公司,与上文介绍的服务端交互方案不同,CrossInstall 采用的是直接将游戏片断制作成 HTML5 页面、用户在本地直接交互的形式,如图17-5所示。

图17-5 CrossInstall的交互式创意

这种客户端交互的方案至少有以下一些优点。
(1)HTML5 加载完成以后,交互即在本地进行,对用户端的网络状况没有特殊要求。
(2)由于是用 HTML5 复制游戏内情节,可以在反映原貌的基础上,做一些有利于推广的变化,例如,对于重度游戏,去掉其中一些冗长的情节,或只采用某个典型交互片段。
(3)服务成本较低,与普通视频广告类似甚至更低。
(4)创意中的参数和设置可以用数据进行优化。
不过,这种方式显然也存在一些问题。
(1)对每个游戏都需要单独制作交互创意,这是一个比较费时费力的过程。
(2)有些比较复杂的场景可能不易用 HTML5 实现。
总体而言,在目前阶段,相对于服务端交互方案,这种 HTML5 交互方案是比较实用的技术。CrossInstall 在交易形式上是一家 DSP,在 ADX 中购买全屏尺寸广告位的流量,然后利用 MRAID 协议支持交互式广告。从投放结果来看,这种形式甚至可以达到比激励视频广告更高的转化率。但是,由于这种广告形式用户的沉浸度太强,有一些媒体对其心存顾虑。
除了采用交互式的 HTML5 创意,CrossInstall 在实操过程中很重要的一点是,将创意中的参数和设置根据线上的数据反馈进行优化。以图 17-5 右图所示的游戏创意为例,预先放置几排泡泡,可能对试玩用户的转化率有影响,而设计者很难准确判断最优的排数。如果在投放过程中,通过 HTML5 请求带参数的方式划分线上流量,测试不同泡泡排数情形下的转化率,可以达到最优的效果。如果可以调整的不只是泡泡的排数,而是有更多的参数,这就需要一个完善的实验框架了。

17.2 实验框架

无论是广告系统调整算法和架构,还是投放时调整创意和定向策略,都需要依赖线上的实际流量测试来确定其真实效果如何。切分部分流量用于测试并非难事,但是一个实用的实验框架需要尽可能多地同时容纳多组实验,以提高流量利用效率和产品进化速度。

新增书签新增笔记
设计这样一个实验系统的关键,是利用系统模块之间的相对独立性,用分层的结构来扩展实验容量。典型的一种分层实验框架的架构,如图 17-6 所示。在这一架构中,不同的实验参数被分置于不同的实验层(layer)中。一般来说,我们可以按模块划分这些实验层,例如,在广告系统中,我们按检索、排序和展现将相应的参数划分成 3 个层,每层都可以将流量切分成不同的测试子集或域。显然,在这种分层结构下,不同层上的实验是可以共享流量的,这样就大大提高了同时进行的实验数目。另外,系统还预留了一个非重叠测试域,目的是方便有时需要进行的联合调整各层参数的一些特殊实验。除了实验层以外,此实验框架还涉及了专门的发布层,用于将实验通过的参数逐渐灰度发布到全流量上。同一个参数只能出现在一个实验层和一个发布层中,而优先级关系是优先采用实验层参数,其次是发布层参数,最后是默认参数。这样一个兼顾流量实验和灰度发布的实验框架,在实践中能够满足大部分情形的需求。

图17-6 分层实验框架架构示意

那么在每一层中,流量是如何随机被分到各个域中的呢?对于广告系统而言,按照每次展示做随机分配是不合适的,这是因为多次广告展示之间的相关性会对测试的结果产生影响。正确的做法是按用户划分,即每个用户的广告展示请求都被固定地发送到同一个域中。这样做的目的是使一个广告策略的高阶或长期影响能够真实地表现出来。
一般来说,实验框架并不是一项深奥的技术,但因为与投放引擎、数据处理等环节耦合较短,所以实现起来工程量不小,又加上并没有直接的收益产生,往往容易被忽视。实际上,任何一个产品研发在启动时有最重要的两点,一是定义好可衡量的目标函数,二是建立灵活高效的实验框架以评测各种方案的优劣。有了这两项准备,产品的迭代过程会大大加速。

17.3 广告监测与归因

除了采用 CPC 计费模式的广告活动,其他广告活动都存在计费指标为媒体或广告主某一方不可见的情形。因此,需要有独立、公正的第三方对广告展示量或转化效果进行度量,这就产生了广告监测和归因的问题。
在 CPM 计费模式下,需求方需要委托某家第三方监测公司对实际发生的展示或点击数目进行核对,以确保自己的利益。不过,监测的主要需求存在于按 CPT 计费模式计费或 CPM 计费模式计费的合约广告中。这是因为,在竞价广告系统中,广告主与媒体之间并没有约定的价格,可以根据后续的效果来调整自己的出价,因此对展示或点击的监测并不是强需求。从这里可以看出,效果监测主要的服务对象是那些品牌广告主,效果检测一般会占有在线品牌广告投放 1% 左右的预算。
借助监测代码或者 SDK 实现广告展示或点击的计数并不困难。监测代码是指具有客户端信息收集功能的代码。它的主要工作是将客户端的信息以参数的形式拼凑成 URL,并以 HTTP 请求的方式传给第三方,告知“谁,在什么时候,看到了来自哪个媒体展示的,哪个广告主的广告”。以移动端为例,根据《中华人民共和国广告行业标准》,客户端监测代码的参数有如表 17-1 所示的几种。

表17-1 移动端广告监测代码参数一览
|参数|解释|
|—|—|
|OS|客户端操作系统的种类:0表示Android,1表示iOS,2表示WP,3表示其他|
|IMEI|15位,适用于Android,需要MD5加密|
|MAC|用户终端的硬件地址,适用于Android和iOS,字母转换成大写后MD5加密|
|AndroidID|适用于Android,需要MD5加密|
|IDFA|适用于iOS,保留原始值|
|OpenUDID|适用于iOS,保留原始值|

当广告在客户端产生了曝光时,监测代码就会记录此次曝光,并采集用户信息,其生成的 URL 如下所示:

1
2
3
4
5
www.*****.com/imp?CID= ad20&CPID=1321&CRID=20&OS=1&IDFA=70
E0E6465B7B12C844C63EC681C7507C&OpenUDID=
F1C7976BC455CB548BFC550EB7687F06&IP=10.26.78.45&UA=iPhone;%20CPU%20
iPhone%20OS%2061_2%20like%20Mac%20OS%20X)%20AppleWebKit/536.26%20(
KHTML,%20like%20Gecko&TS=1198628984102

除第一个参数使用“?”连接外,后面参数都用“&”连接。从这段 URL 中很容易读出几个信息:用户的 IP 地址是 10.26.78.45,使用设备 UA 是 iPhone,IDFA 是 70E0E6465B7B 12C844C63EC681C7507C 等。直接对这个 URL 发起 HTTP 请求,第三方 www.*****.com 就可以根据 URL,解析出广告、媒体和用户的三方信息,在后台形成日志,作为一次正常的广告曝光。在行业中,常说的“监测代码”指的就是这个监测 URL,而非装填 URL 的代码。
当广告投放基于受众进行时,监测就要困难得多了。例如,某广告计划要求在男性用户流量上投放 1 000 mille 的展示,那么如何才能确定投放的结果满足这一条件呢?一般采用的方案是“广告监测提供商用采样+付费”的方式收集一个小比例人群上的真实用户属性,然后通过验证这个人群上性别的准确率,来反推整体的投放数据。这一方法看起来十分简单,但由于采样集一般规模不大,在人群分布上与投放人群相比可能存在较大的偏差,因此此方法的关键在于如何对数据进行有效的纠偏。另外,即便采用这样的方案,也只有部分基于人口属性信息的投放是可以验证的,而对于基于兴趣标签的投放,由于对同一个用户并不存在确定的标准答案,这样的监测意义不大。
由于实名社交网络的人口属性信息相对比较准确,又有很大的规模,因此现在的趋势是直接采用社交网络的数据作为标准来进行定向广告的监测。例如,尼尔森就与 Facebook 合作,推出了基于 Facebook 人口属性信息的广告监测服务。
当然,广告监测与反作弊有着密不可分的联系,所有展示或点击的计量都必须在去除了作弊流量的基础上进行。由于广告监测是代表需求方利益的服务,一般来说其反作弊规则比媒体方或广告平台更加有动力。

17.3.2 广告安全

在越来越复杂的广告投放和交易逻辑当中,广告主已经很难像在合约广告中那样非常明确地管理自己的投放媒体了。但是,实践中很多广告主又存在切实的需求,希望自己的广告不要出现在一些特定内容的媒体上。我们在第 2 章中曾经提及,广告预算除了被浪费的那部分,还有一部分是会产生负面效果的,我们显然希望去掉这些有负面影响的展示。例如,汽车广告主不希望自己的广告出现在有关车祸内容的页面上,也不希望出现在一些低级庸俗内容的网站上。这样的需求不是简单的广告可以完成的,而是需要专门的服务来保证广告主的品牌安全,我们称这样的问题为广告安全问题。与广告安全相关的关键技术是广告投放验证(advertising verif ication)和可视性验证(viewability verif ication)。
1.广告投放验证
广告投放验证的作用是确认品牌的安全性,并保证展示的质量。其工作模式是在广告投放到页面以后,如果发现页面的内容不符合品牌安全的诉求,则停止展示广告主的创意,转而展示一个与品牌无关的创意。与广告监测不同,这里的重点不在于计量效果,而在于阻止不恰当展示的发生。
读者可能会疑惑,既然是在不安全的页面上禁投广告,在广告请求到来时直接根据 URL 过滤不就可以了吗?在实际的广告交易中,由于多层 iframe 的嵌套,有时媒体会伪装自己的 URL,以达到流量以次充好的目的。例如,某些高质量媒体会将自己域名的 iframe 嵌套在其他小网站上——冒充自己的流量,从而获得高的溢价。因此,必须要在广告投放时,进行 iframe 穿透,实时判断投放页面的顶层 URL,才能进行广告投放验证。而页面的内容则可以采用第 13 章中的半在线抓取系统来获得。
有了一些历史经验以后,也可以采用“投放前”(pre-bid)的验证方案,也就是对那些历史上发现不符合品牌安全策略的URL或广告位直接不参与广告交易,这样可以进一步节约服务成本。
2.可视性验证
品牌广告主的另一个常见诉求是广告展示的曝光程度。显然,出现在第二屏的广告位比第一屏的广告位曝光程度要差很多。这个问题也属于广告安全的范畴。
可视性验证的技术方案一般是判断浏览器是否对广告创意发生了渲染过程,如果没有,那么这次展示实际上不是可视的。解决可视性验证问题,需要对各种浏览器做充分的针对性测试,目前的技术水平已经可以做到对95%以上的浏览器内广告流量进行可视性验证,但是在移动应用内广告中,目前还没有很好的检测办法。
可视性验证同样有“投放前”的方案,也就是对那些可视比例很低的广告位直接不参与广告交易。

17.3.3 广告效果归因

按 CPA/CPS/ROI 计费模式计费的广告,由于转化行为并不发生在媒体上,往往需要第三方机构对这些效果数据进行公正的跟踪,并且将其与广告的展示和点击数据对应起来,以确定某次转化来自哪个渠道。这称为广告效果的归因。
广告效果归因比较成熟的领域包括电商和移动应用下载。另外,有些广告虽然按 CPM 计费模式计费或 CPC 计费模式计费,有时也需要考核后续的效果,这时也需要进行效果归因。效果归因常见的方法有直接访问归因和用户 ID 碰撞归因。
1.直接访问归因
直接访问归因的原理比较简单:为每一个渠道分配一个独有的渠道 ID,放在落地页的 URL 参数中,当用户在到达落地页以后的同一个会话中完成转化行为,就记到该渠道上。
中国的 Android 应用下载采用的是另外一种直接访问归因方法:给每个渠道打不同的 apk 包,直接分别记录各渠道包的下载量。
直接访问归因虽然原理上简单明确,却不见得合理:用户点击了广告以后,如果被别的任务打断,没有在当前立即发生转化,后续直接访问广告主页面时产生的转化就无法归因给该渠道,这对于电商这样转化决策周期可能比较长的场景,明显是有失公允的。因此,目前更加通行的归因方法是用户 ID 碰撞归因。

2.用户 ID 碰撞归因
我们以移动应用下载广告效果的归因为例,来看一下用户 ID 碰撞的归因原理。如图 17-7 所示,用户在广告位上看到广告后,有时会点击广告到达广告的落地页(此处为 Apple Store 的应用详情页);用户进一步下载该应用后,就完成了一个“转化”。其中归因的原理是这样的:当点击产生时,除了跳转到落地页,同时向归因的监测方(一般情况下为第三方产品)发送一个点击链接,同时将用户的 ID 作为参数一并发送过去;当转化发生时,嵌入在广告主应用里的监测方 SDK 会发送一个带用户 ID 的转化链接;将两个过程中的用户 ID 进行匹配,就可以知道某个转化是哪个渠道带来的了。

图17-7 用户ID碰撞归因原理示意

用户 ID 碰撞归因可以自由设置归因周期,例如,规定点击后 3 天以内的下载都归因到点击渠道,或者规定点击后 7 天内的购买都归因到点击渠道。关于归因周期的设置,在不同行业的广告主中有不同的合理范围,需要具体讨论。

17.4 作弊与反作弊

由于广告有很多的相关利益方,会有人制造虚假流量,或者用技术手段骗过广告监测与归因,这些行为统称为广告作弊。

17.4.1 作弊的方法分类

由于广告活动是广告主、媒体与用户之间三方交互的行为,因此广告中的作弊行为主要来自 3 种主体。
(1)媒体作弊。由于大多数广告网络与媒体之间是按照点击的价格来计费的,因此点击作弊是最为常见的,当然也存在为了满足 CPM 订单量的需求而对展示进行作弊的情形。
(2)广告平台作弊。广告网络或广告交易市场这样的广告平台也有制造虚假点击以获取更多分成的目的。而 DSP 这样的需求方广告产品,除了混入劣质流量的广告展示、制造虚假点击以外,还会通过一些作弊手段为广告主带来虚假转化,以满足效果考核的要求。
(3)广告主竞争对手作弊。某些广告主的竞争对手会通过技术手段大量消耗该广告主的预算,达到降低其广告效果的非正常竞争目的。
从作弊的原理来看,可以将作弊分成以下两种类型。
(1)虚假流量作弊,也称为 NHT(non-human traffic),指的是广告的展示、点击或转化本身就是伪造出来的。按 CPM/CPC 计费模式计费的广告中,虚假流量是作弊的主流方法。
(2)归因作弊,则是将其他渠道的流量或者自然流量记在自己名下。一般来说,CPA/CPS 的广告由于伪造转化的成本较高,多采用归因作弊的思路。
从作弊的手段来看,又可以进行以下划分。
(1)机器作弊,即作弊的过程是由机器自动完成的。这种作弊手段比较易于规模化,但是往往容易在统计上留下比较明显的反作弊特征。随着人工智能和深度学习技术的发展,机器作弊有可能在模拟真人的行为方面获得重大突破,这会使反作弊的难度大大增加。
(2)人工作弊,对于 CPA/CPS 类型的广告,由于转化总量可控,为了追求效果的真实性,真人作弊的方法比较流行。

17.4.2 常见的作弊方法

1.服务器刷监测代码
直接在浏览器地址里输入 17.3.1 节中提到的广告监测代码,也就在广告主那里记录了一个曝光,这就是刷量的基本原理。写一个爬虫程序,自动装填各种参数,可以自动发起 HTTP 请求,刷监测代码。
服务器刷代码的作弊手段,占用了服务器大量带宽不说,虚假流量的涌入也为真实效果的统计提出了严峻的挑战。不过,服务器刷代码的方法还是有漏洞的,只要屏蔽掉各 IDC 机房的 IP 地址就可以解决大部分问题。因此,要实现服务器刷代码作弊,还需要弄到大量 IP 做代理以对抗反作弊。
2.客户端刷监测代码
服务器刷监测代码虽然简单直接,却在 IP 和 cookie 等用户身份统计上很难做到自然。于是,就产生了直接在客户端刷监测代码的作弊方法。用户访问了一个网页,网页上的 JavaScript 又重复访问了好几次监测代码,这样一来,从用户分布上就很难找出什么漏洞了。
不过,这样的作弊也有迹可查,例如,发现某网站广告投放的用户频次大多数都在 8、16、24、32 这些数字上,基本就可以判断每个用户的浏览都又被刷了 7 次。要想自动化找出这样的作弊,可以通过对用户频次分布的曲线做傅里叶变换,找出其中的基频来解决。
不论是服务器刷还是客户端刷,在点击位置分布上都会有破绽,上面提到的点击热力图是一个很有用的反作弊工具:正常的用户点击在创意上的位置分布往往呈现与创意关键区域相关的比较自然的分布,而机器产生的用户点击,其分布要么过于均匀,要么过于集中,很容易与自然点击分布相区别。图 17-8 给出了一个广告创意正常的点击热点分布与作弊的点击热点分布的示例。图 17-8 左侧是自然点击的热力图,右侧是有作弊行为的点击热力图。可以看出,除了自然点击区域外,还多了一些集中且均匀的点击分布,这些明显不符合正常用户的行为特征,可以认定为作弊行为。

图17-8 自然点击热点图(左)与机器作弊点击热点图(右)对比

除 cookie、IP 级别的统计以及点击热点图这些思路以外,如果广告系统能在 JavaScript 代码或 SDK 中收集到更多其他的物理信息,如展示时间、点击时间等,也会对于甄别作弊流量很有帮助。一般来说,在收集到比较充足的特征以后,可以建立一个反作弊的判断模型,用以过滤作弊行为。这样的模型需要有一个在线的实时计算版本,为在线计费和其他实时反馈模块做过滤;也需要有一个更加精细的离线版本,用于每天处理广告日志,得到最终确认的财务结算数据。由于反作弊特征和模型是广告系统高度保密的模块,在这里我们就不展开讨论其细节了。

3.频繁换用户身份
单一 IP 或 cookie 在大量展示或点击的作弊方式是最容易去除的,只需要给一定时间段内的展示或点击设定合理的上限,进而发现那些显著超过上限的 IP 或 cookie 并加入黑名单即可。因此,无论采用哪种刷量的手段,一般来说都要比较频繁地变更用户身份,如经常变换 IP、cookie 等。
了解了这种作弊方式,对于可以选择流量的 DSP 来说,有些思路可以起到一定的作用:凡是第一次看到的 cookie 或设备号,就干脆不要参与竞价了。
4.“肉鸡”和手机 root
“肉鸡”是指那些被木马感染、可以被黑客远程控制的机器和设备。透过“肉鸡”控制用户后,可以自动发起浏览和点击行为,这样的虚假流量在统计上比较难以分辨。root 是指操作系统中超级管理员权限,当拿到 root 权限后,就可以在后台执行各种访问、点击和下载操作,这些数据也都与真实数据无异。

5.流量劫持
除了制造虚假展示和点击的作弊行为,在广告市场上还存在通过非法手段获得广告展示或点击的准作弊行为,而其中最典型的就是流量劫持。
所谓流量劫持,就是在无权投放广告的地方强行投放,或者改变广告创意甚至落地页的内容。一般来说,只有一些网络底层服务的提供商,如 DNS、CDN 等,才有能力进行这种劫持。
我们举几个例子来看一下流量劫持的具体手段。
(1)信道弹窗。通过电信运营商对信道的控制能力,在用户上网时强行向下行内容中插入弹窗广告创意。这种形式在 PC 和移动设备上都存在,虽然 CCTV 在 2013 年“3·15”晚会上对这种灰色广告渠道进行了曝光,但是至今仍然广泛存在,并且在移动设备上大有愈演愈烈之势。如图 17-10 所示的“流量球”产品,会在用户浏览网页时自动弹出,以提示用户剩余套餐流量为名,插入其他的一些推广内容。不过,实际上就“电信运营商是否可以在信道上插入自己的内容来影响用户”这个问题上,据我们的了解还没有明确的法规可以遵循,也存在一些不同的声音(例如,运营商通过插入内容降低 P2P 传输的效率以提升正常用户体验,就是一个正面的例子),需要进一步讨论与规范。

图17-10 手机上的流量劫持示例

(2)创意替换。创意替换仍然是通过电信运营商的信道,将某些网站上的广告创意直接替换为其他创意。显然,这是一种比信道弹窗更加粗暴的劫持行为。
(3)搜索结果重定向。由于搜索是高商业价值的流量,将搜索流量导向某些搜索引擎可以获得其收入分成,因此存在一种流量劫持手段,当用户在搜索引擎 A 输入某关键词以后,搜索的结果页会变成搜索引擎 B 提供的,或者在淘宝这类电商垂直搜索中,改变结果商品的排序或落地店铺。这虽然不是直接的广告劫持,但本质其实也是一样的。
(4)落地页来源劫持。这是最为简单粗暴的一种劫持方式,它并不投放广告,而是在用户访问广告主落地页时,直接在 URL 上加上广告来源代码。例如,当用户访问 http://..com/a-hotalfshell1219 这个广告主页面时,将其修改成 http://.******.com/a-hotalfshell1219?utm source=*,这样广告主就会将其统计成某广告渠道带来的访问。
在这些流量劫持手段中,前三种主要损害的是媒体利益,而对广告主来说,流量本身则是真实存在的,而第四种就是一种彻底的作弊行为了,损害的是广告主的利益。

6.cookie 填充
cookie 填充方法的英文名称为 cookie stuffing,而“stuffing”的意思就是“填充”。这是针对 CPS 联盟广告的一种常见作弊方式。在 CPS 联盟的机制下,只要给用户打上标识媒体来源的 cookie,如果该用户后面自己去淘宝上产生了购买行为,由于 cookie 的存在,这次自然购买结果就变成了媒体带来的效果。
cookie 填充在实现方法上,主要有图片+.htaccess 跳转、1×1 iframe 和 Flash 等,根本原理都是在用户浏览器上静悄悄地对淘宝的推广链接发起 HTTP 请求,在用户不点击广告的情况下打上站长的 cookie。cookie 填充的作弊手段类似于后面要介绍的下载归因,都是将自然结果转变成自己的推广效果,骗取更多的转化付费。

7.IP 遮盖
IP 遮盖(IP cloaking)指的是在广告投放的过程中,屏蔽掉一些 IP 地址,不对其进行广告展示,相当于是作弊者维护的“黑名单”。一般来说,黑名单上主要是广告市场的监管人员 IP,如搜索引擎或者主要广告平台的公司 IP。
IP 遮盖并不是一种作弊手法,而是一种辅助手段,甚至是目前作弊者都会使用的一种手段:考虑到养一个广告投放账户成本较高,为了在一次投放中收获更多的利益,作弊者想方设法要延长广告的投放时间。如果这个广告出现在搜索引擎上,那么作弊者就会使用 IP 遮盖,屏蔽掉搜索引擎公司所有的 IP 地址,导致相关监管人员在处理投诉或举报时,难以快速复现用户所投诉的场景,继而拖延审查流程。当搜索引擎的监管人员通过排查广告创意,确定作弊者违规时,作弊者早已获得了足够的利益。

8.点击滥用与点击注入
点击滥用(click spam)和点击注入(click injection)是移动应用下载广告中较为泛滥的两种作弊手段。
点击滥用的原理与 17.3.3 节中讲到的用户 ID 碰撞归因密切相关。在移动应用下载广告中,采用用户 ID 碰撞归因时,用户点击广告后一段时间内,产生的下载行为算作广告效果。显然这个规则是有漏洞的:如果对每个用户向监测方发送模拟的点击行为,那么这些用户后续产生的下载就被归因到了渠道头上。显然,这种作弊可以大量劫持广告主的自然下载,而且正因为是自然下载,后续效果一般都相当不错,甚至要优于普通的广告渠道。点击滥用适用于 iOS 系统和有 Google Play 的 Android 系统,但对于非 Google Play 的 Android 应用市场,由于多采用分包的直接归因方法,这种作弊方法不适用。
当然,点击滥用在统计上也是比较容易发现的:如果将所有用户都提前标记点击,那么数量就会太庞大,这必然带来转化率的明显下降,会比正常广告的转化率低一到两个数量级。另外,由于点击滥用是等待用户自然下载,因此点击到转化的时间分布会在整个归因周期内呈现出相对均匀的分布,这与正常转化随时间拉长快速下降的分布截然不同。把握住了以上两个关键特征,识别点击滥用的作弊模式并不困难。
点击注入是一种适用于 Google Play 市场应用下载广告的作弊方式,其基本原理是这样的:假设有一款应用 A 在 Android 手机上被安装时,系统会向所有的应用发送一条广播消息,这样一来,某应用 B 内嵌的 SDK 就可以马上发起一条针对应用 A 的点击请求,而由于应用 A 的激活往往还要发生在几秒甚至几十秒之后,同样可以起到将此次应用 A 的激活归因在自己渠道的作用。
点击注入在统计上同样有迹可循:首先是这样先收到安装消息再发点击的方式,转化率会异常高,不过这一点可以比较容易地通过产生一些无效点击或者与点击滥用相结合来伪装;另外一个特征是,这种方式下点击到激活的时间差会相当短,不过由于目前第三方归因监测商只能得到激活时间,得不到下载时间,用这一特征发现点击注入并不太容易。当然,如果 Google Play 与第三方归因监测商配合,这种作弊方式就非常容易被发现了。

17.5 产品技术选型实战

从广告和泛广告变现的角度来看,在互联网市场上主要有3种资产能够变成钱,这3种资产分别是数据、流量和品牌属性。后两项是媒体的专属,而第一项既可能来自媒体,也可能来自第三方的数据拥有者。

17.5.1 媒体实战

这里所说的媒体,指的是一切拥有流量的 Web 网站、WAP 网站、HTML5 网站、PC 或移动应用程序等。媒体的变现渠道无非是面向终端用户和面向客户两种,而除广告以外的面向客户的很多形式,如游戏联运、免流量下载等,产品本质与广告是一致的。如果要用广告形式变现,前提是其交互界面可以加入广告位,或者一些内容中可以以原生的方式混入付费内容。除了面向客户的广告变现,媒体还有其他面向用户的变现手段,利用应用直接收费,或者内置订阅或付费等,这些这里不做讨论。
在获得收入的同时,一定要特别注意广告产品给用户体验带来的负面影响,这一立场是与广告市场其他参与方不同的。坚持利用高质量的广告变现,有利于媒体长期保持和提升自己的品牌价值,从而在优先销售的广告上获得更高的品牌溢价。不过,对大量中小媒体而言,很难在品牌销售上找到切入点,因此重点关注的是即时的单位流量变现能力,即 RPM。
媒体选择合适的广告产品主要要考虑几方面的因素:是综合性媒体还是垂直媒体?媒体的品牌价值如何?媒体的流量是否足够大?媒体是否有高价值的数据?根据这几方面的因素,我们将媒体在进行商业变现时的决策逻辑用图 17-11 来示意。

图17-11 媒体利用广告变现的决策过程

1.变现方式和产品决策
在移动互联和广告实效化充分发展的今天,我们建议媒体首先要考虑的变现方式是原生广告。如果你的内容中有内容流、列表等适合做原生广告的形式,或者其他一些可以商业化的内容段落,那么就可以考虑用原生的方式加入付费内容。原生广告的变现产品落地有两种选择。如果流量充分,可以自行运营原生广告平台(如站内的搜索或新闻应用的内容),特别是当你的站内搜索有足够的流量时,在搜索结果中插入原生的付费结果是最需要重视的变现方式。这些做法对广告主的质量、相关程度都可以最好地控制。如果流量不充分,那么合理的方案是与其他原生广告平台或相关行业的搜索广告提供商合作,不过如第 9 章中介绍的,原生广告平台在产品和市场落地方面还处于比较初级的阶段,实际操作难度会比较大。总之,原生广告从趋势来看应该给予很高的重视程度,但对中小媒体而言目前还并不是一个可以规模化变现的市场。
如果采用一般广告形式变现,首先要判断的是媒体是否具有比较有价值的品牌属性。如果具有这样的品牌属性,首先应该考虑通过合约的方式售卖品牌广告:在一些强曝光的广告位(如门户首页的特型广告位)上,应该采用按 CPT 计费模式计费的广告位合约,而在其他一些通用的横幅位置上,推荐采用按 CPM 计费模式计费的展示量合约,而且售卖的标的应该是定向以后的人群标签。当然,在今天的中国市场中,后一种也是以 CPT 方式为主,不过我们仍然认为其有向 CPM 定向广告演进的动力。首先考虑合约广告是因为其品牌溢价的能力,这往往使它会比一般的竞价广告有更高的 RPM 水平。同时,一旦建立了品牌广告销售体系,在采用其他竞价广告时就需要特别注意是否会对品牌广告有制度和价格上的冲击。
一般来说,为了维持价格水平,媒体的合约广告售卖率不会很高。合约广告未能变现的剩余流量,就需要采用其他竞价广告了。在行业垂直媒体和综合媒体上,竞价广告的策略方式有所不同。如果是汽车、房产、电商这类行业垂直媒体,考虑到用户明确的意图和媒体价值的提升,一般来说只能运营一个行业垂直的广告网络;如果是综合类媒体或者视频、音乐这类非商业行业的垂直媒体,那么可以采用对行业无限制的水平广告网络,在对广告质量高或媒体流量足够大时,可以考虑自建广告网络,否则更便捷的方式是将流量卖给市场上较大的广告网络。
除了广告网络,当然还需要考虑新的程序化交易模式。程序化交易主要有两种选择,即公开的交易市场和私有的交易市场。这两种市场的选择逻辑与前面的广告网络类似:当对广告主类型、质量有较高要求时,最好采用私有交易模式,控制好 DSP 的准入门槛和制度,特别是当媒体主要依赖品牌广告时,与品牌售卖政策有冲突的行业性 DSP 要避免接入;而当对广告主质量没有特殊要求时,可以选择公开交易市场。不过,程序化交易其实并非简单的广告网络升级,特别是在私有交易市场中,原有的品牌售卖需求也可以在更高层次上得到满足,并且通过竞价的模式提高收益。因此,拥抱程序化交易,提高品牌售卖的效率,是高质量媒体在当今必须考虑的方向之一。
当媒体同时通过销售品牌广告、多个广告网络、程序化交易市场等产品形式进行变现时,可以使用一个统一的 SSP 来分配流量。不过,因为市场上广告网络数量的减少和程序化交易快速发展,所以 SSP 正在变得与 ADX 越来越同质化。
2.数据支持方案决策
媒体在确定了广告变现的产品形式和交易方式以后,还需要考虑这些产品需要什么样的数据支持,而且这一点从某种意义上更加关键。选择什么样的广告变现方案需要数据支持呢?根据图 17-11 所示,当有 CPM 定向广告、自营广告网络或私有交易存在时,需要考虑这一问题。
在按 CPM 售卖的定向展示量合约广告中,媒体需要提供人群的分类体系供广告主来购买,这一点往往需要数据支持,否则就只能提供地域定向了。由于面向品牌广告主,人口属性定向比较重要,因此需要有相关的数据来源,或者在没有直接数据来源时利用行为数据建立人口属性预测的模型。除了人口属性,根据行为的兴趣分类也经常用于 CPM 定向广告。
在自营广告网络或私有程序化交易中,提供受众标签的目的是为了让广告主或 DSP 有充分的流量选择能力,从而提高整个市场的流动性。因此,在这两种情形下,媒体也需要获得受众标签的能力。另外,在这两种情形下,由于市场是竞价交易的方式,标签的粒度可以很细,品类上也可以很丰富,其目的都是为了驱动直接效果类广告。
获得这些人口属性或兴趣标签,需要一个数据管理和受众定向的平台。如果媒体自身拥有的相关数据比较充分,又有合适的产品技术团队,那么,出于数据安全灵活性和快速迭代的考虑,可以自建受众定向平台支持业务。不过,对于大量的中型以下媒体,要么是没有充足的相关数据,要么不值得投入一个专门的团队,在这种情形下,不妨直接选择第三方的 DMP 产品,将数据委托其加工,同时从 DMP 可以获得更充足的第三方数据加工过的更为精准的受众标签。

17.5.2 广告主实战

广告主指的是所有以付费方式推广自己的品牌、产品或内容的组织。
广告主对营销方式的选择,主要要考虑几方面的因素:是推广品牌还是直接销售?是否有自己的第一方数据可以用于营销?对新客和老客的营销重点如何?根据这几方面的因素,我们将广告主选择在线广告产品时的决策逻辑用图 17-12 来示意。下面我们来介绍一下这一决策过程中的关键点。
影响广告主在线营销推广方案的第一要素是推广的目的。根据品牌和效果这两大类不同的推广目的,应该选择的推广产品和策略也大相径庭,下面我们分别来看一下。

图17-12 广告主在线营销的决策过程

如果推广的目的为直接转化,也就是直接效果广告,那么先根据是否利用广告主自己的第一方数据来做渠道选择。在没有或不用第一方数据的情况下,可选的效果类推广渠道主要有搜索广告、展示广告网络这类按 CPC 计费模式计费的渠道,以及返利网、垂直行业入口这类主要按 CPS 计费模式计费的渠道。展示广告网络用于效果营销时的效果,与搜索广告相比还有不小的差距,因此主要还是作为搜索的辅助渠道,在预算充足、ROI 要求不是很严格的情况下采用。当然,在搜索广告流量不容易获得时,投放网络有助于扩大人群的触及,对总体营销规模的扩大有帮助。当需要高 ROI 的营销渠道时,搜索广告几乎是必不可少的选择,也是效果营销领域最受重视的渠道,不过搜索广告大量关键词选择、管理和出价是非常复杂的优化过程,除了像京东、携程这样的大型广告主,一般都是通过专门的搜索引擎营销公司来投放。不过,搜索广告一般是按 CPC 计费模式计费的,在实际效果优化方面有比较多的工作要做。除了搜索广告,我们要特别建议的是:对于直接效果类推广需求,需要特别重视垂直行业入口渠道。
垂直行业入口,指的是用户在本行业相关需求的主要流量来源。例如,对于应用下载行业的应用市场和线下预装渠道、对于手游行业的联运渠道、对于淘内电商的聚划算渠道、对于线下商户的团购渠道等。实际上,这样的垂直行业入口是直接效果类推广非常关键的渠道,也是首要的选择之一,因此我们在图 17-12 中重点标示出来。在返利网也可以达到很高的 ROI 水平,有时甚至还会高于搜索广告,不过由于存在大量广告主老用户经过返利网下单的情形,其实际效果,特别是在获取新客方面的效果并不很理想。
如果广告有一些有价值的第一方数据来源,并且有一定的技术实力对其进行加工利用,那么除了上面的搜索广告、展示广告网络等渠道外,还可以考虑利用 DSP 进行精准的定制化人群选择和投放。这里应该选择的 DSP 类型是效果类的、按 CPC 或者 CPS/CPA 计费模式计费的 DSP。在通过 DSP 投放时,对于 CRM 或老客再营销类需求,可以采用重定向的策略;对于新客的拓展和营销,可以采用新客推荐的策略;而对于那些有丰富单品、流量较充足的大型在线服务提供商来说,还可以与 DSP 进行深度的数据和商品库对接,采用个性化重定向的方式在广告渠道商直接展示动态的单品创意。利用第一方数据的精准定向,从效果的角度来看,有时可以做到与搜索引擎相比肩的水平,不过,这样的营销对于广告主来说有一定的技术门槛,因此在中小广告主中并不十分实用。
如果营销的目的是品牌推广而非直接转化,那么应该考虑一些以用户接触为主的合约广告产品。我们在第 4 章中介绍过,这类产品有按 CPT 计费模式计费的广告位合约和按 CPM 计费模式计费的展示量合约。如果广告宣传的是“双十一”促销这样的阶段性主题活动,那么一些强曝光位置上的 CPT 广告是重要的选择;如果是一般性的品牌推广,并且结合有特定的人群策略,那么采买受众定向的 CPM 广告比较合理。不过有时,广告主确定的推广策略不一定能为媒体提供的受众标签所表达,在这种情形下,可以通过 DSP 按照自己的人群划分在广告交易平台中投放品牌广告。这种以服务品牌广告为主的 DSP 与前面说的效果类 DSP 有所不同,它一般采用 CPM 计费模式跟广告主计费,并向广告主收取一定比例的服务费用。
在当今以产品技术为核心的互联网广告市场中,广告主的营销也不是仅靠媒体采买和价格谈判来完成。对于大中型广告主来说,在上面各种营销产品的使用过程中,有两种情况需要自建相关的技术平台。首先,在使用搜索引擎营销时,需要一个专门的选词、出价及优化 ROI 的产品,尽管产品服务本身可以从市场上购买,但是与广告主自身数据的对接,以及行业相关策略的制定,还是需要大量细致的产品技术工作。实际上,对于大型电商这样的广告主来说,SEM 往往是其内部非常重要的产品。其次,当定制化标签的投放量很大时,广告主可以自建 DSP 来投放广告,相比于采买其他 DSP 的服务,这样做在数据整合、效果优化方面都会有一定的优势,当然,如果不是 DSP 广告量很大,这样做的必要性不大。

17.5.3 数据提供方实战

在线广告交易使那些拥有数据但是既不是广告主又不是媒体的组织也可以参与其中。这种数据提供方的例子有很多,例如,手机游戏流量分析产品,可以收集到游戏相关的许多数据;汽车牌照摇号网站,可以收集到近期可能购车的非常精准的人群数据;电信运营商,可以从信道上得到用户的网站访问或搜索行为数据。在谨慎地考虑用户隐私保护以后,这些数据是可以服务于广告投放,从而获得收益的。因此,了解通过广告市场来变现这些数据,对于各种类型的互联网企业都非常有价值。
拥有数据,并不等于数据值得变现。在考虑数据变现之前,需要先对数据的价值有一个合理的评估。评估的基本方式是“用户数×平均用户价值”,这里的用户数就是该组织在一段时间内能够收集到数据的用户总量,而平均用户价值就是从单个用户可以获得的广告价值,它主要受 RPM 水平和单个用户被广告有效触及的展示次数这两个因素的影响。其中 RPM 反映了数据的价值密度,而广告触及次数则需要通过扩大媒体接触来实现。
如果确认拥有的数据具有商业价值,那么就可以考虑如何变现了。一般来说,对于那些数据量有限、不太值得自行加工的数据拥有者来说,可以委托其他 DMP 加工数据,并将得到的标签通过数据交易平台在广告交易的过程中售卖,对于大量的中小互联网服务提供商来说,这是一个简单易行的数据变现方案。不过,选择通用的 DMP 往往很难发掘出独特的价值,因此,如果拥有大量高价值的数据,那么还需要考虑其他的变现方案。
大量数据通过广告市场变现,可以通过直接运营广告产品进行,也可以通过将数据售卖给需求方进行。关于这一点,需要首先根据团队能力、媒体来源与销售计划等诸方面的可行性认真评估。当不具备开发和运营一个完整广告产品的能力时,还是应该采用直接出售数据的方案。成功运营一个广告产品,绝不是简单地搭建一个广告系统就够了,而是需要技术、产品与商业模式上的贯通与执行。
要将数据运营广告产品变现,也有两种选择:当拥有的数据集中在某个人群覆盖率有限但价值很高的垂直行业(如汽车、医疗等)时,因为只有一小部分的媒体流量可以被数据所指导,所以选择供给端的产品(如 SSP、ADN、ADX 等)是不合适的,正确的方案是搭建一个 DSP,并且选择那些数据可以覆盖到的流量出价以变现数据;而如果拥有的数据是适用于许多行业的,而且能够覆盖到相当多的人,那么也可以考虑运营一个广告网络来变现数据。广告主营销的决策过程如图 17-13 所示。

图17-13 广告主营销的决策过程

附录 主要术语及缩写索引

缩写 英文 中文
ADX ad exchange 广告交易平台
ad group 广告组
ADN ad network 广告网络
ad placement 广告放置
ad safety 广告安全
affiliate 联盟
agreement-based advertising 合约广告
auction-based advertising 竞价广告
audience targeting 受众定向
ASN average show number
banner ad 横幅广告
BT behavioral targeting 行为定向
bid term 竞价关键词
brand awareness 品牌广告
call out optimization 询价优化
campaign 广告计划
CoEC click on expected click
CoPC click on predicted click
CTR click through rate 点击率
click value 点击价值
content as ad 内容即广告
CDN content delivery network 内容分发网络
contextual advertising 上下文广告
contextual targeting 上下文定向
CVR conversion rate 转化率
CPA cost per action 按转化付费
CPC cost per click 按点击付费
CPM cost per mille 按千次展示付费
CPS cost per sale 按销售额付费
CPT cost per time 按时间付费
creative 广告创意
CRM customer relation management 客户关系管理
customized audience segmentation 定制化用户划分
data exchange 数据交易平台
DMP data management platform 数据管理平台
demand 需求方
demand constraint 需求约束
DSP demand side platform 需求方平台
demographical targeting 人口属性定向
direct response 直接效果广告
display advertising 展示广告
dynamic allocation 动态分配
EDM email direct marketing 邮件营销广告
EM expectation-maximization 最大期望
EC expected click 期望点击
eCPM expected cost per mille 千次展示期望收入
experimentation framework 实验框架
E&E explore and exploit 探索与利用
frequency capping 频次控制
geo-targeting 地域定向
GD guaranteed delivery 担保式投送
hyper-local targeting 精确位置定向
IDFA identifier for advertising 广告专用用户标识符
IR information retrieval 信息检索
integrated marketing 整合营销
IMEI international mobile equipment identity 国际移动设备标识
inventory 库存
landing page 落地页
look-alike 新客推荐
machine learning 机器学习
MRP market reserve price 市场保留价
mechanism design 机制设计
media buying platform 媒介采买平台
mobile ad 移动广告
native ad 原生广告
network optimization 网络优化
NFP north foot print 北区广告平均条数
off-site recommendation 站外推荐
online allocation 在线分配
PII personal identifiable information 个人可辨识信息
personalized recommendation 个性化推荐
personalized retargeting 个性化重定向
position auction 位置拍卖
PR precision/recall 准确率/召回率
preferred deals 优选
premium sales 优先销售
pricing 定价
PMP private marketplace 私有交易市场
programmatic trade 程序化交易
query 查询
reach 到达率
RTB real time bidding 实时竞价
ROC receive operating characteristic 接收机操作特性
remnant inventory 剩余流量
retargeting 重定向
ROI return on investment 投入产出比
RPM revenue per mille 千次展示收益
rich media ad 富媒体广告
search ad 搜索广告
SEM search engine marketing 搜索引擎营销
search retargeting 搜索重定向
second price 第二高价
site retargeting 网站重定向
social ad 社交广告
sponsored search 付费搜索
supply 供给方
supply constraint 供给约束
SSP supply side platform 供给方平台
targeted advertising 定向广告
TF term frequency 词频
textual ad 文字链广告
topic model 文本主题模型
TD trading desk 交易终端
traffic forecasting 流量预测
TP traffic protection 流量保护
vertical ad network 垂直广告网络
VCG vickrey–clarke–groves
video ad 视频广告
WA web analytics 网站分析