数据分析 36 计(12):做不了 AB 测试,如何量化评估营销、产品改版等对业务的效果

Tian
Tian
Tian
33
文章
7
评论
2021年2月22日18:08:15
评论
910 3175字阅读10分35秒
摘要

营销活动效果分析,产品改版效果评估一直是互联网产品上线后分析师需要量化评估的重要任务,通过评估产品价值并从结果中学习来不断验证产品迭代方向,使其业务走向更加清晰。

1. 背景

营销活动效果分析,产品改版效果评估一直是互联网产品上线后分析师需要量化评估的重要任务,通过评估产品价值并从结果中学习来不断验证产品迭代方向,使其业务走向更加清晰。效果量化评估有两个通用的研究设计方向:
一、实验研究
1、随机对照试验 (Randomized Controlled Trail)
随机对照试验更像是医学和生物学研究的说法,在互联网中更习惯叫 AB 测试。在实验中将用户随机分配到不同的实验组和控制组中,然后计算达到实验效果的样本量,实验到达到样本量的时候计算实验结果。因为随机性控制了其他干扰变量的影响,所以实验结果就是该实验因子对结果变量的真实影响大小。
2、准实验研究 (Quasi-experimental Research)

准实验研究与随机对照试验的区别在于随机分配,准实验研究在无需随机安排被试时,运用原始群体,在较为自然的情况下进行实验处理的研究方法。

实验研究与准实验研究,其主要区别在于对实验的处理上,一个要精心地进行随机处理,另一个却不进行随机处理,只是“自然”地采用原始群体,缺少随机组合本身则潜在地影响着实验的内在效度和外在效度。

与真实验研究相比,准实验研究的精度虽然低些,但克服了真实验研究对实验环境过于理想化的不足,由于采用原始的组,在较为自然的环境下以类似实验的方法设计方案来进行研究,因此降低控制水平,增强现实性,增加了实验的外在效度,使实验结果易于推广。

比如对于打车行业来说,有时候无法实行随机实验对同一城市分配不同的策略,一般会先选择一两个城市来先推广看效果,这个时候为了评估推广效果,会通过筛选与推广城市在城市、人口特征等方面相似的其他城市作为控制组,这样两组对比看同一时间段的推广效果。

二、观察研究

“统计相关性并不意味着因果关系”,天天和数据打交道的小伙伴们都很明白这个道理。不少数据分析的工作其实都围绕着这个问题,举一些例子:

  • 在 feeds 流里刷到一个新推荐策略的内容的用户留存更高,他们的高留存是因为这个推荐策略导致的吗,这个策略究竟对留存的提升有多大效果?
  • 上周投放了某游戏广告的用户登录率更高,他们的高登录率有多大程度是由广告带来的,有多大程度是由于他们本身就是高潜力用户?

在这些例子中,本质上,我们都是想要分析一个干预(Treatment)对一个结果(Outcome)有怎样的影响,想要探究其中的因果效应。大家熟悉的 A/B 测试是回答上面这些问题的黄金方式。但是,A/B 测试也有一定的局限性,例如:

  • 需要花一定的时间实现,比较耗费人力;
  • 需要占用足量的随机流量,并且需要持续一段时间以收集数据;
  • 某些实验可能损害用户体验,例如给用户推荐一些并不匹配兴趣的内容;
  • 当可做 A/B Testing 的选择太多时,往往难以全部都进行尝试。

鉴于 A/B Testing 的种种局限性,研究如何利用手边已有的历史数据进行 “因果分析” 变得无比重要。

观察研究中的因果推断利用的反事实理论就是和我们能够观测到的现实情况相反的一种状态(Rubin 1980)。在于反事实框架下进行因果推断的原理是这样的:变量 X 对变量 Y 变化的因果效应可以表达为,当 X 成立时 Y 的结果与 X 不成立时 Y 的反事实结果之间的差异,如果这种差异存在且在统计上显著,则称变量 X 对变量 Y 是有因果效应的,否则二者之间就不存在因果关系。在日常生活中,当自己生病了,然后去看了医生,结果病很快就好了,我们心里会这样来构造反事实,假如我没有去看医生的话,也许还没好呢,那么看医生的因果效应就被假设推测出来了,这是反事实理论的生活起源。

