Code前端首页关于Code前端联系我们

数据分析师鹅厂如何设计A/B测试?

terry 2年前 (2023-09-27) 阅读数 68 #数据结构与算法

狗场数据分析师的jiangeliu(刘剑阁)如何设计A/B测试。

实验设计

AB 测试实验通常有两个目的:

  1. 评估哪一个更好:比如有两种用户界面设计,是A更好还是B更好,我们要通过实验来确定
  2. 计算收入:比如最近上线了新的直播功能。直播功能给平台带来了多少额外的DAU、额外的使用时间、直播以外的视频观看时间等等。

我们一般性的比较一下 众所周知,上面提到的第一个目的,例如第二个目的,对于数据分析师和管理者在计算效益和投资回报率时往往非常重要。

常见ABTest实验的本质就是将平台流量平均分成若干组,为每个组添加不同的策略,然后建立这些组的用户数据指标,例如:留存、人均观看时长。 、基本互动率等关键指标,最终选择最佳群体上线。

实验的基本阶段一般是这样的: 鹅厂数据分析师如何设计一个 A/B test 测试的?

流量分布

实验规划有两个目标:

  • 希望我们能够尽快得到实验的结论,并做出尽快决策
  • 希望能够最大化对用户体验的好处和影响 最小

因此,往往需要在流量分配上做出妥协。一般来说,存在以下几种情况:

  • 不影响用户体验:如用户界面实验、文案实验等。 一般情况下,流量实验可以均匀分布,实验可以快速获得 结论
  • 实验有不确定性强:如果推出新的产品功能,通常需要进行低流量的实验,以尽量减少对用户体验的影响,并在允许的时间内得出结论
  • 希望收益最大化的实验:比如功能活动等,以尽可能发挥最大的影响力。通常需要进行大流量实验,并预留小对照组进行ROI评估
鹅厂数据分析师如何设计一个 A/B test 测试的?

根据实验预期结果和大用户数量,确定实验所需的最小流量。你可以通过网站具体计算一下所需的样本量:

  • 我们以第二天的留存率为例。目前市场次日留存率为80%。实验预计提升0.2pp
    (这里的留存率可以换算成CTR、渗透率等,只要是相对值即可,如果估算不准确,保证实验能得到结果,这里可以低估,不能高估,即0.2pp是期望提高的最小值
    这里最小样本量是指最小流量实验组的样本量)
  • 如果我们每天只有5W个用户可以用来做实验(5W个用户意味着实验组的流量最少为5W个用户),63/5 = 13天,我们至少需要13天出实验结论
鹅厂数据分析师如何设计一个 A/B test 测试的?

如果我们期望改善的指标是人均、人均VV等比较复杂,我们的t检验必须用t检验来倒数,需要样本量鹅厂数据分析师如何设计一个 A/B test 测试的?

实验效果

以稍微复杂一点的功能操作测试为例,选项1和2,同时为了ROI量化,对照组没有操作功能。鹅厂数据分析师如何设计一个 A/B test 测试的?

几个问题要回答

  1. 选项1或2,哪个更好?
  2. 哪个投资回报率更高?
  3. 从长远来看哪个更好?
  4. 不同群体之间有差异吗?

问题1,选项1和2哪个更好?

你仍然需要使用假设检验。使用卡方检验鹅厂数据分析师如何设计一个 A/B test 测试的?

每个居民的平均时间和其他平均指标:t 检验。 借助上面的假设检验,如果结论确定,我们可以看出图1和图2哪个指标更好(差异显着)。作为一个令人难以置信的结论,虽然图1和图2是指标,但可能会有细微的变化,但这可能是由于数据的正常变化造成的。

第二个问题,哪个的投资回报率更高?

一般来说,当有活动与不活动相比时,保留率和人均时间等多项指标都很重要。我们不再重复上面的假设检验过程。

为了计算成本的ROI,可以直接计算每个实验组的成本。就收入而言,必须与对照组进行比较。假设以日总活跃天数(即DAU每日累计总和)作为收入指标。 ,合理假设不会进行任何操作活动,通过对照组可以计算出DAU是多少,即:

  • 如果假设实验组不进行任何操作,则日活跃天数=对照组日活跃天数*(实验组流量/对照组流量)
  • 实验组收入=实验组日活跃天数-实验组默认无活动日活跃天数

在此可以定量地表达每个解决方案的投资回报率。

问题3,从长远来看哪个更好?

这里我们要考虑新奇效应。通常,在实验初期,用户可能会因为新奇而获得良好的效果。因此,在进行评估时,需要观察指标的稳定性后再进行评估。 鹅厂数据分析师如何设计一个 A/B test 测试的?

