4. 数据资产盘点:识别风控系统涉及的数据源、数据表、字段清单、数据血缘关系梳理
数据资产盘点是风控数据质量沙盘推演的起点。在推演开始前,必须完整识别风控系统所依赖的所有数据源、数据表、字段清单,并梳理数据之间的血缘关系。只有明确了“有什么数据、数据从哪里来、数据如何流转”,才能精准定位质量问题的根因。
4.1 风控系统数据源全景
风控系统的数据源通常分为内部业务数据、外部征信/第三方数据、以及实时行为数据三大类。每一类数据源的质量特征和接入方式不同,盘点时需要分别记录其来源系统、接入协议、更新频率和数据量级。
| 数据源类别 | 典型来源系统 | 接入协议 | 更新频率 | 数据量级(日) |
|---|---|---|---|---|
| 内部业务数据 | 核心账务系统、信贷审批系统、客户关系管理系统 | 数据库直连(JDBC/ODBC)、消息队列(Kafka) | T+1 / 实时 | 百万~千万级 |
| 外部征信数据 | 央行征信、百行征信、同盾、鹏元等 | API(HTTP/HTTPS)、SFTP文件 | 实时 / 每日批量 | 万~百万级 |
| 实时行为数据 | 埋点系统、日志采集平台、设备指纹服务 | Kafka、Flume、Logstash | 秒级~分钟级 | 千万~亿级 |
| 离线数仓数据 | Hadoop/Hive、ClickHouse、Greenplum | ETL调度(Sqoop/DataX) | T+1 / 小时级 | 亿级 |
盘点要点: 在沙盘推演中,每个数据源都需要标注其“数据质量等级”(高/中/低),以及“关键质量风险点”(如字段缺失率、延迟时间、格式不一致等)。这有助于后续推演时快速定位问题源头。
4.2 核心数据表与字段清单
在识别数据源后,需要进一步细化到数据表级别,并列出风控决策流程中实际使用的关键字段。以下以“信贷申请风控”场景为例,展示核心数据表及其字段清单。
| 数据表名称 | 所属数据源 | 关键字段(风控使用) | 字段类型 | 质量约束 |
|---|---|---|---|---|
| 申请信息表 | 信贷审批系统 | 申请编号、客户ID、申请金额、申请期限、产品类型、申请时间 | string / decimal / timestamp | 申请编号唯一非空;金额>0 |
| 客户基本信息表 | 客户关系管理系统 | 客户ID、姓名、身份证号、手机号、年龄、学历、职业 | string / int | 身份证号格式校验;手机号11位 |
| 征信报告表 | 央行征信 | 客户ID、征信查询时间、逾期次数、负债总额、信用卡张数、贷款笔数 | string / int / decimal | 征信查询时间不能晚于申请时间 |
| 设备指纹表 | 设备指纹服务 | 设备ID、客户ID、IP地址、设备型号、操作系统、GPS位置、是否模拟器 | string / boolean | 设备ID与客户ID关联唯一 |
| 历史行为表 | 埋点系统 | 客户ID、行为类型、行为时间、页面停留时长、点击次数 | string / timestamp / int | 行为时间不能为空;行为类型枚举值 |
字段清单管理规范: 建议使用统一的数据字典工具(如 Apache Atlas、DataHub 或自研元数据平台)维护字段级元数据,包括字段定义、数据类型、枚举值范围、质量规则、以及字段的“生产者”和“消费者”。在沙盘推演中,字段清单是模拟数据质量问题的基本单元。
4.3 数据血缘关系梳理
数据血缘(Data Lineage)描述了数据从产生、加工、流转到最终消费的完整路径。在风控系统中,数据血缘关系梳理有助于回答以下问题:
- 某个风控指标(如“逾期率”)依赖哪些原始字段?
- 当某个字段出现质量问题时,会影响哪些下游风控规则或模型?
- 数据在流转过程中是否经过了ETL转换、聚合或脱敏?
以下是一个典型的风控数据血缘关系示例,展示从原始数据源到风控决策引擎的字段级流转路径。
血缘梳理常见陷阱: 在沙盘推演中,经常发现以下问题——(1)字段在ETL过程中被隐式转换(如日期格式从 yyyy-MM-dd 变为 yyyyMMdd)但未记录;(2)多个上游字段合并为一个衍生字段时,未保留原始字段的溯源信息;(3)数据血缘仅覆盖正向流程,未记录回退或补录场景。这些都会导致质量问题的根因分析出现偏差。
4.4 数据资产盘点清单模板
为了在沙盘推演中高效记录和追踪数据资产,建议使用以下标准化清单模板。该模板覆盖了数据源、数据表、字段、血缘关系和质量规则五个维度。
| 资产编号 | 数据源 | 数据表 | 字段名称 | 血缘上游 | 血缘下游 | 质量规则 |
|---|---|---|---|---|---|---|
| DS-001 | 信贷审批系统 | 申请信息表 | 申请金额 | 前端申请页面 | 风控特征宽表.申请金额 | 非空;数值范围 0~99999999 |
| DS-002 | 客户关系管理系统 | 客户基本信息表 | 身份证号 | 客户注册接口 | 风控特征宽表.身份证号 | 18位;符合身份证校验算法 |
| DS-003 | 央行征信 | 征信报告表 | 逾期次数 | 征信API返回 | 风控特征宽表.逾期次数 | 非负整数;不超过100 |
| DS-004 | 设备指纹服务 | 设备指纹表 | 是否模拟器 | SDK采集 | 风控特征宽表.设备风险分 | 布尔值;true/false |
| DS-005 | 埋点系统 | 历史行为表 | 行为时间 | 前端埋点上报 | 风控特征宽表.最近行为时间 | 时间戳格式;不能晚于当前时间 |
推演建议: 在沙盘推演开始前,团队应基于上述清单完成一轮“数据资产预审”,标记出已知的质量风险点(如字段缺失率超过5%、数据延迟超过30分钟等)。这些预审结果将作为后续推演场景设计的输入。
4.5 数据血缘关系梳理工具与最佳实践
在实际风控系统中,数据血缘关系梳理通常依赖元数据管理平台。以下是几种常见工具及其适用场景:
- Apache Atlas: 适用于 Hadoop 生态,支持自动采集 Hive、Spark、Sqoop 等组件的血缘信息,提供字段级血缘可视化。
- DataHub: 开源元数据平台,支持多数据源(MySQL、Kafka、Airflow 等),提供血缘搜索和影响分析。
- 自研血缘解析引擎: 针对复杂 ETL 脚本(如 SQL、Python、Shell),通过解析代码中的字段映射关系,生成血缘图谱。
在沙盘推演中,建议采用“分层梳理 + 关键路径优先”的策略:
- 第一层: 梳理数据源到 ODS(操作数据存储)的血缘,重点关注数据接入时的格式转换和字段映射。
- 第二层: 梳理 ODS 到 DWD(明细数据层)的血缘,重点关注数据清洗、去重、缺失值处理等质量操作。
- 第三层: 梳理 DWD 到 DWS(汇总数据层)或特征宽表的血缘,重点关注聚合计算和衍生字段的生成逻辑。
- 第四层: 梳理特征宽表到风控决策引擎的血缘,重点关注模型和规则实际消费的字段。
推演产出物: 完成数据资产盘点后,应输出以下文档——(1)《风控数据源全景清单》;(2)《核心数据表字段字典》;(3)《字段级数据血缘图谱》;(4)《数据质量风险预审报告》。这些产出物将作为后续沙盘推演场景设计、问题注入和根因分析的基础。