翻看日历时间已经来到了2021年,也是共同战役的第二年,许久没有更新文章了,在与懒惰进行过几次斗争都失利之后,今天拿出打工人最后的倔强,终于收获了一场胜利。闲话不多说,今天咱们重点聊聊oCPC中转化率模型与校准。

首先分享近期的一些“好消息”,上了两个AB实验,收入全部大涨,但是并没有推全,原因是收入效果不可看。究其原因这两个实验都与oCPC出价相关。

第一组实验是圈定人群AB实验,简单理解就是圈出一部分的人群作为实验组提价,这个实验收入大涨很容易理解,因为有了提价操作,计费也自然提升。实验组整体的消耗速度自然也有大幅度提升。

第二组实验是圈定广告AB实验,就是从全量的广告中圈出一部分广告作为实验组提价,这个AB收入大涨也很好理解,在单次请求中,实验组的广告在提价之后更容易胜出,消费自然提升。

在广告算法交流群中经常有人说,冷启动oCPC广告相比CPC的广告掉量十分严重。针对这种说法,我觉得首先得看下CPA是否打平;再不济,也得看下oCPC的出价是否打平,如果oCPC的 CPA低很多,不掉量才奇怪呢。

oCPC使用转化率模型的预估值进行出价的计算,模型在这其中扮演着至关重要的角色。针对模型,简单小结几点:

(1)无模型:如果不使用转化率模型,我们可以基于一定的规则进行统计,粒度可以从粗到细,各种人工加权均可使用,尽可能地提升更新频率。

(2)模型形式:是拆分还是合并,各有说法。在数据量满足一定的条件下主要pk的还是人力物力财力。只要人力物力财力没问题,那就可以愉快地拆分,分媒体,分行业,分转化目标均可。如果没有那么多的人力物力财力那就合并吧,在模型结构和特征上深耕。

(3)模型质量:首当其冲的还是线上线下一致性,线上线下不一致,一切都是白谈。然后主要关注的还是auc,gauc,pcoc,abs_error等常见指标。最后还得关注下模型的泛化性,这点主要影响冷启动的效果。在实际工作中,经常会遇到相关的bad case。最典型的一个就是,很多广告主将投放效果好的素材复制投放,发现效果差了很多。oCPC出价和流量选择托管媒体平台,广告主的操作空间只剩下调整投放的素材。上述case会严重影响广告主对于素材质量的判断。

(4)模型调优思路:和之前讲过的一样,优先级:数据>特征>模型结构。尤其在oCPC初期阶段,数据选择尤为重要,例如有些广告根本就不回传转化数据,这些广告的数据显然既不属于正样本也不属于负样本,因此肯定是不能加入转化率模型的训练数据中的;在特征层面,仅仅使用id类的特征对于模型的泛化能力会带来毁灭性的打击,我们需要加入统计类的特征以及实时特征。从实际工作中看,特征的实时化要比模型的实时化更安全更简单也更有效;在模型结构层面,一味地追求新颖复杂的网络结构并无实际意义,模型越复杂,对应的成本也会越高,保持模型复杂度与效果的平衡方为上策。

(5)模型评估:转化率模型的预估结果会直接作用于出价,从开头的两个AB实验也可以看出,实验组出价的高低其实会直接影响实验的效果。经常会出现模型上线之后,AB实验收入上涨许多,做下数据分析发现,模型预估偏高,pcoc起飞,导致出价偏高。即使收入指标再好看,对于大盘来说也是毫无作用。转化率模型的优化是否一定会带来收入的上涨呢?不一定。模型效果评估先看序关系,收入,赔付,超成本,欠成本等指标都是辅助的。模型预估偏高和偏低要怎么办呢?做模型校准哇

什么是模型校准?

模型较准就是模型按照后验值对原始预测值进行校准,输出校准之后的预测值。这里的校准是粗粒度的校准,可以整个模型做一个校准,但通常需要保序,业界常用保序回归的方法,后续会详细介绍。

为什么要做模型校准?

做CTR模型的同学对校准通常会比较陌生,原因是常见的CTR模型在GSP机制下只要保证序关系OK就行,即关注模型的auc、gauc等指标即可,pcoc等指标大可不必纠结。CTR/CVR预估的原因和用法其实与广告出价方式是密切相关的。如果全是CPM出价计费,不考虑广告后端的成本,并不需要CTR模型;同样的,如果全是按照CPC出价计费,CVR模型也是不需要的;如果是做DSP广告参与ADX竞拍的话,CTR模型就不能只考虑序关系了,因为eCPM=CTR模型预测值*CPC出价直接作为出价,与其他广告竞争,最终的计费与eCPM相关,模型预测偏高或者偏低都会影响平台拿量以及收益率的大小。在oCPC广告中,CVR模型预测值直接参与出价,预测值偏高偏低都会影响广告主的成本以及平台的收益。

我们可以看出无论是为了对模型效果的评估还是对广告主以及平台收益稳定的保障,模型校准都是需要做的。如果不做校准的话,可能会出现AB实验涨很多,大盘整体收入反而降低;或者出现模型明明预期无diff,但是上线之后收入突升突降的现象。

