论文- Revenue Debugging in Advertising Systems

1-概述

该篇论文主题是广告系统中针对广告收入异常波动根本原因分析;

提出的Adtributor算法主要是基于指标期望值和实际值的分布,计算其js散度,找到影响指标最大的维度及其维值集合。

此外,论文也针对衍生指标的根因分析方法做了讨论(这块没有深入看)

2-问题&引入

针对一组维度(每个维度多个维值)下指标,如数据中心、广告商、终端设备这三个维度下的广告收入,如果某天广告收入剧降50%(期望100,实际收入50),那么需要定位到到底是哪个维度下哪些维值导致的广告收入的剧降---简单理解为找到对广告收入波动影响最大的因素(维度->维值);

论文- Revenue Debugging in Advertising Systems_第1张图片

如何找到引发广告收入波动的主要因素,作者引入下面辅助概念/方法:

Boolean表达式

      作者用一个boolean表达式量化表示出广告收入的波动影响,针对上面三个分维度的广告收入波动情况表中,可以表示为:

论文- Revenue Debugging in Advertising Systems_第2张图片

稻草人方法(strawman approach)

      根因分析如何找到最优解: 作者提出了一个稻草人方法(strawman approach):找出维度和该维度下一组元素,其收入下降至少是总收入下降的阈值分数TEP,并且最简洁。

explanatory power (EP)-解释力

      作者定义explanatory power (EP)-解释力量化为它解释度量变化的分数。 我们将一组元素的简洁性(P)量化为表达式中元素的总数。 因此,稻草人将找到具有至少TEP的解释力的表达式,并且使用最少数量的元素。

由上面三个定义,如果使用Occam剃刀原则-简单有效原理--只要在一定误差范围下,最简洁的就是最好的解释。针对上面三个boolean表达式,设置TEP阈值为90%,那仅数据中心下维值X就可以解释总下降的94%;但是这种方法在存在多个维度时具有导致根的缺陷,虽然数据中心X的收入下降占总收入下降的94%,但预测和实际收入在两个数据中心X和Y之间平均分配。数据中心X提供了94%的预测收入(94美元中的 100美元)和94%实际收入(50美元中的47美元)。 数据中心Y在两个价值中贡献了6%。 相比之下,在设备类型维度中,设备类型PC占预测收入的50%(100美元中的50美元),但实际收入的98%(50美元中的49美元)。 移动和平板电脑类型的贡献也有很大差异,从预测收入的25%到实际收入的0%。 贡献因广告尺寸而异,但不如设备类型尺寸那么多。

作者提出,针对广告收入根因分析可以拆解三块:

对于维度,找到至少解释度量变化的阈值分数TEP的所有元素集(具有高解释力)。

在每个维度的所有此类集合中,找到该维度中最简洁的集合。

对于所有维度的所有此类集合,找到在贡献变化方面最令人惊讶的集合。

3-算法核心

3-1 基础定义和核心概念:

符号定义

论文- Revenue Debugging in Advertising Systems_第3张图片

Explanatory power

      EP:该维度i的维值j的实际波动占总体波动贡献

EPij = (Aij(m) − Fij )/(A(m) − F (m))

Surprise

      先计算每个维度的元素预期指标占比分布和实际指标占比分布:

论文- Revenue Debugging in Advertising Systems_第4张图片

获取这两个占比后,一般是使用K-L散度来衡量两个分布的差异,但是由于K-L散度非对称且可能无界,所以使用JS散度来表示:

针对每个元素,其surprise Sij这样计算:

3-2 算法流程

其伪码计算流程如图:

论文- Revenue Debugging in Advertising Systems_第5张图片

算法使用了以下贪婪的启发式算法,而不是枚举具有至少TEP解释力的各种最小基数子集。在每个维度中,在计算所有元素的surprise(第1-5行)之后,它首先按照surprise的顺序对元素进行排序(第8行)。然后,只要该元素至少解释了总异常变化的TEEP(第12-15行),它就会将每个元素添加到候选集中。参数TEEP有助于控制集合的基数(奥卡姆剃刀)。例如,如果TEEP为10%且TEP为67%,我们最多可以有7个元素来解释异常变化。此外,通过将suprise倒序排列,贪婪地寻求最大化候选集的suprise。 该算法每个维度最多添加一个候选集(第16-19行),只要该集合能够解释异常变化(解释力)的大多数(TEP)。 最后,该算法按照其惊喜值对各种候选集进行排序,并将前三个最令人满意的候选集作为潜在的根本原因候选者返回(第21-22行)。

算法最终输出是Suprise的top3的元素集合(每个维度有一个Suprise)

你可能感兴趣的:(论文- Revenue Debugging in Advertising Systems)