Vol.03 数据开发当中如何验证数据结果准确性

前言说明

数据开发日常工作经常需要跟业务方核验数据,校验数据源、业务逻辑是否准确。这里的数据准确性跟 ETL 中的“精确一次性语义” 保证数据不丢失不重复不一样,说的是数据报表或者用户标签特征是否符合既定业务逻辑。

以我浅薄的经验来说,验证数据准确性主要从:明细数据逻辑验证、业务逻辑验证、白盒测试这 3 个角度去做。

通过明细数据从逻辑上做数据验证

通常一个数据报表逻辑都会相对复杂,多个表关联是一定会有的,因为各种业务逻辑的原因,指不定还有非常多的 case when 跟字段二次处理,逻辑上也会一层套一层,使用的明细层(DWS)最后结果是报表层(RPT)。自己开发的报表验证是否准确第一个想到的从逻辑明细上去做验证。

这个意思是,拿几条明细数据验证,看看这些用户是否按照既定的业务逻辑进入对应报表统计分类里面,特别需要验证代表性的用户,验证我们的 case when、二次处理是否生效等。

使用明细数据验证统计逻辑是否准确是我日常工作当中最常用也是最高效的一种方式。

通过业务逻辑做数据验证

本身报表就是根据业务需求创建的,那么是否准确也应该由业务方来验证,我们自行验证的话就是通过判断报表指标是否符合基本的业务逻辑。这里说的业务逻辑主要只的报表指标数值是否符合业务方预计范围之内,是否符合普遍的规律跟比例。

比如说,营销投放当中触达率不可能超过 100 %、获客成本应该在一个大致范围之内,应该跟投放平台反馈的成本接近,如果我们报表计算结果指标跟这些数值相差较大,那么就应该从头开始验证,可能是哪一个环节计算错误,或者存在脏数据。

通过白盒测试验证数据

白盒测试是指边看着程序代码逻辑,一遍操作系统查看数据变化情况。在我们数据开发角度,其实就是亲自验证下用户是否按照我们既定的逻辑被统计到对应的指标当中。

拿个埋点数据举例,就是看看拿实机测试,看看上报数据是否正常,对应操作是否上报了正确的埋点标识并且正常被报表通缉到对应指标当中。


Vol.03 数据开发当中如何验证数据结果准确性
https://jface001.github.io/2022/12/25/Vol03-数据开发当中如何验证数据结果准确性/
作者
惊羽
发布于
2022年12月25日
许可协议