开发者学堂课程【场景实践 - 使用 MaxCompute 进行数据质量核查:数据质量问题类型】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/520/detail/7040
数据质量问题类型
内容介绍:
一、错误值
二、重复值
三、数据不一致
四、数据完整性
五、缺失值
六、异常值
一、错误值
由于字段类型与实际存放数据差异,或录入信息出错而导致的数据错误。
错误值就是数据存放错了的意思。
举例1:假设某些时间格式存在问题,导致数据库开发人员将部分的时间阶段设成了字符串类型,而正常的数据存储方式是2017-09-01 00:00:00,这种是存储到秒的时间存储方式。还有存储到日的,比如说2017-09-01。如果时间阶段设成了字符类型,那在这个字段里面可能就是20170901,,也就是不带“-”的。或者直接就存年月日,也就是数字和中文一起存放。这样就会给数据统计带来一些困难,本来这些都是一天的记录,但是因为存放的方式不一样,在做数据汇总的时候,就可能汇总成两条记录和多条记录。
举例2:客户姓名存在问题。
比如,客户本来叫张三,结果被存成李四了,那么客服人员或者是授权人员在联系客户的时候就会比较尴尬。
还有可能本来一个存放年龄字段的数据,结果在这个年龄字段里存放了客户的收入信息,这就会更尴尬。
这些都是一些错误值的体现。
二、重复值
数据记录中存在完全一样的重复记录,或从业务上理解不可能存在的关键信息出。
举例1:在一个电商平台里的订单系统里,会出现一部分记录信息重复的订单。例如一个客户在同一个时间点下了不同的订单,这样客户就会投诉说没有下这个单,怎么会出来一个新单。
举例2:假设,用户下完一个订单之后,需要安排派送员派送,结果在派送系统里面出现了重单,一个订单分给了不同的物流派送员,这就造成了一种人流物流的浪费,而且结果还可能会出错。
举例3:订单系统里面的部分记录单可能会是一种连续短单,就是在不足一秒的时间里,同一个客户多次订购同一个产品,这可能是因为系统的延迟,或者是客户下单时候手抖导致最终生成这种订单。这种订单可能会产生客户投诉,而这些都需要避免。
三、数据不一致
数据的记录是否符合规范,是否与前后及其他数据集合保持统一。数据的一致性主要包括数据记录的规范和数据逻辑的一致性。
举例1:之前其实提过,一个用户在系统a里面订购的是a套餐,但是系统b里面订购的是b套餐,a、b套餐产生差异,可能是用户自己变更套餐系统,数据没做同步导致,这就是一种信息差异。
举例2:假设分析系统里的地址信息名称没有标准化,有的存的是北京;有的是北京市;有的是河北;有的是河北省。
这样在做汇总的时候,在地址维度进行汇总,就可能把相同地域的数据汇总到两条记录,甚至三条记录里面。
举例3:再比如,在一个分析系统里存着客户的年龄,而在一个客户分群信息表里也存着客户的年龄。当然客户分群信息表存的是客户的年龄层次,但结果发现这两个里面的数据可能就不一致。可能一个客户在客户表里年龄是38,但是在客户分群信息表里他的年龄层次被分到了40这个层次,这样可能就会对精细化营销推送产生影响。
四、数据完整性
数据完整性:数据的记录和信息是否完整,是否存在缺失的情况。
举例1:在电商系统里,用户可能下了一个订单,在订单表里增加了一条信息,记录了此用户订购了某个产品。
结果,当我们通过这个产品去相关的产品表里找对应产品的时候,却发现没有对应的记录,具体原因可能是产品信息变更了导致关联不上数据。
这种情况可能就导致订单无法配送,从而引起客户投诉。
举例2:比如,给配送员分配配送单,然后分到了一个配送单,但是拿着这个订单号去订单表查询的时候,查不到有效的订单。
这种情况可能就是用户退单了,或者就没有这个单,最终导致的物流人员的一种空跑,配送效率下降。
五、缺失值
正常的数据信息记录中,存在信息缺失的情况;
数据的缺失主要有记录的缺失和记录中某个字段信息的缺失,两者都会造成统计结果的不准确,完整性是数据质量最基础的保障。
缺失时产生的原因多种多样。
1、人为原因:
比如人的主观失误、历史数据的局限、统计时有意隐瞒。
例如,在市场调查中,被访人可能拒绝透露相关隐私问题,或者回答的问题都是无效的,数据录入人员就没办法把这种信息录入到系统里面。
2、机械原因:
比如数据存储程序失败、主机系统故障。
这可能导致某一个时间段内无法收集到相关数据,而缺失一部分数据。
六、异常值
数据记录中出现明显的数据偏差或者数据错误的记录。
举例1:在一个分析系统里,一个用户最近几个月的消费一般都是50块钱左右。比如第一个月消费50,第二个月消费60,第三个月消费45,第四个月消费50,突然到了第五个月上升到了500。这时,就会把这种情况统计成是异常值的一种体现,可以算成是一种波动性异常值。
举例2:一个系统从源系统里取得相关的接口文件,或者源系统直接把相关的接口文件放到本系统中。按照接口规范的要求,这个接口文件需要在每天凌晨两点放到接口服务器上。一个月来,这种接口传送一切正常,都在两点前完成了传送。突然有一天,这个接口到了早晨八点才传过来。那么这种情况就会影响后续的数据统计分析。这种数据质量异常值就是一种及时性的异常。
也就是要求在规范要求的时间前完成相关的数据操作,如果没有完成,就也是一种数据异常。