机器能预判您会点击广告:为大众撰写的 CTR 预估知识普及

广告堪称一个繁杂的体系,其中蕴含着诸多精妙且饶有趣味的逻辑。

当我们浏览微信和微博时,有时会为广告的精准度而惊叹——“这正是我想要的!”,有时又会觉得广告离谱至极——“我怎么可能点击呢?”,在这一切的背后,广告的工程师们已然竭尽全力——

即便在我们眼中不够精准,但在所有定向给您的广告当中,他们已然挑出了机器判定您最有可能点击的广告,而这背后所倚仗的正是 CTR 预估技术。

CTR 预估属于

竞价广告

的核心逻辑之一,不少人觉得 CTR 预估高深莫测,根本弄不清其中的逻辑。诚然,CTR 预估作为一个纯粹的技术模块,要进行简单的科普绝非易事。

致力于以简洁话语阐释复杂问题的卫夕,今日尝试用通俗易懂的语言来解读 CTR 预估的前因后果,请放心,本文不会涉及任何晦涩难懂的公式和技术逻辑,只要能看懂中文,都能明白其中的道理。

一、CTR 在竞价广告系统中发挥何种作用?

CTR(Click-Through-Rate)即点击率,它是互联网广告中最为基础的概念,首先我们来瞧瞧点击率对于一个竞价广告系统来说意味着什么?

我们先来做一道简易的题目——阿迪和耐克作为广告主参与竞价,阿迪出价 2 元一个点击,耐克出价 1 元一个点击,假设微信广告平台有 100 次曝光,应当给谁?阿迪还是耐克?有人说,肯定给阿迪呀,它出价高。

这个答案是错误的,如果阿迪的点击率为 1%,耐克的点击率为 5%,那么给阿迪能产生 1 个点击,每个点击 1 元,微信能赚 2 元;给耐克则能产生 5 个点击,每个点击 1 元,微信能赚 5 元,广告平台可不傻,自然要给耐克!

