游戏迷提供最新游戏下载和手游攻略!

58亿美元、56亿美元的收入都来自于广告,Facebook的广告系统算法是如何实现的呢?酷勤网

发布时间:2024-06-28浏览:8

笔者也曾经在 Facebook 上做过营销页面,其实是从一个内部朋友那里借了一笔有一定限额的广告(campaign)推广费,当时就被campaign的效率给惊到了(太快了,不到一个小时几十块钱就没了)。由于我也开发过广告系统,也做过很多对比,从形式多样性、功能完备性、用户定位、实时性、数据分析报告等方面来看,Facebook 都是业界领先的。下面是他们内部对广告系统Pacing算法的分析,也适合刚接触广告技术的朋友。

首先,一些在线广告术语

Pacing 是 Facebook 广告系统中的一种算法,用于调整预算的支出节奏。打个比方,就像一个跑步者:冲刺得太早意味着在终点线前耗尽能量,但冲刺得太晚则可能跑不完比赛。Pacing 确保在竞争的前提下,自动将不同的广告预算分配给所有广告主。Pacing 是优化的核心组成部分,可让广告主获得最大的投资回报率 (ROI)。

Facebook Pacing 算法如何工作?

让我们通过一个例子来解释一下投放节奏的工作原理。下面我们将讨论点击次数,但同样的理念可以应用于浏览量、转化次数、行为、覆盖率等。

为简单起见,我们假设这些机会(点击次数、展示次数等)的当日价格是预先知道的。这使我们能够更清楚地说明点击价格与收入之间的关系。这些假设基于对目标产生的机遇进行建模。

让我们通过三个例子来了解Pacing算法如何为广告商提供最大的价值:

情况 1:没有 Pacing 算法时

如果没有 Pacing,广告主的预算在开始的短时间内就被消耗殆尽(可能会出现潜在的昂贵点击),前期竞争激烈,后期没有竞争,造成一定的资源浪费。下图中,蓝点代表广告被展示的机会,黄圈代表赢得展示的广告,红线代表竞价。这样一来,平均费用会比较高,但广告主会根据广告设置得到最理想的投放,这就叫加速投放。

广告总花费 = $10
广告总点击价值 = 6 * $5 = $30
每次点击价值 = $5
预算 = $10
广告总收益 = $30 – $10 = $20

案例二:出价过低

这种情况下虽然追求最低的点击价格,但是最后广告主的预算并没有用完,最后的广告效果却是最差的。

广告总花费 = $4
广告总点击价值 = 4 * $5 = $20
每次点击价值 = $5
预算 = $10
广告总收益 = $20 – $4 = $16

案例3:Pacing算法下的平衡状态

此时,广告主已经达到了最大的点击量,获得了最大的收益,同时也用完了每日预算。

广告总花费 = $10
广告总点击价值 =7* $5 = $35
每次点击价值 = $5
预算 = $10
广告总收益 = $35 – $10 = $25

简单的公式

从上面的例子可以看出,当我们在整个时间段内使用稳定的出价(Pacing)时,相比没有 Pacing 或出价过高或过低,广告主的价值是最大化的。为了实现其目标,Pacing 希望通过向具有相同目标用户的其他竞争广告学习来提出优化的出价。这是一个简单的公式。

最终竞价 (每次展示) = 优化竞价 (每次展示)* CTR where 优化竞价 <= max_bid

Pacing算法的核心决定了优化的出价,包括让Pacing记录下来的反馈系统。

CTR 是点击率。我们用同样的概念来看观看率(VTR)和转化率(CVR)。这些值的准确性会稳步提高,同时也会受到各种因素的影响,比如广告类型、受众、时机、广告上下文等。

节奏的重要性

Pacing 可以在给定预算的情况下最大化广告主的利润。它让广告主更加现实,Vickrey–Clarke–Groves(VCG 的定价是通过计算一个广告主参与拍卖给其他广告主造成的损失总和来计算的)拍卖,在这种拍卖方式下,作弊没有任何好处,也不用去想最高出价应该设多少。这样可以避免拍卖制度中出现的特殊机会。

