概述

什么是灰度发布?

灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

神策发布计划解决哪些问题?

  1. 在通过一段时间的A/B试验后,试验回收到优胜版本。在产品正式发版前,需要快速将优胜版本发布到全量用户,扩大试验收益。
  2. 可以尽早吸收用户反馈,产品不必100%完美才推出。在保证试验业务指标稳定的同时,逐渐向更多的用户推出试用新版本,吸收用户反馈后,快速进行产品迭代改进。
  3. 试验发布过程支持流量逐级扩量,若产生异常业务数据指标异常或者产品功能bug,可以快速进行回滚切换版本,实现线上问题用户无感知,最大程度降低损失。

创建发布计划

创建发布计划入口

仅针对正在运行的试验,支持创建发布计划,已下线的试验不支持发布。

1、通过试验列表创建

在试验列表选择一个「运行中」状态要进行发布的试验,点击“发布”操作,即可开始创建发布计划。发布后,试验状态变为「已发布」。

2、通过试验报告快速发布

选择一个「运行中」状态要进行发布的试验,在试验报告中,可以选择要发布的试验分组,进行快速发布。


创建发布计划

发布规则

发布策略:选择一个试验优胜版本作为发布策略,发布后用户将按照发布比例命中策略,策略一经发布,将不支持修改。

默认策略:在发布阶段,按照发布比例未命中发布策略的用户,将执行默认策略,一般建议默认策略为对照组策略。发布策略与默认策略不能相同。

发布周期:发布周期最多支持90天。

  1. 发布到期后,试验将自动终止运行,所有试验用户将执行代码兜底策略。
  2. 发布计划并不能完全替代产品代码发版,建议在试验得出优胜版本后,尽快完成产品正式发版。

发布比例

发布用户范围:仅支持对当前A/B试验中所选择的受众用户范围进行发布。例如A/B试验中选择了某个分群作为试验目标用户,则发布范围为满足当前分群的用户。

发布比例

选择一定的比例进行发布。在发布后,可以根据线上数据指标情况,逐步扩量。

  1. 试验中已经命中发布策略分组的用户,仍将保持在发布分组,发布比例的计算将不包含这部分用户
  2. 在发布阶段,发布比例一旦设置生效后,将不支持下调。

发布方式

神策A/B测试平台提供以下两种发布方式:

方式一:试验用户还未命中发布策略的时候,继续执行试验阶段命中的分组策略(推荐)

例如:一个试验有A、B、C 三组,在发布时选择 B 组作为发布策略、A 组作为默认策略。发布比例选择 50%。

在发布后,根据发布比例分流,判断用户是否进入发布组:

① 对于参与试验的用户:

已经命中 B 组的用户,仍将保持在发布策略 B 组中;

试验中已经命中 C 组的用户若未命中发布策略,则会继续命中 C 组。直到发布比例逐渐扩大后,C组命中发布策略后,才会进入 B 组;

试验中已经命中 A 组的用户若未命中发布策略,则会继续命中 A 组。直到发布比例逐渐扩大后,A组命中发布策略后,才会进入 B 组。

② 对于从未参与过试验的用户:

部分用户命中 发布策略,进入 B 组的策略;

部分用户命中 默认策略,进入 A 组的策略;

由于发布比例未到100%,部分用户始终不会进入发布策略,也就仍然保持在当前的情况中(一般是走代码兜底策略,可能跟默认策略相同)。


如发布暂停后:

① 之前已经请求发布分流的用户仍然保持在之前的分组内:

之前进入发布策略 B 组的用户,仍然保持在 B 组中;

之前进入默认策略 A 组的用户,仍然保持在 A 组中;

之前在试验分组 C 组的用户,仍然保持在 C 组中。

② 其余未命中发布计划的用户,保持原有情况,不会再命中发布计划:

之前在试验内的用户,仍然保持在试验分组内;

其余从未参与过试验的用户,始终不会进入发布策略,也就仍然保持在当前的情况中(一般是走代码兜底策略,可能跟默认策略相同)。

方式二:未命中发布策略的用户(包括试验用户),都将执行默认策略

例如:一个试验有A、B、C 三组,在发布时选择 B 组作为发布策略、A 组作为默认策略。发布比例选择 50%。

在发布后,根据发布比例分流,判断用户是否进入发布组:

① 对于参与试验的用户:

试验中已经命中 B 组的用户,仍将保持在发布策略 B 组中;

