[译] 解密 Google 的营销归因模型最佳实践

HarryZhu

假设你是一个市场营销人员,你在进行一个市场营销活动。你想知道这个活动实际上的效果如何。可以看的指标比如说,你的网站流量,注册,转化率,或者任何你希望提高的东西。

或者,让我们假设你是一个产品人,然后你想知道一个特定的功能或者产品发布实际上是如何影响用户活动的,他们在产品上花费的平均时间,等等。

这听起来很简单,因为你只需要比较活动前后的测量值(如营销活动) ,或者比较两组测量值(如 A/B 测试)。但是,实际上很难在现实世界中衡量这种影响,因为有许多属性可以影响结果(例如页面浏览量)。这就是所谓的噪音。

谷歌也遇到了同样的问题,Kay Brodersen 和谷歌的团队建立了这个叫做“因果影响”的算法来解决这个问题,并将其作为一个 r 包开源。

基本上,它建立了一个基于多个可比对照组(或市场)的贝叶斯结构时间序列模型,并使用该模型来预测(或预测)事件发生后时间段的一系列基准值。

所以,假设我们的网站在日本有如下独特的页面浏览量。

Image for post

Image for post

红色圆圈代表我们进行营销活动时的页面视图。这就是我们所说的影响事件,它可以是一个公关公告,一个新版本产品的发布等等。

现在,通过因果影响算法,我们可以基于其他国家的页面视图数据建立一个模型,来预测同一时间段的一系列预期值,假设这些国家没有发生这样的影响事件。这是一个基线,表明了如果没有这次事件,我们在日本的预期数字。如下面的橙色线所示。

Image for post

Image for post

一旦我们得到了这个基线,我们就可以计算两行之间的差异,实际值(蓝线)和预期值(橙线) ,并将这些差异作为事件的实际影响。下面的绿线代表真实的影响。

Image for post

Image for post

我们可以累积自事件发生以来所有受影响的值,并查看任何给定点以内的总受影响值。下面的紫色线条表示这个。

Image for post

Image for post

这样,我们就可以更好地衡量此类活动(例如市场推广活动)的投资回报率(ROI) ,即使我们不确定该活动是否是唯一的影响来源。因果影响算法帮助您快速获得这些信息,以便您可以充满信心地及时调整您的行动。

通过 Exploratory v3.5,我们在营销影响分析中添加了这个因果影响算法支持,以便我们的用户能够快速访问这个算法,并以统计的方式调查这些事件的影响。

首先让我们看一下因果影响算法,然后我们可以看一下如何在 Exploratory 内部访问它。我将继续使用市场营销活动作为一个例子,以使它更容易理解,但当然,这个算法可以用于不仅仅是评估市场营销效果。

因果影响算法简介

关于因果影响算法是如何工作的,有一些事情需要了解。

如前所述,该算法的核心是建立一个基于多个控制组的贝叶斯结构时间序列模型,并在调整控制组测试组之间的大小差异后构造一个综合时间序列基线

那么什么是对照组测试组呢?为了简化这个问题,可以将 Group 看作市场,如日本、美国、西班牙等。

对照组 vs. 测试组

控制组是我们没有事件,如营销活动,因此我们不希望看到任何影响,衡量我们的兴趣的事件。

测试组是我们举办这次活动的地方,并且期望在一定程度上对我们兴趣的衡量产生影响。

例如,如果我们在日本进行营销活动,我们想知道这个活动对页面浏览量有什么影响,那么日本是测试组(或市场) ,其他国家如美国、西班牙等是控制组(或市场)。

基线

那么,什么是“综合时间序列基线”呢?

这基本上是一系列我们期望的没有影响事件的值。为了预测这些数值,与其他典型的预测/预测算法不同,这些算法会根据测试组本身过去的数据建立预测模型,该算法基于对照组事后时间段的实际数据建立模型,并预测基线值。

这意味着,控制组需要与测试组相似或相关,以便算法能够以可靠的方式预测测试组的基线值。

