You need to enable JavaScript to run this app.
导航

新建数仓指标

最近更新时间2023.12.19 11:00:48

首次发布时间2023.09.11 21:20:13

版本要求
  • V 4.6.0以上版本
  • 需要技术支持人员在「版本管理」中开启该功能的使用权限

适用场景

指标类型

描述

适用场景

如何在AB平台中统计业务指标?

事件指标

基于用户行为事件计算的指标

pv、uv、点击率 等用户行为指标

客户将数仓表中的业务数据加工处理为行为事件的格式,上报给AB平台

数仓指标

基于数仓表计算的指标计算(暂时只支持hive表,如需支持其他类型,请联系技术支持同学)

GMV、AUM等一般不随行为事件上报的业务数据

AB平台对接数仓表,平台侧使用用户现有的存储和计算资源进行指标查询,并将结果展示在平台上

数仓指标使用方法

方案梗概

  • A/B 实验平台在计算数仓指标时,通过将进组表与业务数据表同时存储到客户的数仓中、在指标计算时关联查询,使用客户原先自有的存储和计算资源进行实验指标计算,实现客户成本最小化的完成实验中的业务指标计算

操作步骤

  1. 在数仓中准备好需要在 A/B 实验平台计算的指标表,需要包含user_id 和 date 字段
  2. 在 A/B 实验平台 「开放能力-数仓集成-数据源」配置数据链接
  3. 在 A/B 实验平台 「开放能力-数仓集成-数据集」配置临时中间表(视图)和进组表
  4. 在 A/B 实验平台 「指标管理-指标组列表-数仓指标组」中,配置数仓指标
  5. 在创建实验时选择已创建的数仓指标
  6. 在实验报告中查看数仓指标

数据对接流程图

图片

配置详情

配置数据连接

  • 数据源目前支持的数仓为hive, 连接使用thriftserver2, 支持使用用户名、密码或者jdbc连接字符串的方式连接。
  • 资源使用上限:这个数据源最大使用的资源数,分为内存和CPU。如果超过这个资源限制则后面的查询遵循先进先出的排队策略。
  • 填写完成后需要测试连接,测试通过可以保存数据源,作为数据表查询的连接。

图片

配置进组表

进组表用来记录用户的进组情况。

填写基本信息:

图片

选择数据源:

图片
选择一个定义好的数据连接,作为查询的目标数据库。

定义sql:

中间表必须包含的字段为:event_date(支持YYYYMMDD/YYYY-MM-DD格式)、user_id、ab_version。
例如: 数仓中有一张进组(ab)表:

cust_no(客户号)

dt(进组日期)

ab_version(进组版本)

time(进组时间戳)

user_1

20200223

12455

161111111111

对应进组表的定义:

select
  cust_no as user_id,
  dt as event_date,
  ab_version
from
  ab

点击运行,验证sql正确性后保存进组表。

配置中间表

中间表是需要计算指标的业务表。

填写基本信息:

图片

  • 关联进组表:选择一个需要关联的进组表, 后续的指标分析都会和所选的进组表做关联分析。
  • 数据就绪时间: 作为和数仓的SLA约束, 认为每日设置的日期后前一天的数据可以ready, 任务会在这个时间点后尝试查询前一天是否有数据,如果有数据认为前一天的数据已经ready, 指标可以开始运行离线计算的任务。

填写sql:

中间表必须包含的字段为: event_date(支持YYYYMMDD/YYYY-MM-DD格式), user_id,其余字段可以选作指标或者维度。其中event_date会作为后续指标报告计算分析的开始日期和结束日期; user_id会作为和进组表关联的join_key。
例如: 数仓中有一张订单(order)表:

order_no(订单号)

amount(订单金额)

cust_no(客户号)

dt(订单日期)

product_type(商品类型)

order_222

100

user_1

20200223

电子产品

希望使用amount字段作为订单金额计算指标,同时希望使用product_type字段作为商品类型进行维度筛选,
对应中间表的定义:

select
  cust_no as user_id,
  amount,
  product_type,
  dt as event_date
from
  order

因为event_date, user_id必填, 所以需要将cust_no重命名为user_id, dt重命名为event_date, 剩余字段是希望作为指标计算或者维度分析的amount、product_type。
图片
点击运行确认sql无误后,点击下一步

配置字段:

图片

  • 除了必填字段user_id和event_date,以外其他字段需要指定字段类型
  • 如果需要作为指标分析, 类型请选择int/float, 维度/指标列请选择指标
  • 如果需要作为维度筛选, 类型任选, 维度/指标列请选择维度
  • 点击保存, 完成中间表创建

创建数仓指标

  • 在 A/B 实验平台 「指标管理-指标组列表-数仓指标组」中,创建数仓指标

图片

  • 创建数仓指标后,选择对应的指标组、数据集
    • 为避免SLA不一致,同一个指标组中的指标只能使用同一个数据集,如有需要,请创建多个指标组

图片

  • 配置指标计算口径

图片

实验中添加数仓指标

  • 与事件指标相同
  • 数仓指标暂不支持在「推送实验」中使用,如需使用,请联系技术支持同学

图片

目前已支持的计算方式
  • 目前已支持下表所示的8种计算方式,如需新增请联系技术支持同学

计算方式

是否支持置信度计算

求和

该计算方式可以统计结果,但是无法计算置信度

求次数

该计算方式可以统计结果,但是无法计算置信度

求人数

该计算方式可以统计结果,但是无法计算置信度

求平均值

--

求人平均值

--

求人均次数

--

求进组人平均值

--

求分位数

该计算方式可以统计结果,但是无法计算置信度

常见问题
  • 如何获取进组数据?

进组数据的获取根据每家客户的使用方式不同,可以选择自己上报进组事件、消费datatester的进组kafka等, 具体方案如需协助可以联系我们。