数据质量,永远的痛啊, 我目前就被数据质量折磨的很恶心. 如果不真实接触这个,是永远无法知道它的痛的!
比如: 没有统一计算口径,后台和数据部门对于同一个业务的计算口径不一致, 然后数据不一致,很恶心
业务口径不一致: 如我们金融公司, 在投金额,借贷余额,在贷金额...实际上都是叫同一个东西
一致沿用计算错误的数据,不能形成闭环....
.......
1.数据质量
数据质量是数据之根本,没有质量的数据就是不可信、不可用,数据分析、数据挖掘和数据建模更是一纸空谈。
大数据时代的来临,数据资产、数据分析和数据价值战略已经构成企业核心竞争力的关键因素;但是我们必须清楚的认识到对于大数据的分析和应用必须建立在高质量、可用、可靠的数据基础之上。我们基于低质量、错误数据上的分析和建模无疑是建立在空中楼阁上,将会与我们的期望和战略背道而驰。因此,数据质量是我们大数据战略的第一步,高质量和高标准的数据将决定我们的决定我们数据分析和应用的空间。
2.如何治理
同一个业务指标在不同的业务系统和数据库里可以统计结果不一致。所以数据分析要从元数据和指标定义开始,到数据采集、数据产品、加工处理和分析建模各个环节,影响范围也比较广,从业务需求、研发、上线、大数据相关所有部门和岗位,和数据治理、数据标准和数据架构都有相关影响。
2.1.数据产生
数据治理的第一步,还是最关键的是就是数据的产生,大数据时代的数据来源多种多样。有业务系统产生的客户、交易、风控、理财和催收等数据,还有第三方合作提供的数据、日志、行为、爬虫抓取的互联网数据等。
数据从各个微服务系统、平台、结构化数据库、nosql数据库、图数据库流进来,数据标准、元数据管理就非常重要,如何保证数据在源头的标准化、完整性等问题。
2.2.数据存储
数据库结构设计的时候,就要有数据标准,把可能分布在各个服务、平台和系统中相同业务含义的字段统一命名、标准格式、标准精度。
杜绝存储的时候,各系统缺乏统一的标准体系,各存各的。
2.3.数据处理
数据处理阶段首先把数据通过T+1或实时的方式归口到数仓的ODS层中。在ODS层作数据整合和数据清洗。
处理阶段是数据分析作准备,这阶段要处理的数据问题繁多,不同的问题需要使用不同的方式和手段。
2.4.数据分析
数据分析阶段要分层,按模型和业务主题建立宽表。具体在数据分析、数据挖掘和数据建模过程中,也会产生新的数据,此阶段对加工过的数据口径需要作统一管理。
3.1.元数据
元数据管理范围的不应仅仅局限于数据仓库、数据集市以及其它数据,还应该将业务系统的元数据纳入进来就行统一的管理,真正做到从源头对元数据进行管理,作为对数据的完整生命周期进行管理。
元数据一般称为称为数据的数据,主要是描述数据属性的信息。元数据几乎可以称为是数据仓库和BI系统的灵魂,元数据在整个数据管理、数据分析和数据生命周期中有着至关重要的地位和用途。
元数据在关系型数据库中,其实就是数据结构,描述了数据的结构和意义。
数据表和视图名称和用途;
表里的字段名称、数据类型、长度、精度和描述等;
表中的定义的约束;
表中定义的索引以及主键和外键的信息。
3.2.数据质量
3.2.1.数据完整性
数据从外部系统传入数据仓库,在整个工作流程各个环节都有可能导致数据丢失、数据遗漏、无效数据或错误数据。
数据校验后对数据作补全处理,通过其它关联的业务数据补全数据。
3.2.2.数据唯一性
简单的说,数据中存在重复记录或重复字段,对于这些重复数据,需要做去重处理。
对于重复项的判断,基本思想是“排序和合并”,先将数据库中的记录按一定规则排序,然后通过比较邻近记录是否相似来检测记录是否重复。
对于重复的数据项,尽量通过业务规则并进行整理提取出规则。在清洗转换阶段,对于重复数据项尽量不要轻易做出删除,尤其不能将重要的或有业务意义的数据过滤掉,就算是删除也尽管作逻辑删除或归档处理,也要同时考虑其它数据库的同步。
3.2.3.数据一致性
由于数据源系统分散在各个业务线,很多业务指标和字段是各个业务部门共用的,但各个业务部门的使用场景和理解都不一样。不同业务线对于数据的要求、理解和规格不同,导致对于同一数据对象描述规格完全不同,因此在清洗过程中需要统一数据规格并将一致性的内容抽象出来。
需要建立一套标准的指标体系:
业务指标;
分组维度;
计量单位;
统计口径;
时间频率;
3.2.4.数据逻辑性
数据异常和数据冲突的问题,数据不符合正常逻辑和基本的业务逻辑。不同的数据源对于数据统计冲突的问题,对业务有矛盾的记录。
数据基本逻辑:日期格式、性别、身份证等;
基本计算规则:年龄、工龄等;
业务逻辑:理财金融、贷款利息、逾期天数等;
离群值人工特殊处理;
3.2.4.数据权威性
同一个指标或者同一个业务数据存在多个数据源和数据库中,但数据值不一致,这时候数据修正需要依赖有权威的平台和数据来源。
不同的数据来源设置不同的级别,有些数据修正可以按照级别来自动修正。
3.2.6.数据正确性
正确的数据是此阶段需要修正的,错误数据是在数据处理环节经常出来的问题,数据错误的形式有很多种:
数据长度错误;
数据类型错误;
数据格式错误;
业务范围错误;
无效问题;
值域错误;
非空错误;
3.3.数据建模
针对多业务部门的具体需求,除了提取相关业务指标外,应该对数据进行业务建模,建立各纬度的业务宽表。
数据降维:解决业务数据库数据维度低或缺少维度的问题;
数据汇总:对工作流程和业务数据库分散的数据作统一汇总和归纳;
数据计算:平均、加权、最大、最小值;
分组:数据分组、聚类;
语义转换:码表和数值类类型转换或翻译为业务语言;
主题模型:
a.客户主题
b.帐户主题
c.产品主题
d.客户事件主题
4.1.目的
规范数据的生命周期,提高数据的管理水平;
优化存储结构和空间,控制数据规模并且优化访问效率;
提高对资源利用率,提高稳定性和高效率;
有效的历史数据管理和归档;
4.2.生命周期管理
大数据时代的数据规模会随着业务的高速发展逐渐增多,庞大的数据规模会导致系统的性能越来越低,严重会影响系统的处理速度、发并能力和可用性。因此所有的数据需要有生命周期的管理,控制大数据的规模、对历史数据作好归档和清理的方案。
降低数据规模的同时会降低数据的多项成本,要用最低的成本去利用数据最大的价值,减少系统的开销、提高系统的性能。
5.总结
数据治理在传统金融行业解决这个问题需要签一个千万级别的项目,CEO亲自牵头的。
数据治理的工作越早启动成本越低,不要到数据质量无法收拾的时候才想起来作治理,数据治理的过程涉及到需求、研发、测试和大数据一整套环节的工作,越从前端治理成本越低。
洗数据基本靠人肉,一个分析项目基本80%以上时间在洗数据,这是我们数据分析和建模团队持续的痛苦。
如果要提升企业竞争优势,以数据来驱动对业务的推动,首先解决和提高数据质量是一条必经之路。