1. 首页
  2. 用户行为分析
  3. Webfunny A/B 测试平台 · 操作手册

Webfunny A/B 测试平台 · 操作手册

一只会飞的鱼儿 5小时前 ⋅ 1 阅读
ad

本手册带你从零走通一个 A/B 实验:先建流量层和指标,再建实验、接 SDK 上报数据,最后在数据页看懂指标与显著性。

一、平台入口

在 WeBFunny 顶部导航「A/B测试」下拉内,一共有四个菜单:

菜单

干什么

实验列表

创建/复制/编辑实验,状态机流转,发布入口,操作记录,示例代码

流量层管理

流量层与分组的增删改,定分流主体,看剩余流量

用户测试白名单

维护白名单,调试阶段指定用户命中

实验指标管理

建指标(转化率/漏斗/留存/人均值等),配分子事件

                                                   功能模块总览(四菜单)

二、一分钟看懂流程

建流量层(定分流主体) → 建指标(定分子点位) → (可选)建白名单
  → 建实验(选层/配分组参数/挂指标) → 调试中(白名单验证)
  → 上线(运行中,按流量比例分流) → (可选)发布计划(放量)
  → SDK 拉取 results + 上报实验点位/业务事件
  → 触发日聚合 → 数据页看指标 → 与落库核对

三、核心概念

3.1 分流主体与身份列

分流主体在创建流量层时选定、之后不可改,决定指标计算时分子分母按哪一列 join:

流量层「分流主体」

对应埋点身份列

用户 ID(userId)

weUserId

内置 ID(innerId)

weCustomerKey

设备 ID(deviceId)

weDeviceId

3.2 短编号 vs UUID 主键

配置表主键是 UUID(内部稳定),但对外(SDK、实验点位字段)用的是短编号:expCode(实验短编号,项目内自增数字)与 groupCode(分组短编号,实验内 1..N)。SDK 拉到的 experimentId/groupId 就是短编号。

3.3 状态机(九态)

调试中 → 准备中 → 运行中 →(发布)→ 已发布 → 已发布(暂停)/ 待发布(已回滚)→ 已结束;另有「运行中(暂停)」「上线失败」。「变更」下拉按状态动态展示:上线 / 暂停 / 继续运行 / 发布 / 下线 / 回滚 / 重发。

                                                           实验九态状态机

3.4 分流优先级

白名单 > 进组锁定 > 受众筛选 > 发布策略/哈希分流 > 默认值

  • 进组锁定:已进组用户复用首次分组,发布放量/暂停不影响老用户;
  • 受众筛选:attributes 未携带筛选所需属性时,该实验不返回;
  • 调试中实验仅白名单用户命中。

四、完整操作步骤

步骤 1:创建流量层

  • 进入「流量层管理」→ 新建流量层;
  • 填名称,选「分流主体」(用户 ID / 内置 ID / 设备 ID),创建后不可改;
  • 可建「流量层分组」,同层实验共享流量池,层内剩余流量是创建实验时流量占比的上限。

 

                                                           流量层管理

步骤 2:创建实验指标

  • 进入「实验指标管理」→ 新建指标,选类型:转化率 / 漏斗 / 留存 / 人均值等;
  • 配「分子」:选业务点位 + 统计方式(用户数 userCount / 总次数 totalCount / 求和 sum / 均值 avg);漏斗类按顺序配多步骤点位,留存类配回访事件 + 窗口期;
  • (可选)配「分母」点位事件,不配则分母 = 实验点位去重用户数。

步骤 3:(可选)创建用户测试白名单

  • 进入「用户测试白名单」→ 新建白名单,手动粘贴 ID(逗号/回车分隔,≤1000 个)或扫码录入;
  • 该白名单后续在实验分组 / 发布计划里挂载。

步骤 4:创建实验

  • 进入「实验列表」→ 新建实验;
  • 选流量层(下拉内可「+添加」直接建层);
  • 填实验名称、流量占比(区间 = 所选层剩余流量,实时校验整数 %);
  • 配分组 + 参数:至少 1 个对照组 + 1 个实验组,每分组 ≥1 个参数(参数名即 SDK 取值 key);
  • 挂指标(下拉内可「+创建指标」),选择上线方式(立即 / 指定时间)或「暂存」为草稿;
  • 保存后进入「调试中」状态。

 

                                                           创建编程实验

 

                                                              实验列表

