数据完整性贯穿产品整个生命周期(数据产品生命线之数据质量)
数据完整性贯穿产品整个生命周期(数据产品生命线之数据质量)定义数据评价标准,例如按照业务增长趋势或模型预测,定义指标合理的波动范围,当波动超出阈值后,及时预警通知数据人员,提前发现解决。1)数据产品应对策略:国际数据管理协会(DAMA)定义了数据质量维度,结合实际的业务场景,总结数据质量7个核心的维度:准确性、及时性、完整性、合理性、一致性、唯一性、安全性。准确性是指,一个数据值与设定为准确的值之间的一致程度,或与可接受程度之间的差异。在数据质量评价维度里面是第一位的,数据都不准,数据产品可视化效果再炫酷、交互体验再丝滑,也都无济于事。而且准确性是业务对数据团队信任度的重要前提。当数据产品呈现的数据多次不准确后,一旦数据出现波动,业务第一反应往往是数据是不是不准,而不是先看是不是有业务动作产生的数据结果。
编辑导语:数据质量问题,是每个数据应用类的数据产品都需要时刻关注并解决的问题。本篇作者结合自己的工作经历与思考,跟我们分享了数据质量问题的类型、问题产生的原因、如何用数据质量监控产品,一起来看一下。
数据人最常听到,最扎心、刺耳的一句话,莫过于“你数据准不准?”。一次数据异常的“锅”,可能就抵过了过去数据支撑积累的所有业务价值感知。数据质量问题,是每个数据应用类的数据产品都需要时刻关注并解决的问题。
下面的场景,你是否曾经经历过?
- 9点钟刚开始上班,用户群里已经炸了锅,营销数据报表、经验概况……今天的数据怎么还没出来啊,晨会着急看数呢。
- CDP平台新客大礼包营销场景,为什么出现了是实为老客但系统判定成新客,多发的成本,损失谁来承担啊?
- 昨天DAU同比下降了80%,你们确认下数据对不对,是不是数据不全啊?
- 大数据安全法9月1日正式实行了,你们数据产品中怎么出现了用户身份信息,你违法了啊!
- 业务发现流量统计有个异常的峰值,被业务diss,你们数据产品自己不看数据吗,没有一点业务常识和数据sense吗?……
BI数据分析、数据化运营等数据价值应用类的数据产品,数据质量的问题将导致错误的业务决策,或者带来用户体验问题、直接的经济损失。因此,作为数据干饭人,要对数据产品的数据质量负责,早诊断、早发现、早解决,防患于未然,否则,蚁穴溃堤就为时已晚。
一、数据质量问题的类型国际数据管理协会(DAMA)定义了数据质量维度,结合实际的业务场景,总结数据质量7个核心的维度:准确性、及时性、完整性、合理性、一致性、唯一性、安全性。
1. 准确性
准确性是指,一个数据值与设定为准确的值之间的一致程度,或与可接受程度之间的差异。在数据质量评价维度里面是第一位的,数据都不准,数据产品可视化效果再炫酷、交互体验再丝滑,也都无济于事。
而且准确性是业务对数据团队信任度的重要前提。当数据产品呈现的数据多次不准确后,一旦数据出现波动,业务第一反应往往是数据是不是不准,而不是先看是不是有业务动作产生的数据结果。
1)数据产品应对策略:
定义数据评价标准,例如按照业务增长趋势或模型预测,定义指标合理的波动范围,当波动超出阈值后,及时预警通知数据人员,提前发现解决。
2. 及时性
数据从采集加工到输出应用,需要经过很长的数据仓库ETL计算、数据同步的过程,任务运行耗时、运行质量、任务的依赖关系,都会影响数据最终产出的时间。
一般离线数据分析(T 1,指今天分析的是昨天的完整数据)在次日凌晨12:00开始执行任务,当数据量大、计算耗时长、依赖任务多的任务,可能数据要在第二天下午,或者T 2才能输出。业务上班需要看数据,数据还没跑完,就影响业务正常的使用数据了。
数据及时性主要受大数据集群服务的稳定性、存储和计算资源的影响,集群资源紧张,任务抢资源时,可能会导致原来9点前完成的任务,到下午还没完成。
1)数据产品应对策略:
设定核心数据涉及任务的最晚就位时间监控,但这种监控多数是通知,因为一般资源层面的问题很难修复,以知晓为主。而数据产品需要制定对应的兜底方案,例如,监控数据任务的状态,只有任务状态为成功时,才展示最新日期的数据,否则仍然展示前一天的数据,并且加上对应的交互提醒。“昨日数据计算中,请先查看其他日期数据”。
3. 完整性
主要包括实体缺失、属性缺失、记录缺失和字段值缺失四个方面。举个例子,App用户会基于设备ID 用户账号生成一个唯一uuid,在某次iOS发版后,数据报表统计分析发现iOS的DAU出现陡降,按照操作系统和app版本发现是新版本id生成服务异常,很多用户uid为空,测试环节没有覆盖到,大量的数据统计才能发现这个问题。于是,后来针对埋点数据的核心字段,都进行了完整性监控,从数据底层更早发现问题,而不是业务报表输出。
4. 合理性
主要包括格式、类型、值域和业务规则是否合理有效。由于业务端并不会把所有用户的交互输入操作进行规则验证,对于一些异常操作,会导致数据出现异常的情况。曾经遇到过外卖BD为了完成业绩获取奖金,自己跟商家合作下大金额订单,一笔外卖十几万元。这种可能就属于不正常的数据,通过数据合理范围的设定,可以及时抓出这些问题,由运营人员或者廉政部门进行审核。
5. 一致性
指系统之间的数据差异和相互矛盾的一致性,业务指标统一定义,数据逻辑加工结果。数据团队不生产数据,只是数据的搬运工,数据从业务系统同步数据仓库,可能会由于系统、工具异常,导致数仓数据和业务端数据不一致的情况。对于数据产品端,主要是指同一指标或标签,数据处理逻辑不一致,数据对不上。数据加工层,需要对数仓贴源层与业务数据源数据量、核心字段一致性监控。
6. 唯一性
主要是指数据主键的唯一,经常遇到数据主键重复,导致数据统计异常的情况。
7. 安全性
2021年9月1日数据安全法正式实行,对于用户身份证、手机号等敏感数据是严谨明文传输和展示的,数据加工处理要在加密状态进行,数据产品端展示明文敏感信息会带来法律风险。
二、数据质量问题产生的原因导致数据质量的问题多种多样,一般可以分为业务端、技术端、基础设施几个方面:
1. 业务端
业务变动,例如新上活动页面埋点缺失,业务源系统变更(源系统数据库表结构变更、源系统环境变更)、业务端数据输入不规范等。
2. 技术端
数据开发流程不规范、数据质量监控不健全,例如数据开发任务中各种任务的流程、参数、配置等出错,数据验证不充分。
3. 基础设施
存储计算集群资源不足,导致数据处理任务失败、延迟,从而导致数据输出结果异常。
三、数据产品如何掌控好自己的生命线除了数据开发者需要关注自己的数据质量外,数据产品也需要对数据产品涉及到的数据源、任务进行过程监控,及时发现数据质量问题。同时,在产品端提供异常提醒,避免数据问题带来的错误决策或错误数据的营销使用。
首先,基于数据血缘或线下的数据链路维护,找到数据产品用到的数据的加工链路。针对核心服务,保证数据质量监控规则的全面覆盖。当数据加工环节出现异常时,第一时间知晓,跟进开发修复数据,并在业务端做好信息同步。
其次,在数据产品实现时,对数据指标依赖的加工任务状态进行判断,一是任务成功状态,二是及时性,当任务失败或延迟时,产品页面上,进行兜底方案处理,例如友好的文案提示,或利用IM邮件等通知用户。
此外,数据产品要和数据血缘建立联动关系,当业务怀疑数据异常时,可以直接从前端页面中,一键找到数据指标的加工链路,快速排查问题。
最后,数据团队还需要和业务建立信息互通机制,例如参与业务周会,了解产品、运营等业务动作,业务变动时,可以第一时间评估对数据的影响。
四、数据产品的延申:数据质量监控产品为了实现数据产品对数据质量问题的早发现、早解决、早通知,最常用到的一个工具类数据产品就是数据质量监控了。即通过数据表、字段的规则配置,例如对表数据量、数据重复、字段波动、字段值等监控规则。在数据源层发现质量问题。
五、小结数据质量问题是数据开发人员与数据产品需要共同关注的问题,两个角色是“一根绳上的蚂蚱”。但实际上,往往会出现断层的情况,即数据开发人员对数据输出端:数据产品的关注度不够,认为只要自己把数据ETL做好,加一些监控就够了。
而数据产品,则以为只需要关注产品功能和交互,数据出来问题,那是数据开发的责任,不关注数据质量。数据产品是数据价值的体现形式之一,应该从产品出发,关注数据质量保障流程,共同提升业务对数据团队的信任度。
这样,再有业务问“数据准不准”时,就可以更加有底气地反问:“你们业务有调整吗?”
#专栏作家#
数据干饭人,微信号公众号:数据干饭人,人人都是产品经理专栏作家。专注数据中台产品领域,覆盖开发套件,数据资产与数据治理,BI与数据可视化,精准营销平台等数据产品。擅长大数据解决方案规划与产品方案设计。
本文原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议