文章来源:AlphaSue https://zhuanlan.zhihu.com/p/139244173

背景

任何一个广告投放体系在商业化的过程中必须考虑的两个因素就是,投放成本、投放量. 只有投放成本低于整个商业链条中可接受的成本,这个商业模式才能够成立,而投放量决定了这个模式能够有多大的规模。

成本控制是衡量广告投放能力最直观的指标。广告主、业务人员,在使用广告投放系统(例如dsp)时,与这个产品进行交互,设定成本,能够最直接感知到的就是实际投放成本,不失一般性的,我们这里讨论一种最简单的成本,cpc(cost per click). 在实际投放过程中,由于模型预估ctr不可能非常精准,甚至会有量级的差异,再加上二价的机制,都会导致 实际投放出的cpc和目标cpc严重不一致,导致成本不可控。而出价体系就是为了保证投放cpc符合预期。出价策略对于广告投放体系,就类似于GUI对于计算机的重要性,直接影响了用户体验.

PID算法是控制理论中,最简单,但也是应用最广泛的一种控制方法,如果你对PID算法不是很了解,强烈建议先看完这篇通俗易懂的介绍。

确定有穷自动机:PID控制算法原理(抛弃公式,从本质上真正理解PID控制)((https://zhuanlan.zhihu.com/p/39573490))

接下来就介绍下P、I、D在控制cpc时分别代表什么含义,以及大概的调参方法.

PID在控制cpc中的应用

不失一般性的,我直接给出一个最简单的出价公式,目标是控制cpc,同时最大化点击数,结算方式为ecpm. bid = (cpc + lambda) * ctr * 1000

其中cpc为设置的目标cpc,lambda为使用pid来调整的系数, 假设每隔1h来调整一次,如果实际cpc偏低,那么就增大lambda,这样出价就会增大,反之亦然. 显然,这里的K_p,K_I 为正.

关于P

K_p是比例系数,假设目标cpc 0.4, 实际cpc 0.2 误差是0.2,K_p 越大,反应幅度就会越大,新的lambda 就会增加很多,出价就会增加很多,但是K_p不能够过大,不然会导致超调,出价过高. 所以K_p代表了 根据当前误差反应的比例。

关于I

I的存在是为了解决稳态误差。

假如我cpc偏低,每小时我都在提高价格,但是市场价格(出价第二高的广告主出价)也在下降,所以,虽然每个小时我都在提价,但是由于市场价格在降价,导致我每次提价cpc都没有提上去. 像这种如果一直存在,我们称之为稳态误差. 积分的存在就是 通过过去差值的经验来调整出价,来消除这个稳态误差.

但是,实际投放过程中基本不会存在这样的稳态,因为竞价系统是动态的,只能说市场价格可能随着时间有些固定的变化,但是变化并不一定是稳定方向,所以 I值在实际使用中需要慎重,如果设置特别大,会导致上个小时已经不存在的误差,影响到当前小时,所以I即使要使用,最好设置的非常小.

关于D

D项被称为微分项,当两次调控间隔十分小,(error_t - error_t-1) / 1, 计算的就是斜率,如果间隔十分小,那么这个斜率就可以一定程度体现出下次error的走向,这也是为什么说 微分项代表未来。但是,如果两次间隔十分大、或者噪音非常多,微分项的作用就不大了。对于一个小时调控一次的PID调价,D项可以为0. 实际上, 很多PID控制器仅用PI就已经足够了.

总结

简单的说,P代表现在,I代表过去,D代表未来。在实际应用中还是需要考虑 具体参数大小,可以通过grid search, 根据响应时间、超调量、稳态误差指标,来综合选择PID值. 除此以外,面对一些紧急情况还是需要添加一些规则的,毕竟非常时期,采用非常手段.

PID调价同时也存在着一些缺陷,简单泛化能力强是优点也是缺点,只需要根据设定cpc和实际cpc的反馈就能够调节。但是,在某些固定场景下,cpc的波动会呈现固定的pattern,例如在某几个小时流量质量特别好,cpc会特别低,这就需要使用机器学习来记忆到哪些campaign在哪些时间点需要提高价格,使用强化学习出价在充分利用投放数据、建立MDP模型、序列化决策这些方面 就有了天然的优势. 如何搭建有效模拟环境、训练出有效的agent、使用RL出价便是另一个非常大的问题了.

那么整体来说,调价也只是出价体系的一小环节,除此之外还有出价公式的设计、预算分配等等问题. 而出价体系在整个广告投放系统也是其中一个环节,但起着至关重要的作用.

广告出价--如何使用PID控制广告投放成本相关推荐

  1. oCPC:计算广告出价策略

    " 本文介绍了计算广告中的基本概念以及oCPX广告的优化目的,出价规则,可能面临的问题和一些思考." 作者介绍:刘达,现于腾讯任职研究员.从事计算广告.内容推荐相关工作.[长期收简 ...

  2. 如何控制Facebook投放广告成本,提高利润?

    我为什么要写这篇文章呢?是因为之前有一位朋友跑facebook广告的朋友说,虽然他最近的订单不错,但他无法控制广告成本,导致收入减去成本的利润很低,他自己得到的佣金仍然不高.最近,我刚刚遇到了这个问题 ...

  3. 如何控制Facebook投放广告成本?

    一,Facebook广告成本高的原因和常见问题 广告的成本很高,因为我们需要扩张 正如前几篇文章所说,我们所要做的就是扩大对表现良好的产品和广告的广告. 有两种扩展方式: 这个过程也是我们的AD优化测 ...

  4. 信息流广告 html5,5分钟让你看懂“信息流广告出价”是怎么回事

    来源:Smarketing 作者:左逸舟 一.了解出价之前,我们先了解一些术语 M→Mille,Thousand Impression,千人广告曝光量.适合品牌类广告主,更看重品牌曝光而非具体转化的. ...

  5. 小程序也能接广告了,微信小程序广告位投放指南!

    小程序也能接广告了,微信小程序广告位投放指南! 3月15日消息,据爆料,微信已经开始秘密测试在小程序中投放广告,并且流传出了一份<微信小程序广告位投放指引>,意味着微信小程序已经准备开启广 ...

  6. 优化Facebook广告ROI的数据驱动方法:从投放到运营

    "投放广告并不是最终的目的,关键在于如何最大程度地利用数据驱动的方法来提高广告投放的回报率(ROI)" Facebook广告是现代数字营销中最为常见和重要的广告形式之一.但是,要让 ...

  7. 防水行业在vivo投放广告有效果吗?vivo广告开户全国代理商!

    一到下雨天咱们的房屋或多或少的都会存在漏雨的情况,所以这会就有了一个新兴行业--防水.现在咱们做防水不和以前一样,开着摩托车在大马路上跑,现在客户做推广都是在网络上进行一个广告推广. 一般我们都会给广 ...

  8. 魔绑广告病毒感染量提升 ROOT控制手机并下载其他病毒

    近期,基于腾讯手机管家产品服务的腾讯移动安全实验室/反诈骗实验室监控到一款广告病毒的感染量有所提升,该病毒通过重打包将恶意代码嵌入到一些正规应用中,并通过一些广告渠道推广到用户手机,一旦进去用户手机后 ...

  9. 趣头条推广二类电商的广告效果怎么样?趣头条广告投放的展现形式

    在平台发展初期,趣头条利用浏览资讯赚钱的模式,积累了大量的用户,广告主们当然不能错过这一波流量红利,那么二类电商的广告适合投放这个平台吗?这个平台推广电商的广告效果到底怎么样呢? 首先我们就要先来了解 ...

最新文章

  1. 转:中国互联网十五年的22个创新模式
  2. 用tabbar mode为Emacs建立ta
  3. Jenkins报错‘Gradle build daemon disappeared unexpectedly‘的问题解决
  4. matlab与音频处理
  5. 【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真
  6. php 字符串截取_网络安全WEB之PHP代码审计,攻防世界题目warmup
  7. oracle group by ,having ,order by
  8. linux ls 目录结构,linux 系统目录结构 ls命令 文件类型 alias命令
  9. (2015秋) 软工作业成绩公布
  10. R语言 par()函数
  11. 如何快速构建一个 Spring Boot 工程?
  12. mfc 二进制转换成图像_图像相似度---感知哈希算法(phash)---用matlab实现
  13. sklearn实践之——计算回归模型的四大评价指标(explained_variance_score、mean_absolute_error、mean_squared_error、r2_score)
  14. 离线版Google Chrome Frame下载
  15. 小白入门必看 ‘微信小程序地图定位开发教程‘
  16. 计算机主机名称在哪里,Mac修改主机名和计算机名
  17. mysql怎么截取时分秒_mysql获取表中日期的年月日时分秒
  18. Win7系统重装账户被禁用的解决方法
  19. Java2.28~2.29学习笔记
  20. 立创开源|USB示波器+信号发生器+USB存储 三合一

热门文章

  1. [leetcode] 198.打家劫舍
  2. python封装成exe后运行失败_Python的带pandas包的程序封装成exe 2018-01-11
  3. python笔记之scrapy
  4. python笔记之序列(set的基本使用和常用操作)
  5. eslint 保存自动格式化_ESLint一款可组装的JavaScript和JSX检查工具
  6. python根据坐标点画线_拖动鼠标绘制一条线,并在opencv中获得线端点的坐标Python...
  7. mysql函数时分秒转换_mysql函数 秒转换成时分秒
  8. mysql卸载工具下载_MySQL的卸载、下载与安装
  9. c语言字符密码验证码,c语言下的学生管理系统(含密码加密和验证码).docx
  10. java与c 通信_Java与C之间的socket通信