步骤 5:调试(白名单验证)

  • 调试中实验只有白名单用户能命中;
  • 在实验分组挂白名单 → 用白名单用户 ID 调 results 接口 → 应返回对应分组参数;
  • 调试 OK 后点「上线」。

步骤 6:上线与发布

  • 「上线」→ 运行中:按流量占比 + 分组比例做哈希分流;
  • 「发布」(可选)→ 建发布计划(优胜组 + 放量比例 + 兜底组 + 周期)→ 已发布:按发布比例放量,老用户靠进组锁定保持分组稳定。

                                                            创建发布计划

五、SDK 对接与数据上报

5.1 拉取实验结果(results)

curl -X POST "http://{域名}/wfEvent/buryPointAbSplit/results" \
  -H "Content-Type: text/plain" \
  -d '{"distinctId":"user_001","distinctType":"weUserId","projectId":"event_xxx_m"}'

响应:results 数组返回该用户命中的全部实验及分组参数,experimentId/groupId 为短编号,params 为参数名→值。

                                                 SDK 对接页签(示例代码)

5.2 上报实验点位(分母数据源)

用户命中实验后,SDK 经埋点通道上报【全埋点】实验点位(AbTestPointId),需带 7 个 abtest* 字段(驼峰):

字段

取值来源

abtestExperimentId

results[].experimentId(短编号,转字符串)

abtestExperimentName

results[].experimentName

abtestGroupId

results[].groupId(短编号,转字符串)

abtestGroupName

results[].groupName

abtestParamName

命中的参数名

abtestParamValue

命中的参数值

abtestIsDebug

'1' / '0'

  • 身份字段须与分流主体对应列一致(userId→weUserId),且与 results 请求的 distinctId 同值,否则分母 join 不上;
  • 多环境项目(_m 后缀)必须带 weEnv(pro/sit/stag/dev)。

5.3 上报业务事件(分子数据源)

分子就是普通业务点位事件,无需任何 ABTest 字段,靠身份列与实验点位 join 计算指标。

六、指标怎么看、怎么算

6.1 分母与分子

  • 分母(默认)= 当日实验点位去重用户数(按 expCode + groupCode 过滤、joinKey 去重);配了分母事件则取该事件值;
  • 分子 = 当日进组用户中触发分子事件的值,统计方式决定取用户数 u / 总次数 e / 字段求和 v。

6.2 六类指标

类型

公式

说明

转化率

u ÷ d

×100 加 %

漏斗

u ÷ d

u = 窗口期内按 1→2→…→n 顺序完成全部步骤的人数

留存

u ÷ d

u = 第 D+窗口期 日回访人数(次日留存 = D+1)

人均值

v ÷ d

数值字段求和 ÷ 分母

人均事件均值

e ÷ d

事件总次数 ÷ 分母

人均事件比值

按统计方式取列 ÷ d

totalCount→e / sum·avg→v / userCount→u

选多天区间时,每天 d/u/e/v 各自求和后再相除(按每日进组人数加权的加权平均)。

6.3 统计检验(实验组 vs 对照组)

  • 差异相对值 =(实验组指标值 − 对照组指标值)÷ 对照组指标值 × 100%;
  • p-value:比率类两比例 z 检验、人均类泊松近似,双侧检验;
  • 置信区间:绝对差异 ± z*×SE,再换算成相对百分比;
  • 显著性:p-value < α(α = 1 − 置信度)→ 显著;等价于置信区间含 0 ⇔ 不显著。

                                      实验数据页 · 试验概述(提升摘要自动计算)

                                实验数据页 · 指标分析(指标值 / 差异 / p-value / 置信区间)

                               实验数据页 · 漏斗(分步转化 + 双分组对比)

七、常见问题

问题

说明

指标为什么是 0?

缺【全埋点】实验点位上报,分母数据源缺失算不出指标

SDK 漏报实验点位会怎样?

该用户分子分母一起丢失(纯 SDK 账,无对账兜底,可接受)

受众筛选不生效?

attributes 未携带筛选所需属性时该实验不返回(神策语义)

参数在多个实验运行

该实验「发布」置灰,提示不支持发布

流量层删不掉

层内有运行类实验时删除置灰(调试中/已结束不阻塞)

上报 weEnv 非法

非 dev/sit/stag/pro 的条丢弃并写 fail 表

 

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 1   收藏 1
  • 一只会飞的鱼儿
    共发布90篇文章 获得11个收藏
全部评论: 0 条