计算广告|4.合约广告
广告位和展示量合约
广告位(CPT)合约
与线下广告交易类似的传统模式
供给方产品:产品排期系统
- 帮助媒体自动执行多个合同的排期
- 广告没有复杂的动态决策,因此可以将素材直接插入页面
流量选择的维度
- 时间段、地域、轮播
典型场景
- 高曝光广告位,开屏广告,应用市场头部位置,导航网址
展示量合约与担保式投送
展示量合约
- 基于合约的广告机制,有时未完成约定量要向广告商补偿
- 多采用千次展示付费(Cost per Mille,CPM)方式结算
担保式投送(Guaranteed Delivery,GD)引擎
- CPM方式要求广告投送由服务器端完成决策
- 三大技术基础:受众定向、流量预测、在线分配
典型场景
- 视频广告、富媒体广告、品牌横幅广告
广告位合约 vs 展示量合约
广告位合约
- 开辟了多个广告位
- 分时段卖给不同的广告主。
展示量合约
- 仅需要开辟较少的广告位
- 将用户流量卖给不同的广告主
展示量合约更先进,前提是需要支持受众定向
S1.如何高效混合静态与动态广告?
前端代码先去CDN上取一个默认广告,然后再去请求广告服务器。
- 前段代码先去CDN上获取默认广告。
- 判断是否CPT广告,如果是,展示CDN广告,如果不是,请求广告服务器。
- 判断广告服务器是否成功返回,如果是,展示服务器返回的广告;如果不是,展示CDN默认广告。
思考:什么样的人群适合于在CPM广告中售卖?
多个合约如何满足:在线分配问题
A4.展示量合约流量分配模型
流量预测–统计
可视为query为a,对流量进行检索的反向查询问题。
预测过程
- 给定a,首先通过u的索引找到所有符合条件的c的集合
- 对每个u估计r(a,u),并根据得到a在u上胜出的百分比,并将a的流量累加
A4.在线分配问题框架
- r是收益,q是惩罚
- 惩罚和奖励是一回事
A4.在线分配典型问题
Adwords~考虑预算,没有提升。
预算在竞价广告中是一个软约束,投完广告主会继续投。
A4.基于归偶算法的紧凑分配方案
紧凑分配方案(Compact Allocation plan)
- 变量数正比于|A|,而非|E|或|I|
- 分配策略最好的是无状态的,这样可以避免服务器之间的同步
由恢复和分配变量x:公式略
由历史数据求解上述问题规模太大,需要对数据做一些采样以便更高效地得到分配方案。
A4.启发式的High Water Mark算法
离线规划
- 令每个供给节点i的剩余supply等于预留量
- 将每个a按照中所有供给流量做升序排列,确定分配优先级
- 按照分配优先级对每个a解下式的到其投放率
- 对中的每个i,令
在线分配
- 对某次展示,{a1,……,aj}为按照分配优先级排序的所有满足要求的广告
- 将上面的广告按照投放率随机分配其展示机会
yahoo!展示广告市场
核心业务
- GD,无法分配的流量转接到NGD(non-guaranteed delivery,即Rightmedia exchange)进行变现
- GD市场广告主数量为几千,年收入为Billion量级。
其他点评
- 采用compact allocation plan 完成线上决策
- 提供地域、人口属性、行为定向(常用的仅有几十个标签)
- 合约式销售中,品牌广告主对曝光有独占要求
高并发的广告系统:在线投放引擎
S2.在线投放引擎
S2.Nginx
轻量级Web服务器/反向代理服务器
- 专为性能优化二开发,可支持数万并发
- 内存和CPU占用较少
Nginx + FastCGI
- 将主要业务逻辑在FastCGI中用C语言实现
其他产品选择:Apache
S2.Zookeeper by Yahoo!
解决分布式应用中的一些数据管理问题
- 集群管理、分布式应用配置项的管理等
- 理论基础是著名的Paxos算法
集群管理
- 将宕机、网络断链、新机器加入等迅速通知每台Server并重新分配流量
- 用Zookeeper的Watch机制很容易实现
S2.频次控制
问题定义
- 限制各(a,u)组合在一定时间周期内的展示量
问题特性
- 频次存储的规模是有上界的。(a,u)组合总数不会超过时间周期内的展示总数。
- 生成用(a,u)对应的key时,不需要处理冲突,因此不需要哈希结构。
- 专用的、轻量级的内存表比大多数No-SQL存储方案更加实用。
S2.实验框架(Experimentation Framework)
那些场景需要线上A/B测试?
- 广告系统的升级
- 广告算法的改进
- 创意或定向策略的优化
实验框架的设计原则
- 任何一组对比实验,其他的条件应该相同
- 线上流量容纳尽可能多的实验
S2.分层实验框架
发布层: 发布层1,发布层2
实验层: 非重叠测试区域,UI层、广告检索层、算法排序层。
用户画像及其他:受众定向基本概念
P4.受众定向方法分类
受众定向即为(a,u,c)打标签的过程
- 上下文标签可以认为是即时受众标签
标签的两大主要作用
- 建立面向广告主的流量售卖体系
- 为各估计模块(如CTR预测)提供特征
P4.常见受众定向方式
- 地域定向(Geo-targeting) 【刚需】
- 人口属性定向(Demographical targeting)
- 年龄、性别、教育程度、收入水平
- 可监测,难获得,对效果意义有限
- 频道定向(Channel targeting)
- 精确位置定向(Hyper-local Targeting)
- 利用蜂窝信息或者GPS获得精准位置,适用于O2O广告主
- 上下文定向、行为定向
- 重定向(Retargetiing)
- 针对广告主老用户或者相关用户进行再营销,属于定制化用户标签
- 主要利用第一方数据
- 新客推荐(Look-alike)
- 根据对广告主提供的种子用户,为其找到相关的新客
- 同时利用第一方数据和第二方数据
- 动态定价(Dynamic pricing)
- 并不是一种广告定向技术、但对价格敏感人群有筛选作用
P4.受众定向标签体系
结构化标签体系
- 按照某分类法(Taxonomy)制定一个层次标签体系,父节点与子节点在人群覆盖上是包含关系
- 主要用于面向品牌广告的手中定向,特别常用于GD系统中
非结构化标签体系
- 根据某类定向需求设置标签,标签并不能为同一个分类体系中所描述
- 适合于多种目标、特别是效果目标并存的广告主的精准流量选择要求
关键词
- 按照搜索或浏览内容的关键词划分人群
- 非结构化,容易理解,但操作和优化不容易
标签体系一般设计思路
分行业制定标签体系
- 掌握各行业用户决策逻辑,依此制定标签体系
- 不必拘泥于完备的分类法(Ontology)
行业化标签体系距离
- 汽车行业:价格 车型 品牌
- 电商行业:单品、单品、单品
- 游戏行业:对每款游戏扩展竞品
- 母婴行业:孩子的年龄
受众定向与用户画像
受众定向
- 强调根据需求找到相应的用户
- 重点是可优化而非可验证
- 例:某运动鞋的目标受众、某游戏的高付费人群
用户画像
- 强调获得用户固有的可解释属性
- 在一定程度上可验证,例如,人口属性、生活方式、职业特征、收入状况
用内容解读任务:上下文定向
P4.上下文定向原理
根据用户正在浏览的页面和其他信息投送广告
P4.上下文定向主要方式
举例
- 地域定向、频道/URL定向,页面内容定向
常用方法
- 用规则将页面归类到一些频道或者主题分类
- 抓取页面中的关键词
- 提取页面入链锚文本中的关键词
- 提取页面流量来源中的搜索关键词
- 用主题模型将页面内容映射到语义空间的一组主题上
A1. 半在线(Near-line)抓取系统
- 用在线cache系统存储url -> 特征表以提供实时访问
- 不预先加载任何cache内容,对cache中不存在的url,立刻返回空特征,同时触发相应的页面爬虫和特征提取
- 设置cache系统合适的失效时间已完成特征自动更新
思考:上下文定向目前并非主流的定向方式,这反映了什么问题?
将内容变成概念:文本主题模型
文本主题模型概要
问题
- 发现一组文档中抽象的主题(topics)
输入
- 一组文档$\left {d_1,d_2,…,d_N \right } $
- 文档dN的BoW表示:
- 文档矩阵:
输出
- 各文档得T个主题上的强度:
常用文本主题模型
LSA(Latent Semantic Analysis)
- 文档矩阵的奇异值分解
- 选中前K个奇异值进行近似
PLSI(Probabilistic Latent Semantic Indexing)
- 将LSA变成了一个概率化的版本
LDA(Latent Dirichlet Allocation)
- PLSI的贝叶斯版本
- 优化目标函数
- 可用变分法或Gibbs sampling方法求解
词嵌入模型
- 考虑了词的先后顺序关系
用数据理解用户:行为定向
P4.行为定向(Behavioral targeting)
- 根据用户历史上网记录和其他数据计算出用户兴趣,根据此投放广告
P4.行为定向数据来源
决策行为
- 转化(Conversion),预转化(Pre-conversion)
- 对应着非常明确的用户兴趣,价值最高
主动行为
- 搜索(Search)、广告点击(Ad click)、搜索点击(Search click)
- 在明确意图支配下主动产生的行为,价值也很高
半主动行为
- 分享(Share)、网页浏览(Page View)
- 量最大,用户意图最弱,也有一定价值
被动行为
- 广告浏览(Ad View)
- 负面的加权因素
用户ID
- 最重要的数据,一串0前面的那个1
- 稳定、精准的用户ID能大幅提高行为数据使用效率
社交关系
- 可以用于用户兴趣的平滑:当某个人的行为不足,无法进行精准的行为定向时,可以考虑借鉴其社交网络朋友的行为和兴趣。
P4.各类行为的标签化方法
A1.行为定向建模
A1.行为定向特征选择过程
A1.行为定向数据组织
Session log
- 将各种行为日志整理成以用户ID为key的形式,作为各数据处理模块的输入源,可以将targeting变成局部计算
行为定向两种长期特征累积方式
- 滑动窗方式
- 时间衰减方式
A1.受众定向评测 - Reach/CTR曲线
- Reach - target圈出来的人/总人数
- 右下角代表平均值
- 左边越高,受众定向效果越好
A1.人口属性定向
人口属性
- 由于监测的原因,实践中主要使用的是性别、年龄
- 在传统广告中为人群选择的主要语言
人口属性定向
- 以性别定向为例,为二分类问题
- 需要有一定数量的标注样本,特征则来自用户行为
思考:行为定向为什么没有采用深度学习这类复杂的算法?
分布式计算平台
S5.离线大数据平台
S5.flume by cloudera
高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统
- 数据源:console、text、Thrift-RPC、tail、syslog
- 数据目的:console,dfs、Thrift-RPC
- syslog TCP
其他产品选择
- Scribe、Chukwa、KafKa
S5.Redis by wmware
一个KV存储系统
- Value可以支持string、list、set、zset、Hash
- 支持push/pop、add/remove等操作
- 高性能、使用简单,提供多种语言API
注意事项
- 避免让批量写影响在线服务的读性能
- 尽量用自更新的方式减少数据输入
类似产品选择:Memcached
如何利用合约市场:合约广告需求方产品
合约市场的优缺点
优点
- 有投放量的保证,确保人群触达
- 有时可以有竞品排他服务
- 活动类营销可以利用CPT位置获得冲击式曝光
缺点
- 很难利用精细的用户数据
- 溢价相对较高,媒体作弊相对容易
合约市场的利用与选择
主要的合约广告产品
- 综合或垂直门户的首页广告位
- 视频网站贴片港澳
- 移动应用开屏港澳
应该如何选择
- 宣传活动的品牌广告,可以选择高曝光的CPT广告
- 日常品牌触达广告,可以结合受众购买CPM广告
广告监播
产品目的
- 广告主委托第三方公司,对实际发生的展示或点击数目进行核对(AdMaster、秒针)
- 主要适用于按CPM结算的合约广告
- 按CPC、CPA结算的效果广告对此需求不大
难点
- 人口属性、地域等的监测
- 样本和总体之间的校正
广告安全
广告投放验证(Ad verification)
- 确认品牌的安全性,防止广告出现在对品牌有伤害的页面上。(例:优衣库出现在钓鱼岛新闻上)
- 页面内容不符合品牌诉求,则展示与品牌无关的创意
- 与广告监播不同,重点在于阻止不恰当展示的发生
- 可以Pre-bid进行
可视性(Viewability)验证
- 验证广告展示的曝光程度
- 判断浏览器是否对广告创意发生了渲染过程
思考:品牌广告的钱是不是比较好挣?
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!