2. 因果效应估计原理 Causal impact

在不能做 AB Testing的情况下,产品上线后做效果评估一般会直接选择上线前后的指标做对比,但是不同时期的指标本身受到的影响不一样,比如节假日、季节性影响,使得选择上线前后时间段的指标比较主观。
数据分析 36 计(12):做不了 AB 测试,如何量化评估营销、产品改版等对业务的效果

图 1 产品生产流程

 

为了准确的量化产品改版的效果,谷歌推出了开源项目 Causalimpact 工具包,该方法基于合成控制法的原理,利用多个对照组数据来构建贝叶斯结构时间序列模型,并调整对照组和实验组之间的大小差异后构建综合时间序列基线,最终预测反事实结果。即如果没有上线这次的产品改版,那么产品指标该是如何走向。那么这次的产品改版对指标的影响大小即是真实值(产品改版后的指标值)和预测值(预测没有改版该时期的指标值)的差距。
那么该方法中需要准备:
1、时间序列数据
待评估指标在每日或每周或每小时的值,作为方法的输入值,该方法会拟合产品上线前的指标数据进行预测,得到新的时间序列,那么这段新的时间序列和产品上线后指标的真实值差距就是该产品改版的效果。
2、对照组时间序列
在预测前可找到相似趋势的时间序列数据加入模型中,已知相似时间序列可以作为预测序列中的趋势效应,皮尔逊相关系数可以作为时间序列相似性的度量。
3、为达到预测准确需要的数据探索
时间序列本身是由长期趋势、季节性因素、周期性因素和随机变动因素组成(如下图),为了预测准确,需要识别历史数据的这些特征,才能更准确的预测时间序列。
数据分析 36 计(12):做不了 AB 测试,如何量化评估营销、产品改版等对业务的效果

图 2 时间序列趋势拆解

  • 趋势,即在一定时间内的单调性,一般来说斜率是固定的。
  • 周期性,与季节性很像,但是它的波动的时间频率不是固定的。因为其波动频率不固定,一般会与趋势一起分析而不做拆分,比如上图中 trend 曲线,跌落谷底之后又反弹,这种往复的运动,被称之为周期性。
  • 季节性,固定长度的变化,就像春夏秋冬的温度变化一样。比如上图中每 12 个月就会出现一次周期循环,不同年中每个月的值都大致相等。
  • 节假日,业务通常也会受节假日的影响最终反映在指标的波动上。为了在历史数据中识别出节假日的效应,模拟数据最好有一年的历史数据。

3. 案例

这里将使用谷歌开源的 R 中 Causalimpact 包做因果效应分析,整个案例不会超过 100 行代码。
step1:使用前先计算实验组指标与对照组指标时间序列的 Pearson 相关系数,找到合适的对照组。比如对城市 1 采取了产品措施,而城市 2,3 未采取,则城市 1 的指标则为实验组指标,城市 2,3 的指标为对照组指标。
a <- read_excel('data.xlsx') 
#寻找控制组(相似时间序列) 
cor.test(as.numeric(a$metric_y, 3), as.numeric(a$metric_x1,3), method="pearson") 
cor.test(as.numeric(a$metric_y, 3), as.numeric(a$metric_x2,3), method="pearson")

 

本文在微信公众号是付费文章,设置付费是为了提高一点点门槛,让知识的质量更好。这也是促使作者写出更优质文章的一种方式,希望您看完能有所收获,感谢支持!

手机端用户请使用微信扫一扫扫描以下二维码继续阅读

数据分析 36 计(12):做不了 AB 测试,如何量化评估营销、产品改版等对业务的效果

weinxin
微信公众号
微信公众号搜索关注「DataGo 数据狗」 数据分析从 0 到 1 再到 2 。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: