3. 数据采集与整合:内部数据源、外部数据源与数据仓库搭建
贷后预警分析的基础是高质量、多维度的数据。本章聚焦于如何系统性地采集内部与外部数据源,并通过数据仓库实现整合,为后续的坏样本特征工程与模型开发奠定坚实基础。
3.1 内部数据源:还款流水与催收记录
内部数据是机构最核心、最可控的资产,直接反映借款人的履约行为与贷后管理过程。
3.1.1 还款流水数据
还款流水记录了借款人每一期的还款行为,是判断逾期状态、计算账龄的核心依据。关键字段包括:
- 交易流水号:唯一标识一笔还款操作。
- 合同号/借据号:关联到具体的贷款合同。
- 还款日期与时间:精确到秒,用于判断是否在宽限期内。
- 应还金额 vs 实还金额:计算差额,识别部分还款或超额还款。
- 还款渠道:代扣、主动转账、线下POS等,用于分析渠道稳定性。
- 逾期天数:基于还款日与当前日期的差值,是预警的核心标签。
数据质量提示: 还款流水常出现“重复扣款”或“冲正”记录。在ETL阶段必须通过交易流水号去重,并保留冲正标记,避免将冲正金额误判为有效还款。
3.1.2 催收记录数据
催收记录是贷后管理的过程日志,包含催收人员与借款人的交互信息,对预测还款意愿和失联概率至关重要。
| 字段类别 | 关键字段 | 分析用途 |
|---|---|---|
| 催收动作 | 催收时间、催收方式(电话/短信/外访)、催收人员ID | 计算催收频次、响应速度 |
| 借款人反馈 | 承诺还款日期、承诺金额、失联标记、投诉标记 | 构建“承诺履约率”、“失联天数”特征 |
| 催收结果 | 催收状态码(已联系/无人接听/空号/承诺还款/拒绝还款) | 作为坏样本预测的强特征 |
3.2 外部数据源:征信与多头借贷
外部数据弥补了内部数据的局限性,提供了借款人在全金融体系中的信用画像。
3.2.1 征信数据
以央行征信或百行征信为代表,提供权威的信贷历史记录。核心指标包括:
- 信贷账户数:当前未结清贷款笔数、信用卡张数。
- 逾期历史:M1/M2/M3+ 逾期次数、最长逾期天数。
- 查询记录:近1个月/3个月/6个月的硬查询次数(贷款审批、信用卡审批)。
- 公共记录:是否有强制执行、失信被执行人记录。
3.2.2 多头借贷数据
多头借贷数据反映借款人在多个平台的借贷申请与放款情况,是识别“以贷养贷”和共债风险的关键。
| 指标名称 | 计算方式 | 预警阈值参考 |
|---|---|---|
| 近7天申请平台数 | COUNT(DISTINCT 平台ID) WHERE 申请时间 >= NOW() - 7d | >= 3 家 |
| 近30天放款平台数 | COUNT(DISTINCT 平台ID) WHERE 放款时间 >= NOW() - 30d | >= 5 家 |
| 总授信额度使用率 | SUM(已用额度) / SUM(总授信额度) | > 80% |
合规风险提示: 外部数据采集必须遵循《个人信息保护法》及征信业相关法规。需获得用户明确授权,并确保数据传输过程加密(HTTPS + 国密算法),严禁超范围采集通讯录、通话记录等敏感信息。
3.3 数据仓库搭建:分层架构与ETL流程
将分散的内部与外部数据整合到统一的数据仓库中,是进行高效分析的前提。推荐采用经典的四层架构:ODS → DWD → DWS → ADS。
3.3.1 ETL 核心步骤
- 数据抽取(Extract):通过JDBC/API连接内部数据库(MySQL/Oracle)和外部数据供应商接口,采用增量抽取策略(按时间戳或自增ID),避免全量重复加载。
- 数据转换(Transform):
- 清洗:处理NULL值(还款金额NULL填充为0,催收结果NULL填充为“未催收”)。
- 标准化:统一日期格式为YYYY-MM-DD HH:MM:SS,统一金额单位为“元”。
- 关联:通过身份证号MD5加密值作为关联键,将内部还款流水与外部多头借贷数据关联。
- 数据加载(Load):将转换后的数据写入DWD层表,并触发DWS层的汇总任务(使用Spark SQL或Hive SQL)。
3.3.2 数据质量监控规则
| 监控维度 | 规则描述 | 告警阈值 |
|---|---|---|
| 完整性 | 核心字段(合同号、身份证号、还款日期)NULL率 | > 1% |
| 准确性 | 还款金额与核心系统对账差异率 | > 0.1% |
| 及时性 | ODS层数据延迟时间(从业务发生到入库) | > 30分钟 |
| 一致性 | 内部客户数与外部征信查询客户数匹配度 | < 95% |
最佳实践: 建议在DWS层建立“贷后预警宽表”,以客户ID+日期为分区键,包含近30天还款行为、催收状态、多头借贷、征信查询等200+个衍生特征。该宽表将直接作为后续坏样本分析的特征输入,大幅提升模型开发效率。