数据质量概述

数据质量概述

什么是数据

数据(data):是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。

数据可以是连续的值,比如声音、图像,称为模拟数据或者计量型数据。也可以是离散的,如符号、文字,称为数字数据或计数型数据。在计算机系统中,数据以二进制信息单元0,1的形式表示。

在信息技术中,数据也被理解为以数字形式存储的信息(尽管数据不仅限于已数字化的信息,还有纸面上的数据等)如姓名、地址、生日、周六晚餐吃的东西、最近买的书等有关信息。

什么是数据质量

数据质量:一个评估规则维度提供一种测量与管理信息和数据的方式。

数据质量就是通过一组维度来测量数据的方式。就如同判断东西的好坏和性价比一样,数据也有一些好坏的评判标准。

数据完整性

**完整性(Completeness):**用来描述信息的完整程度。

完整性指的是数据信息是否存在缺失的状况,数据缺失的情况可能是整个数据记录缺失,也可能是数据中某个字段信息的记录缺失。 数据完整性问题包括:

​ 模型设计不完整,例如:唯一性约束不完整、参照不完整;

​ 数据条目不完整,例如:数据记录丢失或不可用;

​ 数据属性不完整,例如:数据属性空值。

不完整的数据所能借鉴的价值就会大大降低,也是数据质量问题最为基础和常见的一类问。

数据唯一性

**唯一性(Uniqueness):**用来描述数据是否存在重复记录。

比如真实成交 1 万条,但数据表有 3000 条重复了,成了 1.3 万条成交记录,这种数据不符合数据唯一性。

重复数据、冗余数据是导致业务无法协同、流程无法追溯的重要因素,也是数据治理需要解决的最基本的数据问题。

数据及时性

**及时性(Timeless):**用来描述从业务发生到对应数据正确存储并可正常查看的时间间隔程度,也叫数据的延时时长,数据在及时性上应能尽可能贴合业务实际发生时点。

一般来说数据同步都是基于业务系统的落表技术字段(比如:CREATE_TIME),而真是业务发生的时间可能与该字段存在时间间隔。可以通过简单的sql对两个时间比较,判断数据的及时性是否符合需求。

数据有效性

有效性(Validity): 用来描述模型或数据是否满足用户定义的条件(也称为数据规范性)。通常从命名、数据类型、长度、值域、取值范围、内容规范等方面进行约束。

**代码值域约束:**描述检核对象的代码值是否在对应的代码表内。如业务规则定义“性别”的取值应该是“1-未知的性别”、“2-男性”、“3-女性”、“4-未说明的性别”,如果出现“A”、“B”这样的取值,则认为“性别”的代码值域存在问题;

**长度约束:**描述检核对象的长度是否满足长度约束。如“金融机构编码”在《人民银行金融机构编码规范》中规定长度为14位,如果出现非14位的值,则判定为不满足长度约束,不是一个有效的“金融机构编码”;

**内容规范约束:**描述检核对象的值是否按照一定的要求和规范进行数据的录入与存储。如“存款账号”应仅含数字,如果出现字母或其他非法字符,则不是一个有效的“存款账号”,不满足内容规范约束;

取值范围约束:描述检核对象的取值是否在预定义的范围内。如“授信额度”取值范围应大于等于 0,如果出现小于 0 的情况,则超出了取值范围的约束,不是一个有效的“授信额度”;

数据准确性

**准确性(Accuracy):**用来描述数据是否与其对应的客观实体的特征相一致(需要一个确定的和可访问的权威参考源)。

数据准确性主要是指取值的准确性,描述该检核对象是否与其对应的客观实体的特征相一致。例如:投保人的性别代码为 0-女性,虽然满足代码值域约束,但却不满足取值准确性约束,因为该人为男性,其性别代码应为 1-男性;再比如:国际保函业务的手续费应录入为国际担保手续费收入,却录入成国内担保手续费收入

准确性要求不仅数据的取值范围和内容规范满足有效性的要求,其值也是客观真实世界的数据。由此可见,有效的数据未必是准确的,反之成立。准确性通常需要业务人员或其他当事人手工核查。

对待这种情况,数据质量规则没办法直接统一处理,只能通过即使查询的方式对数据结果进行详细核查。

数据一致性

**一致性(Consistency):**用来描述同一信息主体在不同的数据集中信息属性是否相同,各实体、属性是否符合一致性约束关系。

数据质量的一致性主要体现在数据记录的规范和数据是否符合逻辑,一致性并不意味着数值上的绝对相同,而是数据收集、处理的方法和标准的一致。常见的一致性指标有:ID 重合度、属性一致、取值一致、采集方法一致、转化步骤一致。

**等值一致性:**一个检核对象数据取值必须与另一个或多个检核对象在一定规则下相等。一般指外键关联的场景。例如:保单表,理赔表的保单号存在保单主表,同一张表,两个字段之间的关联关系。

存在一致性:一个检核对象的数据值必须在另一个检核对象满足某一条件时存在。主要是强调业务的关联性,一个状态发生了则某个值一定会如何。例如:投保状态为已投保,则投保日期不应为空;

逻辑一致性:一个检核对象上的数据值必须与另一个检核对象的数据值满足某种逻辑关系(如大于、小于等)。 主要强调的是字段间的互相约束关系。例如:投保开始时间小于等于投保结束时间

数据质量管理

分析以下的场景:

