腾讯是如何做灰度发布和AB 测试的?

马化腾曾在一场创业演讲中,讲述了微信的诞生史:微信在诞生之前,在腾讯内部有三个团队在同时做微信,主要竞争者为张小龙的e-mail团队和手机QQ团队。做这个产品之前,腾讯内部并没有给这个产品定一个完整的基调,而是让公司内部形成一个激烈的竞争,通过观察用户对产品的喜好程度和产品的实际完成情况决定上线结果,这就是腾讯的灰度。

很多时候我们都发现过这种现象,有时相同的手机App里展示的页面会和别人的不同,“难道自己的没有自动更新?”很多人都这样想过吧,还有App后缀Beta、Pro字样,其实这些都是公司在进行产品的灰度发布。下面先来看看两个定义:
灰度:把黑色定为基本色,每个灰度对象都是0%(白色)到100%(黑色)的中间值,简而言之,灰度就是不饱和的黑色。
灰度发布:是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。(百度百科)
除了AB test灰度发布另一种思想是,只发布给一小部分用户,如:App在发布之前,可能会针对性的给一小批种子用户发送下载链接,或者到小的应用市场去发布。用小流量发布的方式来检验新版会不会有问题。

为什么要做灰度发布

很多公司在定义一个产品,一个功能的时候,有的说白,有的说黑,但是互联网产品真正的定义者是谁?当然是用户,你说了不算,我说了也不算,用户口碑才是硬道理,因此需要一个灰度周期,让用户决定其生死,定义其黑白。
灰度发布对产品研发的重要性不言而喻,用业内的话说就是顶级的PM也只能跑赢一半的ABtest
像Uber, Airbnb, Wish这些新一代的企业,都是从第一天开始就做AB测试来做产品迭代优化的,所以他们才会不断提升高速发展。
反面例子就是人人网,人人从诞生开始就没脱离过Facebook的影子,很多功能和设计都是直接照搬,不考虑水土服不服,不做测试,直接裸奔上线,完全碰运气的玩法。

如何做A/B测试?

适合做A/B测试的情况

其实当产品到一定规模的时候,任何改版都应该首先经过AB测试小流量验证,建议日活1000以上就开始做试验。如果用户体量小,就50% 50%对比试验,分层试验可以大幅度增加并行试验数量。如果用户体量到达百万千万级别,可以用小流量测试各种不同的功能,比如一个文案的改动,一个icon的优化带来的点击率有没有增加,增加了就继续扩大测试流量,减少了或是继续优化或是直接关掉。需要注意的是,在一些特定的功能点上,比如聊天页面增加一些真的情侣或者亲人的功能,我们在流量选取上就应该考虑这些目标包不包含此功能针对的特定人群。

A/B测试流程

如果从来没有用过AB测试,那可以先尝试从一个小改动开始,熟悉AB测试的实施流程,在关键环节的修改上做实验。特别是后端算法变更,像搜索算法、推荐算法、push算法等等,AB测试肯定是必不可少的。还有一些我们拿捏不定或者争执不下的前端改动,都应该进行AB测试。关键环节熟练之后,我们可以并行的去尝试更多的地方的修改。
一般AB测试流程

结合A/B测试的开发流程

最终形成一套以AB测试为核心环节的上线流程:
需求评审-建立试验方案-新功能开发-灰度发布-小流量AB测试-发布成功的功能,关闭失败的

AB测试的周期?

试验的周期一般是7天,覆盖周末和周中的用户行为。对于复杂一些的测试,可以跑2周甚至1个月。还有一个办法,就是看试验结果的置信区间的收敛速度,如果置信区间达到3%-5%已经可以决策了,就可以停止试验了。正常情况下,我们需要大流量试验来验证大型新功能,比如新推荐算法,新学习模型,新聊天功能。然后我们可以同时用流量分层的方法做很多很多小试验,比如改UI改文案,看看有什么改变能带来用户转化的提升。同时跑10个以上的试验很正常,这种并行决策实际上大幅度提高了产品优化效率,而不会延缓迭代。

数极客是国内新一代用户行为分析平台,独创了6大转化率分析模型,在数据分析方面,首次提出拆分定量分析与定性分析方法,并且基于用户行为分析,提供了会员营销管理系统A/B测试工具两大解决方案,可以快速的实现数据驱动增长。

总结

合理运用灰度发布和A/B测试,对于PM来讲,是必须要掌握的核心技能之一,我们每天都在研究、体验、设计产品,有时会想当然的觉得这个流程不复杂,这个操作很简单,用户应该上来就会用,不知不觉间就把我们思维强加给了用户。细节决定成败早已不是空谈,对于任何可能影响到用户体验的地方,都应该防患于未然,已经被无数优秀的产品证明,用户粘性是最重要的。