Flagr 核心概念速记

原文:openflagr.github.io/flagr/#/REA...

官方释义

假设我们想要向美国用户推出一个新的按钮,颜色可能是红🟥、绿🟩、蓝🟦,但我们不知道哪种颜色效果最好。

Flag 和 variant

这个按钮就是一个 flag(可理解为特性),三种颜色就是这个 flag 的三个 variant(变种)。

Segment 片段

我们可能希望先将按钮展示给一小部分用户,例如加州的用户。

那么加州的用户就是一个 segment(可理解为用户片段或者用户群体)。

Constraint 约束条件

同时,我们了解到加州的用户喜欢绿色按钮🟩,纽约的人喜欢粉色按钮🟥,华盛顿的人喜欢蓝色按钮🟦。 那么,我们就有三个 segment,我们通过 constraint(约束条件)所在州 == ? 来区分三个 segment

另外,segment 也可以由多个 constraint 定义。例如, 所在州 == 纽约 AND 年龄 >= 21

Distribution 分布

要对这个 flag 进行A/B测试,我们可以尝试以 50%/50% 的比率来分布绿色🟩和蓝色🟦 ,这个 50%/50% 就是 distribution

Rollout 推出

并且我们仅针对 20% 的加州用户进行测试。这个 20% 就是 Rollout Percent(推出率)。

之后,我们可以将推出率设置为 100% ,以便加州的每个用户都有 50% 的机会获得绿色或蓝色按钮。

另外,如果你想让所有用户都看到绿色按钮,那么你可以把绿色/蓝色的 distribution 设置为 100%/0%,把推出率设置为 100%。

伪代码

代码中遇到一个 entity(实体,一般可以是用户)时,先让 flagr 对它进行评估,得到评估结果之后,看看它属于哪一个变体,根据变体的不同执行不同的业务逻辑:

perl 复制代码
evaluation_result = flagr.post_evaluation( entity )

if (evaluation_result.variant_id == treatment1) {
    // do the treatment 1 experience
} else if (evaluation_result.variant_id == treatment2) {
    // do the treatment 2 experience
} else if (evaluation_result.variant_id == treatment3) {
    // do the treatment 3 experience
} else {
    // do the control experience
}

对应的设置如下:

markdown 复制代码
Variants
  - control
  - treatment1
  - treatment2
  - treatment3

Segment
  - Constraints (state == "CA")
  - Rollout Percent: 20%
  - Distribution
    - control: 25%
    - treatment1: 25%
    - treatment2: 25%
    - treatment3: 25%
Segment
  - Constraints (state == "NY" AND age >= 21)
  - Rollout Percent: 100%
  - Distribution
    - control: 50%
    - treatment1: 0%
    - treatment2: 25%
    - treatment3: 25%
相关推荐
字节数据平台1 个月前
数据飞轮赋能科学决策:火山引擎 DataTester 升级 A/B 大模型评测
大数据·人工智能·语言模型·ab测试
字节跳动数据平台2 个月前
数据飞轮赋能科学决策:火山引擎 DataTester 升级 A/B测试大模型评测
后端·ab测试
软件测试微课堂3 个月前
接口框架辅助类的深度解析(上篇)
单元测试·测试·ab测试
得物技术4 个月前
得物AB实验平台数据驱动决策实践
大数据·架构·ab测试
ldj20205 个月前
Linux 安装ab测试工具
linux·服务器·ab测试
货拉拉技术5 个月前
因果推断之中介效应
大数据·算法·ab测试
字节跳动数据平台6 个月前
解锁产品迭代新速度:A/B测试在AI大模型时代的应用
大数据·ab测试
货拉拉技术6 个月前
因果推断技术实践简述
大数据·算法·ab测试
007php0076 个月前
《探索信息技术中心一体化系统架构:提升企业数字化转型的效率与能力》
java·数据结构·经验分享·redis·笔记·git·selenium·测试工具·其他·算法·百度·docker·微信·golang·系统架构·github·测试用例·php·排序算法·集成测试·音视频·压力测试·postman·文心一言·课程设计·ai编程·微信公众平台·ab测试·模块测试·测试覆盖率·webkit·facebook·oneapi·twitter·composer·jira·scss·安全性测试·paddle·新浪微博·segmentfault·微信开放平台
字节跳动数据平台6 个月前
火山引擎VeDI:A/B测试平台指标能力升级,助力企业提升精细化运营效率
ab测试