投放节奏确保可预测的投放。这种稳定的投放方式可保持每日价格稳定,并帮助广告商获得针对其目标用户的公平门槛。

常问问题

问:我的广告没有通过节奏算法正确优化,可能是什么原因造成的?

A:如果广告正常展示,有两个原因。一是优化价格太低。请确保您的出价在建议价格范围内,这样您才有机会赢得该位置。对于竞争激烈的受众,您需要将价格提高到建议价格以上。

另外一个原因是目标受众太窄。

如果此广告投放过多,您可能会拥有大量的受众,但很快就会耗尽您的预算。

问:当我更改预算时,预算安排会受到什么影响?

答:Pacing 会计算出新的最佳出价,但这个过程需要一些时间。这段时间内的出价并不是最优的,因此建议不要频繁修改出价和预算设置。

摘要:Pacing 是通过学习同一受众目标内的广告竞争环境来确定最优出价。

参考

奖金

今日头条十亿美元市值背后的算法

文:余良 摘自:虎嗅网

今日头条算法粗略分析

今日头条员工经常提到的简单算法就是AB测试、双盲测试。

算法架构师曹欢欢和增长团队的张楠都曾公开解释过如何使用 AB 测试来判断产品修改的效果。比如一个按钮用红色还是蓝色比较好,那就向 1% 的用户发布两种颜色的产品,推广下载量更好的那个。如果用在新闻上,编辑可以给同一篇新闻两个标题,测试哪个标题更容易被点击。

双盲测试,就是先让算法确定一条新闻的分类和推荐,然后让两个编辑分别测试,结果相同就算通过,不同就找第三个人来判断,汇报给程序员,重新调整算法。在我看来,这背后是类似神经算法的“刺激-反应”模型——根据算法反应正确与否来调整某个参数(权重),这也是人工智能中常见的“半监督学习”。这大概就是张一鸣将人与机器结合、利用人类智慧的证据之一。

但在这种情况下,编辑的角色是比较被动的,就像工厂装配线上的一颗螺丝钉。

我注意到今日头条在拉勾网上发布了一则广告,年薪一百万美元,招聘算法架构师,擅长:贝叶斯算法,超大规模离散LR,深度神经网络,各类基于树的算法等。其他算法工程师岗位要求也类似。

这些在技术人员眼里没什么特别,在很多IT公司里都是必备的,而且大多和概率统计有关,比如常见的邮件客户端里就有贝叶斯算法。

Foxmail 截图

我想尽力的简单介绍一下这位百万美元工程师所掌握的算法知识,不是从数学的角度(我不懂专业角度,不然我早就去应聘了~),而是从用户的角度去思考“算法想要什么”。

以招聘信息中基于树的算法为例,为了处理信息,算法的最初需求往往是对海量信息进行分类和聚合。人类眼中的单词是它眼中的参数(维度),由一千个不同单词组成的文章,就是一千个维度组成的向量。然后机器在代数世界中衡量不同向量的相似度——简单的向量距离分类、贝叶斯算法、KNN(K最近邻)算法、线性回归、逻辑回归……

维度太多了,所以算法也进化了,不再把每个单词当成一个维度,而是把HTML代码中的节点标记(DOM)当成一个维度,这样就大大减少了维度。人眼看到的标题、正文、图片,都被head、body、TR、TD(表格的代码)等代码放在不同的DOM节点中,形成一个树形结构。算法以这些节点为维度,利用各种算法来比较不同文档的异同——k均值(硬聚类)算法、minimax(极小值算法)……再进一步,引入了图论领域中的模式树,还有更高级的基于树的算法。

下图是常见的HTML DOM展示,你不需要看懂,只要明白文章在机器眼里是什么样子就行。

