当前位置: 首页 > news >正文

(课堂笔记)信贷风控项目:贷前授信、贷中评分、贷后预警

本项目建设银行信贷风控数据仓库,覆盖贷前、贷后全流程。


数据从核心、信贷、征信等源系统入库,经ODS、DWD、DWS至ADS分层加工。


核心包括:

  • 信用评分模型,整合征信、存款、信用卡还款、展期记录四类数据,采用CASE WHEN规则化打分,输出客户综合评分,用于贷前授信与利率定价;
  • 贷后资金流向监控,识别放款后15日内资金是否流入公检法重点账户、小贷公司或房地产商户,支持以贷养贷与担保链风险预警。

项目采用Hive + Oracle数仓架构,日调度ETL,输出信用评分表、预警结果表,直接服务于信贷审批与贷后管理部门。

信贷风控项目


一、 项目核心框架:从业务到技术

本项目围绕银行/金融机构的信贷业务(贷款、信用卡),利用大数据和风控模型,解决贷前、贷后两大场景的核心风险控制问题。


二、 贷前风控:信用评分与授信

核心目标:判断借款人还款能力和意愿,决定是否给额度、给多少、利率多少。

1. 数据来源(多维度刻画客户)

数据维度具体内容数据来源层
资产状况存款、理财、黄金、国债等余额DWD/DWS
收入流水个人账户交易流水(工资、经营收入)DWD
负债与信用历史央行征信报告(结构化解析后)、本行信用卡还款记录、历史贷款记录DWD/ADS
行为数据信用卡消费习惯(商户、金额、频次)DWD

2. 核心模型:信用评分模型(规则加权)

模型本质:基于多个风险属性,根据预设规则打分,加权求和得到总分。

📊 示例评分卡(权重与得分规则)

风险属性评分规则(示例)满分张三得分
征信记录无逾期=10分;有逾期=0分100
存款余额>10万=10分;5-10万=5分;<5万=0分1010
信用卡还款按时全额还款=10分;最低还款/分期=0分1010
贷款展期历史无展期=5分;有展期=0分55
本行未结清贷款无=5分;有且正常=3分;有且逾期=0分5-
...其他.........
总分各属性得分求和40+25

决策应用

  • 85分以上:高额度,优惠利率,可免息期。

  • 60-85分:标准额度,正常利率。

  • 60分以下:拒绝或低额度高利率。

3. SQL实现逻辑(多表关联 + CASE WHEN)

sql

INSERT INTO 信用评分结果表 (客户号, 总分, 征信分, 存款分, 还款分, 展期分) SELECT a.客户号, COALESCE(b.征信分, 0) + COALESCE(c.存款分, 0) + COALESCE(d.还款分, 0) + COALESCE(e.展期分, 0) AS 总分, b.征信分, c.存款分, d.还款分, e.展期分 FROM 客户信息表 a LEFT JOIN ( SELECT 客户号, CASE WHEN 是否有逾期 = '是' THEN 0 ELSE 10 END AS 征信分 FROM 征信数据 ) b ON a.客户号 = b.客户号 LEFT JOIN ( SELECT 客户号, CASE WHEN 存款余额 > 100000 THEN 10 WHEN 存款余额 BETWEEN 50000 AND 100000 THEN 5 ELSE 0 END AS 存款分 FROM 存款账户汇总 ) c ON a.客户号 = c.客户号 LEFT JOIN ( SELECT 客户号, CASE WHEN 还款行为 = '按时全额还款' THEN 10 ELSE 0 END AS 还款分 FROM 信用卡分期还款统计 ) d ON a.客户号 = d.客户号 LEFT JOIN ( SELECT 客户号, CASE WHEN 是否有展期 = '是' THEN 0 ELSE 5 END AS 展期分 FROM 展期记录表统计 ) e ON a.客户号 = e.客户号;

三、 贷后风控:风险预警与资金流向监控

核心目标:放款后持续监控,及时发现“以贷养贷”、“资金流入禁入领域(股市、房市)”、“涉及洗钱/诈骗”等风险。

1. 关键监控模型:贷款流向模型

监测重点

  • 🚩以贷养贷:放款后短期内(如15天),资金流向小额贷款公司、消费金融公司

  • 🚩违规用途:流向房地产、股市、公检法重点监控账户

  • 🚩关联风险:流向征信黑名单客户、本行其他逾期客户的账户。

数据表

  • 放款流水表:放款时间、收款账号、合同号。

  • 交易流水表:交易时间、转出账号、对手账号/名称、金额。

  • 贷款合同表:合同号、客户号、产品类型。

  • 公检法监控账户表:黑名单账户、风险商户。

SQL实现逻辑

sql

INSERT INTO 贷款流向预警表 SELECT a.合同号, a.收款账号 AS 放款账户, c.交易时间, c.交易对手账号, c.交易对手名称, c.交易金额, CASE WHEN d.监控账号 IS NOT NULL THEN '是' ELSE '否' END AS 是否流向公检法账户, CASE WHEN c.交易对手名称 LIKE '%小额贷款%' OR c.交易对手名称 LIKE '%信贷%' THEN '是' ELSE '否' END AS 是否流向小贷公司, CASE WHEN COUNT(c.交易流水号) OVER(PARTITION BY a.合同号) > 1 THEN '是' ELSE '否' END AS 是否多笔分散 FROM 放款流水表 a JOIN 贷款合同表 b ON a.合同号 = b.合同号 JOIN 交易流水表 c ON a.收款账号 = c.转出账号 -- 放款账户转出 LEFT JOIN 公检法监控账户表 d ON c.交易对手账号 = d.监控账号 WHERE c.交易时间 BETWEEN a.放款时间 AND a.放款时间 + INTERVAL '15' DAY AND (d.监控账号 IS NOT NULL OR c.交易对手名称 LIKE '%小额贷款%' OR c.交易对手名称 LIKE '%信贷%');

2. 其他重要贷后监控

监控点说明预警信号
还款资金来源异常每月还款前,固定从某小贷公司转入等额资金以贷养贷 → 风险
个人资产大幅减少存款、理财突然全部转出资金紧张或转移资产
他行贷款逾期同一借款人在其他机构出现逾期(征信更新)共债风险
信用卡异常交易同一商户固定时间大额刷卡(套现嫌疑)套现风险
担保人风险担保人征信恶化、资产大幅减少代偿风险增加

四、 数据仓库分层架构(核心知识)

标准四层架构(由原始到应用)

层名英文缩写作用数据示例
操作数据层ODS原始数据,与源系统基本一致银行核心系统日志、接口文件
数据明细层DWD清洗、标准化、轻度明细清洗后的交易流水表、征信明细表
数据汇总层DWS按主题聚合(日/月累计)客户月日均存款汇总表、近3个月交易统计表
应用数据层ADS面向具体应用的结果表信用评分结果表、贷款流向预警表

项目中“指标层”实质

指标层不是独立物理层,而是位于DWS/ADS的逻辑概念

  • 基础指标:原子指标(如:贷款金额)

  • 衍生指标:按时间/维度计算(如:近3个月公积金不良贷款余额)

  • 指标结果表:存储指标ID指标名称指标值统计日期

指标ID指标名称指标结果统计日期
1公积金贷款不良类贷款余额999万2025-03-31

五、 技术架构与主题划分

1. 技术架构(两种演进)

传统架构大数据架构
数据库:Oracle(单机/集群)数据仓库:Hive(分布式)
调度:Linux Crontab调度:Azkaban/Airflow
处理:Shell + SQL计算:Shell + Spark SQL
迁移:-工具:Sqoop(Oracle ↔ Hive)

2. 主题域划分(参考“十大模型”)

主题是对业务进行高度抽象的分类。常见的有:

  • 当事人:客户、担保人、机构。

  • 协议:贷款合同、信用卡合约。

  • 事件:交易流水、还款记录、逾期事件。

  • 授信主题:额度、利率、审批结果。

  • 预警主题:风险信号、黑名单、监控记录。

本项目中:信用评分模型→ 授信主题;贷款流向模型→ 预警主题。


六、 复习重点总结

  1. 能说清流程:贷前(数据收集→特征加工→评分→授信)vs 贷后(持续监控资金/资产/征信)。

  2. 能画模型图:信用评分卡(属性+规则+权重)、资金流向监控(时间窗口+对手黑名单)。

  3. 能写核心SQL:多表LEFT JOIN + CASE WHEN 打分,以及交易流水的时间窗口关联。

  4. 能画出数据分层:ODS → DWD → DWS → ADS,并说出每层作用。

  5. 能举例指标:知道“指标ID+指标值+统计日期”的结构。

  6. 能区分技术栈:传统Oracle模式 vs 大数据Hive模式。


信用评分模型


下面从“落地”的角度,逐块梳理、补充、纠正。


