从0到1:构建企业级金融信贷数仓架构实战
业务背景
【数据价值】金融信贷业务的本质是风险定价。从贷前的客户营销、反欺诈、信用评估,到贷中的额度审批、定价策略,再到贷后的风险预警、催收管理,每一个环节的精准决策都高度依赖于高质量、多维度的数据。
【监管合规】 金融监管机构(如人民银行、银保监会)对金融机构的数据治理、数据报送(如征信报送)和风险控制提出了越来越高的要求。一个规范、透明、可追溯的数据体系是满足监管合规的基石。

业务知识
金融信贷的定义
金融信贷是银行等金融机构向企事业单位及客户提供资金支持的贷款形式,属于经济领域的重要融资方式。其具备灵活发放、期限可调和风险控制等特点,能够通过优化贷款结构助力资源配置,并对经济活动产生促进作用。
一句话说清楚:金融机构借钱给企业或者客户
金融结构有哪些
- 银行类金融机构银行是最常见的贷款机构,包括国有大型商业银行(如工行、建行、中行、农行、交行、邮储银行)、股份制银行(如招行、浦发、中信)以及城市商业银行、农村商业银行等。其特点是利率相对较低,适合长期或大额贷款需求,但部分产品审批流程可能较长。
- 消费金融公司消费金融公司是经银保监会批准的非银行金融机构,专注于小额、分散的消费贷款。例如中银消费金融、中邮消费金融、兴业消费金融等,它们通常审批快、放款快,适合小额消费需求。
- 小额贷款公司小额贷款公司由企业或自然人设立,不吸收公众存款,专注于小额贷款业务。例如京东小额贷款、美团小额贷款等,其特点是额度较低、利率可能较高,但审批灵活
- 互联网消费金融及网贷平台这类平台通常持有合法金融牌照,提供线上借贷服务,如蚂蚁花借呗、京东金条、度小满等
专有名词解释
- 进件:借款人向银行或金融机构提交贷款申请及相关资料的过程
- 授信:银行或金融机构,基于客户的信用状况、财务实力等因素,给予客户在一定条件下可循环使用的信用额度
- 借款人:申请贷款并承担还款责任的个人
- 信用评级:评估借款人信用状况的等级
数仓架构图

数仓构建流程
第一步、业务调研
- 数据源有哪些?梳理业务的核心流程,针对关键环节找到对应的业务系统,熟悉系统中的数据流转细节
- 业务需求有哪些?明确建设数仓的目的是什么,for运营分析,需明确具体分析的核心指标有哪些
- 根据数据源判断是否能够完成业务需求?拆解需求,判断数据源的字段是否能够满足所有需求
原子指标英文名 | 原子指标中文名 | 业务定义/说明 | 统计逻辑(示例) |
apply_cnt | 申请笔数 | 用户提交贷款申请的次数 | COUNT(DISTINCT 申请编号) |
approve_cnt | 审批通过笔数 | 通过最终审批的申请笔数 | COUNT(DISTINCT 申请编号) WHERE 最终状态 = '通过' |
loan_amt | 放款金额 | 实际成功发放到用户账户的本金总额 | SUM(放款本金金额) |
loan_cnt | 放款笔数 | 成功放款的合同笔数 | COUNT(DISTINCT 合同编号) |
... | ... | ... | ... |
衍生指标英文名 | 衍生指标中文名 | 组成公式(原子指标 + 时间周期 + 一个或多个修饰词) |
apply_cnt_1d | 最近一天申请笔数 | 申请笔数(原子) + 最近一天(时间周期) |
loan_amt_1m_A | A产品月度放款金额 | 放款金额(原子) + 最近一个月(时间周期) + 产品类型(修饰词) |
approve_ratio_1d_new | 最近一天新客审批通过率 | 审批通过笔数 / 申请笔数(原子) + 最近一天(时间周期) + 是否新客(修饰词) |
... | ... | ... |
第二步、架构设计
- 数据域划分:数据域就是将业务过程或者维度进行抽象的集合,那么如何进行数据域划分呢?首先同业务方对齐核心业务过程以及核心维度,核心业务过程是进件->授信->放款->支用->还款->逾期催收,核心维度包括用户、机构、产品等,然后按照业务过程以及维度抽象分类数据:用户信息 -> 用户域;机构信息 -> 机构域;进件、授信 -> 授信域;放款、支用、还款 -> 交易域;逾期催收 -> 催收域
- 构建总线矩阵:总线矩阵就是用来描述业务过程与维度之间的联系,那么如何构建总线矩阵呢?首先明确每个数据域下有哪些业务过程,比如 交易域下包括 放款、支用、还款等,然后确定业务过程与哪些维度相关,比如 放款业务过程和用户、机构、产品相关
数据域 | 业务过程 | 维度 | |||
客户 | 产品 | 机构 | 商家 | ||
授信域 | 授信申请 | ✅ | ✅ | ✅ | |
授信审批 | ✅ | ✅ | ✅ | ||
交易域 | 放款 | ✅ | ✅ | ✅ | |
支用 | ✅ | ✅ | ✅ | ✅ | |
还款 | ✅ | ✅ | ✅ | ||
催收域 | 催收 | ✅ | ✅ | ||
- 数仓分层架构:ods -> dwd/dim -> dws -> adsods:把业务系统、日志等数据几乎无处理地同步到ODS层中dwd/dim:面向业务过程/维度进行建设,构建事实表以及维度表dws:根据业务需求的指标抽取共性逻辑,存放公共指标数据ads:面向业务需求进行建设,存放个性化的统计指标数据
第三步、模型设计
- 包括中间层以及应用层模型设计,以中间层模型设计为例,步骤如下:选择业务过程以及确定事实表类型:业务过程通常使用行为动词表示业务执行的活动,在选择了业务过程以后,相应的事实表类型也随之确定了,比如授信表包含授信申请和授信审批两个业务过程,就是多事务事实表声明粒度:尽量选择最细级别的原子粒度,比如授信表的粒度:用户 + 产品 + 机构......
‼️核心事项
最最最核心的部分!!!
个人观点:了解大数据技术栈、数仓架构、数仓搭建流程等,只是对数仓同学最基本的要求,特别是在面试中,我们一定要凸显自己不同于其他候选人的能力
1、标准命名治理
此部分将会教会你如何回答面试官的以下问题:
1)你做过数据治理吗?
2)AI和数据治理的结合可以有哪些方向?请举例说明
3)你们建设数仓的标准是什么?
2、数据资产建设
此部分将会教会你如何回答面试官的以下问题:
1)你是如何设计模型的?
2)什么样的模型是一个“好”模型?
3)你做过的最难的指标是什么?
3、质量体系建设
此部分将会教会你如何回答面试官的以下问题:
1)如何保证你提供的指标/标签是正确的?
2)如何保证指标一致性?
3)你遇到过的最大的挑战是什么?
4、核心链路优化
此部分将会教会你如何回答以下面试官的所有问题:
1)你做过模型设计相关的优化吗?
2)你是如何优化慢任务的?
3)你遇到过数据倾斜吗?如何定位以及如何解决
#数据人的面试交流地#包括大数据篇、计算机语言篇、计算机基础篇、算法刷题篇、面试经验篇等五大篇章: 大数据篇包括框架原理、源码解析、调优技巧、大数据场景题、项目实战、数仓理论等模块;计算机语言篇包括Java、Linux、大厂常考SQL面试题等模块;计算机基础篇包括计算机网络、操作系统、数据库、数据结构等模块;算法刷题篇包括大厂高频算法题、刷题速成计划等模块 面试经验篇包括BAT、美团、字节、快手、京东等大厂的面经合集