怎么做模型校准?

。。。

预知后事如何,欢迎大家关注计算广告那些事儿哈,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!

oCPC中转化率模型与校准的更多相关文章

  1. 总结一下一般游戏中3D模型各种勾边方法遇到的工程性问题

    以前做过简单的rim light勾边,几何勾边,这次又做了后处理的勾边,工程化的时候,都遇到很多问题,简单总结一下. 首先是火炬之光勾边效果,类似轮廓光的实现,简单的卡通渲染也是通过类似的算法加采样色 ...

  2. 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...

  3. ThinkPHP中的模型二

    ThinkPHP中的模型 1.为什么要创建数据对象 案例:使用ThinkPHP完成部门管理 ① 设计数据库 ② 创建Dept控制器 路径:./Application/Admin/Controller创 ...

  4. ThinkPHP中的模型

    ThinkPHP中的模型 1.什么是模型(Model) 模型表示企业数据和业务规则,实际项目开发中,主要实现与数据库进行操作. 2.模型的定义规则 模型类的命名规则是除去表前缀的数据表名称,采用驼峰法 ...

  5. 从3dmax中导入模型到UDK Editor(供个人备忘)

    笔记从3dmax中导入模型到UDK Editor 1)      在3dmax中导出 2)      选择FBX格式,保存 3)      在UDK中打开content browser,自己选个pac ...

  6. Asp.net Mvc 中的模型绑定

    asp.net mvc中的模型绑定可以在提交http请求的时候,进行数据的映射. 1.没有模型绑定的时候 public ActionResult Example0() { ) { string id ...

  7. CSS中盒模型的理解

    今天突然看到一篇关于CSS中盒模型的文章,忽然觉得自己竟然遗忘了很多小的地方,所以写一篇文章来记忆一下 (摘抄于千与千寻写的CSS盒子模型理解,并在自己基础上添加了一些东西,希望更完善,对大家有帮助) ...

  8. 偏差(Bias)和方差(Variance)——机器学习中的模型选择zz

    模型性能的度量 在监督学习中,已知样本 ,要求拟合出一个模型(函数),其预测值与样本实际值的误差最小. 考虑到样本数据其实是采样,并不是真实值本身,假设真实模型(函数)是,则采样值,其中代表噪音,其均 ...

  9. Web API中的模型验证

    一.模型验证的作用 在ASP.NET Web API中,我们可以使用 System.ComponentModel.DataAnnotations 命名空间中的属性为模型上的属性设置验证规则. 一个模型 ...

随机推荐

  1. Android Studio 4.x

    Android Studio 4.x https://developer.android.com/studio https://d.android.com/r/studio-ui/whats-new- ...

  2. CSS BEM

    CSS BEM Block, Element, Modifier https://en.bem.info/methodology/quick-start/ BEM /* Block component ...

  3. search cascade select & AntD

    search cascade select & AntD Antd https://ant.design/components/cascader-cn/#components-cascader ...

  4. 用OkHttpGo和FastJson获取OneNET云平台数据(解析嵌套数组)

    JSON数据格式有两种,一种是 { } 大括号表示的JSON对象,一种是 [ ] 中括号表示的JSON数组.从OneNET获取到的数组是这样的,并用Json解析网址查看https://jsonform ...

  5. 力扣208. 实现 Trie (前缀树)

    原题 以下是我的代码,就是简单的字符串操作,可以ac但背离了题意,我之前没接触过Trie 1 class Trie: 2 3 def __init__(self): 4 ""&qu ...

  6. Flask:处理Web表单

    尽管 Flask 的请求对象提供的信息足以处理 Web 表单,但有些任务很单调,而且要重复操作.比如,生成表单的 HTML 代码和验证提交的表单数据.Flask-WTF 扩展可以把处理 Web 表单的 ...

  7. 【Java进阶面试系列之一】哥们,你们的系统架构中为什么要引入消息中间件?

    转: [Java进阶面试系列之一]哥们,你们的系统架构中为什么要引入消息中间件? **这篇文章开始,我们把消息中间件这块高频的面试题给大家说一下,也会涵盖一些MQ中间件常见的技术问题. 这里大家可以关 ...

  8. 5G时代,为什么NoSQL和SQL存在短板?

    01 介绍 当今的通信服务提供商(CSP)需要能够在处理海量复杂的数据的同时,不会下降或者减慢网路响应速度和可靠性.5G时代,设备和用户数量呈指数级增长,这对业务支持服务(BSS)提出了新需求,也成为 ...

  9. 操作系统---IO权限管理和敏感指令

    简化版 使用IOPL设置一个特权级的用户程序对所有端口的访问权限,使用I/O位图对一个特权级的用户程序设置个性化的端口访问权限(能访问部分端口.不能访问另外的端口). 用户程序的CPL<IOPL ...

  10. 一个 java 文件的执行过程详解

    平时我们都使用 idea.eclipse 等软件来编写代码,在编写完之后直接点击运行就可以启动程序了,那么这个过程是怎么样的? 总体过程 我们编写的 java 文件在由编译器编译后会生成对应的 cla ...