相关对照组

那么如何选择“相似或相关”的对照组呢?

因果影响算法可以通过在回归系数上放置一个尖峰和平板先验分布,从给定的数据中自动挑选出最有用的组。

但是 Kim Larsen@Uber 在他的 MarketMatching R包页面 上介绍了一个更好的方法。注意,这并不是要替换因果影响算法的控制组选择逻辑,而是通过添加额外的选择步骤作为预处理来补充它。

假设我们有日本和美国的独特页面访问量数据,如下所示。

Image for post

Image for post

我们可以简单地运行相关算法来计算这两个组之间的相关性,但是这会忽略大小。我们可以做的另一种方法是计算线之间的欧几里德距离。然而,在时间序列数据上计算这些数据可能有点棘手,因为有一种称为“临时移位”的现象,这种现象经常发生在时间序列数据上。简单地计算这样的距离就可以忽略这样的变化,并假设它是更远的距离。

看看下面的图表。

Image for post

Image for post

这两条线并没有在完全相同的时间上的起伏,但是通过观察它们,我们可以看到两条线之间的一些相似之处。下面曲线(黑色)的高和低比上方曲线(红色)的来得晚一点。因此,根据一对一的映射来计算距离,也就是同一时间轴点上两个数据点之间的差异,可以忽略这种“临时移位” ,并且可以将这两条线标记为“不同”而不是“相似”。

这就是动态时间规整技术的用武之地。DTW 技术允许在计算距离时进行一对多的映射。换句话说,它可以计算一行的5月1日和另一行的5月1日、2日、3日之间的距离。所以它可以看起来像下面。

Image for post

Image for post

The above images are from this blog, which describes this technique very well using R.

上面的图片来自这个博客,它很好地描述了这种技术使用 R。

利用 DTW 算法,我们可以实际计算出这两条线的距离,因此可以认为这两条线比没有 DTW 算法时更相似或更相关。当然,在 R 中有一个名为dtw的包可以实现这一功能!这就是为什么我喜欢 R!

因此,基本上我们可以使用 DTW 算法来找到最相似的控制组到测试组,并将它们作为预测器传递给因果影响算法,然后让算法产生奇迹!

这就是我们如何实现探索性因果影响算法支持。不仅使得访问算法变得更加容易,而且我们还尝试通过自动化控制组选择,使得使用默认设置生成高质量的结果更加容易。我们称之为市场影响分析

现在,让我们看看如何在 Exploratory 中使用它。

如何在 Exploratory 中使用它?

示例数据和场景

我们将使用谷歌分析数据。它有《时代》、《国家》和《独特页面浏览量》栏目,因此我们可以看到从2016年9月到2017年6月期间按国家分列的150个国家的页面浏览量。

Image for post

Image for post

现在让我们假设,我们在2017年5月10日在日本进行了一次营销活动,我们想知道这次活动是否对独特的页面浏览量产生了影响。这里需要注意的一点是,我们没有在美国、英国、西班牙等其他国家开展这样的活动。

配置基础

我们可以通过选择“运行分析”-> “运行市场影响分析”下的加号按钮进入市场影响分析

Image for post

Image for post

首先,设置一个包含日期/时间信息的时间轴列。

Image for post

Image for post

您可以设置时间数据的分组方式。例如,与其按小时进行比较,不如按天进行汇总。

接下来,您需要选择一个度量列,在本例中,即“ uniquePageViews”列。默认情况下,我们可以保持聚合函数为‘ sum’。

Image for post

Image for post

现在,您可以设置一个包含 Control 组候选项的列,在本例中是 Country。

Image for post

Image for post

设置哪个值是 Test 组,在本例中,是日本。这将计算距离日本和所有其他国家之间使用 DTW 算法内部。最后,设定活动日期,这是我们开展营销活动的时间。

配置附加参数

有许多参数可以微调右侧的模型,但是下面两个值得在这里提及。

建立基线的市场数目

