很久之前有个聊天的功能,需要在微信小程序上进行AB测试, 最近终于测试完成上线了!

回顾一下如何在微信小程序上做AB测试。

AB测试概念

互联网公司的AB测试是指:将Web或App界面或流程的两个或多个版本,在同一时间维度,分别让两个或多个属性或组成成分相同(相似)的访客群组访问,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。

微信小程序AB测试思路

在微信小程序中有两种实现AB测试的思路:

(一)利用微信分阶段发布机制 在微信开放平台的第三方平台代小程序实现业务中, 普通的小程序是全量发布,会影响现网的所有用户。而分阶段发布会创建一个灰度发布的计划,可以控制发布的节奏,避免一上线就影响到所有的用户。

通过分阶段发布机制和其可控的发布比例,能够快速有效的实现AB测试。

优点:

  • 能够快速实现微信小程序上的AB测试
  • AB测试的实现逻辑可复用,微信已经帮助实现了分阶段发布的比例控制、分阶段发布的状态查询以及撤销分阶段发布
  • 通过提交给微信的发布版本,来测试不同版本的用户

缺点:

  • 测试周期固定,AB测试只能测试15天,15天结束后,如无撤回操作,则自动进行全量发布.
  • 需要自己有一套AB测试数据的统计方式

(二)自己实现AB测试逻辑 前后端配合,通过标志信息,前端渲染不同的UI,进行不同的业务处理。

优点:

  • 定制型强, 测试时长、测试比例等都可以自己控制

缺点:

  • 自己实现AB测试框架很复杂,容易考虑不周全
  • 微信小程序主包大小限制是2MB,当前端业务很复杂时,通过修改前端代码实现AB测试的复杂度急剧上升, 项目可控性变差
  • 人力等成本增加
  • 需要自己有一套AB测试数据的统计方式

分阶段发布小程序相关规则

  • 1.开发者必须在15天内全量发布 / 撤销发布。如开发者在首次发布后15天内未撤销发布,平台将在第15天全量发布小程序新版本。
    1. 开发者可递增调整分阶段发布的用户比例。如果撤销发布当前版本,所有用户将使用小程序上一个全量发布的线上版本。
  • 3.若存在正在分阶段发布的小程序版本,不可发布新版本、不可回退已全量发布的线上版本。
  • 4.小程序第一个版本必须选择“全量发布”模式发布。
  • 5.当线上版本的上一个版本是分阶段发布并已撤销发布,那么当前线上版本不可回退。

微信小程序AB测试分发策略

  • 1.将所有微信用户划分到固定的区间,然后根据灰度比例判断用户是否属于灰度区间并判断是否打开最新版本。
  • 2.小程序的新用户如果属于灰度区间,就打开新版本,否则打开次新版本。
  • 3.灰度区间是随机分配的

AB测试逻辑示例

小程序《Lixiang》当前微信发布的版本是A版本,用户占比 100%。此时需要AB测试小程序中的某个新修改,需要提交一个B版本去审核,当B版本审核通过时,调用分阶段发布接口发布B版本至指定比例的用户,譬如50%。 若分阶段发布成功,此时该小程序线上用户使用的版本情况是,A版本:50%, B版本:50%,用户已经被按比例划分,不同版本会有不同的数据埋点,统计分析埋点数据后,即可评估出好的版本。

分阶段发布过程中,可以调用查询分阶段发布详情接口查询状态。

若AB测试需要取消或结束,可以调用取消分阶段发布接口取消分阶段发布,这个措施是立即生效,小程序用户使用的版本回滚到之前线上发布的版本,即A版本。

FYI: