十分钟理解广告系统

什么是广告系统

广告是以“把合适的内容推送给合适的受众”为目的的商业交易过程,它同时为三种人群服务:第一种是广告主,即出钱购买广告的人,需要通过广告获取顾客;第二种是媒体,即提供投放平台以换取广告费收入的人,他们需要广告费实现流量变现;第三种是消费者,即在媒体上观看广告的人,他们希望能低成本地享受媒体给他带来的服务,接受在不反感的前提下获取广告,如果碰到刚好符合他们需求同时也高质量的广告,他们还乐意产生消费。

说到“把合适的内容推送给合适的受众”,你可能很容易联想到个性化推荐,那是不是一定具备个性化推荐技术才能构造广告系统呢?其实也不一定,比如一些垂直类的媒体本身就可以代表其用户属性,比如,你可以通过标签匹配,把奶粉广告投放到妈妈社区,考试辅导班广告投放到学生论坛,也能达到一个不错的效果。不过如今随着推荐系统门槛的降低,个性化推荐已成了广告系统的主流手段。

广告系统的组成

我们现在想想一个广告系统所需要的最基础的组成部分,首先需要能够投放广告与展现广告:

广告物料库(Ad Inventory):广告主根据系统要求提供的广告素材,比如图片和文案等,通过广告主后台进行投放

广告投放系统(Ad Serving System):接受前端广告位的请求,计算出最适合的广告并返回给前端


但是,广告肯定不能免费投放的,因此,广告系统需要跟广告主进行费用统计和收费。在线广告的收费方式通常有以下几种:

CPM(Cost Per Mille):按千次展示收费,广告被浏览1000人次产生一笔费用。

CPC(Cost Per Click):按点击收费,广告被用户点击一次产生一笔费用。

CPA(Cost Per Action):按用户行为收费,比如用户点击广告之后进行了一次应用下载/网站注册后产生一笔费用

CPS(Cost Per Sale):按销售额收费,对广告引导的商品销售额进行一定比例的提成。

加上收费功能后,广告系统就应该增加以下部分:

广告计费系统:根据广告位投放情况的反馈以及收费类型,进行计费统计,若当天产生的费用已经达到广告主设定的预算,则需要通知投放系统进行广告下线,这样既避免广告主预算超标,也避免流量被浪费。

广告结算系统:根据计费系统产生的数据进行费用账单,并由广告主进行缴费。


广告系统的技术要求

投放系统:响应时间

一个典型的广告投放系统主要由三个部分组成:索引、CTR模块、投放服务。其中投放服务处理前端传过来的请求,把请求转化为查询条件到索引中进行检索,再把检索结果通过CTR模块进行排序(Ranking),最后数据最终结果并记录投放日志。其中,CTR模块根据实时计算的eCPM对广告检索结果进行从大到小的排序。

关于eCPM:全称expected cost per mile,意思是每进行一千次投放的预期收入。具体计算方法为eCPM = CTR(点击率) * bid(出价),CTR可以理解为用户点击该广告的概率,因此CTR与bid相乘就是这一次投放的预期收入,广告业务希望收入最大化,因此CTR的计算就是核心中的核心。

对任何To C的服务来说,响应时间都是最重要的技术指标,对于一个广告投放系统尤为如此。因为媒体数量会不断增长,因此广告投放系统是具有高并发、低延迟的特点。常规的分布式Web系统架构都可以应用在上面,另外通常还会使用提高检索效率的Lucene相关组件(如Solr或ElasticSearch等)作为索引部分。

计费系统:数据实时

计费系统的构成不会特别复杂,它是前端广告位与投放系统之间的桥梁,核心任务是保证广告投放在预算范围之内,尽可能地避免发生超投——即广告投放的次数与相应费用超出广告主预设的范围。

为了保证这一点,我们要求计费系统应重点保证数据的实时性,具体环节包括广告位展示信息的埋点数据收集、处理与费用计算等。从用户查看或点击一次广告到进行广告下线反馈,这一过程应保持分钟级以内的延迟。由于广告位曝光或用户点击行为的数据量相当庞大,目前流行的方案是使用Kafka提供日志消息分发。

聪明的你可能会发现,对于CPC广告来说,即使计费系统及时发出下线反馈,但那些已经投放出去、尚未产生点击的广告仍然会可能产生超投。因此超投只能控制在一定范围之内,并不能完全杜绝。广告系统到达一定规模、超投率超出可以接受的范围之后,计费系统应具备预测消耗的能力,即每进行一次投放,计费系统预测出可能产生的费用,并提前进行费用计算、对预测预算将被耗尽的广告计划在点击尚未发生之前就先进行下线操作(笔者曾经翻译过一篇文章,介绍Pinterest广告团队如何构建消耗预测系统,感兴趣的话可查看这里)。另外,对预算将近的广告计划,投放系统也应该降低投放频率,使预算极可能平滑地达到上限。

结算系统:数据准确

结算系统与计费系统虽然都提供了费用计算的功能,但侧重点不同。结算系统提供的是广告平台与广告主之间费用结算服务,关注的是数据准确度;而计费系统则重点关注的是计费实时性,其根本目标是保证流量的有效利用。

结算系统一般会以离线数据为基础进行计算,首先,这样可以以较少的成本保证数据完整性,因为如果像计费系统那样一来实时流计算,就不可避免地要面临服务可用性问题。如上文所说,假如流计算服务宕机,对计费系统来说最多也就是造成流量的浪费,但对结算系统来说,则意味着广告平台利益的无辜损失。其次,广告结算系统通常会引入“反作弊”的功能(比如一个用户短时间内多次点击,只收取一次点击的费用),基于离线数据,便于引入更先进(可能也意味着耗时更高,这与计费系统的要求相悖)的反作弊算法,以保障广告主的权益。

总结

* 广告系统的目标是“把合适的内容推送给合适的受众”

* 广告系统的核心部分由投放、计费、结算三个子系统组成

* 投放、计费、计算系统各自的技术关注点不同:投放系统关注请求响应时间,计费系统关注数据实时性,结算系统关注数据准确性

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容

  • 从事移动广告商业变现多年,总是觉得产品与商务的同事是一对“欢喜冤家”。站在开发者的角度,关注用户体验最优是无可厚非...
    游社长阅读 8,633评论 2 78
  • 对于这次辞职,百分之九十九的人表示了不理解,而且是非常非常非常的无法理解。 从领导、到同事、到朋友,百分之九十八的...
    木木爱写字阅读 210评论 0 0
  • 有时候,真的很想去苦笑自己,并不是让一场雨打湿自己,就可以不去看,不去想,不去哭。因为,事情还没有解决啊。 有时候...
    Anya001阅读 182评论 0 1
  • 1.在家门口的红薯~ 2.开始拆书,感觉很赞~ 3.运动使我快乐~
    映月黑珍珠阅读 97评论 0 1
  • 一、赞美式 这是昨晚加的新粉,通过聊天,电话沟通后,得知对方是一位医生,并了解了我们的眼贴,接下来需要做好后续跟踪...
    韦冠吾阅读 309评论 0 0