比如有时候在发表之初,实验组的效果比较好。但过了一定时间,用户的新鲜感就结束了,实验组的效果可能会变差。因此,从长远利益的角度来看,值得选择对照组的是实验组让我们失望的新奇效果。做实验分析时,要剔除部分新奇效应,建立后进行评估

第四个问题,不同用户群体之间是否存在差异?

很多情况下,实验组可能对新用户更好,而对照组对老用户更好;实验组可能适合年轻人,对照组适合中年人,

数据分析师表示,在分析实验结论时,也要注意用户群体之间的差异。

实验完成

实验结束后,你应该:

  • 对实验结论进行反馈,包括直接效果(渗透率、留存率、人均时间等)、ROI
  • 充分利用的实验数据来进一步探索和分析不同的用户群体,不同的场景差异提出探索性分析
  • 针对发现的现象提出更多的假设和更多的实验呈现

更高级的实验

在长期业务中,你可以同时做几十个实验,而不仅仅是一个比较,比较每个小迭代的差异,同时比较一个特殊项目对市场的贡献和部门整体对市场的贡献。市场上,有必要应用一个实验性的层层管理模式。

  • 比较每个产品细节迭代的结果
  • 一步比较每个专项项目的贡献
  • 一步比较整个项目的贡献
鹅厂数据分析师如何设计一个 A/B test 测试的?

定量实验设计 处于十字路口 As数据分析师,在很多团队的合作中,我们经常会在几家公司的十字路口面临问题。以我最近主要负责的春季派对活动为例,老板问:
  • 春季派对活动-名人红包子活动参与了多少DAU?春季派对活动——家乡卡活动影响了多少DAU?
  • 春季聚会总共工作了多少DAU?

也就是说,我们在计算中使用了AB检验,最后我们可以发现问题:春节活动各个子功能的贡献之和并不等于春节活动。为什么?

  • 有时活动 A 和 B 具有相辅相成的作用,这次是 1+1 > 2
  • 其他时候活动 A 和活动 B 基本上做同样的事情,目前 1+ 1

这里目前,如果要准确评估春节活动的贡献,我们需要一个【渗透】所有活动的对照组,也就是AB实验系统中俗称的渗透层。 鹅厂数据分析师如何设计一个 A/B test 测试的?

(注:实验中,各层的流量是正交的。很容易理解。例如A层的分布使用用户名的第一位数字和层的分布B使用用户名的第一个数字,用户名随机时的倒数第二个数字,倒数第二个数字和倒数第二个数字没有关系,也称为彼此独立,我们称之为正交 当然,AB Test实验系统的实际电路逻辑使用了复杂的哈希函数和正交数组来保证正交性。)

这样分层后,我们可以将贡献

量化为如下如下:
  • 计算弹簧入住率:节日总交付量: - 填充层填充组VS 贯通层 - 贯通层填充组
  • 计算活动 A 的占比:活动 A 的实验层中,实验组 vs 对照组
  • 计算函数 B:活动 B 的实验层中,实验组 VS 对照组

随着业务的迭代,上面提到了如何与你过去的

【渗透层】设计进行比较。渗透层的设计实际上可以应用于很多运营场景。在某些情况下我们的商店必须将自己与去年或上个季度进行比较。同时公司在几个不同的部分继续使用AB Test进行迭代鹅厂数据分析师如何设计一个 A/B test 测试的?

就像上面的层次结构一样,它在推荐系统中更常见。 在某些产品或系统中,传递层根本无法有策略。那么对比点就是去年或者上个季度的策略。值,量化新周期的添加。系统的所有迭代都与上一个周期的比较相同:实验填充层VS到第1层(或第2层)

  • 同时可以衡量去年策略的自然增长或下降来衡量旧系统是否具有长期适用性(作为系统设计者,应该鼓励我们设计具有长期适应性的系统):Layer 1(上季度策略)VS Layer 2(去年策略)
  • 更复杂的实验设计

    我将接手我目前负责的业务,微视觉任务福利中心的实验设计,作为结合上述两个目的的更复杂的实验系统设计的例子。上图:

    • 量化每次实验迭代给系统带来的不断增长的贡献
    • 被量化为每种类型的属性,策略迭代)和额外贡献
    • 合二为一步骤被量化为健康中心任务的前一个系统的总和(基本上是对用户进行激励,促进和增加用户活跃度。商业利益很多,所以与推荐系统不同的是,一个指导小组需要,根本没有任务利益中心,用户可以确定ROI)
    鹅厂数据分析师如何设计一个 A/B test 测试的?

    版权声明

    本文仅代表作者观点,不代表Code前端网立场。
    本文系作者Code前端网发表,如需转载,请注明页面地址。

    热门