在广告和推荐系统当中,一个重要的衡量指标就是点击率,也即是CTR(Click Through Rate)。

计算公式:  CTR = 点击数 / 曝光数

也有一种衡量指标是 uvCTR。   uvCTR = 点击uv数 / 曝光uv数。

考虑 CTR = 点击数 / 曝光数  这个公式的指标,只考虑了比例的关系,但没考虑样本数大小。因为样本数少的情况下,这个比例其实是不准确的;而样本数越大,这个比例越准确,越能反映真实情况。

举个例子,有三个广告:

A:点击数   2     曝光数   10

B:点击数   20     曝光数   100

C:点击数   200     曝光数   1000

它们的 CTR 都是 0.2 。但是很明显,从置信度来讲,是 C > B > A。因为C的样本数更多,C 的 0.2 CTR更加反映真实,更加可信。

为了衡量样本数对于 CTR 置信区间的影响,我们引入"威尔逊(Wilson)区间"的概念。公式如下:

p —— 概率,在这里指点击的概率,也就是 CTR

n —— 样本总数。在这里指 曝光数

z —— 在正态分布里,均值 + z * 标准差  会有一定的置信度。例如 z 取 1.96,就有 95% 的置信度。

Wilson区间的含义就是,就是指 在一定置信度下, 真实的 CTR 范围是多少。举一个例子,如下面代码所示。计算刚刚如上所述的 A、B、C 三个广告的 Wilson 区间( z取 1.96,也就是说该区间的置信度为 95% )。

from math import sqrt

def confidence(clicks, impressions):

n = impressions

if n == 0: return 0

z = 1.96 #1.96 -> 95% confidence

phat = float(clicks) / n

denorm = 1. + (z*z/n)

enum1 = phat + z*z/(2*n)

enum2 = z * sqrt(phat*(1-phat)/n + z*z/(4*n*n))

return (enum1-enum2)/denorm, (enum1+enum2)/denorm

def wilson(clicks, impressions):

if impressions == 0:

return 0

else:

return confidence(clicks, impressions)

if __name__ == '__main__':

print wilson(2,10)

print wilson(20,100)

print wilson(200,1000)

"""

--------------------

results:

(0.07048879557839793, 0.4518041980521754)

(0.14384999046998084, 0.27112660859398174)

(0.1805388068716823, 0.22099327100894336)

"""

从结果可以看到

A:点击数   2     曝光数   10             点击率 95% 置信度的置信区间为 (0.07, 0.45)

B:点击数   20     曝光数   100         点击率 95% 置信度的置信区间为 (0.14, 0.27)

C:点击数   200     曝光数   1000     点击率 95% 置信度的置信区间为 (0.18, 0.22)

在实际的应用上面,就会取最低值,作为修正后的 Wilson CTR。也就是 A 的 Wilson CTR 为 0.07,B 的 Wilson CTR 为 0.14,C 的 Wilson CTR 为 0.18。这相当于是给样本数不足的CTR进行一定的衰减降权。

ctr 平滑_根据样本数进行点击率CTR的修正 - Wilson CTR相关推荐

  1. ctr 平滑_预算平滑技术在58商业的探索与实践

    导语 本文主要介绍商业策略技术团队在预算平滑技术上的探索实践,首先介绍了主流的预算平滑技术,然后结合具体业务场景,分享基于pacing方法的预算平滑技术在58的实践应用和心得体会. 背景 按点击计费( ...

  2. ctr 平滑_广告计算——平滑CTR

    一.广告计算的基本概念 1.广告的形式 在互联网发展的过程中,广告成为了互联网企业盈利的一个很重要的部分,根据不同的广告形式,互联网广告可以分为: 展示广告(display ads) 赞助商搜索广告( ...

  3. SIGIR'21「微软」:强化学习过滤负样本噪声提升点击率

    title:RLNF: Reinforcement Learning based Noise Filtering for Click-Through Rate Prediction link:http ...

  4. 广告点击率预测_精品案例|在线广告点击率预测

    目录 数据说明 数据查看 数据预处理   3.1 处理非数值特征 初步建立模型查看效果 探索性分析和特征工程   5.1 特征分布可视化   5.2 处理取值不均匀特征   5.3 特征相关性 模型训 ...

  5. 5 点击图换下一张_如何制作一张高点击率主图

    图-1 在电商设计中,主图是非常重要的,一张好的主图不仅消费者看着赏心悦目,同时还能提升店铺的品牌知名度,那么,一张高点击率的主图是怎么制作的,我们今天来聊聊这个话题: 一.主图的分类 主图一般尺寸都 ...

  6. python广告刷量_用python实现刷点击率的示例代码

    背景 同事的老爸参加微信的一个活动,需要刷点击率,因此,写了一个程序助之. 准备 微信活动也是有真实地址的. 通过mitmproxy(man in the middle proxy)的方式,可以获取微 ...

  7. 点击率(CTR)平滑手段

    原文链接:https://blog.csdn.net/jinping_shi/article/details/78334362 以商品的点击率预测为例: CTR的值等于点击量除以曝光量,公式如下: r ...

  8. ctr多少正常_你知道亚马逊的点击率多少算正常的吗?

    你知道亚马逊的点击率多少算正常的吗?对于点击率很多亚马逊卖家都是很不重视的,点击率和转化率其实都是很重要的,一个好的点击率可以提高产品listing的流量,影响转化,促进销量,那亚马逊点击率多少是算正 ...

  9. Ctr点击率预估理论基础及项目实战

    1.机器学习推荐算法模型回顾 召回(粗排) 利用业务规则结合机器学习推荐算法得到初始推荐结果,得到部分商品召回集 ALS\UserCF\ItemCF\FP-Growth\规则等方式召回 排序(精排) ...

最新文章

  1. 5 个刁钻的 String 面试题!
  2. 实验吧-catalyst-system
  3. 大学学习论坛 需求分析报告.菜鸟版.多喷.看看问题所在
  4. flume package遇到的问题
  5. python 爬取大乐透开奖结果
  6. linux nls_lang oracle,linux操作系统环境变量LANG和NLS_LANG的区别
  7. 同宿舍程序员毕业五年后:有人年薪百万,有人月薪一万
  8. python基础(四)运算
  9. 笔记本电脑如何重装系统win11专业版
  10. Git学习收获(一)
  11. JS调用ATL DLL
  12. 关于一些Excel宏病毒的清除方法整理合集
  13. 烟雨在线要饭系统v2.0源码
  14. ubuntu下锐捷客户端提示多个ip地址
  15. jsessionid和jwt_jsessionid
  16. Android百度浏览器深色模式,深色模式适配指南
  17. 针对LSB 信息隐藏的卡方分析算法实现
  18. 记一次跟突破360主机卫士上传
  19. 用计算机采集光栅尺的数据,基于PLC的光栅尺数据采集系统及方法与流程
  20. ue4 无限地图_基于UE4的开放世界地图架构

热门文章

  1. 百度地图完全模仿链家找房,三级下钻联动聚合,画圈找房!
  2. html微信网页字体被放大问题
  3. 计算机类非全日制研究生
  4. 普通一本的计算机专业好就业吗,放弃985大学冷门专业,填报普通一本热门专业,值吗?...
  5. iso镜像文件怎么装系统图文操作
  6. UPC第41场,第42场部分题解
  7. 2022年黑龙江最新初级消防员模拟试题题库及答案
  8. 微信小程序——简单计算器
  9. Mac系统下载安装sublime3详细过程
  10. Docker容器日志清理方式