浅谈数据质量管理
笔者在长期的数据仓库、CRM等数据分析项目的开发工作中发现,低下的数据质量往往造成开发出来的系统与用户的预期大相径庭;很多数据仓库、CRM项目应用程度不高或最后失败,归根结底都是数据质量不高造成的。数据质量不高已经成为困扰此类项目的开发人员与用户的一个严重问题。为了提高大家对数据质量的认识,使企业领导重视数据质量的管理工作,笔者试图对数据质量及数据质量管理做一个较全面的介绍。
1. 何谓数据质量
何谓数据质量可从两个方面来理解:
l
数据的真实性。
数据必须真实准确的反映实际发生的业务。
l
数据的完备性。
数据的完备性是说数据是充分的,任何有关操作的数据都没有被遗漏。
l
数据的自洽性。
数据并不是孤立存在的,数据之间往往存在着各种各样的约束,这种约束描述了数据的关联关系。数据必须能够满足这种数据之间的关联关系,而不能够相互矛盾。
数据的真实性、完备性、自洽性是数据本身应具有的属性,称为数据的绝对质量,是保证数据质量的基础。
除了数据的绝对质量外,还有我们在利用和存贮数据的过程中所产生的数据质量,包括使用质量、存贮质量和传输质量,称之为过程质量。
1.2. 数据的过程质量
l
数据的使用质量
数据的使用质量是指数据被正确的使用。再正确的数据,如果被错误的使用,就不可能得出正确的结论。
l
数据的存贮质量
数据的存贮质量是指数据被安全的存贮在适当的介质上。所谓安全是指采用了适当的方案和技术来抵制外来的因素,使数据免受破坏,备份是我们常使用的技术,包括异地备份和双机备份等,美国的
9.11事件和2004年底发生的印度洋海啸事件使越来越多的企业领导意识到备份尤其是异地备份的重要性;所谓存贮在适当的介质上是指当需要数据的时候能及时方便的取出。
l
数据的传输质量
数据的传输质量是指数据在传输过程中的效率和正确性。在现代信息社会中,数据在异地之间的传输越来越多,保证传输过程中的高效率和正确性非常重要。
2. 数据质量和数据一致性
在工作中我们发现,很多用户甚至一些数据仓库项目的开发人员经常将数据质量和数据仓库项目开发中的ETL过程的数据一致性混为一谈,错误的认为数据仓库项目(也即ETL过程)能够修复数据以提高数据质量,其实数据质量和ETL过程的数据一致性是两个不同的概念。
ETL过程的数据一致性是指根据相同的业务理解(基于源系统模型和基于数据仓库模型),在源系统查询和统计的信息与在数据仓库中得到的结果在各个细节层次(包括明细层次)上都是相同的。数据一致性是ETL过程必须保证的。
数据质量是存在于企业的源系统中的,如常见的客户代码的不规范,同一个客户在不同的系统中(例如业务处理系统和财务系统)有不同的代码,甚至同一个客户在同一个系统中也有不同的代码,以保险公司的业务处理系统为例,同一个客户先后在同一个保险公司投保,不同的业务员可能会输入不同的客户代码;更常见的是那些没有实现大集中的分布式的应用,同一个客户(如工商银行)在不同的分公司(如河南分公司和湖北分公司)投保,业务员很可能会输入不同的代码;再如,在业务处理系统中,有些录入人员为了录入的方便,常常将一些内容不输或者采用默认值,造成一些重要录入信息的缺失或错误。这些数据质量问题对我们的数据分析系统造成严重的干扰和破坏。
数据仓库项目虽然不能够修复数据以提高数据质量,但能发现存在的部分问题从而提醒用户哪些数据是有质量问题的,给出用户一些改进的建议,同时在分析和决策时应降低对这些数据的依赖程度,也可以提供辅助的方法跟踪、监测数据质量问题。
3. 数据质量的重要性
数据信息是企业重要的战略资源,合理有效的使用正确的数据能指导企业领导作出正确的决策,提高企业的竞争力。不合理的使用不正确的数据(即差的数据质量)可导致决策的失败,正可谓差之毫厘、谬以千里。
现在很多大型企业已意识到数据信息和数据质量的重要性,专门成立了数据中心来管理数据方面的工作。
4. 数据质量不高的原因
我们的数据来自于数据录入人员通过信息技术手段(开发计算机处理系统)输入到系统中的,因此数据质量不高来源于下面的两方面:
4.1. 信息技术手段
现代信息技术已足以保证数据的存贮和传输质量,不是本文讨论的重点,不过多论述。造成我们的计算机处理系统得到的数据质量不高的原因,很多情况是我们的计算机处理系统的用户界面不友好,不方便用户的录入,或是不符合用户常规的操作习惯,导致用户容易出错或是录入工作量大;对重要的录入信息没有加强效验。
4.2. 数据录入人员
由于数据录入人员的输入失误,或是违反操作流程(故意或不是故意的),是造成数据质量不高另一个重要原因。这个问题,可以从两个方面来看待:
l
数据录入人员的责任心不强和业务素质不高。
l
基层领导对数据质量的不重视。业务收入是基层的生命线,基层领导不会投入大量的人力和物力来抓数据质量,由于市场竞争的激烈,有时基层领导为了争夺客户甚至会让录入员作出一些违规的操作,基层领导对数据的认识与管理与高层领导对数据的需求形成矛盾,这一矛盾是造成数据质量不高的一个核心矛盾。
5. 如何做好数据质量的管理工作
如何做好数据质量的管理工作,笔者认为可以从三个方面抓起:
5.1. 提高对数据的认识
我们只有认识到数据在管理中的重要作用,才会反过来重视数据质量问题。要让企业的每一个员工都能认识到数据是企业重要的战略资源,企业的一切决策都来源于数据。没有正确的高质量的数据,就没有正确的决策。国外有一个谚语“Garbage in,garbage out”(进去的是垃圾,出来的还是垃圾),试问,我们决策时使用的是垃圾,又怎能期待得到好的决策呢?!
5.2. 信息技术保证
采用先进的开发技术,开发出用户界面比较友好的系统,减少操作员的录入工作量和出现错误的可能性;同时在开发前要充分考虑用户的需求,防止出现业务处理软件不能满足客户要求、操作员采取违规操作的现象。
开发数据检测、检查工具,及时的发现数据质量问题,及时纠正,要知道,发现问题越早纠正的成本就会越低,一个蚁穴不及时修补会造成千里之的溃决。
5.3. 完善的制度管理
在企业上下建立起完善的数据负责制度,并与员工的绩效和奖惩挂钩,有条件的企业可以成立专门的组织和机构负责数据管理工作。