试验中已经命中 C 组的用户若未命中发布策略,则会命中默认策略A组,直到发布比例逐渐扩大后,会再次命中发布策略 B 组。

② 对于从未参与过试验的用户:

部分用户命中 发布策略,进入 B 组的策略;

部分用户命中 默认策略,进入 A 组的策略;

由于发布比例未到100%,部分用户始终不会进入发布策略,也就仍然保持在当前的情况中(一般是走代码兜底策略,可能跟默认策略相同)。


如发布暂停后:

① 之前已经请求发布分流的用户仍然保持在之前的分组内:

之前进入发布策略 B 组的用户,仍然保持在 B 组中;

之前进入默认策略 A 组的用户,仍然保持在 A 组中。

② 其余未命中发布计划的用户,执行代码兜底策略,不会再命中发布计划。

说明:因为发布方式一 是保持发布中用户体验跟试验中的一致,所以不跳组,只是没有人再被发布了。选择发布方式二 就是表示,可以接受跳组,不需要再保持试验 - 发布体验一致了,这时候发布暂停,但试验也结束了,试验组的用户就会走兜底策略,不进行任何操作。

注意:

由于非粘性试验不记录历史命中结果,不可选择发布方式一

1)因此在试验发布后:

按发布比例,用户陆续进入发布策略和默认策略;

未命中发布计划的用户,之前在试验中的用户保持在试验分组;

未命中发布计划的用户,之前在未命中试验中的用户保持原有情况,一般是代码兜底策略。

2)发布暂停后:

所有用户都走代码兜底策略。


修改发布计划

在发布过程中,可以修改发布计划。其中:

发布策略:不支持修改。

发布周期:可以在允许范围内进行调整,时间范围需大于当前已发布的天数。

发布比例:修改发布计划时,只能调大发布比例。

  • 修改(调大)发布比例后,针对所有未命中发布策略的用户(包含命中默认策略),将重新计算发布比例。即当调大比例时,之前已经命中默认策略的用户,可能会命中发布策略,已经命中发布策略的用户仍将命中发布策略。
  • 当发布比例调整为100%时,理论上所有目标用户都将执行发布策略。

回滚发布计划

回滚

如果在发布过程中发现了一些数据异常情况或者产品功能缺陷,可以对发布进行「回滚」操作。回滚后,试验状态变更为「待发布(已回滚到默认策略)

回滚后,所有已经命中发布计划的用户,都将执行发布前的试验策略。

发布前的试验策略指:在发布前的试验阶段中命中试验的用户,仍将继续命中试验策略。发布前未命中试验的用户,在回滚后将执行默认策略。此时试验处于冻结状态,不再有新用户进入试验。

回滚后重新发布

回滚后的试验,支持重新「发布」操作。回滚后的重新发布,支持再设置发布策略

灰度发布报告

基础信息

基础信息统计截止到当前,累计命中发布计划的用户数,其中包括发布策略和默认策略用户数。

发布用户量趋势

发布用户量指每天累计命中发布计划的用户量。随着发布时间推移,累计总发布量逐渐上升。

随着发布比例逐渐扩大,原本命中默认策略的用户可能会进入到发布策略中,导致命中默认策略的累计用户量下降。

指标变化趋势

试验发布之后命中发布策略的用户在每日产生的指标数据。

可选业务指标(不包括留存类指标)和检验指标。

FAQ

为什么发布后有部分用户没有立即命中发布策略?

答:发布是在试验获得优胜版本后,逐渐将优胜策略推全的过程。在发布过程中,可以通过控制发布比例实现逐渐放量。若在发布后发现用户并没有立即命中发布计划,则可能的原因有如下两点:

  • 一是在发布比例在达到100%前,用户可能没有命中发布计划的流量分桶,导致执行了代码默认策略或试验中命中的分组(可通过配置选择)。同时可以通过查看发布报告用户命中趋势数据,以确保发布计划在正常执行。
  • 二是如果获取试验时使用了缓存策略,在缓存未更新前,用户将仍执行缓存策略

能否通过发布实现代码正式发版?

答:发布计划无法代替代码发版。发布计划仍然是通过用户请求分流服务获取指定优胜策略,用以实现代码正式发版前,将优胜策略快速上线,最大化获取试验收益。发布计划最多支持运行90天,建议在计划到期前,尽快完成代码发布。