1.0.17 • Published 10 months ago

modest-abtest v1.0.17

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

1 介绍

一个只在浏览器中运行的ABTest JS库,提供了CJS、ESM、IIFE三种格式的模块导出。
IIFE模块的兼容性为:> 0.2% , not dead , Chrome >= 67

2 示例

demo示例在dist目录下可以找到

// CJS 模式
// const ABTest = require('modest-abtest');

// ESM 模式
// import ABTest from 'modest-abtest';

// IIFE 模式
// html 中以script标签的形式引入 modest-abtest.iife.min.js
var abtest = new ABTest('yourAppId',[{
    layer_id:'yourLayerId',
    hit:1,
    version:1,
    exp_set:[
        {id:1,weight:0.5,data:'planA'},
        {id:2,weight:0.5,data:'planB'}
    ]
}]);
var abtest_result = abtest.run();
console.log(abtest_result);
// 打印结果
{
	"layer": {
		"yourLayerId": {
			"hit_exp_data": "planB",
			"hit_exp_id": "2",
			"version": 1
		}
	},
	"trace_id": "yourAppId_yourLayerId_2_1",
	"uid": "7f65cb09-51ba-48b1-9622-fc698141b1dd"
}

3 初始化配置说明

var abtest = new ABTest(appId,config)
字段描述类型是否必填其他
appId应用标识string-
config实验数据配置Array\<object>-

config 字段说明

字段描述类型是否必填其他
layer_id场景标识string为支持一个应用里同时进行多场景ABTest(分层实验、流量正交)
hit用户参与实验的比例number可选范围 (0,1], 精度为 0.01,通常配置为1,即所有用户参与实验。如果配置0.8,则会有80%的用户会参与到exp_set字段配置的实验中,其中20%的用户不参与实验,这20%的用户会命中空白对照组
ref_exp_id空白对照实验组标识string-
ref_exp_data空白对照实验组数据anyhit不为1时必填
version实验配置版本号number如果想更好地了解该用户的实验结果是来自你哪一次的实验配置调整,你可以用这个字段来表示,作为标记
exp_set实验组数据Array\<object>-

exp_set 字段说明

字段描述类型是否必填其他
id实验组标识string-
weight实验组权重number在用户参与实验的比例的中,你期望有多少比例进入这组实验当中,可选范围 0,1, 精度为 0.01。 注意:同一场景下的所有实验组权重相加不允许超过hit配置的值
data实验组数据any-

4 运行实验

var result = abtest.run(layer_id);

run 方法参数说明

字段描述类型是否必填其他
layer_id场景标识string允许只运行指定场景下的实验,不传入则默认多场景实验同时进行

result 运行结果说明

字段描述类型其他
layer场景集合object已进行实验的场景集合
trace_id实验结果标识(含多场景实验)string命中对应场景实验下的标识组合${app_id}_${layer_id}_${exp_id}_${version}。 如果有多场景实验进行了实验,traceid会以|的形式分割:`${app_id}${layerid}${expid}${version}|${appid}${layerid}${expid}${version}`
uid用户UUID标识string-

注意

  1. trace_iduid 均会被追加到cookie上,设置于二级域名上,有效期为1年。
  2. trace_id 在cookie中的key为 abtest-trace-id-${trace_id}
  3. uid 在cookie中的key为 abtest-uid-${uid}

layer 字段说明

字段描述类型其他
[key]初始化配置中自定义的场景标识object-

[key] 说明

字段描述类型其他
hit_exp_data命中该场景下的实验数据string-
hit_exp_id命中该场景下的实验标识string-
version命中该场景下的实验配置版本号number-
1.0.17

10 months ago

1.0.16

10 months ago

1.0.9

10 months ago

1.0.11

10 months ago

1.0.10

10 months ago

1.0.15

10 months ago

1.0.14

10 months ago

1.0.13

10 months ago

1.0.12

10 months ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago