立即下载,稍后阅读
下载我们广告银行案例研究的完整版本
立即下载PDF.帮助需求方平台(dsp)减少预算超支的预算控制系统。
Clearcode为实时竞标的分布式预算管理组件建立了一个分布式预算管理组件,称为银行家,帮助Tech公司防止预算超支,并在构建需求侧平台(DSP)时降低开发时间。
我们的基准测试发现,广告银行家将预算超支从37.2%减少到1.2%
![]()
Tomek Chmielewski, Ad Banker首席运营官和项目经理
我们的一个Adtech开发团队完成了内部研发项目,我们旨在在实时招标(RTB)拍卖期间购买印象时减少DSP的超支。
我们把这个组件称为广告银行家,并把它作为我们AdTech基金会的一部分——一系列用于构建AdTech和MarTech平台的必要组件。
控制广告商的媒体支出是任何需求侧平台(DSP)的主要组成部分。如果它没有正确管理,您将倾向于或超支 - 两者都缺点广告商。
虽然支出不足意味着广告商的广告活动没有达到适当的覆盖率,但超支可能会给DSP供应商和广告商带来大问题——他们可能不得不支付成本——他们将浪费向目标受众展示广告的机会。
在任何给定的网页上,可能有六个左右的广告插槽。每次加载一次,都会向发布者的广告服务器发送广告请求,这反过来会将请求发送到SSP / AD Exchange,然后将其发送到多个DSP。
一旦dsp收到投标请求,他们必须返回一个投标响应,通常在250ms内。
这一过程在互联网上每天发生数十亿次。
由于时间框架非常紧张,DSP需要确保其广告商的预算正常进行管理。
通常,投标人响应出价请求的时间和DSP接收所显示的信息时,通常存在几个第二延迟。当有多种投标人处理大量流量时,此延迟可能导致投标人超支(即出价请求)。
图1:大多数DSP手柄印象跟踪
逐步说明:
在这种情况下,没有适当和有效的方式来管理预算,这意味着超支将会发生。
要强调可能发生超支程度,让我们来看看3个例子:
在DSP中创建广告系列时,广告商和ADOPS指定目标参数,例如位置,设备类型和广告大小。
如果目标过于广泛,则投标人将与广告系列的大量出价请求匹配。这可以同时发生或在几毫秒内彼此发生。
While broad targeting isn’t typically an issue, without a proper budget management system, the bidder will likely overspend the budget as it won’t be notified about the winning impressions, and therefore can’t update the budget, until after the impression has been served.
如果DSP与doooh平台集成,广告商将其广告显示在数字广告牌上,那么,根据许多因素,如doooh平台的设置和媒体购买过程,可能会有很长时间的延迟接收广告已显示的信息。
延迟的时间从15分钟到48小时不等,在这种情况下,您无法准确地跟踪预算支出。
由于DSP的位置,有一些情况,DSP投标人和消费将位于与SSP / AD交换(例如AWS Exber-1)相同的地区。
然而,也可能存在不同DSP组件(如投标人和支出数据库)位于不同地区的情况。
由于不同数据中心之间的延迟,除非添加适当的预算管理组件,否则DSP可能会超支。
为了避免在网络广告活动上超支,我们建立了一个叫做银行家的预算经理。它是基于Edsger W. Dijkstra的银行家算法。
银行家用于确保多个进程(投标人)之间的有限资源(预算)的最佳分布。w88优德中文它允许多个投标人同时接收和响应出价请求,并避免预算超常。
下图说明了银行家扮演的角色以及它如何与其他组件进行交互。
您可以在DSP的更广泛的上下文中看到上面示例(图#1)中的流。将银行家实现为DSP改变了流程,现在看起来如下:
图2:银行家扮演的角色以及它如何与DSP中的其他组件进行交互。
以下是对图像中发生的事情的一步说:
每个广告系列都有自己的预算,使用银行家REST API设置或更新。
在投标人的资源请求发送到出纳的REST API后,部分预算将被扣除并作为预订保存在系统中,由投标人管理。
然后,DSP跟踪未来的预算费用(通过跟踪器),并通过其REST API将数据推送给银行家。
投标人请求的每个资源乘以收银员中的设定值,并将乘以值的预订返回给投标人以便在未来使用(例如,投标人需要1美元,并且收银员获得10美元的预订)。
此功能的目标是保留一定数量的资源(预算),以便在未来的未来拍卖中使用。w88优德中文
乘法值是一个很容易配置的设置(默认设置为10)。这一功能的实现是为了限制投标人和收银员之间的流量。
预算允许ASAP甚至预算分配。
ASAP预算分配旨在迅速花费预算。银行家可以根据要求向投标人提供许多流量,但在任何时候都不超过广告系列,目标组,线项等的可用预算量。
甚至预算分配均旨在将预算均匀地在竞选活动日期内均匀地。银行家计算应花费预算的步伐。每分钟计算每个广告系列的时间。通过每个预订请求,银行家确定所请求的金额是否适合起搏限制。
DayParting是预算分发功能的补充。它允许广告商在一天中的某些时候和一周中的某些日子显示他们的广告,但由投标人而不是银行家管理 - 银行家使用有关日期的信息来均匀地分配预算。
由于我们是一个软件开发公司,从划伤中构建DSP并扩展现有的DSP,我们开发了兼容兼容性的银行家。
在将银行家送到一个新的或现有的DSP时,实际上只有几个领域和要求需要考虑:
投标人必须了解并处理预订。
当投标人收到出价请求时,它应该向收银员的REST API发送预订请求,并使用所需的资源卷。w88优德中文
它必须跟踪已经在其保留期间花了多少资源。w88优德中文如果投标人收到更多的预订,则应在请求更多的情况下花费它,并且必须了解时间 - 如果预留已过期,则应删除它。
当跟踪一个事件(印象、转换等)时,跟踪器应该向出纳员的API端点发送一个包含已消耗量的请求。
预算必须使用银行的REST API进行初始化。
为了测试广告银行家的表现,我们创造了不同的算法
算法 | 描述 |
---|---|
幼稚的 | 一种没有银行家功能的算法。 |
银行家1 | 银行家有1分钟的预订,释放最早的印象预订。 |
银行家5. | 银行提供5分钟预约,根据印象释放最早的预约。 |
Bankerr1. | 银行家有1分钟的预订,从妥善投标时间释放预订。 |
Bankerr5. | 银行家有5分钟的预订,从适当的竞标时间释放预订。 |
幼稚的。没有银行管理员功能的算法:它假定整个预算是可用的投标,因为它还没有收到印象请求,因此没有更新预算。
银行预约1分钟:这意味着银行的预约在释放后的第一分钟内不能再次使用。
......释放最早的印象预订和...从适当的投标时间释放预订:这是指我们如何将对银行家的保留的印象归因于归因于此。
注意:上述测试是使用尽快(ASAP)预算分配模型进行的。如果使用不同的模型,比如步调模型,结果会有所不同。
花费比率代表了给定算法花费了多少竞选预算。
理想的支出比率为1,它代表了竞选型预算的100%。
我们可以看到,朴素算法的最大超支是1.372,这对于1万美元的预算将转化为3,720美元的超支。
下表表示预算量超支在测试阶段产生的每种算法。
算法 | 10,000元预算的最高超支额(最低至最高) |
---|---|
银行家5. | 120美元(1.2%) |
Bankerr5. | 1300美元(13.0%) |
银行家1 | $ 2,950(29.5%) |
Bankerr1. | 2960美元(29.6%) |
幼稚的 | 3720美元(37.2%) |
虽然银行家的目标是尽可能减少超支,但银行家将超过1.2%,达到0%的超支,不太可能没有相当的缺点。
这是实时招标(RTB)平台之间的常见情况,由于交通,创意类型和接收胜利通知中的延迟。