之前在增长概念里,一直对变量控制、显著性、实验严谨性没有太切身的体会,但经历过一次错误归因后,就清醒多了。
最近一个实验里,目标是提升用户的API接通率,接到的用户反馈经常都是不会写代码,不会配参数,所以我们做缩短路径,丰富示例代码,简化参数等等功能。
做了这些改动之后,因为用户体量并不太大,所以选择了按时间序列来对比,也就是观察全量上线前后数据是否能显著变化并稳定下来。
发现第一周数据明显增长(环比+50%)的时候,我们自然而然地认为策略是有效的。直到第二周和第三周的数据逐渐降低,和策略上线前一样,这时重新去分析,才知道没做扎实。
原来之前的增长,只是流量变化带来的假象。投放调整,让一些低转化率的用户减少了,自然而然显得整体转化率变高。但同一来源的用户组,每周的转化率并没有显著提升,仍然在波动,就说明不能得出实验策略有效的结论。
以下是本次的踩坑笔记。
1、增长实验里,基础是控制变量
很多时候,我们以为自己严格控制变量了,但实际上并没有,尤其在产品早期,样本量比较少的阶段。因为样本量少,通常的选择都是按时间来对比,而不是严格做A/B测试。
然而时间本身就是一个变量,更不用说当前链路还有一些主动调整动作,那变量就更多了。
所以市面上的增长方法论里,才会有一条经验:样本量少的时候,时间序列是有效的,但可能要ABAB,或者ABBA之类的连续对比才能更好地排除时间干扰。
2、即使是小样本情况,也要对实验所需样本量有基础的概念
这其实是统计显著性的需求,就跟做物理化学实验一样,越是微小的区别,就越需要更多的重复实验才能明确是否有统计上的显著差异。
有一个网页计算器(
www.evanmiller.org)
给定当前的转化率基线,给定预期提升的幅度,就能算出达到通常显著性所需的样本量。
比如基线是5%,预期相对提升50%,那所需样本要1273个。而如果每周的用户量只有200,理论上就需要6周的积累,才能真的说是否有效。
有这个概念,就能避免一些半场开香槟的操作。
同时,受限于样本量,早期团队的重心就要放在那些更容易带来明显变化的改动上,做那些肉眼可见的变化,甚至是做10x的变化。而不是去纠结几个百分点的变动,因为一次随机误差,可能就覆盖了这几个点。
也因此,早期多做定性访谈,很可能比定量实验更管用。
3、数据分析要扎实严谨
这跟前面两点有所关联,但更本质的,是需要严谨的态度。
比如这次虽然前端没有控制好变量,但在分析数据时,完全可以只看相对受干扰更少的渠道来源的用户变化,而不是混在一起看全量。
最后,所有的得失和经验,都最好沉淀下来,要有所收获,有所进步。每踩一个坑,就在地图上插一面小旗,终有一天,这些小旗会成为通向确定性的路标。