场景一:作为数据分析人员,要统计一下近 7 天用户的购买情况,结果从数仓中统计完发现,很多数据发生了重复记录,甚至有些数据统计单位不统一。

场景二:业务看报表,发现某一天的成交 gmv 暴跌,经过排查发现,是当天的数据缺失。

造成这一情况的一个重要因素就是忽视了对数据质量的客观评估,没有制定合理的衡量标准,导致没有发现数据已出现问题。

技术层面

我们需要保证数据从源端到最终应用端流转过程中的数据质量,一方面我们需要提高每一位数据开发者的技术能力来提高模型和 ETL 的设计与落地质量,另一方面我们使用数据质量工具来对 ETL 过程进行监控。对于源端的数据问题,有时候也可以通过技术手段解决,比如编码映射、ID-Mapping、缺失值补全等等。

  • 数据模型设计的质量问题,例如:数据库表结构、数据库约束条件、数据校验规则的设计开发不合理,造成数据录入无法校验或校验不当,引起数据重复、不完整、不准确。
  • 数据源存在数据质量问题,例如:有些数据是从生产系统采集过来的,在生产系统中这些数据就存在重复、不完整、不准确等问题,而采集过程有没有对这些问题做清洗处理,这种情况也比较常见。
  • 数据采集过程质量问题, 例如:采集点、采集频率、采集内容、映射关系等采集参数和流程设置的不正确,数据采集接口效率低,导致的数据采集失败、数据丢失、数据映射和转换失败。
  • 数据传输过程的问题,例如:数据接口本身存在问题、数据接口参数配置错误、网络不可靠等都会造成数据传输过程中的发生数据质量问题。
  • 数据装载过程的问题,例如:数据清洗规则、数据转换规则、数据装载规则配置有问题。
  • 数据存储的质量问题,例如:数据存储设计不合理,数据的存储能力有限,人为后台调整数据,引起的数据丢失、数据无效、数据失真、记录重复。
  • 系统之间的数据不一致问题。
业务层面

有时候,数据质量问题的根本原因是业务问题造成的,我们就需要从业务着手解决。

我们需要有业务专家或者业务部门参与,统一数据口径、纠正理解偏差、通过深入的沟通明确业务方诉求。

数据质量改进的驱动因素永远来自业务目标,不能脱离业务需求谈数据质量。制定数据质量改进方案的基础,首先是清晰定义业务需求,然后是根据业务需求对企业业务的长期影响来定义数据质量问题的优先级。衡量业务影响、定义问题优先级有助于明确治理目标并跟进数据质量改进的进度。

  • 业务需求不清晰,例如:数据的业务描述、业务规则不清晰,导致技术无法构建出合理、正确的数据模型。

  • 业务需求的变更,这个问题其实是对数据质量影响非常大的,需求一变,数据模型设计、数据录入、数据采集、数据传输、数据装载、数据存储等环节都会受到影响,稍有不慎就会导致数据质量问题的发生。

  • 业务端数据输入不规范,常见的数据录入问题,如:大小写、全半角、特殊字符等一不小心就会录错。人工录入的数据质量与录数据的业务人员密切相关,录数据的人工作严谨、认真,数据质量就相对较好,反之就较差。

管理层面

技术再努力起到的作用毕竟有限,有些事情必须通过管理手段去约束。通过管理使得规范得以贯彻,通过管理来提高团队成员的数据质量意识,通过管理手段去协调各个参与方提高效率。

可以建立数据质量保障委员会,源端团队负责人、数据团队负责人、业务团队负责人,都要参与其中。统一规划顶层设计,制定统一数据架构、数据标准,设计数据质量的管理机制,采用分类处理的方式持续提升数据质量。源端的数据问题最好在源端解决,建立指标体系统一各方的数据口径,明确数据问题的责任谁的问题谁解决。

总之,只有管理上重视了,整体工作才好开展。

  • 认知问题。企业管理缺乏数据思维,没有认识到数据质量的重要性,重系统而轻数据,认为系统是万能的,数据质量差些也没关系。

  • 没有明确数据归口管理部门或岗位,缺乏数据认责机制,出现数据质量问题找不到负责人。

  • 缺乏数据规划,没有明确的数据质量目标,没有制定数据质量相关的政策和制度。

  • 数据输入规范不统一,不同的业务部门、不同的时间、甚至在处理相同业务的时候,由于数据输入规范不同,造成数据冲突或矛盾。

  • 缺乏有效的数据质量问题处理机制,数据质量问题从发现、指派、处理、优化没有一个统一的流程和制度支撑,数据质量问题无法闭环。

  • 缺乏有效的数据管控机制,对历史数据质量检查、新增数据质量校验没有明确和有效的控制措施,出现数据质量问题无法考核。

影响数据质量的因素,可以总结为两类,客观因素和主观因素。客观因素:在数据各环节流转中,由于系统异常和流程设置不当等因素,从而引起的数据质量问题。主观因素:在数据各环节处理中,由于人员素质低和管理缺陷等因素,从而操作不当而引起的数据质量问题。

参考:

小白入门学习数据质量

数据仓库详细介绍(九.数据质量)理论与经验

数据管理百问(第3期):数据质量

数据治理:数据质量提升十步法(PPT)

数据治理系列5:浅谈数据质量管理

数据质量:数据治理的核心

数据仓库之数据质量建设(深度好文)

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值