首先问一下:什么是DMP?
DMP,全称:Data Management Platform,即数据管理平台,负责数据管理。
主要完成:
1. 收集用户数据;
2. 为用户数据打上标签;
3. 为DSP 提供数据服务
- 业务介绍
- 技术实现
对于业务介绍,比较困难的是理解广告交易过程中各个参与者是干什么的
对于技术实现,大致就是如下两个步骤:
- 报表
- 标签化
报表显而易见,就是查看数据的组成,查看数据的图形直观特征
标签化是整个项目的目的,最终其实就是要根据标签筛选用户,但是对于标签化还是有很多东西要做的,如下:
- 商圈库
- 打标签
- 统一用户识别
- 标签合并 & 衰减
- 历史合并
一、项目介绍
- 背景介绍
- DMP 的作用和实现方式
- 技术方案
广告业务背景
互联网广告发展至今,产生了很多非常复杂的概念,其中环环交错,不容易理清。主要目的就是尽可能的理清楚整体上的流程,各个环节的作用。
Step 1: 广告主,广告商,媒体
- 广告主:简单来说就是要发广告的机构和个人。比如:微信公众号也有的广告主
- 广告商:广告商是中介,对接广告主和媒体,广告主告诉广告商我要发广告,广告商找到媒体进行谈判
- 媒体: 比如说微博,腾讯,美团这样的应用和网站,就是媒体,它们具有广告展示的位置,用户在使用这些服务的同时会看到各样的广告
- 受众: 普通的用户,在享受免费的服务的同时,被努的接受广告;但是受众是有不同类型的,可以由标签来表示,比如说白领,女生,28-30岁等
Step 2: 小媒体和广告网络
刚才的结构中有一个非常明显的问题
- 小媒体有很多
不只有微博腾讯这些媒体,还有很多其它的垂直小媒体,比如说一些软件网站,一些小型的App,甚至前阵子比较流行的游戏消灭病毒等,都是小型的媒体
- 广告主倾向于让更多人看到广告
广告主就倾向于让更多人看到广告,而且也为了避免麻烦,所以会找一些大型的媒体来谈合作
但是往往一些小媒体因为更加垂直,其用户可能更加精准,购买意愿也非常好
- 小媒体的议价能力非常有限
虽然小媒体有小媒体的好处,但是小媒体太过零散,如果只是一个小媒体的话,很难去洽谈出一个比较好的合作,所以小媒体也是要赚钱的,这个领域其实是一个很大的盘子,一定会有人为小媒体提供服务,这种产品,我们称之为 AdNetwork,广告网络
AdNetwork【广告网络】 提供如下的服务
- 为广告主提供统一的界面
- 联络多家媒体,行成为统一的定价从而销售
Step 3: AdExchange
虽然有 AdNetword 的引入,但是很快又会有新的问题
- AdNetwork 不止一家
就如同有很多小媒体,广告主不知道如何选择一样,AdNetwork 是一种商业模式,也会有很多玩家,广告主依然面临这种选择困难
- 小媒体们会选择不同的AdNetwork
每个AdNetwork 之间,定价策略可能不同,旗下的小媒体也可能不同,其实最终广告主是要选择一个靠谱的网站来进行广告展示的,那么这里就存在一些信息不对称,如何选择靠谱的 AdNetwork 从而选择靠谱的媒体呢
- AdNetwork 之间可能存在拆借现象
某一个 AdNetwork 可能会有一个比较好的资源,但是一直没卖出去,而另外一个AdNetwork 可能恰好需要用到这个资源,所以 AdNetwork 之间可能会有一些拆借显现,这就让这个时长愈加混乱
- 媒体可能对 AdNetwork 的定价策略颇有微词
AdNetWork 背后有很多媒体,但是整个定价策略是由 AdNetwork 来制定的,虽然 AdNetwork 往往是非常精密的计算模型,但是媒体依然可能会感觉自己没有赚到钱
所以滋生了别外一种业务,叫做AdExchange,广告交易平台,从而试图去从上层再统一一下
所以,AdExchange 虽然看起来和 AdNetwork 非常类似,但是本质上是不同的,其有以下特点
- AdExchange 不仅会联系 AdNetwork,也会联系一下小媒体
- 甚至有时候 AdNetwork 也会找 AdExchange 发布广告需求
- AdExchange 会提供实时的交易定价,弥补了 AdNetwork 独立定价的弊端
Step 4: RTB 实时竞价
并不是针对 AdExchange 的缺陷引入新的话题,而是针对 AdExchange 中的一个定价特点进行详细的说明
AdExchange 和 AdNetwork 最大的不同可能要数 AdExchange 的定价方式了,AdExchange 的定价方式是一种事实的定价方式。其实非常类似于股票的撮合交易
整个过程的步骤大致如下:
1、媒体发起广告请求给 RTB 系统,请求广告进行展示
2、广告主根据自己需求决定是否竞价,以及自己的出价
3、会有多个广告主同时出价,价高者得
这样,RTB 就能尽可能的让广告的展示价格更透明更公平,AdExchange 得到自己响应的佣金,媒体得到最大化的广告费,看起来皆大欢喜,但是真的是这样吗?
Step 5: 广告主如何竞价?
一切看起来都很好,如果你站在媒体的角度的话,但是如果你站在广告主的角度上来看,广告主可能会有两种抱怨:
- 广告主并不是专业从业者
广告主可能会觉得,你跟我闹呢,我知道不知道怎么出价你心里清楚?
确实,作为金主,不能太过为难他们,每次交易都上广告主出价,无异于逼迫广告主转投他家
- 广告主的诉求是投放广告给恰好有需求的人,而不是看起来好像很酷的媒体
我们讨论到现在,所以的假设都是基于广告主知道自己该找什么样的媒体投放什么样的广告,这种假设明显是不成立的,如果考虑广告主的诉求,其非常简单,在同等价格内,广告效果要好,所以广告主更关心的事情是你是否让合适的人看到了这些广告。
所以,DSP应运而生,DSP全称叫做需求方平台,主要负责和 AdExchange 交互,辅助广告主进行实时竞价。
- DSP 帮助广告主进行 RTB 中的出价
- DSP 不仅只是出价,DSP 帮助广告主全面的进行广告服务,例如广告主只需要告诉 DSP 自己对什么类型的受众感兴趣,DSP会帮助广告主进行受众筛选。
Step 6: DMP
DSP 最重要的特性是,能够帮助广告主刷选客户,换句话说,DSP 出现之前广告主针对媒体上的广告位进行广告投放,DSP 出现之后,广告主针对自己想要的目标受众投放广告,这几乎是一个质效率提升。
广告主现在可以针对一些受众的标签来进行广告投放了,比如说,一个广告主是卖化妆品的,他要投放广告给有如下三个标签的用户们:20岁上下,女性,时尚人士,现在就可以针对这三个标签来告诉DSP 如何帅选用户了
但是,DSP 如何进行用户识别呢?DSP如何谁是 20岁上下,女性,时尚人士?DSP 可以自己做,也可以依赖于第三方,这个标签化的数据管理项目,就叫做DMP,全称叫做 Data Management Platform ,即数据管理平台。
DMP 所负责的内容非常重要的有两点
- 收集用户数据
常见的收集方式主要有两种:
- 通过自身的服务和程序进行收集,例如微博和腾讯有巨大的用户量,他们自己就可以针对自己的用户进行分析
- 通过合作而来的一些数据,这部分在合规范围内,一般大型的网站或者APP会通过一些不会泄漏用户隐私的ID 来标识用户,给第三方 DMP 合作使用
- 通过一些不正当的手段获得,例如说在某网站上传伪装成图片的脚本,从而获取本网站的用户 Cookie,这部分涉及一些黑产,不再详细说明,315 晚会也曾经报道过
- 为用户打上标签
DSP 主要通过标签帅选用户,所以 DMP 要通过一些大数据的工具来将用户数据打上标签,这部分其实挺难,有可能要涉及一些机器学习的算法,或者图计算。
- AdExchange 发起竞价
- DSP 响应竞价
- DSP -> DMP 询问这个竞价的媒体是否是我需要的
- DMP 返回媒体和展示的信息,告诉 DSP 是否应该出价
- DSP 根据DMP 的指引,选择出价或者不出
二、技术方案
从目的上看,DMP 系统可能会有如下的事情要做
- 通过可视化和笔记工具进行数据分析和测试,一般会使用Zeppelin 等工具进行测试和数据探索
路线一:
- 收集数据
- ETL
- 落地 Kudu
- Spark 读取 Kudu ODS 进行标签化
- 落地 Kudu
- 放入Es 对外提供 API
路线二:
- 收集数据
- ETL
- 落地 Kudu
- 生成报表
- 分析师就可以使用 Impala 等查询数据进行决策服务