一、整体评价

维度评价
业务理解✅ 核心逻辑正确:贷前评分、贷后资金流向、以贷养贷、担保链风险
数据来源✅ 明确:DWD/DWS、征信、流水、合同、展期、公检法名单
分层思路✅ 清晰:基础层→模型层→指标层 / ODS→DWD→DWS→ADS
技术架构✅ 合理:Oracle + Hive + Sqoop 是银行数仓经典组合
可落地性⚠️ 需要补充:粒度、主键、去重、时间窗口边界、多笔贷款聚合

二、对“信用评分模型”的补充与规范


你的逻辑是对的:多张表关联 → CASE WHEN 打分 → 加权汇总


✅ 需要明确的几个细节


1️⃣ 权重体系要显式定义

你目前是隐含权重,建议显式写出:

评分项判断逻辑得分权重说明
征信有逾期 → 0;无逾期 → 100/10一票否决类
存款余额<5w → 5;≥10w → 105/10资产证明
信用卡还款最低还款/分期 → 0;全额按时 → 100/10还款习惯
本行展期记录有 → 0;无 → 50/5历史违约
2️⃣ 明确“客户级”还是“借据级”

你写的是:

sql

SELECT 客户号, ...

正确信用评分是客户级的,不是借据级。


3️⃣ 一个容易被忽视的问题:时间窗口

你当前是“截至当前”的快照,但实际生产中通常要求:

  • 近12个月是否有逾期

  • 近6个月存款日均

  • 近3个月信用卡还款行为

👉 可以补充一句(很重要):

所有评分指标均基于近12个月的滚动窗口计算,避免一次性历史污点永久拉低评分。


三、对“贷款流向模型”的规范与补充

✅ 核心逻辑

放款后15日内,资金是否流入:

  • 公检法关注账户

  • 小额贷款公司

  • 房地产相关账户

⚠️ 需要补充的几个工程细节(决定模型能不能上线)

1️⃣ 多笔贷款 + 多笔转账 = 风险聚合

你当前是一笔放款 vs 一笔转账,但真实情况更复杂:

text

一笔放款 → 多次转账 → 部分流向风险账户

建议补充

以「贷款账户」为单位,聚合15日内所有转出交易:只要累计流向风险账户的金额 ≥ 放款金额 × 30%,即触发预警。

2️⃣ 交易对手匹配方式要分层

你是:

sql

OR 交易对手姓名 LIKE '信贷'

可以更严谨地分为三层:

匹配级别方式示例
精确匹配账户号公检法账户
模糊匹配名称关键词%小额贷%%信贷%
外部名单匹配网贷平台清单离线维护
3️⃣ 15天窗口要明确“自然日”还是“工作日”

银行通常按自然日,可以明确写:

*放款后 T+0 至 T+15 自然日内。*

4️⃣防止重复预警

一笔贷款可能被多次扫描,需要增加:

sql

AND NOT EXISTS ( SELECT 1 FROM 预警结果表 WHERE 预警结果表.合同号 = 贷款合同表.合同号 )

四、指标层 & 主题划分

✅ 指标层示例(可直接扩展)

你给的例子是:

公积金贷款不良类贷款余额:999W

可以扩展成一套完整的风控指标体系

指标ID指标名称计算逻辑
R001贷款流向风险率流入风险账户贷款数 / 总放款数
R002以贷养贷客户数放款后30日内转入信贷公司客户数
S001信用评分<60分客户占比信用评分表统计
W001担保人异常预警数担保人征信恶化/资产下降

✅ 主题划分(推荐用你提到的“十大模型”)

主题对应你模型中的内容
当事人客户、担保人
协议贷款合同、担保合同
事件放款、还款、转账、逾期
授信主题信用评分、授信额度
预警主题贷款流向、以贷养贷、担保异常

五、技术架构清晰化

总结:

离线数仓(监管报送 + 风控批量)

text

ODS(Oracle) → Sqoop → Hive(DWD/DWS/ADS) → 指标层 → 报表/模型

补充

日调度基于Shell + Airflow(或XX调度平台),核心作业在凌晨完成,不影响业务系统。

完整ER图(借据 ↔ 合同 ↔ 流水 ↔ 评分 ↔ 预警)

一、ER图(实体关系图)