好,从这个简单的案例中,我们能够看出以下几点:

  • 广告平台关注自身的流量价值——即自身的流量曝光出售的价格是高还是低,通常用 ECPM(earning cost per mille)这个指标来衡量,也就是每 1000 次曝光所带来的收入。
  • 广告主一般按照点击进行扣费,即广告主通常关心结果,出价原则取决于获取一个点击所需的花费。
  • 广告平台需要将点击出价转化为 ECPM 来进行扣费和排序。
  • CTR 搭建起了从点击到曝光的一座桥梁,为排序提供了基础。
  • 总结起来就是一个简单的公式——ECPM=1000*CTR*点击出价,在上述这个案例中阿迪的 ECPM=1000*10%*2=20,而耐克的 ECPM=1000*5%*1=50,显然耐克的 ECPM 高于阿迪,所以耐克会在此次竞价中获胜。

    从这个案例中我们能够发现 CTR 是用于广告排序的,而排序本身就是竞价广告的核心,因此 CTR 预估也是竞价广告的核心技术之一。

    不仅广告系统需要 CTR 预估来进行排序,推荐系统也需要 CTR 预估来排序,所以 CTR 预估的应用实际上比我们想象的更为广泛:

    YouTube、亚马逊、今日头条等等涉及个性化推荐的系统都会运用到 CTR 预估,即它们要把您最有可能点击的内容推荐给您。

    而广告系统的 CTR 预估在具体的数值上比推荐系统的要求更高,比如推荐系统可能只需要知道 A 的 CTR 比 B 大就能进行排序了,而广告由于并非直接使用 CTR 进行排序,还加上了出价,所以广告系统不但要知道 A 的 CTR 比 B 大,而且还得清楚 A 的 CTR 比 B 的 CTR 大多少。

    二、为何要进行 CTR 预估?

    至此大家已经知晓 CTR 的重要性了,即 CTR 是广告排序的前提,它连接了点击和曝光,这时大家可能会产生一个新的疑问:那 CTR 为何要进行预估呢?投放一些不就能知晓它的 CTR 了吗?

    “投放一些不就能知晓它的 CTR 了吗?”这句话大致没错,但事情远非如此简单,我举个例子您就明白了。

    假设广告平台有四个广告主投放广告,这个广告平台共有 4000 个用户,这四个广告主分别是卖布娃娃的、卖游戏机的、卖西装的和卖高跟鞋的,出价均为 1 元一个点击。

    此时我们不清楚 CTR 的情况下,应当如何处理,于是我们进行了试投,每个广告投放了 100 个曝光,最终发现它们的 CTR 均为 25%,出价相同、CTR 也相同。

    依照我们上面的公式,ECPM 就相同,而我们按照 ECPM 来排序,所以我们就无法排序——每个人的 ECPM 都一样,因此最终就只能在广告平台上随机展示这四个广告了。

    ECPM=1000*CTR*点击出价

    但我们回顾一下实际情况,这个 25%的点击率是如何产生的就能明白总体 CTR 是不可靠的,真相是平台共有 4000 个用户,他们均匀地分为四组:

    分别是 1000 位成熟男人;1000 位成熟女人、1000 位少女、1000 位少男,这四个人群只点击他们喜爱的东西,比如成熟男人只点击西装,他们对自己喜欢的东西的点击率为 100%,对自己不喜欢的点击率为 0%,当我们随机投放时,每个人的点击率都是 25%。

    好,现在您看到了,直接采用试投的点击率进行预估所导致的结果就是用群体数据代表了个体差异,即当一位成熟男人请求广告时,我们会认为投放给他一个布娃娃和投放给他一套西装没有任何差别。

    因为在试投阶段布娃娃和西装的整体点击率都是 25%,尽管实际上它们的点击率有着天壤之别,一个是 100%、另一个是 0%。

    因此,当我们通过特征差异能够正确地个性化预估 CRT 时,我们才能正确地排序,当一位成熟男人请求广告时,西装这个广告主就会在竞价中胜出,因为我们知道它的 CTR 为 100%,远高于布娃娃、高跟鞋、游戏机的 0%。

    所以从这个案例中我们能够明白,不能直接笼统地看待试投的点击率,而应当有针对性地针对个体单独预估,试投这个阶段依然存在,但我们会通过某个模型利用交叉特征来查看每一个个体的点击率,这样当下一个拥有该特征的人群来访问时,我们就能相对更准确地进行预估了。

    同时,我们也从上述案例中发现,正确预估提升了 CTR,从原来的 25%提升到了 100%,同样广告平台的收入也会增加,这就是 CTR 预估的意义所在。

    三、CTR 预估是怎样进行的?

    通过这个案例我们可以看到,至少有三个特征决定了一个广告的点击率——广告主所属行业、用户的年龄、用户的性别,实际上,在实际的广告系统中,有无数的因素决定着广告的点击率,我们将这些因素主要分为 3 类——

    • 首先是广告主方面,比如广告创意、广告的表现形式、广告主所属行业等,一个劳斯莱斯的广告和一个可口可乐的广告点击率必然有着巨大的差异。
    • 其次是用户方面,比如人群属性,上述案例中是年龄和性别,实际上,决定创意的人群属性因素非常多——年龄、性别、地域、手机型号、WiFi 环境、兴趣……
    • 第三是广告平台方面,比如不同的广告位、投放时间、流量分配机制、频次控制策略等。

    这些决定因素在 CTR 预估中被称作特征,而 CTR 预估的第一步就是“特征工程”,也就是把这些特征找到并进行数据化。

    特征工程是一项繁杂的工程,仅仅判断不同特征能否对 CTR 产生影响就是一项浩大的工作,特征工程的工程师们第一步得列出不同的特征可能对 CTR 产生影响的情况,这有时依靠直觉,有时依靠经验,

    确定了特征之后就需要对这些特征进行处理——即将特征数据化,比如将所有的特征转换为 0 和 1 的二值化,将连续的特征离散化,将特征的值平滑化、将多个特征向量化……

    以上这一段不明白?不明白没关系,您只需要知道,所有的这些特征都会被工程师们编码成一串可计算的数组就行,特征工程是一项重要的基础工作,像今日头条、百度这样的广告平台都有一个庞大的团队从事特征工程的工作。

    好,特征工程完成之后就开始建立模型了,很多同学一看到“模型”二字就开始犯愁了,没关系,您可以这样理解模型:模型就是一个黑盒子,在盒子的一端我们输入大量的参数,盒子的另一端就会输出一个 CTR 的值。

    比如我们输入这样的参数:一个高跟鞋广告主、投放给北京地区、年龄 20 – 30 岁、对财经感兴趣的女性用户,在周末投放在微信的朋友圈第三位……请给出一个 CTR 的值。模型就会根据不同特征的值计算出一个值。

    至于它是如何计算的,对于非技术同学来说理解起来难度会非常大,我们可以简单地理解为 CTR 是无数特征的一个函数,CTR=f(x1,x2,x3,x4,x5……),而模型就是选择什么样的函数来进行预测。

    我举个大家最容易理解的线性函数:CTR=ax1+bx2+cX3+dx4+ex5……(这只是一个假设,实际上模型要比这个复杂许多倍)。

    每一个函数都有相应的参数( 比如刚刚案例中的 a、 b、c、d),而这些参数是如何确定的呢,就需要通过历史数据进行训练,也就是把已经知晓的一些数据输入这个模型,模型根据这些数据不断地调整参数,输入的数据越多调教得就越准确,最终预测的效果也就越好。

    在所有的这些特征中,有些特征的影响因子会大一些,有些则会小一些,比如在搜索广告中,搜索关键词和广告关键词的匹配程度就是一个影响极大的因子、历史 CTR 也是一个影响极大的因子,其他因子会有不同程度的影响。

    工程师们每天的工作就是尝试新特征、尝试新模型、训练不同的模型参数,以使得 CTR 预估更加准确,谷歌、Facebook、阿里、百度这些公司的工程师已经在这些领域发表了众多顶级论文。

    四、如何评估 CTR 预估的效果?

    好,接下来的一个问题,如何评估 CTR 预估的效果?工程师们会有特定的指标来衡量效果,对于非技术同学,有人可能会直观地说,那当然是看 CTR 有没有提高啊:

    正确预估 CTR 不就是为了挑选出真正高 CTR 的广告并展示出来么,错误地预估——把高的 CTR 低估或者把低的 CTR 高估都会导致高的 CTR 无法排在最前面,从而降低 CTR。

    这种说法在推荐系统中是成立的,但在广告系统中是不准确的,因为广告的排序不仅仅取决于 CTR 排序,它还综合了出价进行排序,也就是 ECPM 排序,有时 CTR 预估准确,反而(实际)CTR 会降低,我们来看一个实际的例子:

    这一堆数字大家或许看不懂,我们只需要明白以下几个逻辑就能看懂了:

  • 广告通过预估 ECPM 的大小来判定谁获胜,而预估 ECPM 等于预估 CTR*出价,在这个案例中,图一 CTR 预测正确,阿迪的预测 CTR 为 30 高于耐克的 20 所以获胜。
  • 广告实际 ECPM 是获胜者的 ECPM,因为广告平台把所有的曝光都给了获胜者,它等于获胜者的实际 CTR*出价。
  • 图二中把耐克的 CTR 从 2%错误地预估到了 4%,导致其预测 ECPM 较高从而获胜,而实际上投放出来的 CTR 为 2%。
  • 在这种情况下,预测正确反而 CTR 低,预测错误反而 CTR 高,不过没关系图一预估正确的情况下实际的 ECPM 为 30 高于图二预测错误的 ECPM 20。
  • 所以从这个案例中我们可以看出,从结果指标来看,ECPM 是衡量 CTR 预估最为重要的指标,当然,在实际的操作过程中,CTR 预测正确通常 ECPM、CTR、收入这些指标通常都会上升。

    另外一个非常简单的方法就是把预估 CTR 和真实 CRT 直接进行对比,由于预估 CTR 针对每一次广告展示都会进行预估,比如这一次预估 CTR 为 2%,但单次广告真实 CTR 只有两个结果,点击或不点击,即 100%、0%,所以看单次结果是没有意义的,我们应当从一个群体来看——

    将每一次广告曝光按照预测的 CTR 从小到大进行排序,然后按某个单位(比如每 10000 个曝光)分别统计平均预估 CTR 和实际 CTR,就能知晓预测 CTR 的准确程度了。

    以上就是关于竞价广告中 CTR 预估的入门级科普了,广告是一个复杂的系统,其中有着无数精妙、有趣的逻辑。

    THE END
    喜欢就支持一下吧
    点赞8 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容