(在机器眼里,各种印记才是最重要的,然后经过各种公式进行加工。图片来自爱范儿,公式来自酷秦网)

酷勤网_酷勤网_酷勤网

算法有很多种,我也说不准,全看质量。算法不知道新闻说了什么,只知道哪些新闻是同一类型的,哪些是热点话题(当然,热点话题是很多人点击的),机器可以通过“组合”算法来判断。更多内容可以参考南京大学新闻传播学院助理研究员、奥美数据科学实验室主任王成军的文章《如何计算“今日头条”:“网络爬虫+相似度矩阵”技术运作流程》。文章标签和关键词也发挥着作用。

算法的行为很有意思,它似乎在各种尝试回避对内容本身灵魂的理解,仅根据外在的形式特征来猜测内容的相关性。

读者没有关键词,没有标签,算法又如何抓住他们呢?数学家有办法,贝叶斯算法就是其中之一。

经典的贝叶斯问题出现在小学数学中(美剧《生活大爆炸》中也出现过):假设有两个口袋,A、B,口袋A中有7个红球、3个白球,口袋B中有1个红球、9个白球。现在从这两个口袋中随机抽取一个球,并且是红球,请问这个红球来自口袋A的概率是多少?

我们换一种更有新闻价值的表达方式:如果我们知道韩国每5年发射一次卫星,每次失败率为60%,朝鲜每2年发射一次卫星,每次失败率为40%。现在朝鲜半岛传来一声巨响,表示卫星发射失败。这枚火箭来自朝鲜的概率有多大?

根据贝叶斯公式【P(B|E) = P(B) × P(E|B) / P(E))】可以推导出这个概率,也就是反过来算概率。

(图片来自“机器之心”网站)

恰巧今日头条本身就提供了一个例子:

2015年10月,在中国传媒大学新媒体研究院与今日头条联合举办的“洞察数据的力量——电视媒体高峰论坛”上,一位名叫安娜的女士说道:

今日头条有一套独特的算法,即使你没有订阅今日头条,它也能计算出用户的年龄。系统会根据某一年龄段的人的行为、特征和兴趣建立一个模型,并用协同原理来判断读者是否符合这个模型。这时,机器会先预测你是否是该年龄段的用户,然后机器最终根据你的阅读行为来确定年龄段。

这种独特的算法可能是贝叶斯算法(当然可能不只一种算法,比如可能有专门用于挖掘不同数据集之间相关性的Apriori算法)。

我猜算法架构师会事先根据心理学、社会学统计学以及以往读者的点击数据,建立一个用概率来描述的性格特征模型。比如男性模型的一个特征就是,看新闻时点击军事新闻的概率是40%,女性模型则是4%。

一旦读者点击了军事新闻,算法就会开始推断其性别,再加上读者点击其他新闻的行为数据,算法就能精准判断其性别。通过结合IP地址(地理信息)、点击时间、评论参与度、点赞行为等清晰的信息,算法就能区分不同读者的倾向和兴趣。

这个道理并不难理解,但做起来却需要智慧和耐心。

然而,该算法并没有宣传的那么神奇,它存在很大的困境。

困境一:无法区分风格,也无法生成风格

算法团队很难形成自己的风格,今日头条、一点资讯、天天快报到底有多大区别?

风格是人,风格是灵魂。鸡蛋不同,但那不是风格,只是原始特征。风格是一种需要主动建构的气质,一种充满生命力的行动。

传统媒体都有自己的风格,没有风格的媒体不是死媒体就是僵尸媒体。

以下微博截图就体现了这种风格:

《纽约时报》和《赫芬顿邮报》有着相同的“美国梦”,但也有显著不同的气质。有自己笃信并追求的价值观,有追求新闻事实的冲动,在写作时把不安的心情化作无尽的控诉之歌,这就是风格。

风格就是原创、观点碰撞、议程设置、话语创新,算法还没有学会这些,因为设计算法的技术人员可能还不太理解这些。