┌─────────────────────────────────────────────────────────────────────────────────────┐ │ 信贷风控核心ER图 │ └─────────────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────┐ │ 客户实体 │ │ (customer) │ │─────────────────│ │ PK 客户号 │ │ 姓名/证件号 │ │ 年龄/职业 │ └────────┬────────┘ │ 1 │ │ 拥有 │ N ┌──────────────────┴──────────────────┐ │ │ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ 贷款合同表 │ │ 信用卡账户表 │ │ (loan_contract) │ │ (credit_card) │ │─────────────────│ │─────────────────│ │ PK 合同号 │ │ PK 卡号/账户号 │ │ FK 客户号 │ │ FK 客户号 │ │ 授信额度 │ │ 信用额度 │ │ 合同金额 │ │ 已用额度 │ │ 期限/利率 │ │ 账单日/还款日 │ └────────┬────────┘ └────────┬────────┘ │ 1 │ 1 │ │ │ 对应 │ 对应 │ N │ N ┌─────────────────┐ ┌─────────────────┐ │ 借据表 │ │ 信用卡交易流水 │ │ (loan_voucher) │ │ (cc_transaction)│ │─────────────────│ │─────────────────│ │ PK 借据号 │ │ PK 流水号 │ │ FK 合同号 │ │ FK 卡号/账户号 │ │ 借据金额 │ │ 交易金额 │ │ 余额 │ │ 交易时间 │ │ 执行利率 │ │ 交易类型 │ │ 五级分类 │ │ 商户类型MCC │ │ 放款日期 │ └─────────────────┘ │ 到期日期 │ │ 借据状态 │ └────────┬────────┘ │ 1 │ │ 产生 │ N ┌─────────────────┐ │ 还款流水表 │ │(repay_flow) │ │─────────────────│ │ PK 流水号 │ │ FK 借据号 │ │ 还款金额 │ │ 还款本金 │ │ 还款利息 │ │ 还款日期 │ └─────────────────┘ ═══════════════════════════════════════════════════════════════════════════════════════ ┌─────────────────┐ │ 客户实体 │ │ (customer) │ └────────┬────────┘ │ │ 1 │ ┌─────────────┴─────────────┐ │ 关联 │ ┌────┴────┐ ┌────┴────┐ ▼ ▼ ▼ ▼ ┌──────────────────────────┐ ┌──────────────────────────┐ │ 征信数据表 │ │ 信用评分表 │ │ (credit_report) │ │ (credit_score) │ │──────────────────────────│ │──────────────────────────│ │ PK 客户号 + 报告日期 │ │ PK 客户号 + 评分日期 │ │ 总负债/总授信 │ │ 征信得分 │ │ 逾期次数/逾期天数 │ │ 存款得分 │ │ 贷款笔数/信用卡张数 │ │ 还款得分 │ │ 查询次数 │ │ 展期得分 │ └──────────────────────────┘ │ 综合评分 │ └──────────────────────────┘ ═══════════════════════════════════════════════════════════════════════════════════════ ┌─────────────────┐ │ 借据表 │ │ (loan_voucher) │ └────────┬────────┘ │ │ 1 │ │ 监控 │ N ┌─────────────────────────────────────────────────────────┐ │ 贷款流向预警表 │ │ (loan_flow_warning) │ │─────────────────────────────────────────────────────────│ │ PK 预警ID │ │ FK 借据号 / 合同号 / 贷款账户号 │ │ 放款时间 │ │ 流向账号 / 交易对手 │ │ 交易时间 / 交易金额 │ │ 预警类型(公检法/小贷公司/房地产/以贷养贷) │ │ 预警等级(高/中/低) │ │ 是否已处置 │ └─────────────────────────────────────────────────────────┘ ▲ │ │ 命中 │ ┌──────────────────────────┐ ┌──────────────────────────┐ │ 公检法重点账户表 │ │ 风险交易对手关键词表 │ │(justice_account_watch) │ │(risk_counterparty_keyword)│ │──────────────────────────│ │──────────────────────────│ │ PK 账户号 │ │ PK 关键词ID │ │ 账户名称 │ │ 关键词(%小额贷%等) │ │ 风险类型 │ │ 风险类型 │ └──────────────────────────┘ └──────────────────────────┘ ═══════════════════════════════════════════════════════════════════════════════════════ ┌─────────────────┐ │ 贷款合同表 │ │ (loan_contract) │ └────────┬────────┘ │ 1 │ │ 担保 │ N ┌─────────────────────────────────────────────────────────┐ │ 担保关系表 │ │ (guarantee_relation) │ │─────────────────────────────────────────────────────────│ │ PK 关系ID │ │ FK 合同号 / 借据号 │ │ FK 担保人客户号 │ │ 担保类型(保证/抵押/质押) │ │ 担保金额 │ └─────────────────────────────────────────────────────────┘ │ │ N │ ▼ ┌──────────────────────────┐ ┌──────────────────────────┐ │ 担保人客户表 │ │ 抵质押物信息表 │ │ (guarantor_customer) │ │ (collateral_info) │ │──────────────────────────│ │──────────────────────────│ │ PK 担保人客户号 │ │ PK 押品ID │ │ 担保人与借款人关系 │ │ 押品类型(房产/存单) │ │ 担保人征信得分 │ │ 评估价值 │ │ 担保人资产变化 │ │ 抵押率 │ └──────────────────────────┘ └──────────────────────────┘

二、实体关系说明(文字版,面试可直接口述)

2.1 客户 → 合同/信用卡

关系类型说明
客户 ↔ 贷款合同一对多一个客户可签多份贷款合同
客户 ↔ 信用卡账户一对多一个客户可持有多张信用卡

2.2 合同 → 借据(核心)

关系类型说明
贷款合同 ↔ 借据一对多一份合同可分多次提款,每次提款生成一张借据

典型SQL

sql

-- 一份合同下的多笔借据 SELECT * FROM 借据表 WHERE 合同号 = 'HT2024001';

2.3 借据 → 还款流水

关系类型说明
借据 ↔ 还款流水一对多一张借据可被多次还款(每次一条流水)

2.4 客户 → 征信/评分

关系类型说明
客户 ↔ 征信数据时间序列同一客户有多个时间点的征信快照
客户 ↔ 信用评分时间序列同一客户有多个时间点的评分记录

2.5 借据 → 贷款流向预警

关系类型说明
借据 ↔ 贷款流向预警一对多一笔放款可能触发多条预警(多笔风险转账)

2.6 合同 → 担保关系(多对多拆解)

合同/借据 担保人 ┌─────┐ ┌─────┐ │ N │ ◄───────────────────► │ N │ └─────┘ └─────┘ │ │ └───────────┬───────────────────┘ ▼ ┌─────────────┐ │ 担保关系表 │ │ (中间表) │ └─────────────┘

三、核心表的字段清单(面试/简历用)

3.1 借据表(核心中的核心)

字段作用
借据号主键
合同号关联合同表
借据金额本次放款金额
余额剩余未还本金
执行利率计息依据
五级分类正常/关注/次级/可疑/损失
放款日期资金划拨时间
借据状态正常/逾期/核销/结清

3.2 贷款流向预警表

字段作用
预警ID主键
借据号关联借据
流向账号资金转入账户
交易对手转入方名称
预警类型公检法/小贷公司/房地产/以贷养贷

四、如何讲这个ER图(2分钟话术)

这套实体关系核心是「借据表」,它连接了上层的合同和下层的还款流水。

一份合同对应多张借据,一张借据对应多条还款流水。另外,贷后监控是独立的预警体系,我通过交易流水关联公检法账户表和关键词表,识别资金是否流向风险对手方。

最后,担保关系通过一个中间表把合同和担保人拆成了多对多关系,支持担保链分析。

整个模型覆盖了贷前授信、贷中评分、贷后预警三个环节,数据链路是完整的。

输出完整数据血缘图(从源系统→DWD→DWS→ADS→预警表)

一、数据血缘全图(文本版)

┌─────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 完整数据血缘图 │ │ (信贷风控 + 贷后资金流向预警) │ └─────────────────────────────────────────────────────────────────────────────────────────────────┘ 【第0层:源系统 - OLTP】 ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ 核心系统 │ │ 信贷系统 │ │ 信用卡系统 │ │ 征信解析系统 │ │ 外部名单系统 │ │ (CoreBank) │ │ (CreditSys) │ │ (CardSys) │ │ (CreditReport)│ │ (WatchList) │ │═══════════════│ │═══════════════│ │═══════════════│ │═══════════════│ │═══════════════│ │ 存款账户表 │ │ 贷款合同表 │ │ 信用卡账户表 │ │ 征信报告原始 │ │ 公检法账户表 │ │ 交易流水表 │ │ 借据表 │ │ 信用卡交易流水│ │ (XML/文本) │ │ 风险关键词表 │ │ 客户信息表 │ │ 还款计划表 │ │ 信用卡还款记录│ │ │ │ │ │ 总账科目表 │ │ 担保关系表 │ │ 信用卡分期表 │ │ │ │ │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ │ │ │ │ └─────────────────┴─────────────────┴─────────────────┴─────────────────┘ │ 【Sqoop/DataX】 每日增量/全量 │ ▼ ═════════════════════════════════════════════════════════════════════════════════════════════════ 【第1层:ODS 贴源层】 ┌───────────────────────────────────────────────────────────────────────────────────────────────┐ │ ODS层 │ │ (表结构与源系统几乎一致) │ ├───────────────┬───────────────┬───────────────┬───────────────┬───────────────┬───────────────┤ │ ods_core_ │ ods_credit_ │ ods_card_ │ ods_credit_ │ ods_watch_ │ ods_hdfs_ │ │ account │ contract │ account │ report_raw │ justice_ │ external_ │ │ ods_core_ │ ods_credit_ │ ods_card_ │ │ account │ keyword │ │ trans │ voucher │ trans │ │ │ │ │ ods_core_ │ ods_credit_ │ ods_card_ │ │ │ │ │ customer │ repay_plan │ repay │ │ │ │ │ │ ods_credit_ │ ods_card_ │ │ │ │ │ │ guarantee │ installment │ │ │ │ └───────┬───────┴───────┬───────┴───────┬───────┴───────┬───────┴───────┬───────┴───────┬───────┘ │ │ │ │ │ │ └───────────────┴───────────────┴───────────────┴───────────────┴───────────────┘ │ 【ETL - 数据清洗】 • 去重 • 格式统一 • 空值处理 • 代码转换 │ ▼ ═════════════════════════════════════════════════════════════════════════════════════════════════ 【第2层:DWD 明细层】 ┌───────────────────────────────────────────────────────────────────────────────────────────────┐ │ DWD层 │ │ (清洗后的明细数据,细粒度) │ ├─────────────────────────────┬─────────────────────────────┬─────────────────────────────────┤ │ 贷款/存款主题 │ 信用卡主题 │ 外部/征信主题 │ ├─────────────────────────────┼─────────────────────────────┼─────────────────────────────────┤ │ dwd_customer_di │ dwd_card_account_di │ dwd_credit_report_parse_di │ │ (客户信息,日增量) │ (信用卡账户,日增量) │ (征信报告解析后,结构化) │ │ │ │ │ │ dwd_loan_contract_di │ dwd_card_trans_di │ 核心解析字段: │ │ (贷款合同,日增量) │ (信用卡交易流水,日增量) │ • 总负债/总授信 │ │ │ │ • 逾期次数/最大逾期天数 │ │ dwd_loan_voucher_di │ dwd_card_repay_di │ • 贷款笔数/信用卡张数 │ │ (借据表,日增量) ← 核心表 │ (信用卡还款记录,日增量) │ • 近3个月查询次数 │ │ │ │ │ │ dwd_loan_repay_flow_di │ dwd_card_installment_di │ dwd_watch_account_df │ │ (还款流水,日增量) │ (信用卡分期记录,日增量) │ (公检法监控账户,全量) │ │ │ │ │ │ dwd_loan_guarantee_di │ │ dwd_risk_keyword_df │ │ (担保关系,日增量) │ │ (风险关键词,全量) │ └─────────────────────────────┴─────────────────────────────┴─────────────────────────────────┘ │ 【ETL - 轻度聚合】 • 按客户/账户聚合 • 计算衍生字段 • 关联多张明细表 │ ▼ ═════════════════════════════════════════════════════════════════════════════════════════════════ 【第3层:DWS 汇总层 / 主题宽表层】 ┌───────────────────────────────────────────────────────────────────────────────────────────────┐ │ DWS层 │ │ (按主题预聚合,宽表,中度/重度汇总) │ ├─────────────────────────────────────────┬───────────────────────────────────────────────────┤ │ 客户/账户主题宽表 │ 风控/预警主题 │ ├─────────────────────────────────────────┼───────────────────────────────────────────────────┤ │ dws_customer_asset_summary_di │ dws_loan_flow_15d_di │ │ (客户资产汇总,日增量) │ (贷款15日内资金流向汇总,日增量) │ │ • 客户号 │ • 借据号 │ │ • 存款总余额 │ • 放款金额 │ │ • 理财总余额 │ • 流向风险账户总金额 │ │ • 总负债 │ • 流向风险账户笔数 │ │ • 资产负债率(衍生) │ • 是否命中公检法名单 │ │ │ • 是否命中小贷关键词 │ ├─────────────────────────────────────────┼───────────────────────────────────────────────────┤ │ dws_customer_credit_summary_di │ dws_loan_repay_warning_di │ │ (客户征信汇总,日增量) │ (贷款还款预警汇总,日增量) │ │ • 客户号 │ • 借据号 │ │ • 近3个月查询次数 │ • 当前逾期天数 │ │ • 近12个月逾期次数 │ • 是否进入关注/次级 │ │ • 最大逾期天数 │ • 剩余本金 │ │ • 当前总授信/总负债 │ • 最近一次还款日期 │ ├─────────────────────────────────────────┼───────────────────────────────────────────────────┤ │ dws_card_behavior_summary_di │ dws_guarantor_warning_di │ │ (信用卡行为汇总,日增量) │ (担保人风险预警,日增量) │ │ • 卡号/客户号 │ • 合同号/借据号 │ │ • 刷卡额度使用率(衍生) │ • 担保人客户号 │ │ • 月均消费金额 │ • 担保人征信得分 │ │ • 是否最低还款/分期 │ • 担保人资产变化 │ │ • 近6个月按时还款次数 │ • 担保链风险等级 │ └─────────────────────────────────────────┴───────────────────────────────────────────────────┘ │ 【ETL - 指标计算】 • 规则判断(CASE WHEN) • 多表关联(评分/预警) • 权重打分 │ ▼ ═════════════════════════════════════════════════════════════════════════════════════════════════ 【第4层:ADS 应用层 / 指标层】 ┌───────────────────────────────────────────────────────────────────────────────────────────────┐ │ ADS层 │ │ (面向具体应用的结果表,高度聚合) │ ├─────────────────────────────┬─────────────────────────────┬─────────────────────────────────┤ │ 信用评分模型输出 │ 贷前授信指标 │ 贷后风险指标 │ ├─────────────────────────────┼─────────────────────────────┼─────────────────────────────────┤ │ ads_credit_score_df │ ads_pre_loan_indicator_df │ ads_post_loan_indicator_df │ │ (信用评分结果表) │ (贷前授信指标表) │ (贷后风险指标表) │ │ • 客户号 │ • 客户号 │ • 客户号/借据号 │ │ • 评分日期 │ • 综合信用评分 │ • 不良贷款余额 │ │ • 征信得分 │ • 建议授信额度 │ • 不良贷款率 │ │ • 资产得分 │ • 风险等级(高/中/低) │ • 风险预警总数 │ │ • 还款得分 │ • 是否建议放款 │ • 高风险预警数 │ │ • 展期得分 │ • 建议利率定价 │ • 贷后检查完成率 │ │ • 综合评分(总分) │ │ │ └─────────────────────────────┴─────────────────────────────┴─────────────────────────────────┘ │ 【ETL - 规则判断】 • 预警规则匹配 • 命中名单/关键词 • 金额/笔数阈值判断 │ ▼ ═════════════════════════════════════════════════════════════════════════════════════════════════ 【第5层:预警结果表 / 风控输出】 ┌───────────────────────────────────────────────────────────────────────────────────────────────┐ │ 预警结果层 │ │ (直接推送给信贷审批/贷后部门) │ ├───────────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ⚠️ ads_loan_flow_warning_result │ │ (贷款资金流向预警结果表) │ │ • 预警ID │ 借据号 │ 客户名称 │ 放款金额 │ 风险类型 │ 交易对手 │ 命中金额 │ 预警等级 │ │ • 是否已处置 │ 处置结果 │ 审批人 │ 处置时间 │ │ │ │ ⚠️ ads_repay_anomaly_warning_result │ │ (还款异常预警结果表) │ │ • 预警ID │ 客户号 │ 借据号 │ 逾期天数 │ 当前五级分类 │ 剩余本金 │ 预警时间 │ │ │ │ ⚠️ ads_guarantor_risk_warning_result │ │ (担保人风险预警结果表) │ │ • 预警ID │ 合同号 │ 借款人 │ 担保人 │ 担保金额 │ 担保人征信变化 │ 风险等级 │ │ │ │ ⚠️ ads_lend_to_lend_warning_result │ │ (以贷养贷预警结果表) │ │ • 预警ID │ 客户号 │ 借据号 │ 放款时间 │ 流入小贷公司金额 │ 流入笔数 │ 预警等级 │ │ │ └───────────────────────────────────────────────────────────────────────────────────────────────┘

