导航
- A/B 测试是什么
- 网页中的微创新
- A/B 测试利器——Featureprobe
- featureprobe介绍
- 独立部署
- 参考
本文首发于智客工坊-《AB测试,数据驱动业务增长》,感谢您的阅读,预计阅读时长3min。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
在大部分互联网公司业绩增长乏力的大环境下,很多的公司的研发人员都开始下沉业务。比如,大数据对用户行为的分析就是一个案例。
今天笔者介绍的的这种技术没有大数据那么复杂,普通技术人员都能很快的理解和使用。这就是A/B测试。
A/B 测试是什么
A/B测试的本质是分离式组间试验,也叫对照试验,在科研领域中已被广泛应用(它是药物测试的最高标准)。自2000年谷歌工程师将这一方法应用在互联网产品以来,A/B测试在国外越来越普及,已逐渐成为互联网产品运营精细度的重要体现。
A/B 测试是指对不同策略进行对比实验,根据结果选择最优方案。通过实验和数据排除主观臆断的误差,确定最优解。
A/B测试在产品优化中的应用方法是:在产品正式迭代发版之前,为同一个目标制定两个(或以上)方案,将用户流量对应分成几组,在保证每组用户特征相同的前提下,让用户分别看到不同的方案设计,根据几组用户的真实数据反馈,科学的帮助产品进行决策。
互联网公司经常要上线各种各样的实验,例如修改UI界面的某个按钮,上线一个新的算法等等。通过实验的对比指标来衡量这些优化或者策略对用户的影响程度,以此来提高用户体验,提高公司收益等。
A/B 实验的好处
- 通过小量抽样流量,评估对整体的影响。互联网产品量级都非常大,每一个策略的上线都需要十分谨慎,否则影响的就是一大片的流量,因此,通过AB实验,可以通过小成本的流量来实现效果的评估;
- 通过实验进行决策的辅导:原来做决策,很多情况都是依靠历史经验或者老板拍板,有了AB实验,是驴是马拉出去遛遛才知道。
- AB实验可以低成本的实现创新的验证:由于流量分层和AB测试平台的普及,使得很多想法都可以快速得到验证,从而使得更多创新的想法得到低成本的验证。
网页中的微创新
不要重复发明轮子,但你可以把轮子从马车挪到手推车上使用,这就微创新了。
在网站建设日趋成熟的今天,想做出"革命性","颠覆性"的创新,已经不太容易。"微创新
变得越来越流行。
这里主要包括:
- 产品UI
- 文案
- 页面布局
- ...
按钮颜色,字体大小,布局等的调整都会带来不一样的用户体验。
A/B测试利器——Featureprobe
市面上A/B测试的工具很多,有收费的也有开源免费的。
我们团队在技术选型前也是做了一番市场调研。
产品名称 | 是否开源 | 官网 | Github | Github Star | Github Latest Commit | Github Open Bug/Issues | 开发语言 | 产品特点 | 优势 | 劣势 |
---|---|---|---|---|---|---|---|---|---|---|
FeatureProbe | 是 | https://featureprobe.io/ | https://github.com/FeatureProbe/FeatureProbe | 412 | 2023.1.31 | 0.00% | TS+Java | 1.功能灰度放量给用户 2.配置在线促销活动 3.执行降级预案 4.A/B 实验 | 1. 免费开源,私有化部署方便 2. SDK支持较多,文档丰富,学习成本低 3. 国人开发,比较友好 | 报表不能扩展 |
GrowthBook | 是 | https://www.growthbook.io/ | https://github.com/growthbook/growthbook | 4.1k | 2023.2.2 | 17.47% | TS+Pyhon | 1. 产品功能点灵活配置 2. 自动邮件通知 A/B 测试结果 3. 团队管理 | 1. 免费开源,私有化部署方便 2. SDK支持较多,文档丰富 3. 支持多环境A/B测试配置 4. 支持多数据源 | 1.网上接入的案例少,只能参考官方文档 2.需要自己埋点,接入指标数据源(如 matomo) 3.学习成本高,国内使用的案例太少 |
Countly A/B Testing Plugin | 是 | https://count.ly/plugins/ab-testing | https://github.com/Countly | 5.1k | 2023.2.1 | 0.00% | JS | 1. 分为社区版和商业版 2. 商业化程度极高 | 1.sdk丰富 2.报表丰富 3.有大型公司使用 | A/B测试只适用于商业版 (The A/B Testing plugin is available for Enterprise Edition only.) |
Flagsmith | 是 | https://flagsmith.com/ | https://github.com/Flagsmith/flagsmith | 2.1k | 2023.2.2 | 5.33% | Python | Feature Flags,通过分阶段发布功能。 远程配置,轻松打开和关闭各个功能,并在不部署新代码的情况下进行更改。 A/B 和多样化测试,可以对新功能进行 A/B 和多元化测试,还可以引入 beta 程序以获得早期用户反馈。 组织管理,团队成员的组织、项目和角色有助于保持部署井井有条。 集成,可以使用你最喜欢的工具轻松增强 Flagsmith。(https://mp.weixin.qq.com/s/sDnNP7V-vWAGSP0_vR7O-A) | 1.丰富报表支持 2.支持的sdk丰富 | 1.需要自己接入三方报表 如 Amplitude/Mixpanel |
FeatureHub | 是 | https://www.featurehub.io/ | https://github.com/featurehub-io/featurehub | 208 | 2023.2.2 | 5.41% | Dart + Java | 1.sdk仅支持 Java/JavaScript/C#/Dart/Go/Python/Ruby 2.报表仅支持GA | ||
Unleash | 是 | https://www.getunleash.io/ | https://github.com/Unleash/unleash | 7.1k | 2023.2.2 | 7.41% | TS | 支持多环境A/B测试 | 1.文档清晰 2.使用的公司有上千,star超过7K 3. sdk丰富Android Proxy SDK/Flutter Proxy SDK/iOS Proxy SDK /JavaScript Proxy SDK/React Proxy SDK/Svelte Proxy SDK Vue Proxy SDK | 仅支持Google Analytics 数据分析报表 |
经过多轮对比,还是选用了featureprobe这个后起之秀。
featureprobe介绍
官方网站: https://docs.featureprobe.io/zh-CN/
独立部署
1.下载 FeatureProbe 代码
https://github.com/FeatureProbe/FeatureProbe.git

