2011-08-10 30 views
6

假设我有10个广告展示在网站上。在一个月内平均投放广告的平滑算法

如果在给定的月份内要将广告1显示为100K,那么您将如何平均/平稳地在一天中显示这些广告?

我必须考虑流量峰值,所以我不能简单地将30天分为每天100K或3K次展示。

是否有这种类型的问题域的公式?

+0

有关交通高峰的事情是模棱两可的。如果尖峰是在一天内,那么在一个月中的所有日子均匀分裂是没有问题的。如果峰值是星期内,则可以使用预期流量的直方图,然后更改比例,以使计数等于您必须具有的总展示次数。 – Tipx

回答

9

嗯,一方面你不知道你的网站会有多少次访问,所以你不能确保每个广告都会显示正好 X倍。例如,如果广告1要显示100K次,而广告2要显示200K次,但您只能访问15万次,那么您无法满足任何需求。另一方面,如果您获得60万次访问,那么每隔一次访问就应该没有广告。但是你无法事先预测这一点。

因此,我建议tskuzzy同样的东西 - 随机选择广告,但调整它们的概率,以便他们接近正确的数量的意见。而且,当然,请跟踪每个广告的展示次数,并在达到限制后将其从轮播中移除。

让我们来看一个例子。假设你有两个广告。广告1仍需要再展示7天,并且需要获得70K以上的观看次数。广告#2需要再显示10天,并且需要20K以上的观看次数。所以,广告#1应该平均每天显示10K次,而广告#2 - 每天显示2K次。因此,广告1的概率应该是10 /(10 + 2)= 5/6,而广告#2的概率应该是2 /(10 + 2)= 1/6。因此,对于每12K次观看,您将平均获得1K广告的10K次观看次数,以及2次广告的2K次观看次数。这是你需要的。

在每天开始时重新计算这些概率,并且只能同时添加新广告。如果您在一天中添加新广告,这会使事情变得复杂。但是,如果你计算时间以秒为单位,而不是以天为单位,那么它也可以工作,所以你也可以这样做,以获得更高的准确性。如果您经常重新计算所有内容,请留意性能。

+0

+1。伟大的回应 – Vlueboy

2

计算广告的相对比例,并在一天的任何给定时间以该概率显示广告。

假设你有3个广告:

Ad 1 - 1000 impressions 
Ad 2 - 5000 impressions 
Ad 3 - 4000 impressions 

你会显示广告的时间110%,广告的时间为2的50%,而广告的时间为3 40%。每次展示广告时,都会相应地更新剩余展示次数和概率。

+0

您还需要在投放广告时减少计数和更新概率。 – job

+0

当然。我们现在不想放弃免费广告吗? :) – tskuzzy

0

尝试搜索字符串,如"ad swapping" +algorithm"ad round-robin"。 Google没有为第一次搜索返回任何有用的内容;尝试duckduckgo.com。 Vilx-给予了很好的回应。我只想添加缺少的内容:

提问者暗示说,他担心在很短的时间内,很高的秒杀(“slashdot效应”)提供商会耗尽所有轮换的广告。这可能直到实际发生之后才会被考虑到,而且这听起来像他的公司没有足够大的力量来解决这个问题。尽管如此,今天的web-2.0病毒式“15分钟的名气”使这成为一个非常现实的问题。

因为没有人愿意为广告浪费而带来“非多元化的受众”,所以会有非技术性问题无法用代码解决。

这导致唯一的可能反应:准备在广告合同的极端恶劣的例外条款要么勾勒出一个补偿/再imbursement%政策(不公平的海报的广告总代理公司)或完全停止投放广告一样预期(如某些股票,有时甚至整个股票交易所在某些情况严重错误时完全停止所有交易 - 美国在线昨天就这样做了)。毕竟,上百万个广告全部送达!您现在可以开放新客户! (并失去旧的)。中间政策必须达成,但不平衡是常见的...毕竟,我们知道当您完全使用您的网站的带宽时,会发生什么情况 - 关键信息和/或粗鲁的计费信息显示承租人没有获得不公平的服务超出了他们签订的流量......封锁的电话数据计划是另一个例子......您要么额外付费并失去客户,要么停止提供果汁,也要失去它们。失去/失去,所以有人必须放弃一些合同的力量,这是由销售部门而不是像我们这样的编码员。

这还必须进行模拟,以查看当您仅在一天内为一百万个计划广告自动投放了一百万张和一张广告时,网页如何显示“空”广告 - 毕竟,没有人喜欢看到零广告其他29个工作日!

这是一个棘手的问题,因为内容提供商(使用由广告制作商补贴的网页的博客)也可能因为达到您的托管服务强加的带宽限制而发疯......所有与您的广告同时发生收入提供商会为您的中型企业带来某种业务问题。这可能在大学电子商务课堂上讨论过,并不是任何人都可以解决的。

+1

“因为没有人愿意支付广告浪费在带来”非多样化的观众“的尖峰”< - 这是不正确的。很多公司甚至更喜欢他们的广告针对特定的受众。 – Tipx

+0

你在这里找到哲学,寻找技术回应:) – codecompleting