Q1:指标目标怎么管理的,管理到多细?以下几种场景在BI上能自动算达成率吗?
例如销售额1月-12月的月度指标,在哪里录入?支持录入到多细致?
反馈:销售额1月-12月月粒度统计值。可录入方式:
- 指标:月销售额或者最近一个月销售额,维度:统计日期(粒度为月);针对底层数据已经按月累计,查询是指定时间维度,按照1-12月查看;
- 指标:最近一天销售额,维度:统计日期(粒度为天);针对底层数据按天存储,查询需按月累计汇总值;
选择以上两种方式主要结合数据常见查询时间粒度、数据量级,决定底层表先加工好还是动态按照查询粒度累加。
维护界面在ABI工具上进行,走BI表单采集能力;可以ABI数据集直接映射,也可以直接采集进数仓。
- 场景一:当月完成率 = 实际销售额/当前目标销售额
- 场景二:4月完成率 = 指定4月实际销售额/指定4月目标销售额
- 场景三:截止当月完成率 = 截止当月实际销售额/截止当月目标销售额
反馈:以上几种方式,可以在指标平台定义为复合指标,在ABI 上按照公式动态查询计算,或者直接由数仓加工好结果,BI查询复合指标的计算结果。
Q2:原子指标同期,和复合指标同期算什么?需要知道在系统中是怎么管理的?
- 销售额算是原子指标,那么去年同期销售额算原子?派生?复合?
- 复合指标同期算原子?派生?复合?
反馈:一般同期指标,不需要在系统里面定义。查询时按照去年同期时间或者在年同比场景下查询即可。
固定日期“近30天”这属于派生指标;同比在下游查询去处理。
当前版本不支持批量维护同期,后续迭代。
Q3:时点/时期是怎么区分的,在功能上是怎么区分对待的?
- 当月这是时点指标,指定3-4月这种是区间指标?区间指标是怎么实现的?
反馈:类似问题一,通常系统维护的指标是当月/最近一个月、最近一天这种明确时间粒度指标。3-4月区间,这周指定区间累计指标,可将时间范围+累加计算作为查询条件带入,两者解藕,保障指标口径统一,同时灵活支持同指标、下游不同时间范围累加/同环比等查询诉求。 - 同比增长、环比增长这种是不是都需要事先在系统中配置好?
反馈:通常不需要提前计算,可在BI上灵活基于基础指标+分析能力二次计算得到目标结果。
Q4:客户梳理出来的目前业务域,需帮忙看下有问题没?
1、会员域指标
2、电商域指标
3、货品域指标
4、销售域指标
5、订采域指标
6、机构域指标
7、财务域指标
8、仓储域指标
A:
Q5:痛点主要是当前遇到了同一指标命业务侧定义不一致的问题,在构建这些指标过程中数仓中建模有一些重复建设的建模逻辑。
指标平台解决的主要就是业务侧指标定义不一致,同时指标重复建设的逻辑。
- 业务侧指标不一致,主要通过业务线下统一管理和使用指标的方式。
- 统一管理指标,业务侧把指标录入系统,系统保障指标定义唯一,形成标准指标库。
- 下游核心场景指标定义,统一由指标平台提供openAPI或者OpenUI的方式查询指标定义透出给目标用户。
- 指标数仓建设或者定义不重复策略:
- 指标定义不重复:整体建设逻辑围绕数仓建模,抽象出**时间周期、修饰词、原子指标等,**通过基础元素的组合来保证口径定义唯一,参考如下:
- 数仓建模不重复,通过在指标平台注册指标&绑定模型一定程度上可以帮助用户快速实现已有指标+维度下的模型复用。存量模型重复问题,可协同治理工具完成。
Q6:业务指标需求紧急,已有数仓不能立即支持就重新开发,由于需求紧急又不遵循数仓规范直接开发指标,长期下来导致大量指标重复,又不敢轻易优化,字节内部是否有控制指标重复建设或者相似指标检测的能力?
字节内部数仓团队会控制指标重复建设,主要策略:
- 建立统一的指标体系,数仓团队统一维护指标、模型,下游消费者(分析师、数据产品等)统一使用。实现统一定义,统一出口,多处消费。即保障维护不重复,同时解决消费不一致。
- 使用规范的指标定义模式,如问题1,采用核心指标规范拆解的方式,保证相同指标业务定义、名称、数仓实现逻辑,三者统一。增量指标直接可复用,降低新增重复概率。
- 基于系统口径唯一性/相似判断等能力。如问题1,系统提供指标基础元素定义,指标构建逻辑相似性判断等能力,保障入系统指标口径定义一致。
- 辅助监控,基于表使用热度等元信息持续监控,监控指标沉淀与模型注册情况,避免管控遗漏。
Q7:对于指标客户比较关注的是修饰词和维度的问题,通过原子指标和一些枚举值非常多的维度组合担心会有指标数量太多的问题。
通常修饰词是在指标开发过程中的过滤条件,常见有“用户类型=VIP用户”,修饰词是“VIP用户”。一般不会用枚举值比较多的维度,比如“用户ID”“设备ID”等。
Q8:比较关注指标使用的最佳实践,除了一些通过简单组合计算的指标,比如涉及到同环比等复杂指标这类在指标平台上的实现。
一般指标定义除了基础衍生指标外,可以定义复合指标(加减乘除的方式定义)。
常见的同环比、均值、累加等,在指标服务或者BI系统中可以通过二次计算/分析能力实现,不需要单独再维护同环比指标。
Q9:技术指标和业务指标什么区别?是否必须管理?
为啥要做技术指标和业务指标的区分? 技术指标是面向数据BP开发过程,确认一个指标底层开发逻辑必须做时间周期的声明,例如对于一张表或者某个字段而言,一定要回答的问题是这是个增量表还是全量表或者这个字段的统计时间范围是什么。而业务指标是面向指标业务口径统一过程,指标支持哪些时间周期只是业务口径管理的一个属性之一。如果不做这一层区分,只有业务指标,那么技术指标的物理映射没办法实现;只做技术指标,业务口径统一和元数据查询服务围绕技术指标来做,在指标量级上维护成本会非常大。
| 技术指标 | 业务指标 |
---|
基础说明 | 技术指标是基于数据仓库模型设计和业务场景,进行原子指标、修饰词的抽象,基于原子指标和修饰词生成全局唯一的技术指标(包括衍生指标、复合指标)。技术指标主要用于与数仓模型字段的映射和描述指标的技术信息(包括字段类型、技术口径等) | 业务指标在技术指标基础上去掉时间周期后生成(系统自动生成),同样全局唯一。业务指标主要用于业务定义的维护、业务属性的维护、指标元数据的消费。 |
举例 | 最近一天观看用户数、最近7天观看用户数 | 观看用户数 |
是否必须 | 是 | 否 |
管理负责人 | 数仓开发(系统:技术管理角色) | 业务人员(系统:业务管理角色) |
Q10:指标名称是否可以直接生成,生成规则是什么?
指标类型 | 生成规则 | 补充说明 |
---|
原子指标 | 中文:业务过程+度量
英文:业务过程英文缩写+度量英文缩写,用下划线链接 | - 为兼容特殊场景指标,业务过程支持设置是否自动生成原子指标名称。选择“否”时,原子指标名称自定义,业务线内唯一。
|
衍生指标 | 中文:自动拼接,时间周期+修饰词+原子指标,可修改修饰词部分
英文:自动拼接,修饰词+原子指标+时间周期英文缩写,用下划线链接,可修改修饰词部分 | - 当已存在相同修饰词+原子指标,不同时间周期指标时,修饰词部分名称保持一致。如存在“最近一天直播间支付GMV”,新建指标“最近7天直播间支付GMV”除时间周期部分,系统约束严格一致。
- 当无修饰词部分时,名称不可修改。
|
复合指标 | 中文:用户自定义,已存在相似逻辑指标(不同时间周期)系统自动带入已有名称
英文:用户自定义,已存在相似逻辑指标(不同时间周期)系统自动带入已有名称 | - 当已存在相同表达式,不同时间周期指标时,修饰词部分名称保持一致。如存在“最近一天直播间支付GMV”,新建指标“最近7天直播间支付GMV”除时间周期部分,系统约束严格一致。
|
Q11:如何划分技术指标归属?
- 原子指标:原子指标的数据域归属在其业务过程所在的数据域下。
- 举例:支付订单金额归属在“支付”业务过程所在的交易域下,发布商品数归属在“发布”业务过程所在的商品域下。
- 衍生指标:通过时间周期+原子指标+修饰词构建的衍生指标,归属在原子指标所属的数据域下。
- 举例:近7日直播支付订单金额,该衍生指标归属在原子指标“支付订单金额”所属的交易域下。
- 复合指标:对于跨业务过程的复合指标,不做强制归属限制,可根据实际业务含义进行数据域和业务过程归属,推荐归属发生时间点靠前的业务过程对应数据域,不做强制要求可根据实际情况调整归属合理性。
- 举例:直播间支付GPM=直播间支付订单金额*1000/直播间观看PV,先观看后支付,该指标归属在“观看”业务过程对应的流量域下。