RTB 也就是 Real Time Bidding 是近几年新兴的广告行业.拿 adsense 来说吧, 我们在博客上比如放上 336×280 的广告位,同时 adsense 设置里又允许 Ads Networks
这样在用户打开该页面时, adsense 会联系 比如 pinyou 广告交易平台 (Ads Exchange), 那么 AdX 会组织一次竞价,可以理解成广告出租位拍卖.并会将多家 DSP (也就是 Demand Service Platform 需求方平台) 发送当前用户的一些信息,还有URL,User Agent (含有一些浏览器的信息), 等.这时候 DSP也就可以决定是不是要拍了, 如果要的话给钱多少.
当然DSP需要在 100ms 内做出决定(硬规定),太慢广告显示慢会影响用户体验.出价最高的得到展示广告的机会,但需支付出价第二高的费用,这个和 Ebay 有点类似.
为什么要这么麻烦呢?这里有一个定向投放广告的用途,比如一个老奶奶上上网,你给她投放跑车的广告就是浪费,因为基本上不可能有转换率(也就是真正感兴趣的用户点击广告并注册什么的;一般来说广告主对于什么样的行为是有效的转化会有自己的定义).DSP的存在是利用技术手段帮助publisher~advertiser实现利益的最大化.
DSP需要快速的决定竞拍的价钱,这里头就有学问了.根据已经有的信息进行大数据分析得到一个竞价模型.这个模型可以很简单也可以很复杂,可以考虑很多因素.比如周末的点击率要比平时的低,比如用IE的人更容易去点(文化水平比较低?),比如广告位置也有关系,Above the fold 和放右边的广告比较有人点, 等等.
2013年, 品友公司 有一个100万元的RTB算法大赛, 我也就打打酱油. 参加了三季, 但榜上有名的是第一季和第二季.
举办方有提供一些数据下载用于分析统计,并因此得到数学模型. 最后面实现的时候只需要完成 一个 getBidPrice 的函数就可以. 如果是随机的,也就是每次出价完全随机,实现则是:
def getCTR(self, bidRequest): ctr = random.random() return ctr def getBidPrice(self, bidRequest): bidPrice = -1 ctr = self.getCTR(bidRequest) if ctr > self.baseCTR: bidPrice = 300 * ctr return bidPrice
这样的模型并不能得到最优解,但是表现也不至于太差太差.至少在所有数据面前, 表现都很稳定,不会出现模型依赖某些数据(过分拟合的现象).
其实, 简单的可以用机器(统计)学习算法, 比如 Bayes 算概率, 可惜当时对机器学习不太了解.
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK