一、名词解释
广告主
有广告需求的客户公司,也称为需求方
媒体
可以是网站或者app
,即有多余的广告位可以出售,也称为供给方
RTB:(Real Time Bidding
,实时竞价)
综合利用算法、大数据技术在网站或移动应用上对在线的流量实时评估价值,然后出价的竞价技术
DSP(需求方平台)
为各广告主或者代理商提供实时竞价投放平台,可以在该平台上管理广告活动及其投放策略,并且通过技术和算法优化投放效果,从中获得收益
SSP(供应方平台)
为各媒体提供一致、集成的广告位库存管理环境
DMP(数据管理平台)
整合各方数据并提供数据分析,数据管理、数据调用等,用来指导广告主进行广告优化和投放决策
ADX(Ad Exchange,广告交易平台)
同时接入了大量的DSP
和SSP
,给双方提供一个“交易场所”,将SSP
方的广告展示需求以拍卖的方式卖给DSP
方。可以类比于股票交易中的证券大厅角色
CTR(点击率)
广告点击与广告展现的比例,这是广告主、各大DSP
厂商都非常重视的一个数字,从技术角度看,这一数字可以影响到广告的排序、出价等环节,从业务来看,这是运营人员的考核指标之一
- CTR=点击量/展现量 *100%
CVR(转化率)
转化(主要由广告主定义,可以是一次下单或是一次下载app
等)次数与到达次数的比例
- CVR= 转化量/点击量 *100%
eCPM(千次展示期望收入)
点击率 * 点击价值,这个数字在计算广告中是核心指标,涉及到对召回广告的排序策略,以及最终出价策略
CPM(Cost per mile)
每千次展现收费,最常见的广告模式,即不考虑点击次数、转化次数,只要广告在网站上被展现给一千个人看到就收费,是大型网站变现的最有效的方式。对广告主来说,适合于注重推广品牌的广告,力求最快最广的触及大众
- CPM=广告费/展现量 *1000
CPC(Cost per click)
每次点击收费,无论广告被展现了多少次,只要没有产生点击就不收费。对于广告主来说选择 CPC
模式可以有助于提升点击量、发现潜在用户,进而可以真正做到精准营销;对于广大DSP
厂商来说,这种收费模式也是获取利润的最有效来源之一
- CPC=广告费/点击量
CPA(Cost per action)
每次动作收费,此处的动作一般定义为转化,可以是注册、咨询、交易、下载、留言等等,按照转化的数量来收费。对于广告主来说,这是性价比较高的一种收费方式,但是对于DPS和媒体方来说,想要把这种收费做好,却是有相当的难度。因此,目前也只有大厂或者技术实力深厚的DSP
厂商才有能力接这种单子
- CPA=广告费/转化量
LTV(Life Time Value)
客户终生价值。是公司从用户所有的互动中所得到的全部经济收益的总和
- LTV的计算涉及到顾客保持率、顾客消费率、变动成本、获得成本、贴现率等信息的正确取得。
- 顾客保留率(retention rate,RR)= 本年度的顾客总数 / 上年度的顾客总数;
- 顾客消费率(spending rate,SR)= 顾客总消费额 / 顾客总数;
- 变动成本(variable cost,VC)= 产品成本 + 服务管理费用 + 信用卡成本等;
- 获得成本(acquisition cost,AC)= 本年度广告、促销费用 / 本年度顾客总数;
- 净利润(gross profit,GP)= 总收入 – 总成本;
- 贴现率(discount rate,DR)= [1 +(风险系数*银行利率)]n ;
- 利润净现值(net present value profit,NPV)= GP / DR ;
- 累积NPV = 特定时间内每年NPV 的总和;
- 顾客终身价值(LTV)= 累积NPV / 顾客总数
采购交易平台(Trading desk)
程序化独立媒体交易平台,功能类似于 DSP,通过对接多个 DSP来进行广告的优化投放,它能够将各类购买方式统一管理和预算分配,对品牌广告的有效管理甄别垃圾媒体。
程序化创意平台(programmatic creative)
动态实时创意优化平台,它帮助广告主评估和优化广告创意,能更好的在提升在实时竞价广告投放中的效果。
广告验证(ad verification)
安全有效的购买广告的手段,被许多广告代理视作广告策略中必不可少的一个组成部分。
二、竞价流程
流程
- 用户通过浏览器访问网站
- 浏览器发送广告请求给网站服务器,即媒体
- 媒体将该曝光展示通过SSP发送给Adx
- Adx组织一次竞价,将本次的竞价请求通知给与之对接的所有DSP方,并传输用户ID、用户IP以及广告位信息等等
- 各家DSP监听服务收到Adx发来的竞价请求后,根据发送来的当前用户的信息、上下文信息、代理的广告主信息对照投放需求,并与自家的DMP数据管理平台或用户数据库来评估该请求,并通过DSP的竞价引擎判断是否参与竞价,若参与则给出竞标价格
- Adx收到所有出价响应或截止时间后(通常规定是100ms)根据出价排序,通知出价最高的DSP胜出,同时将胜者的竞价信息告知SSP
- 胜者DSP会收到Adx发送的竞价消息(WinNotice),表示该次展现已经竞价成功。DSP此时将广告物料传送至SSP,SSP 发送广告曝光请求给广告服务器
- 广告服务器将广告投送到用户浏览的页面
注意事项
有两点需要说明:
- 以上流程需在100毫秒之内完成,也就是一眨眼的功夫都不到,这样才能让访问网站的用户马上看到广告。
- 虽然竞价最后的胜者是出价最高的DSP,但其实际支付的价格是出价第二高的报价再加上一个最小值,这就是著名的广义二阶拍卖(GSP)。这种定价模式的好处主要是为了避免各家DSP在多次竞价中,下一次的出价只需比上一次的胜出价格高一点点即可,从而导致出价越来越低。在GSP模式下,每个胜者只需要支付次高出价的金额,这样各家DSP也就没有动力相互压价。GSP是一种稳定的竞价方式,可操作性很强,现阶段几乎所有的互联网广告平台都使用这一种竞价方式。
三、技术细节
典型广告系统架构
(1)受众定向平台:利用数据挖掘、机器学习等技术进行受众定向、点击率预估等工作。具体可以细分为以下几个模块:
- 会话日志生成(Session log generation):从各个数据平台收集日志,并最终根据用户ID为主键汇集成一份统一存储格式的日志,为后续的数据分析、算法构建提供数据来源。
- 行为定向(Audience targeting):从会话日志中提取数据,利用数据挖掘、机器学习等算法建模,刻画出用户的行为模式、兴趣点等,最终为用户打上结构化标签,以供广告定向投放使用。
- 点击率建模(Click modeling):从会话日志中提取预定义的特征,训练点击率模型,加载到缓存中供线上投放系统决策时使用。
- 商业智能模块(Business Intelligence):包括ETL(Extract-Transform-Load)过程、Dashboard、cube。BI系统可以为决策者提供直观且即时的数据分析,而算法对决策者来说相当于黑盒,因此,设计一个良好的BI系统可以为决策提供有力的帮助。
(2)高并发的投送系统:即在线的广告投放机(Ad server),主要任务是与各模块交互,将它们串联起来完成在线的广告投放决策。特点是高并发,要做到10 ms级别的实时决策,百亿次/天的广告投放系统。具体可细分为以下几个模块:
- 广告检索(Ad retrieval):也称为广告召回,即根据用户属性以及页面上下文属性从广告索引(Ad index)中查找符合条件的广告候选。
- 广告排序(Ad ranking):主要功能是对广告检索模块送来的广告候选集计算eCPM,并按照值的大小倒排。eCPM的计算依赖于受众定向平台离线计算好的点击率。由于最终投放出的广告都是来自于排序的结果,因此这一模块也是至关重要,成为各种算法模型和策略大展身手的地方。
- 收益管理(Yield management):将局部广告排序的结果进一步优化,以做到全局最优收益。
(3)数据高速公路:联通在线与离线。作用是准实时地将日志推送到其它平台上,一是快速地反馈到线上系统中,二是给BI人员快速看结果。它还可能收集其它平台的日志,比如搜索广告会收集搜索日志。
(4)流式计算平台:主要功能是对在线数据的处理,做到准实时的挖掘和反馈,解决那些离线计算平台无法快速响应的计算问题。具体又可分为:
- 实时受众定向(Real-time targeting)和实时点击反馈(Real-time click feedback):对用户的实时行为进行计算,如实时更新点击率模型、动态调整用户标签,进而更好的适应线上环境。
- 计费(Billing):该模块掌管着广告系统的“钱袋子”,运行的准确性和稳定性直接影响了系统的收益。在广告投放过程中,经常会遇到投放预算用完的情况,这时计费模块必须及时反应,采取例如通知索引系统暂时将广告下线的办法,避免带来损失。
- 反作弊(Anti-spam):利用算法和人工规则等实时判断流量来源中是否有作弊流量,并将这部分流量从后续的计价和统计中去掉,是广告业务非常重要的部分。
硬件
(1)Hadoop
:详情请见
(2)Spark
:详情请见
(3)Lucene
:详情请见
(4)Storm
:详情请见
(5)ZooKeeper
:详情请见
核心算法
详情请见参考文章核心算法篇
四、 参考书籍&论文
- 《计算广告》 刘鹏 / 王超
- 计算广告系统算法与架构综述
- RTB广告竞价系统的算法介绍