1、什么是数据质量
按照国际数据管理协会的《数据管理知识手册》中规定,数据质量(DQ)是“既指与数据有关的特征,也指用于衡量或改进数据质量的过程。”但要深入理解数据质量,需要切分不同层次或维度。
数据无处不在。随着数据创建的数量、来源和速度的增加,企业正在努力解决如何处理所有这些问题以及如何处理这些问题的现实。如果你的企业还没有确定使用自己的数据的最有效的方法,那么你就错过了改变你的业务并获得决定性优势的关键机会。
当然,如果没有好的数据,做你想做的事情就难多了。无论是推出新产品或新服务,还是简单地响应最大竞争对手的举动,做出明智、及时的商业决策几乎完全取决于手头数据的质量。
人们试图用这样的术语来描述数据质量完全, 准确, 可接近,和脱糊状。虽然每个词都描述了数据质量的一个特定元素,但更大的数据质量概念实际上是关于该数据是否达到了您想要用于的目的或目的。
2、数据质量评估
完整性 Completeness:完整性用于度量哪些数据丢失了或者哪些数据不可用。
规范性 Conformity:规范性用于度量哪些数据未按统一格式存储。
一致性 Consistency:一致性用于度量哪些数据的值在信息含义上是冲突的。
准确性 Accuracy:准确性用于度量哪些数据和信息是不正确的,或者数据是超期的。
唯一性 Uniqueness:唯一性用于度量哪些数据是重复数据或者数据的哪些属性是重复的。
关联性 Integration:关联性用于度量哪些关联的数据缺失或者未建立索引。
3、为什么要进行数据质量评估
很多刚入门的数据分析师,拿到数据后会立刻开始对数据进行各种探查、统计分析等,企图能立即发现数据背后隐藏的信息和知识。然而忙活了一阵才颓然发现,并不能提炼出太多有价值的信息,白白浪费了大量的时间和精力。比如和数据打交道的过程中,可能会出现以下的场景:
-
场景一:作为分析师,要统计一下近7天用户的购买情况,结果从数仓中统计完发现,很多数据发生了重复记录,甚至有些数据统计单位不统一。
-
场景二:业务看报表,发现某一天的成交gmv暴跌,经过排查发现,是当天的数据缺失。
造成这一情况的一个重要因素就是忽视了对数据质量的客观评估。在进行数据分析前需要注意以下两点:
-
1、在实际工作中数据分析一定都是为具体业务服务的,只有紧密围绕业务需求的分析才是有意义的有价值的。
-
2、通常我们进行数据分析、挖掘的目的是企图发现数据中隐藏的知识和信息,从而对实际业务或产品进行优化。如果数据集本身质量不佳,自然很难得出有用的结论,甚至可能得到错误的结果延伸到导致决策失误。
所以,进行科学、客观的数据质量评估是非常必要且十分重要的。首先可以节约大量试错的时间;其次可以降低得出错误结论的概率;还可以缩短数据反馈流程,更加及时的将数据收集过程存在的问题反馈给数据生产部门,提高协作效率。
4、方法与步骤
熟悉六西格玛管理的人应该知道,六西格玛强调以事实驱动管理。但事实是用数据说话。映射到六西格玛管理方法,MTC-DQM推荐采用十步数据质量管理方法。
-
定义和商定问题、时机和目标,以指导整个数据质量管理的工作。
-
收集、汇总、分析有关形式和信息环境。设计捕获和评估的方案。
-
按照数据质量维度对数据质量进行评估。
-
使用各种技术评估劣质数据对业务产生的影响。
-
确定影响数据质量的真实原因,并区分这些原因的影响的数据质量的级别。
-
最终确定行动的建议,为数据质量改善制定方案,包括数据级和组织级的。
-
建立数据错误预防方案,并改正当前数据问题。
-
通过改进组织管理流程,最大限度控制由管理上的缺陷造成的数据质量问题。
-
对数据和管理实施监控,维护已改善的效果。10.沟通贯穿管理始终,循环的评估组织管理流程,以确保数据质量改善的成果得到有效保持。
5、数据质量问题根源
做数据质量管理首先要搞清楚数据质量问题产生的原因,原因有很多方面,例如:技术、管理、处理流程、业务逻辑错误等都会碰到,但从根本上来讲数据质量问题产生的绝大多数原因在业务上。
解决数据质量问题不是简单通过一个工具就能搞定,需要从根本上认识到数据质量问题产生的真正根源,从而从业务上着手解决数据质量问题。从业务角度着手解决数据质量问题,重要的是建立一套科学、可行的数据质量评估标准和管理流程。
6、数据质量定义维度
如果从用户层级定义数据质量,就是满足特定用户预期需要的一种程度。
如果从数据本身定义数据质量,即从数据质量的指示器和参数指标等方面来衡量其优劣。
如果从数据约束关系定义数据质量,即从数据的原子性、数据的关联性及对数据的约束规则来度量数据质量。
如果从数据过程定义数据质量,需要从数据能被正确使用、存储、传输等方面定义质量。
7、为什么数据质量这么难
差一点85%的首席执行官说他们担心他们用来做决定的数据的质量。这种担忧的部分原因在于,事实证明,糟糕的数据使公司付出了更大的代价。占其年收入的25%在失去的销售,失去的生产力,或错误的决定。
显然,对于许多组织来说,实现数据质量仍然是一个挑战,但解决方案并不像它们看起来的那样虚幻。大多数企业都会遇到一些或全部直接影响数据质量的问题:
-
孤立的数据。又称“数据筒仓”,这些独立的数据组要么属于特定的业务单元,要么包含在特定的软件中。隔离数据的问题是,组织的其他部分无法访问它,因为该软件可能与任何其他内容不兼容,或者业务单元严格控制用户权限。虽然这些数据可能提供有用的,甚至是非常有价值的洞察力,因为它不容易被访问,但是业务不能对它形成一个完整的图景,更不用说从中受益了。
-
过时的数据。企业结构庞大而复杂,有多个团队和部门。因此,跨组织收集数据通常是一个缓慢而费力的过程。到收集所有数据时,其中一些-如果不是大多数-在相关性方面已经落后,因此大大降低了其对组织的价值。
-
复杂的数据。数据来自许多不同的来源和不同的形式。数据来自智能手机、笔记本电脑、网站、客户服务交互、销售和营销、数据库等。它可以是结构化的,也可以是非结构化的。理解输入的数据量和数据种类,并使其标准化供每个人使用是一个资源密集型的过程,许多组织没有足够的带宽或专门知识来跟上。
8、如何实现高质量数据
和任何有价值的商业活动一样,提高数据的质量和效用是一个多步骤、多方法的过程。以下是如何:
-
方法1:大数据脚本获取大量数据,并使用脚本语言与其他现有语言进行通信和组合,以清理和处理数据以进行分析。虽然工程师欣赏脚本的灵活性,但它确实需要对需要合成的数据类型和数据存在的特定上下文有一个重要的理解,以便知道要使用哪种脚本语言。判断和执行中的错误会打乱整个过程。
-
方法2:传统的ETL(提取、加载、转换)工具集成了来自不同来源的数据,并将其加载到数据仓库中,然后准备进行分析。但是,通常需要一组技术熟练的内部数据科学家首先手动清除数据,以解决与源和目的地之间存在的模式和格式不兼容的问题。更不方便的是,这些工具通常是批量处理,而不是实时处理。传统的ETL需要基础设施的类型、现场的专业知识以及很少有组织愿意投资的时间承诺。
-
方法3:开放源码工具提供数据质量服务,如解除欺骗、标准化、充实和实时清理,以及快速注册和比其他解决方案更低的成本。然而,大多数开源工具在实现任何真正的好处之前仍然需要一定程度的定制。对于服务的启动和运行,支持可能是有限的,这意味着组织必须再次依靠他们现有的IT团队来使其工作。
-
方法4:现代数据集成通过自动集成、清理和转换数据,然后将数据存储在数据仓库或数据湖中,从而消除了传统ETL工具的手工操作。组织定义数据类型和目的地,并可以根据需要使用更新的客户详细信息、IP地理定位数据或其他信息丰富数据流。转换过程将来自所有源和各种格式的数据标准化,使其可供组织中的任何人使用。而且,由于它实时处理数据,用户可以检查数据流并纠正正在发生的任何错误。
9、一般数据质量的监控指标点
-
接入数据条数波动(近7天均值比较)
-
源系统表结构变更(表名、字段名、字段类型)
-
源系统表计算延迟,导致后续数据接入延迟
-
线上维表新增数值, 仓库未及时更新
-
对接入RDBMS表的主键、外键检查:是否重复
-
重要字段长度检查
-
空值检查
-
重要字段枚举分布检查:离散的,多数是维度字段,可以包含空值检查
-
值域检查:连续的,一般是事实字段,计算检查MAX MIN SUM AVG
-
日期合法性检查:是否有跨天日志,是否有不正常时间日志