Skip to content

Latest commit

 

History

History
177 lines (92 loc) · 13.3 KB

ab-testing-data-science-interviews.md

File metadata and controls

177 lines (92 loc) · 13.3 KB

如何在 A/B 测试数据科学面试中表现出色

原文:www.kdnuggets.com/2021/04/ab-testing-data-science-interviews.html

评论

Preeti Semwal,数据科学与分析领袖


我们的前三个课程推荐

1. Google 网络安全证书 - 快速进入网络安全职业道路。

2. Google 数据分析专业证书 - 提升你的数据分析技能

3. Google IT 支持专业证书 - 支持你的组织的 IT 工作


图片由 bruce mars 提供,来源于 Unsplash

A/B 测试是一项需求量大的技能,常在数据科学面试中被考察。然而,针对 A/B 测试面试的资源非常有限。在我 15 年的职业生涯中,作为数据科学的招聘经理,我发现大多数候选人在这些面试中表现不佳。实际上,实验领域一直在发展,每年都有新的概念和方法变得更加相关。这意味着,即使是经验丰富的数据科学家,也可能在面试中感到困惑。

在这篇文章中,我们将进行一次模拟面试,帮助你了解面试官在寻找什么以及如何应对这些面试。为什么要进行模拟面试呢?作为数据科学家,我们有时在沟通上会遇到困难,心中有一个模板会大大有帮助。就我个人而言,当我能够想象一个高风险的情境及其可能的发展时,这有助于我在心理上更好地准备、有效应对压力,并整体上表现更好。

我们将使用一个来自Doordash的例子,这是一家移动应用在 iPhone 应用商店中排名第一的食品配送公司。他们通过实验不断改进他们的应用,并在数据科学面试中寻找强大的实验技能,特别是在产品数据科学或产品分析角色中。

问题

面试官 — Doordash 正在扩展到便利店配送等其他类别。他们的通知过去取得了良好的成功,他们正在考虑发送应用内通知以推广这个新推出的类别。

你会如何设计和分析实验,以决定是否应该推出通知?

解决方案

第一部分 — 提出澄清问题以深入了解业务目标和产品功能细节

面试官关注的内容 -

你是否在详细讨论实验之前先陈述了产品/业务目标?在不知道产品目标的情况下讨论实验是一个警示信号。

面试者 — 在开始实验细节之前,我希望确保我对背景的理解是正确的。像这样的功能可能有多个目标——例如增加新用户获取、提高该类别的转化率、增加该类别的订单数量,或增加总订单价值。你能帮我理解这里的目标是什么吗?

面试官 — 这是个很好的问题。通过应用内通知,我们主要是想提高新类别的转化率——即登录应用的所有用户中,有多少用户在新类别下单。

面试者 — 好的,这很有帮助。现在我还想更多了解通知的内容——消息是什么,目标受众是谁?

面试官 — 目前我们没有提供任何折扣。消息仅仅是告知用户我们有一个新类别,他们可以开始从中下单。如果实验成功,我们打算将通知推广到所有用户。

面试者 — 好的。感谢提供这些背景信息。我现在准备深入探讨实验细节。

第二部分 — 陈述业务假设、原假设,并定义需要评估的指标

面试官关注的内容 -

除了主要指标之外,你是否考虑了次要指标和保护性指标

面试者 — 也就是说,业务假设是,我们期望如果我们发送应用内通知,那么新类别的每日订单数量会增加。这意味着我们的**原假设(Ho)**是由于通知的存在,转化率没有变化。

现在让我陈述一下我们在实验中需要包括的不同指标。由于通知的目标是提高新类别的转化率。因此,这将是我们的主要指标。在次要指标方面,我们还应关注平均订单价值,以查看其影响。可能会出现转化率提高,但平均订单价值下降,从而导致总体收入降低的情况。这是我们可能需要注意的。

我们还应考虑保护性指标——这些是对业务至关重要的指标,我们不希望通过实验对其产生影响,例如在应用上花费的时间或应用卸载等。有没有这样的指标我们需要在这种情况下包括在内?

面试官 — 我同意你选择的主要指标,但你可以忽略这个练习中的次要指标。在防护指标方面你做得很对。Doordash 希望在涉及到他们的应用时对任何功能或发布保持谨慎,因为我们知道,安装了应用的客户的生命周期价值要高得多。我们希望小心,以免驱使用户卸载应用。

面试者 — 好的,这很重要。所以我们将把卸载百分比作为我们的防护指标。

第三部分 — 选择显著性水平、功效、最小可检测效应(MDE),并计算测试所需的样本大小和持续时间

面试官关注的内容 -

你对统计概念和样本大小及持续时间的计算的了解

你是否考虑了网络效应(在双边市场如 Doordash、Uber、Lyft、Airbnb 或社交网络如 Facebook 和 LinkedIn 中常见)、星期几效应、季节性或新奇效应,这些因素可能会影响测试的有效性,并需要在制定实验设计时加以考虑

面试者 — 现在,我想讨论实验设计。