设置要使用多少个市场来构建综合基线。它将根据上面提到的 DTW 算法选择最相似的市场,然后将它们传递给因果影响分析算法。

Image for post

Image for post

缺失值处理

在时间序列数据中存在 NAs 是很常见的。例如,你的网页可能每天都有来自美国这样的国家的访问,但可能没有来自尼泊尔这样的国家。所以我们提供了一些选项来填补 NA。

  • 特定值 -- 默认值为0
  • 样条插值
  • 线性插值
  • 上一个值

Image for post

Image for post

理解结果

运行它之后,您将在结果数据中获得一系列度量值。

Image for post

Image for post

让我们逐一将它们可视化,以便更好地理解结果数据。

实际

这是表示日本在时间轴上的独特页面浏览量的实际值。

Image for post

Image for post

赛事时间实际进场人数

这表示事件日的页面浏览量。它只对事件日有价值,其他日子填充NA。最好在图表中使用它来指示事件发生的时间,因此您希望将标记设置为‘ Circle’ ,而不是默认的‘ Line’。

Image for post

Image for post

预料之中

这是基于控制组的模型构造的合成基线。下面的绿线表示这个基线。

Image for post

Image for post

你可以通过点击属性菜单并选择‘ Range’来显示置信区间。

Image for post

Image for post

影响

这基本上是实际值和预期值之间的差异。你可以把这个数字看作是营销活动带来的页面浏览量,因此得名“影响力”。下面的红线表示这个。

Image for post

Image for post

累积影响

这只是自事件日期以来累积的影响值。因此,您可以将其视为营销活动在给定时间点之前带来的总页面浏览量。紫色的线条表示了这一点,我们可以看到,到目前为止,该事件带来了3795个独特的页面浏览量。

Image for post

Image for post

哪些市场被用作控制组?

如上所述,‘市场影响分析’通过使用动态时间规整算法自动运行预测器(控制组)的选择,并将选择的预测器传递给幕后的因果影响算法。因此,这里显而易见的问题是,哪些市场最终被用于这种模式?

你可以在市场影响分析配置对话框中将“输出类型”参数设置为“市场候选人排名”

Image for post

Image for post

这将产生一个包含距离、相关性和排名数字的市场(或国家)列表。

Image for post

Image for post

正如您所看到的,排名仅仅基于距离排名(dist_rank) ,但是您可以通过像下面这样改变对话框中的权重设置来混合距离和相关性。

Image for post

Image for post

这将产生一个略有不同的排名。

Image for post

Image for post

正如您已经看到的,您可以快速访问这个神奇的 “因果影响分析” 算法的精彩之处。有了 动态时间规整算法 的帮助,选择最好的控制组可以更容易地产生更高质量的结果。

我们称这个功能为 “市场影响分析” ,当然你也可以把它用在其他科目上,超越市场营销的世界。例如,如果你有一组学区的学生测试结果相似,而你只在一两所学校尝试了不同的课程,你可以使用这个算法来衡量影响。市场影响分析可以产生巨大影响的用例还有很多。(不是双关语!) 😎我期待着听到您将如何使用它为您的具体用例!

快乐市场影响分析!🍾

如果你还没有 Exploratory Desktop,你可以从这里免费注册。如果你现在是一名学生或老师,那么它是免费的!

参考资料

原文作者: Kan Nishida 译者: Harry Zhu 英文原文地址:
https://blog.exploratory.io/a...

作为分享主义者(sharism),本人所有互联网发布的图文均遵从CC版权,转载请保留作者信息并注明作者 Harry Zhu 的 FinanceR专栏:https://segmentfault.com/blog...,如果涉及源代码请注明GitHub地址:https://github.com/harryprince。微信号: harryzhustudio
商业使用请联系作者。

阅读 417

FinanceR
循环写作,持续更新,形成闭环,贵在坚持
2.2k 声望
2.1k 粉丝
0 条评论
你知道吗?

2.2k 声望
2.1k 粉丝
宣传栏