2.运行 FeatureProbe API 实例:
docker run -p 4008:4008 \
-e server.port=4008 \
-e spring.datasource.jdbc-url=jdbc:mysql://114.115.211.38:3306/feature_probe \
-e spring.datasource.username=root \
-e spring.datasource.password=u6Xfp_F5 \
--name featureProbeAPI -d featureprobe/api
Notes:上述 10.100.1.4:13306 为 MySQL Server 的 IP 和端口,请根据实际情况调整
[root@hecs-275297 ~]# cd /home/FeatureProbe/
[root@hecs-275297 FeatureProbe]# docker run -p 4008:4008 \
> -e server.port=4008 \
> -e spring.datasource.jdbc-url=jdbc:mysql://114.115.211.38:3306/feature_probe \
> -e spring.datasource.username=root \
> -e spring.datasource.password=u6Xfp_F5 \
> --name featureProbeAPI -d featureprobe/api
Unable to find image 'featureprobe/api:latest' locally
latest: Pulling from featureprobe/api
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
b6abafe80f63: Pull complete
86c2356a7d85: Pull complete
d62dffcb02c8: Pull complete
5b08f4a1a0e0: Pull complete
Digest: sha256:afaebdafc895fc2597472f27c8bd611207fda33867fb6b416183cfcbdeba4d56
Status: Downloaded newer image for featureprobe/api:latest
115116eadb954f81379d0280c222fe3141147da78685ee8405419d9e02956938

3.运行 FeatureProbe Server 实例:
docker run -p 4007:4007 \
-e FP_SERVER_PORT=4007 \
-e FP_REFRESH_SECONDS=3
\
-e FP_TOGGLES_URL=http://114.115.211.38:4008/internal/server/toggles \
-e FP_EVENTS_URL=http://114.115.211.38:4008/internal/server/events \
-e FP_KEYS_URL=http://114.115.211.38:4008/internal/server/sdk_keys \
--name featureProbeServer -d featureprobe/server
Notes: 上述 10.100.1.1:4008 为 FeatureProbe API 服务 IP 和端口,请根据实际情况调整

4.运行 FeatureProbe UI 实例:
docker run -p 4009:4009 \
-v /home/FeatureProbe/my_custom/default.conf:/etc/nginx/conf.d/default.conf \
--name featureProbeUI -d featureprobe/ui

安装完成之后,浏览器中输入IP地址:4009,即可进行访问:
