来自微信公众号“人人都是优化师” (ID:growing360)
大家好,这篇文章我们讲一讲Facebook和Google的广告算法原理。
Facebook和Google的广告系统,投放人员都在用,但是很遗憾。。。99.9%的人不知道背后的原理。网上翻看了一些资料,发现对于广告平台背后的原理介绍甚少,那么接下来就根据找到的资料进行整理,让大家明白背后的逻辑究竟是什么?大家了解了原理,也就明白广告投放到底是不是玄学?
竞价系统
Google的广告竞拍采取广义第二价格(Generalized Second Price,简称GSP)。
Facebook采取的是GSP与VCG(Vickrey-Clarke-Groves)的混合体。
什么是广义第二价格(Generalized Second Price,简称GSP)系统?
基本原理就是按照下一位的出价来实际扣费,为了鼓励广告主提高素材、广告点击率,实际计费的公式变成了
收费=下一位价格(下一位质量分/本位质量分)+0.01。
举例:
此时:
A的实际出价为4+0.01=4.01
B的实际出价为2+0.01=2.01
C竞价失败
简单来说它即是支付数=点击次数*下位出价,即第i个广告位的广告每次点击所付的费用,等于第i+1个广告位的广告出价加上一个很小的值(一般是0.01),出价最高的广告主只需要付出价次高的价格再加一个零头$0.01,广告主要付的费用是由下一名的出价决定的。
如上例子,广告主A 对广告最多出价$10,而广告主B最多出价$4。那么在GSP拍卖中,A需要付$4 + $0.01(0.01是最小的差值),现在我们假设A和B更有出价的技巧。
假设一:如果A出价$7(少于A认为这个广告本身的价值),B出价$8(多于B认为这个广告的价值),那么B会以$7.01的价格得到第一个广告位,虽然抢到了广告位,但是这个价格比B最高出价多$3.01。
假设二:如果A出价$3.5,B出价$3,那么A会以$3.01得到第一个广告位,但如果B出价$3.6,他会以$3.51的价格得到第一个广告位,这样就可以节省$0.49。
但是这样会出现恶意竞价的可能,广告主们推测竞争者的出价还是可以做到的。比如,A的真实出价是$10,B出不起这么高的价格,它认为广告位就值$4,它想我出$4,那A只用每次付费$4.01了,既然得不到这个广告位,我也不能便宜A了,我出$9.99好了,最终大家都不讨好。
为了解决上面的问题,比如Google在系统里加入了质量得分的因素,解决了这个问题。质量得分里最关键的是CTR,显然,不应该在竞价排名时,只考虑价格,而应该综合竞价和点击率。影响质量得分的还有:点击率,广告的相关性,广告帐户历史等等。
GSP是一种稳定的竞价方式,可操作性很强,现阶段几乎所有的互联网广告平台都使用这一种竞价方式。
GSP的不足是,竞价的结果不一定是全局最优化的。于是,VCG竞价算法出现了。
什么是VCG(Vickrey-Clarke-Groves)竞价系统?
基本原理就是广告主为参加拍卖过程中给别的广告主带来的损失之和来买单定价。
举例:
1)A不参加竞价,B和C的总费用为200*4+ 100*2 = 1000元
2)A参加竞价,B和C的总费用为100*4 + 0*2 = 400元
3)由于A参加了竞价,导致B和C损失了1000- 400 = 600元
4)于是,A需要为每一次点击支付600 / 200 = 3元
Pacing系统
Pacing是广告系统中花费预算的节奏的一个算法。
Google Adwords设定好预算和最高出价,Adwords就可以自动通过出价调节,让你在这个限定的预算下获取最多的点击,都是通过调节出价,让广告主获得最大的ROI。
Facebook广告的pacing系统更注重长期和总体价值的创造,在竞争较为激烈的环境下,起量较慢。Facebook 平台内每天有很多广告投放机会,其中某些投放机会的花费相对更高。因此,在广告组的整个投放期间,费用并非一成不变。排期机制考虑到了这样的变化,通过掌控预算使用速率,寻找最佳的机会以最低的价格向用户展示广告,来提高广告主的价值。默认情况下,Facebook 会在一天内向目标受众均匀地展示你的广告。
下面我们通过一个例子解释一下这个算法:
例子背景:
某广告主现在在推广一款产品,每天预算$10,以CPC计费,我们预先假定每次广告点击能产生$5的收益。
下面我们将通过3种不同情况的竞价情景,解释为什么pacing能为广告主提供最大的价值。
案例一:没有Pacing算法的时候
图上蓝色的点代表广告获得展示的机会,黄色的圈代表广告赢得展示,红线代表出价的价格。
可以看出这种情况下广告预算在一开始就被消耗干净,前期竞争激烈,后期无竞争,形成一定的资源浪费。
广告总花费= $10
广告总点击价值 = 6 *$5 = $30
每点击价值 =$5
预算 = $10
广告总收益 = $30 – $10 = $20
案例二:出价过低
这种情况下,追求最低的点击价格,但是广告主的预算最后没有能用完,最终的广告效果也最差。
广告总花费 = $4
广告总点击价值 =4* $5 = $20
每点击价值 = $5
预算= $10
广告总收益 = $20 – $4 = $16
案例三:Pacing算法下的均衡状态
这时候,广告客户获得了最大的点击数,获取到了最大收益,同时也用完了每日预算。
广告总花费 = $10
广告总点击价值 =7* $5 = $35
每点击价值 = $5
预算 = $10
广告总收益 = $35 – $10 = $25
从上面例子中,当我们在整段时间内使用稳定的出价(Pacing),广告主的价值相比没有Pacing或者出价过高过低,得到了最大化。为了实现目标,Pacing期望通过学习其他的有同样目标用户的竞争广告,提出一个优化的竞价。
Pacing 是广告系统中调节花费预算节奏的一个算法,一个类比就是竞跑的运动员:过早冲刺意味着在终点前就没劲了,但过晚冲刺也许你就没完成这次比赛。Pacing 保证对所有的广告主在竞争前提下自动分配不同的广告预算。
Pacing 在给定预算下最大化广告主的利润。它让广告主更加真实,保证了可预测的投放。这种稳定投放让每日的价格稳定并帮助广告主公平获取他们目标用户的门槛。
自动出价系统
Google Adwords系统中,同一广告主可以选择多条广告平均展示。
Facebook广告中,如果同一账户下有多个广告指向同一个目标,那么系统会选择一个(半随机)进行出价,屏蔽未被选中的广告的出价。
以上介绍只是让大家对两个广告平台的有一个简单的了解,很难说Facebook的广告系统比Google的更先进。事实上,两者在各自的领域都是最先进的系统。在大多数模块上,Facebook和Google的实现其实是惊人相似的,差异更多是来自于产品本身的不同。列举这些也是让大家知道我们平时在用的系统是如何运行的,知其然,亦知其所以然,有助于我们进行广告投放。
相关阅读:
投稿邮箱:[email protected]
商务合作:Amber(微信:lcxk6876767)
其他合作:老林(微信:sea_bug)