【项目】搜索广告CTR预估(一)
本文介绍CTR相关基础知识。
一、广告投放系统

广告系统包含多个子系统。除了上图所示的广告投放系统外,还包含商业系统(广告库的获得),统计系统(点击展示日志的获得)等。
广告投放系统主要是面向用户的,交互逻辑就是用户请求一个网页之后,会想检索系统请求广告,然后检索系统从广告库中获取一个广告列表,进行特征抽取之后进行点击率预估,排名靠前的展示给 用户。然后根据用户的点击情况获得展示点击日志,之后进行线 下的模型训练学习。之前的广告投放系统分为线上系统和线下模型训练系统,现在出现的一种是在线学习,即用户的操作能够实时的影响到模型。
二、CTR与CTR预估
2.1 CTR的计算
几个基本概念:

展示问题:
为了客观公正,应该确定用户真正看到广告。为了最大程度的公正,对于位置好的广告,一次请求就记为一次展示;对于位置不好的,比如在网页下面的,采用埋点,用户滑到网页底部才算一次展示(一般就是一段js代码实现)
点击问题:
怎么确定用户点没点广告呢?
主要有两种方法:
- 重定向

- 行为上报(主要用于第三方统计)

2.2 CTR的作用
- 竞价排序: 一方面依赖于价格,一方面依赖于CTR

ps:cpc为每次点击的收费
- 竞价收费:(广义第二价格竞价)

这样收费的原因是:一方面有利于广告主拔高价格。不然的话比如现在AB两个广告主A出3元 B出5元,那么会刺激B只出3.1就拿到这个广告。
另一方面有利于优化点击率。
程序化购买依据:

关于DSP SSP Ad Exchange的介绍
作者:陈叨叨
链接:https://www.zhihu.com/question/23458646/answer/25535257
来源:知乎
著作权归作者所有,转载请联系作者获得授权。 其实很简单,举个例子就明白了。 Nike 公司想在网上打广告推出自己的一款新鞋子,目标客户是20岁左右的男性大学生。推广过程包含4个方面:
1. 确认推广渠道: 确定男大学生喜欢上的网页 比如:新浪体育,人人网,还有一些小型的论坛。
2. 确认目标客户属性:男性20岁大学生
3. 制作推广材料:广告banner
4. 购买广告位置
对于新浪体育而言,他家网页有很多可以打广告的位置,一个一个去卖太麻烦了,他们就将这些广告位统一放入了Ad Exchange平台(相当于在卖广告位的”菜市场“里面摆了个摊位),通过SSP对菜市场里面摆放的广告位进行布局管理,更好的将“菜=广告位置”卖出去,所以叫SSP(Sell-side Platform销售方平台)。
对于Nike而言,他们通过DSP来到这个菜市场(Ad Exchange),RTB帮助他们计算怎么在有限的预算下买更多更符合推广要求的菜。所以DSP是想打广告的,对广告位置有购买需求的公司使用的,叫(Demand-side Platform需求方平台)。
“菜”在这里就是指符合“男性20岁大学生”条件的cookie,每个人浏览网页的历史都会被电脑记录下来,形成cookie。由于cookie是匿名的(不记录浏览者的个人信息)所以有第三方的一些数据公司将cookie导入自己的系统里面分析,匹配上系统里面已知的个人信息如性别,地理位置,年龄等后,再将这个cookie导入到这个菜市场(Ad Exchange),相当于给每种菜都放了一个介绍在旁边(山西大白菜),这些公司被称为Data supplier。
这种购买的行为是每分每秒钟都在发生的,当一个符合条件的“男性20岁大学生”准备打开网页A时,cookie就被放在了菜市场,Nike看到后即可后买,然后将将制作好的广告banner展现在这个网页上,整个过程大约需要0.4秒,所以浏览者是完全感受不到的。与此同时又有无数个符合条件的cookie在浏览无数个网页,所以需要实时竞标,即让电脑自动帮你买入需要的“菜”,,从而产生了RTB(Real-time bidding),一般说来RTB仅仅是DSP平台的一个功能。
半个小时读懂互联网广告新生态 http://socialbeta.com/t/china-programmatic-advertising-landscape.html
之所以用CTR作为排序和竞价的核心,是因为CTR是用户、广告主、媒体三方利益的交叉点。
2.3 CTR预估:预测CTR


三、CTR预估评价指标
3.1 离线指标
3.1.1 LogLoss
衡量预测准不准确

