(1)作者背景资深:作者在Google和腾讯从事广告工作10余年,曾担任腾讯广告技术总监和腾讯广告引擎总架构师。
(2)作者经验丰富:作者主导了腾讯广告引擎的设计和开发,检索系统、海量数据分析系统、深度学习系统、社交广告系统等,这些系统支撑了腾讯广告10年的快速发展。
(3)架构师的视角:以架构师视角对超大规模广告系统进行回顾与思考,剖析了现代广告系统的构成,包括:投放、播放、检索、A/B测试、数据、策略、预测算法等。
(4)强调工程实践:以工程实践为导向,详细讲解了广告系统的投放系统、播放系统、策略系统、数据系统等各个子系统的架构与设计。
序
前 言
第1章 互联网广告生态1
1.1 互联网广告生态的参与者1
1.1.1 主要在线广告平台2
1.1.2 主要在线广告网络8
1.1.3 程序化购买生态12
1.2 在线广告产品形态15
1.2.1 在线广告的投递方式15
1.2.2 在线广告的计费方式18
1.3 本章小结19
第2章 广告投放系统20
2.1 广告层级结构20
2.1.1 Facebook Marketing广告层级结构20
2.1.2 Google Ads广告层级结构22
2.1.3 Twitter Ads广告层级结构25
2.2 API的基本设计原则26
2.2.1 API的价值性27
2.2.2 API的规划性28
2.2.3 API的灵活性30
2.2.4 API的可管理性32
2.2.5 API的可支持性34
2.3 广告平台API36
2.3.1 Google Ads API37
2.3.2 Facebook Marketing API40
2.3.3 Twitter Ads API50
2.4 本章小结57
第3章 大规模网络系统架构
设计58
3.1 大规模网络系统历史背景58
3.2 分布式集群管理系统59
3.2.1 Docker简介61
3.2.2 微服务技术简介63
3.2.3 Kubernetes简介64
3.3 分布式文件系统66
3.3.1 GFS66
3.3.2 HDFS68
3.4 分布式存储69
3.4.1 分布式存储介绍69
3.4.2 HBase介绍70
3.5 分布式共识服务72
3.5.1 分布式共识算法介绍72
3.5.2 ZooKeeper使用场景73
3.6 负载均衡76
3.6.1 前端请求的负载均衡76
3.6.2 数据中心内部的负载
均衡77
3.7 监控与告警系统77
3.8 网络服务接口规范78
3.8.1 RESTful介绍79
3.8.2 GraphQL介绍79
3.8.3 RPC介绍81
3.9 本章小结84
第4章 广告播放系统架构设计85
4.1 广告播放系统架构85
4.2 数据ETL模块86
4.2.1 数据提取87
4.2.2 数据转换91
4.2.3 数据加载92
4.3 检索模块95
4.3.1 文本检索技术96
4.3.2 布尔检索103
4.3.3 最近邻搜索119
4.4 本章小结129
第5章 广告系统数据架构设计130
5.1 广告系统数据架构130
5.2 广告系统数据类型131
5.2.1 广告元数据131
5.2.2 广告日志数据133
5.2.3 用户画像数据134
5.2.4 广告上下文数据147
5.2.5 广告主私有数据与
再营销148
5.3 数据管理平台150
5.3.1 数据管理平台简介150
5.3.2 相似受众扩展153
5.4 特征工程平台157
5.4.1 特征生产157
5.4.2 特征补录与训练样本
数据流159
5.4.3 特征存储161
5.4.4 特征处理算法162
5.4.5 建设统一特征工程平台的
必要性165
5.5 本章小结165
第6章 A/B测试与互联网广告166
6.1 A/B测试介绍166
6.2 收集实验数据167
6.2.1 流量管理168
6.2.2 流量分层169
6.3 实验数据分析176
6.3.1 大数定律与中心极限定理176
6.3.2 A/B测试中的样本量
估计179
6.3.3 辛普森悖论181
6.3.4 Mantel-Haenszel指标182
6.3.5 分桶与Jackknife重
采样186
6.4 实验信息管理191
6.5 A/B测试的广告应用场景194
6.6 本章小结194
第7章 广告系统策略195
7.1 广告竞价195
7.1.1 博弈论基础197
7.1.2 纳什均衡200
7.1.3 纳什均衡存在性证明202
7.1.4 机制设计理论211
7.1.5 广义第二价格竞价231
7.1.6 VCG竞价237
7.2 广告策略系统设计242
7.2.1 广告系统粗排设计243
7.2.2 广告预算控制系统245
7.2.3 广告调价算法247
7.3 本章小结250
第8章 预估算法251
8.1 训练数据准备与模型离线
评估252
8.1.1 训练数据准备252
8.1.2 模型离线评估254
8.2 常用的预估模型261
8.2.1 逻辑回归模型与机器学习
基础262
8.2.2 支持自动特征发现的模型
方法288
8.2.3 深度学习模型294
8.3 新广告点击率预估314
8.3.1 汤普森采样算法315
8.3.2 蒙特卡洛采样318
8.3.3 马尔可夫链蒙特卡洛
采样325
8.3.4 吉布斯采样330
8.3.5 拉普拉斯近似331
8.4 广告转化率预估334
8.5 本章小结336