二、核心数据流向总结(口述版)

源系统(核心/信贷/征信/外部名单) ↓ 【Sqoop/DataX 每日抽取】 ODS贴源层(表结构与源系统一致) ↓ 【数据清洗:去重、格式统一、空值处理】 DWD明细层(清洗后的明细数据) ↓ 【轻度聚合:按客户/账户/借据汇总,计算衍生字段】 DWS汇总层(主题宽表:客户资产汇总、征信汇总、贷款流向汇总) ↓ 【规则判断 + 权重打分 + 多表关联】 ADS应用层(信用评分表、贷前指标表、贷后指标表) ↓ 【预警规则匹配:名单命中、关键词、阈值判断】 预警结果表(直接推送给业务部门:风控/贷后/审批)

三、2分钟讲清楚数据血缘

这套风控数据血缘,是从源系统到预警结果的完整链路,一共五层。

源系统包括核心、信贷、信用卡、征信解析和外部名单。通过Sqoop每日抽取到ODS层。

ODS到DWD做数据清洗——去重、格式统一、空值处理,保证数据质量。

DWD到DWS做轻度聚合——我建了客户资产汇总、征信汇总、贷款流向汇总这些宽表,供上层复用。

DWS到ADS做指标计算——比如信用评分模型,把征信得分、存款得分、还款得分按权重汇总,得到综合评分。

