数据产品|数据产品生命线之数据质量( 二 )


3. 完整性【 数据产品|数据产品生命线之数据质量】主要包括实体缺失、属性缺失、记录缺失和字段值缺失四个方面。举个例子,App用户会基于设备ID+用户账号生成一个唯一uuid,在某次iOS发版后,数据报表统计分析发现iOS的DAU出现陡降,按照操作系统和app版本发现是新版本id生成服务异常,很多用户uid为空,测试环节没有覆盖到,大量的数据统计才能发现这个问题。于是,后来针对埋点数据的核心字段,都进行了完整性监控,从数据底层更早发现问题,而不是业务报表输出。
4. 合理性主要包括格式、类型、值域和业务规则是否合理有效。由于业务端并不会把所有用户的交互输入操作进行规则验证,对于一些异常操作,会导致数据出现异常的情况。曾经遇到过外卖BD为了完成业绩获取奖金,自己跟商家合作下大金额订单,一笔外卖十几万元。这种可能就属于不正常的数据,通过数据合理范围的设定,可以及时抓出这些问题,由运营人员或者廉政部门进行审核。
5. 一致性指系统之间的数据差异和相互矛盾的一致性,业务指标统一定义,数据逻辑加工结果。数据团队不生产数据,只是数据的搬运工,数据从业务系统同步数据仓库,可能会由于系统、工具异常,导致数仓数据和业务端数据不一致的情况。对于数据产品端,主要是指同一指标或标签,数据处理逻辑不一致,数据对不上。数据加工层,需要对数仓贴源层与业务数据源数据量、核心字段一致性监控。
6. 唯一性主要是指数据主键的唯一,经常遇到数据主键重复,导致数据统计异常的情况。
7. 安全性2021年9月1日数据安全法正式实行,对于用户身份证、手机号等敏感数据是严谨明文传输和展示的,数据加工处理要在加密状态进行,数据产品端展示明文敏感信息会带来法律风险。
二、数据质量问题产生的原因导致数据质量的问题多种多样,一般可以分为业务端、技术端、基础设施几个方面:
1. 业务端业务变动,例如新上活动页面埋点缺失,业务源系统变更(源系统数据库表结构变更、源系统环境变更)、业务端数据输入不规范等。
2. 技术端数据开发流程不规范、数据质量监控不健全,例如数据开发任务中各种任务的流程、参数、配置等出错,数据验证不充分。
3. 基础设施存储计算集群资源不足,导致数据处理任务失败、延迟,从而导致数据输出结果异常。
三、数据产品如何掌控好自己的生命线除了数据开发者需要关注自己的数据质量外,数据产品也需要对数据产品涉及到的数据源、任务进行过程监控,及时发现数据质量问题。同时,在产品端提供异常提醒,避免数据问题带来的错误决策或错误数据的营销使用。
首先,基于数据血缘或线下的数据链路维护,找到数据产品用到的数据的加工链路。针对核心服务,保证数据质量监控规则的全面覆盖。当数据加工环节出现异常时,第一时间知晓,跟进开发修复数据,并在业务端做好信息同步。
其次,在数据产品实现时,对数据指标依赖的加工任务状态进行判断,一是任务成功状态,二是及时性,当任务失败或延迟时,产品页面上,进行兜底方案处理,例如友好的文案提示,或利用IM邮件等通知用户。
此外,数据产品要和数据血缘建立联动关系,当业务怀疑数据异常时,可以直接从前端页面中,一键找到数据指标的加工链路,快速排查问题。
最后,数据团队还需要和业务建立信息互通机制,例如参与业务周会,了解产品、运营等业务动作,业务变动时,可以第一时间评估对数据的影响。
四、数据产品的延申:数据质量监控产品为了实现数据产品对数据质量问题的早发现、早解决、早通知,最常用到的一个工具类数据产品就是数据质量监控了。即通过数据表、字段的规则配置,例如对表数据量、数据重复、字段波动、字段值等监控规则。在数据源层发现质量问题。