3.计算广告的主要种类,以及部分模块的原理介绍-爱代码爱编程
前言
笔者是名半吊子算法工程师,毕业专业是物理类学科,标准半路出家。所以,基础薄弱,技术能力颇为捉急。到现在,从事推荐算法岗位也算有一段时日,勉强积攒了一些关于这一领域的浅显知识,不少还是谬误。因此,有空就来分享一下,共同交流,共同进步。错误之处,恳请大家不吝指出,感谢。
摘要
广告,这个现代社会无处不在的手法,极大的提高了传播效率,让我们迅速了解最新产品。当然,广告也是需要成本的,因此,在资本的利益驱动下,我们追求更高效率的广告。本文中,将会介绍几种主要的广告形式,并着重介绍其中效果广告的相关技术。
主要的几种广告形式
- 传统广告
- 品牌广告
- 效果广告
传统广告
这个是笔者自己杜撰的概念,主要是指在互联网时代之前的各种流行广告形式,例如,民国时代上海街头贴出的各类海报,电影院里面前置的广告,以及电视台的各类购物广告等等。这一类的广告,通常
- 运营方式比较粗糙
- 基于播出时间长度计费
- 时间段比较固定
- 曝光用户流量波动性大
- 转化效率难以精确量化
- 广告主和平台方意见常常不一致
这一类广告,曾经也是风靡一时的风景,但在现在,已经被大多数中小广告主所无视。其中有个重要的原因,就是目标人群常常受到当前播出节目的影响,导致不同节目后的流量是差异很大的,比如说,两部电视剧的接续情况下,由于热度不同,同一广告在电视剧的同一后续时刻里,转化数差异很大,却保持同一收费水平。这个问题的存在,常常会导致双方对原先定价的不满。并且,当今的社会人,娱乐的主要平台早已被手机、电脑所占据。考虑到运营成本问题,精打细算的广告商,自然把视线转向提供精细化运营的互联网平台。
品牌广告
品牌广告(Brand advertising),是以树立产品品牌形象,提高品牌的市场占有率为直接目的,突出传播品牌在消费者心目中确定的位置的一种方法。(来自度娘)
此类广告,其实和传统广告有很多重合,不过这里就只介绍互联网的品牌广告。它的特点:
- 根据曝光计费
- 需要平台方合理的预估、分配可用库存
- 广告主对曝光维度、曝光频次等参数进行约束,实现精细化运营
- 平台方需要构建精细的人群画像
这里解释一下具体的含义。基于曝光计费,是指广告主根据其广告对用户的曝光次数和之前确定的单价,付给平台方对应的费用。也就是说,用户每看到一次广告,广告主就出一次钱。毫无疑问,平台方需要先预测好未来的曝光总数(也称“库存总量”),然后基于预测值进行分配。否则,就会导致可用曝光量和合同曝光量出现较大差异,导致平台方进行赔款。
并且,由于精细化运营的需求,广告主会更加精打细算,提出对曝光维度、曝光频次等参数进行约束。例如,某奶茶广告就会提出要求,每天曝光5千万次,但必须曝光给来自于北上广深四大城市的、18~25岁、苹果手机用户,对于单个用户每天曝光不能超过3次。因此,平台方将需要基于这些维度,计算可用的对应的维度库存,以及建立频次统计。
上面的例子所要求的维度,是比较简单的,是可以直接线上获取到的。然而,有的广告主会要求更加的“精细”,比如说,研究生学历,喜爱浏览甜品、近期购买过蛋糕、晚上较为活跃的女性用户。这一类的标签,线上很难实时确定,但线下则是比较容易。因此,对于用户留存率较高的平台,可以线下构建好用户画像,选出合适的维度用户,线上存储其和对应的广告映射,从而可以线上对其进行精准曝光。
相应的技术(均为平台方):
- 库存预估。通常是先预估总量,然后基于分开预估的维度占比,计算分维度库存。总量的预估,对历史数据的依赖较大,通常是基于近几年的库存变化,得出整体的变化曲线(包括固定节假日的变动);然后基于近期的库存变化,进行回归算法预估,得出预估的库存总量,并基于历史的变化进行调整。这里顺便说一下,工作人员的人为预判,也是很重要的。比如说,即将上线一部电视剧,产品经理根据历史经验,判断即将是部热剧,人为要求调整到原先的1.2倍。维度占比的预估流程,和其近似,不过,这就基本不用考虑历史的整体曲线问题。因为维度的分布比例,通常来说,和历史的整体分布关系不大。
- 库存分配。这个是自动化售卖广告的核心,需要合理的更新各广告订单的优先级别,以及分配概率。基于剩余库存的占比(比如说,北上广深-库存还剩50%,但上海-白领-女只剩10%了),以及广告的定价,合理分配,并考虑合理的合并维度(有的维度太细,可以考虑合并在一起作为一块进行考虑)
- 用户画像构建。这个主要是用来作为高精细化推送广告。因此,对应的用户标签大多数也都是对应的精细化标签。考虑到数量级,通常的做法都是,线下自动化按天级别生成用户ID+各色用户标签+历史曝光数,然后构建对应索引加载入缓存数据库。广告主定制好标签后,即可生成对应的用户ID列表(也称“人群包”),类似的,基于该人群包,基于历史曝光数,预估该人群包未来的库存(“询量”),一样的进行库存分配、下单。(这一类广告也称**“DMP广告**”)
效果广告
顾名思义,只看效果。也就是指,广告主只根据可衡量的结果付费。这类广告,是互联网平台下诞生的新型广告形式。其中,最常见的就是CPC广告(Cost Per Click, 按点击收费)。
基于点击进行收费的机制,意味着随意的曝光是低效率的。不导致进一步点击行为的曝光,并不能从广告主那里收到钱。因此,平台方需要给用户展示出用户最有可能点击的广告,从而最大概率的获取收益。这种高效的广告形式,因而被大多数广告商所采纳。它的主要特点是:
- 根据点击进行收费
- 追求高效率转化,而不是尽快树立形象(因此与品牌广告目标不同)
- 竞价机制的存在,使得广告主可以尽快提升早期的展示概率
- 第二阶段(转化)的存在,使得广告主可以调整广告形式
- 合理的多路召回候选集
- 准确预估点击率,是其中的核心
这里解释一下。由于广告历史点击率本身的差异,某些广告的预估点击率本身会有很大的差别。比如说,教育类的广告,点击率自然是低于游戏类的广告,如果单纯按照点击率进行候选排序地话,毫无疑问被选出来进行展示的必然是游戏类的。这个自然不是平台希望看到的结果,因此,竞价机制的存在,有着重大意义。因此,排序的依据切换为“点击定价 * 预估点击率”(可以看作是期望收益),从而,广告主可以灵活调价,当没有什么点击的时候,提高价格,当点击数上来的时候,调低价格,实现利益均衡。类似的,当广告主要求优化转化成本时,可以调整其为CPA广告(Cost Per Action),排序的依据将切换为“下单定价 * 预估转化率”(也可看作是期望收益),和CPC广告合在一起进行排序。从中可以看出,准确的预估点击率(预估转化率过程类似,通过“预估点击率 * 预估点击到下单转化率”,或者直接预估“下单转化率”),是其中最重要的环节。
相关的技术:
- 候选广告集生成(也称“召回”)
- 广告报价系统
- 点击率、转化率的线上预估(基于模型)
- 用户行为数据(曝光、点击)清洗、落地
- 线下各类数据关联
- 粗排模型(较为简单的排序)
- 特征工程
- 基于算法线下训练预估模型
- 模型线上迭代
- 线下模型推送、线上模型分发
- AB test模块
由于笔者曾经的工作与其相关,所以了解的细化模块比较多。这里先解释一下线上的工作流程。当用户触发一个请求时,比如说,当其点击打开“最新新闻”按钮,会触发一个上下文广告请求。服务器接收到这个请求,调用召回模块,从所有广告里,选取出可用的若干广告;然后调用粗排模型,对上一步的选取广告候选集进行排序,选取出TOP N广告,同时从报价系统获取到实时报价(此步骤有时会包括在召回模块内);接着,调用预估模型,对TOP N广告进行点击率预估,并结合报价对**“收益期望**”进行排序(也称“精排”),选取TOP 1广告作为最终结果,和新闻一起被加载出来,展示给用户(如下图所示)。为了避免影响到用户体验,这一系列的总过程耗时需要控制在很短的时间数量级之内(可能是0.2秒以内)。
顺便补充一下,在工程上的经验里,我们有时候会发现使用TOP 2广告的效果会更好一些,原因可能是TOP 1的广告容易出现异常值。并且,考虑到大流量下访问超时的问题,使用“保底模型”作为默认排序的依据是很有必要的。
线上工作流的简化步骤主要就是这些,但是,线上使用的预估模型是怎么来的呢?这个则是来自于线下的模型训练(主体部分可以这么认为)。这部分的简化流程如下所示:
- 关联落地数据,生成包含“是否被点击”标签的训练数据
- 基于“是否被点击”标签进行监督式学习,获取模型
- 检验模型的离线指标,无误后复制到各台服务器
- 各台服务器加载模型,替换掉原先模型
以上就是粗略的流程。考虑到篇幅,这边准备在下一篇博文里较详细的讲述效果广告的具体环节。
后续章节
下一章节,将会对效果广告的具体环节进行说明,并结合具体算法,对迭代公式进行推导。
PS: 相关图片为网上搜集,若有侵权,通知删除。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_31319099/article/details/112968132