合约广告

广告位和展示量合约

广告位(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),并根据$P_u(eCPM)$得到a在u上胜出的百分比$p(a,u)$,并将a的流量累加$p(a,u)*ImpressionNum_u$

###A4.在线分配问题框架

  • r是收益,q是惩罚
  • 惩罚和奖励是一回事

###A4.在线分配典型问题

  • Adwords~考虑预算,没有提升。

  • 预算在竞价广告中是一个软约束,投完广告主会继续投。

  • ###A4.基于归偶算法的紧凑分配方案

  • 紧凑分配方案(Compact Allocation plan)

    • 变量数正比于|A|,而非|E|或|I|
    • 分配策略最好的是无状态的,这样可以避免服务器之间的同步
  • 由$\alpha$恢复$\beta$和分配变量x:公式略

  • 由历史数据求解上述问题规模太大,需要对数据做一些采样以便更高效地得到分配方案。

###A4.启发式的High Water Mark算法

  • 离线规划

    • 令每个供给节点i的剩余supply等于预留量$r_i\leftarrow s_i$
    • 将每个a按照$\Gamma(a)$中所有供给流量做升序排列,确定分配优先级
    • 按照分配优先级对每个a解下式的到其投放率 $\beta {\alpha } : \sum{i\in \Gamma (a)}min \left {r_i,s_i\beta _\alpha \right }=d_a$
    • 对$\Gamma (a)$中的每个i,令$r_i\leftarrow r_i - min \left {r_i,s_i\beta _\alpha \right }$
  • 在线分配

    • 对某次展示,{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表示:$\left {X_{n1},X_{n2},…,X_{nM}\right }$
    • 文档矩阵:$\left {X_{nm} \right }_{N*M}$
  • 输出
    • 各文档得T个主题上的强度:$\left { z_{n1}, z_{n2},…,z_{nT} \right }$

常用文本主题模型

  • 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)验证
    • 验证广告展示的曝光程度
    • 判断浏览器是否对广告创意发生了渲染过程

思考:品牌广告的钱是不是比较好挣?