这不仅仅是差异化竞争的问题,更重要的是产品本身的内在矛盾。今日头条不仅仅是一个平台,因为伪装不是徒劳的。新闻客户端的出现与算法机器的矛盾,是无法逃避的“原罪”。形式不是内容之外可有可无的东西,形式就是内容。今日头条注定不会像没有首页推荐的微信公众号平台一样,成为一个完全中立的、没有任何情感、没有任何立场的平台。人们认为,如果你是信息客户端,你就得做信息媒体的工作,哪怕这与算法的本质相冲突。但矛盾不是缺陷,矛盾是其自身进化的动力。

他们想要拥有风格。

起步较晚的一点资讯也在努力展现自己的风格,比如声称自己是兴趣搜索,与今日头条的算法推荐有所区别。吴晨光称一点资讯是“百度+今日头条”:

“正如一点资讯董事长刘爽所说,如果今日头条是造纸和印刷,那么一点资讯就是火药和指南针。这两款应用都以‘千人千面’作为核心竞争力,因为它们确实像造纸一样改变了传播方式。但一点比今日头条更进一步:所谓火药,就是通过搜索唤醒应用中沉睡的信息,通过搜索、订阅两步就可以定制任何你感兴趣的内容。至于指南针,我是这样理解的:因为一点在后台有非常精准的用户画像,所以它能把最符合你兴趣的内容分发给你。用我们内部的一句话来说:与重大事件产生共鸣,个性化要像蛔虫一样。”

可以看出,一点资讯作为后来者,要通过今日头条来定义自己,但同时又要与众不同,尤其是强调搜索。但从用户的直观体验来看,这种差异很难看出来。今日头条同样具备搜索功能,并记录读者的搜索行为。或许郑朝晖曾在雅虎工作过,在搜索方面有独到的经验。

至于“指南针”,只是一个更形象的比喻,所描述的“用户画像”可以猜测是一种类似贝叶斯算法的方法。

翻看拉勾网“一点资讯”的招聘,唯一一条算法师招聘广告要求:

“文本分类与语义理解、社交网络分析、网络搜索、推荐系统等领域的具体算法,了解自然语言处理、机器学习、网络搜索、推荐系统、用户数据分析与建模的基本概念和常用方法。”

应该说,所谓的“具体算法”大同小异,具体公式和策略五花八门,但那只是鸡蛋里挑一的差别,最多就是比拼谁的算法最先进,能分出风格的,还是运营者的思路、媒体情怀和对舆情场域的洞察。同样的算法,开发出来也要看悟性和灵性。站在用户的角度,Google和百度最直观的区别,还是思路和情怀的不同。

相比之下,吴晨光强调一点资讯在提高自媒体的门槛,这个筛选是由媒体专业的团队来做的,我觉得这个是比较重要的。

“过去两个月,一点资讯封禁了7000多个账号。古董、健康、金融等都是重灾区。我们的竞争对手都在放宽准入条件,但我们恰恰相反——我们标准很高,实行严格的分级制度。从一级到六级,级别越高,内容质量越好,曝光率也就越高。”

这就是利用人类智能为算法提供有价值的参数。

今日头条大力吸纳媒体人才,加大对自媒体平台的投入,这是其有意识地抢占市场、获取内容版权,也是其无意识地让自己变得更加生动。

但算法还不能理解这种风格化的努力。

困境二:让读者陷入信息茧房,陷入自我

我尝试用社会心理学的语言来描述算法霸权造成的信息茧房问题。

算法和读者都陷入了自我的漩涡,自我的欲望让你去点击一则令人震惊的社会新闻,但自我不是人性,自我的反省和超越才是人性,社会新闻的反复涌入会让读者感到厌烦,这个被质疑的问题似乎至今还没有得到彻底的解释和改善。

我核实过员工对这个问题的看法,他们会告诉你,如果你不喜欢这样的信息,就用手指划掉,系统就会减少这类信息的推送。我在虎嗅上也看到过类似的回答,如下图:

算法只计算相同点和不同点的关系,机械地问你想要不想要,而不计算亲属关系、主从关系等复杂关系。就像一个不擅长恋爱的直男,听到对方说不,并不明白对方真正的意思。

我同意虎嗅这位读者的观点:

算法能否采取更好的策略,不仅取决于数学思维本身,还取决于算法对人性的理解。非线性思维可以贴近人性——即便是普通人,也会渴望有一只手托起自己的头。如果用户多点击几次恐怖社会新闻,算法可以继续推送类似的信息,但必须表现出一种“我猜你其实是个有高尚品味的人”的态度——可以在恐怖新闻信息流中突然插入一条洗眼球的信息,可以是正能量,可以是反面,也可以是新闻分析。既然瀑布流中可以插入广告,那为什么不能插入和用户点击兴趣相反的文章呢?

我不太懂具体的算法设计问题,也许需要更复杂的集合算法。每一条信息都有自己对应的镜像,就像超我对应自我,就像绝地武士对应西斯武士。不甘做机器保姆的编辑们可以参与到这样的集合创作中来,在完善自己的同时完善机器的灵魂,共同进化。彼此都是对方的启蒙者,而不是被动的仆从。或许会有偏差和博弈,但魅力就在这里。在《失控》看来,人与机器之间必须有一定的对抗,才能共同进化。或许算法在等待读者自己走出沉沦,但对抗需要算法更灵活,更主动,主动试探读者是否想逆风而行。

用信息来考验读者,就是把读者当成已完成的人格。人性是一个永远在路上的未完成之物。人性和人类的创造需要相互启发,螺旋上升。分类聚合算法只把自己当成不参与事件的观察者,就像科学实验中以为自己不参与事件的观察者一样。但这是不可能的。算法早已参与了人性的建构,但它采取了一种被动的方式——人被分成了群体,每个人都沉浸在自己的兴趣中。结果就是读者的两极分化,读者之间从不互动,直到死去,就像《黑客帝国》中人的茧一样。随着人茧的减弱,系统的活性也在下降。

极化的人和极化的信息一样,缺乏主动性,搜索引擎在去极化方面没有那么主动,人搜索的时候比较主动,希望一点资讯能在利用搜索引擎聚集读者的主动性、激发算法方面有所建树。

我们可以通过解释贝叶斯算法本身的问题来解释这种危险:

研究员John Horgan在《科学美国人》上发表了一篇题为《被追捧又被扭曲的贝叶斯理论到底有什么大不了?》(中文翻译由《机器之心》网站提供)的文章,描述了贝叶斯算法本身的一个矛盾(具体论证过程此处省略,请参考上述文章链接):

“贝叶斯理论没有什么神奇之处。归根结底,你的信念只与它的证据一样好。如果你有好的证据,贝叶斯理论就会奏效。如果你的证据薄弱,贝叶斯理论就行不通。输入的是垃圾,输出的也是垃圾。”

对于贝叶斯算法来说,初始概率非常重要。比如上文提到的概率判断“40%的成年男性喜欢看军事新闻”,就是初始概率。它可以通过社会统计得到一个更贴近现实的数字,一般也更符合常识。但对于很多事情,比如“上帝存在”,初始概率很难说,有人会设为100%,有人会设为零。所以最终结果只反映给出初始条件的人的主观意愿。即便“40%的成年男性喜欢看军事新闻”,也表达了现有的社会状况。最终的信息推荐结果反过来又强化了这个初始概率——喜欢看军事新闻的人,就会看到更多的军事新闻。相信性别是出生后建构起来的女权主义者,大概会讨厌这种刻板的状况。

所以现在的算法还不是很照顾人类的各种需求,未来应该让不同兴趣、不同人群都能满足。

本文为节选,请复制短链接查看详情:

最新新闻、创意和案例尽在广告头条

热点资讯