(p是真实分布,q是预测分布)


3.1.2 AUC
衡量把正样本排在负样本前边的能力
参考之前介绍:http://www.cnblogs.com/futurehau/p/6109772.html
3.2 在线指标
3.2.1 CPM
每千次点击带来多少钱
3.2.2CPC
每次点击扣广告主多少钱

【项目】搜索广告CTR预估(一)的更多相关文章
- 【项目】百度搜索广告CTR预估
-------倒叙查看本文. 6,用auc对测试的结果进行评估: auc代码如下: #!/usr/bin/env python import sys def auc(labels,predicted_ ...
- 【项目】搜索广告CTR预估(二)
项目介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-through ...
- (2)搜索广告CTR预估
https://www.cnblogs.com/futurehau/p/6184585.html 1. CTR预估的流程 数据 -> 预处理 ->特征抽取 ->模型训练 ->后 ...
- (1)搜索广告CTR预估
https://www.cnblogs.com/futurehau/p/6181008.html 一.广告投放系统 广告系统包含多个子系统.除了上图所示的广告投放系统外,还包含商业系统(广告库的获得) ...
- 计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践
计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践 2018年06月13日 16:38:11 轻春 阅读数 6004更多 分类专栏: 机器学习 机器学习荐货情报局 版 ...
- 闲聊DNN CTR预估模型
原文:http://www.52cs.org/?p=1046 闲聊DNN CTR预估模型 Written by b manongb 作者:Kintocai, 北京大学硕士, 现就职于腾讯. 伦敦大学张 ...
- PaddlePaddle分布式训练及CTR预估模型应用
前言:我在github上创建了一个新的repo:PaddleAI, 准备用Paddle做的一系列有趣又实用的案例,所有的案例都会上传数据代码和预训练模型,下载后可以在30s内上手,跑demo出结果,让 ...
- 项目 CTR预估
项目和数据介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-thro ...
- 广告点击率 CTR预估中GBDT与LR融合方案
http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate Pred ...
随机推荐
- Quartus 编译错误
1.Error (10028): Can't resolve multiple constant drivers for net ** 这种错误一般是由于定义的reg寄存器在多个always中进行赋值 ...
- [原创]cocos2d-x研习录-第二阶 概念类之精灵类(CCSprite)
上一节说布景层CCLayer是小容器,那么精灵类CCSprite就是容器添加的内容,它是构成游戏的主要元素.精灵这个名称应该是游戏专用,它表示游戏中玩家操作的主角.敌人.NPC(Non Player ...
- lsm-tree
https://www.quora.com/How-does-the-Log-Structured-Merge-Tree-work http://blog.cloudera.com/blog/2012 ...
- 微分方程——基本概念和常微分方程的发展史
1.2 基本概念和常微分方程的发展史 自变量.未知函数均为实值的微分方程称为实值微分方程:未知函数取复值或变量及未知函数均取复值时称为复值微分方程.若无特别声明,以下均指实变量的实值微分方程. 1.2 ...
- smarty中如何统计数组的个数?
在做web前端中,很多人会遇到在smarty中如何统计数组的个数,其实很简单 比如数组$array 你只需要用{$array|@count}就可以获取.
- javascript 使用btoa和atob来进行Base64转码和解码
javascript原生的api本来就支持,Base64,但是由于之前的javascript局限性,导致Base64基本中看不中用.当前html5标准正式化之际,Base64将有较大的转型空间,对于H ...
- iis 应用程序池看不到 .net framework 4.0
我的情况是,先配置了iis,然后再安装.net framework 4.0 进去设置应用程序池的时候,没有找到 .net framework 4.0 ,经过一番尝试,无效,最后无奈重启. 好了.
- 安全沙箱冲突:Loader.content:XX 不能访问 XX 可以通过调用 Security.allowDomain 来避免此冲突。
参考资料:http://tieba.baidu.com/p/882855105 感谢:Z0287yyy 感谢分享精神. 具体解决方案:在loader去load的时候,带上这个参数 var contex ...
- Java 大数运算
import java.util.*; import java.math.*; public class Main{ public static void main(String args[]){ S ...
- Celery 和 Redis 入门
Celery 是一个广泛应用于网络应用程序的任务处理系统. 它可以在以下情况下使用: 在请求响应周期中做网络调用.服务器应当立即响应任何网络请求.如果在请求响应周期内需要进行网络调用,则应在周期外完成 ...