最后ADS到预警结果表——通过规则判断,命中公检法名单或小贷关键词,就生成预警记录,推送给贷后部门处理。

这套链路覆盖了贷前授信、贷中评分、贷后预警三个环节,数据是逐层加工的,每一层职责清晰。

http://www.cnnetsun.cn/news/2533474.html

相关文章:

  • Windows git bash找不到conda命令:bash: conda: command not found(conda在安装时只配置了Windows CMD和PowerShell的环境变量)
  • 基于SpringBoot2+vue2的社区养老服务平台
  • 大麦自动抢票终极指南:三步告别手动抢票烦恼 [特殊字符]
  • 从“各卖各的”到“一盘棋”——服装老板用了怎样的ERP+分销系统
  • 突破限制:如何用RDP Wrapper解锁Windows远程桌面多人连接功能
  • nginx中间代理。前端下载资源跨域,太大不想放到服务端处理。
  • 终极Scribd电子书下载指南:3步打造个人离线图书馆
  • 【软件架构师-综合题(3)】软件工程知识点
  • FFXIV国际服汉化终极指南:3步实现中文界面完整教程
  • 《男人来自火星,女人来自金星4:生活篇》第7-9章深度解读:告别节食,30分钟开启健康人生
  • EdgeRemover:3步完成Microsoft Edge浏览器的高效卸载与重装指南
  • 鸿蒙意图框架快速入门:5 分钟实现你的第一个意图
  • 给机器人一个值得信赖的“判断力”
  • 少走弯路:盘点2026年备受推崇的的降AI率平台
  • 用 .NET + Avalonia 打造你的专属 AI Copilot 桌面端
  • RISC-V Linux内核启动:relocate汇编函数与MMU页表切换深度解析
  • 洛雪音乐音源终极指南:三步免费解锁全网高品质音乐资源
  • Claude法律文档分析落地难题全破解:从PDF乱码到条款溯源,7步构建高精度法律AI工作流
  • 3分钟上手跨平台资源下载神器:轻松获取微信视频号、抖音无水印内容
  • 嵌入式TF卡硬核横评:A2/U3性能实测与选型避坑指南
  • 汽车12V电源防护:P6KE TVS二极管选型、设计与实战指南
  • 权威深度指南:使用iperf3 Windows版进行网络性能评估与优化实战
  • 3分钟快速解密:qmcdump让QQ音乐加密音频重获自由
  • 工业视觉光源颜色选型全攻略|白/红/蓝/绿光适用场景、原理与避坑细则
  • Taotoken 模型广场在项目技术选型中的实际应用感受
  • 2026降AI率工具红黑榜:AI智能降重工具怎么选?用数据说话!
  • mysql从5.7升级到8.0后ONLY_FULL_GROUP_BY是升级后应用报错的第一大原因
  • AI Agent审计闭环尚未建立?独家披露某省审计厅已运行187天的“四维穿透式”审计框架(含可观测性埋点规范V2.3)
  • 3步解锁跨平台资源下载:res-downloader实战手册
  • 终极指南:如何用TrollInstallerX轻松解锁iOS越狱新世界