首先,我们需要考虑网络效应——这些效应发生在对照组的行为受到施加于实验组的处理影响时。由于 Doordash 是一个双边市场,它更容易出现网络效应。在这个具体案例中,如果对实验组施加的处理增加了该组的需求,可能会导致供应(即配送员)的不足,从而影响对照组的表现。

为了考虑网络效应,我们需要选择不同于我们通常选择的随机化单位。有许多方法可以做到这一点——我们可以进行基于地理的随机化,或基于时间的随机化,或网络集群随机化,或网络自中心随机化。你想让我详细讲解这些方法吗?

面试官 — 我很高兴你提到了网络效应,事实上,这是我们在 Doordash 实验中认真观察的内容。为了节省时间,我们假设这里不存在网络效应,继续前进吧。

面试者 — 如果我们假设没有需要考虑的网络效应,那么实验的随机化单位就是用户——即,我们将随机选择用户并将他们分配到处理组和对照组。处理组将收到通知,而对照组不会收到任何通知。接下来,我想计算样本大小和持续时间。为此,我需要一些输入。

  • 基线转化率—即在进行更改之前,对照组的现有转化率。

  • 最小可检测差异MDE — 即我们感兴趣的最小转化率变化。低于此变化的结果对业务来说将不具实际意义 — 通常选择这样的差异,以便所期望的结果的改善足以证明实施和维护该功能的成本。

  • 统计功效 — 即测试正确拒绝原假设的概率。

  • 显著性水平 — 即在原假设为真的情况下,拒绝原假设的概率。

通常选择 5% 的显著性水平和 80% 的统计功效,我将假设这些值,除非你另有说明。此外,我将假设对照组和处理组之间的比例为 50-50。一旦确定了这些输入,我将使用功效分析来计算样本量。我会用编程语言来完成这项工作。例如,在 R 中,有一个名为‘pwr’的包可以用于此目的。

面试官 — 是的,假设根据分析,我们需要每个变体 10,000 个用户的样本量。你会如何计算测试的持续时间?

面试者 — 当然,为此我们需要每天登录应用程序的用户数量。

面试官 — 假设我们有 10,000 名用户每天登录应用程序。

面试者 — 好的,在这种情况下,我们至少需要 2 天来进行实验 — 我之所以得出这个结论,是通过将控制组和处理组的总样本量除以每日用户数量。不过,在确定实验持续时间时,我们还应考虑其他因素。

  • 星期几效应 — 你可能在周末和工作日有不同的用户群体 — 因此运行的时间需要足够长,以捕捉到每周的周期。

  • 季节性 — 可能会有一些用户行为不同的时间,这些时间是需要考虑的重要因素,比如节假日。

  • 新颖效应 — 当你引入一个新功能时,特别是那种容易被注意到的功能,最初会吸引用户尝试。测试组可能一开始表现良好,但随着时间的推移,这种效应会迅速减弱。

  • 外部效应 — 例如,假设市场表现非常好,更多的人可能会忽视通知,因为他们期望获得高回报。这将导致我们从实验中得出虚假的结论。

由于以上原因,我建议实验至少持续一周。

面试官 — 好的,这很公平。你会如何分析测试结果?

第四部分 — 分析结果并得出有效结论

面试官想要了解的内容 -

你对不同场景下适当统计测试的知识(例如,样本均值的 t 检验和样本比例的 z 检验)

你检查随机化 — 这会给你加分

你提供最终建议(或到达建议的框架)

面试者 — 当然。分析有两个关键部分 —

  • 检查随机化 — 作为最佳实践,我们应该检查在分配测试和对照组时随机化是否正确。为此,我们可以查看一些不受测试影响的基线指标,并对比这两个组的这些指标。我们可以通过比较这两个组的直方图或密度曲线来进行比较。如果没有差异,我们可以得出随机化正确的结论。

  • 所有指标的显著性测试(包括主要指标和保护指标) — 我们的主要指标(转化率)和保护指标(卸载率)都是比例。我们可以使用 z 检验来测试统计显著性。我们可以使用 R 或 Python 等编程语言来进行这一测试。

如果转化率有统计学显著增加且卸载率未受到负面影响,我建议实施该测试。

如果转化率有统计学显著增加且卸载率受到负面影响,我建议不要实施该测试。

最后,如果转化率没有统计学显著增加,我建议不要实施该测试。

面试官 — 听起来不错。感谢你的回应。

结论

在 A/B 测试或实验面试中表现出色将为你提供招聘过程中的优势,并使你从其他候选人中脱颖而出。因此,我强烈建议专注时间学习 A/B 测试的关键概念,并为这些面试做好充分准备。

我推荐的几个好资源 —

原文。经授权转载。

简介: Preeti Semwal 拥有 15 年的经验,帮助组织将数据科学和分析的力量融入业务战略。凭借通过数据讲述故事的卓越能力以及向高层管理人员展示的丰富经验,Preeti 是一位真正相信赋能、培养和倡导团队的领导者。

相关:

更多相关话题