合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
大家在借呗或者银行的信用贷借钱的时候,第一步是让你授信,看看你的信用能够贷到多少钱?那么金融机构是如何知道你的信用状况呢?
图片
在金融机构开展信贷业务、进行风控管理的过程中,征信数据是十分关键且重要的基础数据,它客观反映了征信主体的信用状况。以人行二代征信数据为例,其中存在极其丰富的个人信息、信贷交易明细等数据,那么如何从中快速挖掘衍生出有价值的指标成为了信贷业务开展、风险控制管理的重要工作,本文就讲讲金融机构通常是如何使用征信数据的。
征信报告究竟长什么样子呢?以人行二代征信报告为例,征信报告分为简版和详细版本,简版可以直接在人行官网发起查询,而详版需要线下去网点查询。下图是人行简版的截图:
图片
通常人行征信报告包含以下内容:
通常情况下,金融机构的信贷系统不会直接连人行征信系统,而是通过征信前置系统进行上报、查询。
图片
xml一般好几M,内格式大致如下:
图片
不同厂商的征信前置系统会对原始的征信报文做简单的加工,比如转成json,或者去掉部分信息,然后给到信贷系统。
现在获取到征信指标的报文,可以利用里面的征信数据加工衍生出各种各样的指标。基于对征信数据的充分挖掘,包含个人信息类、账户行为类、逾期类等12个指标大类,细分为37个指标小类,形成衍生指标1600多个,可实现对征信信息精细且全面的覆盖。
图片
现在要基于征信数据构建出一套征信指标体系,必然需要搭建一套系统去支撑,那么该如何做呢?
图片
整个信贷征信指标平台分为2个大模块,管理模块和执行模块。
1、管理模块面向指标管理人员,主要用于指标通过SQL或者界面拖拉拽的方式快速开发出征信指标,然后发布出去。
2、执行模块面向行内业务系统,接收管理平台的变量配置,负责将清洗解析后的原始报告数据,按照管理平台配置的变量逻辑进行同步并行计算,得到最终的变量结果。
整个征信数据处理流程如下:
图片
通常情况下,决策系统等外部应用系统请求征信前置机获取征信报文,返回的格式可能是xml、json或者html。征信报文通常包含身份信息单元、婚姻信息单元、信贷交易信息概要信息单元、借贷账户信息单元等内容。然后调用征信指标衍生平台暴露的接口,传入相应的征信报文。
征信指标衍生平台解析原始的报文数据,转换成平台中的58张内存表(数据模型)中,包括身份信息、婚姻信息、借贷账户基本信息、借贷账户最近24个月还款记录信息等。
利用接入的统一数据模型,通过sql或者界面拖拉拽的方式配置衍生指标的逻辑。
征信指标的计算分成了实时和异步两种方式。
实时即线上接口调用的场景,将决策所需的变量(一般50个左右,一般不超过300个)实时计算返回,对时效性要求较高,需要在内存中进行计算解析。
异步,通俗来说就是“攒数”的场景,方便后续策略迭代时,对历史变量的回溯,对时效性要求不高,但变量数量庞大(多达数万)。为不影响线上决策,实时和异步往往要隔离资源进行计算。
具体的计算引擎采用基于Apache Calcite作为SQL处理引擎,Apache Calcite 这一个开源的SQL查询引擎,提供标准的SQL语言,查询优化,连接数据源的能力,但是它不负责存储和管理数据,只需要编写对应的插件即可实现从内存的表中计算出指标。采用Calcite方式的另外一个好处,相对于内存数据库,性能更好,因为即便内存数据库也需要有数据库落库的开销,本身数据库的ACID等特性也会影响到查询的性能,Calcite就不存在这样的问题。
对于实时场景下,指标直接通过接口返回,用于后续的决策。异步场景,指标计算的结果可以落到数据库中,其他系统自己主动来获取。由于单客户单报告的变量变量能达到数万甚至数十万,累计一段后,数据量将会很大。一般建议只存储近期数据。而存储形式上,对每个变量做列式存储是不现实的,将本次报告的所有变量以单层json的形式存储在一个字段下。
征信指标管理系统实现了一站式指标开发、计算、发布、迭代和管理功能,极大地降低了征信指标衍生加工的难度。而且采用内存的计算方式,保证了系统的性能,后续还可以纳入企业征信、税务、工商、司法等更多外部数据,为整个信贷业务赋能。
TOP