学习目标
- 知道风控业务部门常见指标
- 应用SQL计算转化率表, 通过率表,放款表,vintage表
1 信贷业务逻辑
1.1 信贷业务如何运行
市场部门/风控部门/催收部门
市场部门→获客:新客转化/存量激活
- 地推
- 电销
- 平台广告(抖音, 微信, 微博……)
- 营销短信
风控部门→筛选用户 - 是不是目标客群 - 要不要放款 - 给多少额度、多少利率、多少期
- 资金回收(催收部门)
精细化运营
- 市场, 风控, 催收各个环节添加运营手段
- 市场→ 不同获客方式 , 不同人群是否在后期表现都一致
- 存量用户召回→利率优惠, 免息券
- 风控→ 找到额度, 利率的最佳平衡点
- 催收→ 不同的客户使用不同的话术, 不同的催收策略是否有不同的催收效果
1.2 信贷业务行为路径与转化漏斗
首贷、复贷概念:
- 第一次借款成功称为首贷
- 借完一次之后, 再次借款称为复贷
首贷业务逻辑
在我们的数据库中,数据表大致分为两种形式,状态表和log表(日志表)
状态表
- 记录当前时刻,或者当天的状态,覆盖历史的状态
- 例如申请表就是状态表, 申请的状态,上午9点→审核中, 下午1点→审核拒绝, 但是最终申请表, 只记录最终状态, 所以这个申请的状态就是拒绝
- 如果需要确定某一时刻的状态:一种方式 结合log表进行计算 或者 建立快照表
log表
- 记录从开始到现在所有的数据, 有一次操作或者更新就记录一条
- 还是以申请表举例:申请的状态表对应一张申请的log表, 点击申请按钮, 直接进入审核中, 增加一条记录
审核完成增加一条审核完成的记录
信贷业务转化漏斗
数据表中数据条数对应关系:
2 业务报表介绍
2.1 注册表
注册表 u_user
CREATE TABLE `u_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`username` varchar(64) ,
`mobile` varchar(20) ,
`password` varchar(64) ,
`nickname` varchar(64) ,
`role_type` int NOT NULL DEFAULT '0' COMMENT '角色(-1:普通用户)',
`type` int NOT NULL DEFAULT '0' COMMENT '(暂时保留)0:借款用户,1:资金账户用户',
`status` int NOT NULL DEFAULT '0' COMMENT '用户状态',
`on_off` char(4) NOT NULL DEFAULT '1' COMMENT '开关(0:关闭,1:开启)',
`inserttime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`isactive` tinyint(1) NOT NULL DEFAULT '1' COMMENT '逻辑删除(1,有效)',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_mobile` (`mobile`,`on_off`,`status`,`isactive`,`password`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=11050 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
一个手机号:对应注册表的一个id
一个手机号: 注册完成后, 对应一个user_id , 手机号和人
所以注册表有两种情况:
①有手机号, 但是没有user_id, 说明没有注册完成
② 有手机号,且有对应的user_id, 注册完成,通常风控的报表,从注册完成开始看
- 上表中不包含注册未完成的用户
2.2 用户信息表
用户信息表是根据客户在前端申请信贷产品时主动填写的信息,部分可验证字段可直接用户风控规则,而有些无法验证的字段在前期没有贷后表现的情况下只能用于参考,不适合直接用于制定规则。
用户信息(personal_info)
CREATE TABLE `u_personal_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`user_id` bigint NOT NULL DEFAULT '0' COMMENT '用户id',
`loan_purpose` varchar(255) COMMENT '借款目的,tb_data_dict表中type=4',
`sex` varchar(20) COMMENT '性别(0:男 1:女),tb_data_dict表中type=1',
`birthdate` varchar(20) COMMENT '出生日期',
`birthplace` varchar(256) COMMENT '出生地',
`religion` varchar(20) COMMENT '宗教,tb_data_dict表中type=3',
`education` varchar(20) COMMENT '教育程度,tb_data_dict表中type=2',
`nation` varchar(20) COMMENT '民族',
`tribe` varchar(20) COMMENT '部落,tb_data_dict表中type=10',
`living_state` varchar(20) COMMENT '居住状态,tb_data_dict表中type=9',
`province` varchar(128) COMMENT '居住省',
`city` varchar(128) COMMENT '居住市',
`district` varchar(128) COMMENT '居住区',
`address` varchar(500) COMMENT '居住详细地址',
`children_number` varchar(20) COMMENT '孩子数量(字典.type=15)',
`number_of_provide` int DEFAULT NULL COMMENT '需供养人数',
`phone_use_duration` varchar(20) COMMENT '当前手机使用时长(字典)',
`address_live_duration` varchar(20) COMMENT '当前地址居住时长(字典)',
`credit_card_number` varchar(20) COMMENT '信用卡数量(字典)',
`house_status` varchar(20) COMMENT '住房状态(字典)',
`other_phone_no` varchar(255) COMMENT '其他电话号码',
`email` varchar(128) COMMENT '邮箱',
`zalo_id` varchar(255) ,
`facebook_id` varchar(255) ,
`inserttime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`isactive` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否逻辑删除(1:不删除)',
`app_version` varchar(20) ,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `user_id` (`user_id`,`isactive`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=871 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='个人信息';
- 用户信息表的主键是id
- 可以通过user_id 字段 与注册表进行关联
- 除了personal_info之外还有work_info 关于用户不同维度的信息这里在不同的表中保存
2.3 借款表
借款表 loan_list,每次申请都会有一条记录
CREATE TABLE `loan_list` (
`id` bigint NOT NULL AUTO_INCREMENT,
`borrower_id` bigint NOT NULL COMMENT '借款人ID',
`apply_amount` decimal(18,2) NOT NULL COMMENT '用户申请的额度',
`period_no` int NOT NULL COMMENT '期数',
`term_quantity` int NOT NULL COMMENT '每期贷款时长',
`term_unit` varchar(4) NOT NULL,
`product_id` int NOT NULL COMMENT '产品ID',
`prod_type` tinyint NOT NULL COMMENT '1=PDL, 2=INSTALLMENT',
`interest` decimal(18,2) NOT NULL COMMENT '利息',
`interest_rate` decimal(10,5) NOT NULL COMMENT '借款利率',
`service_fee` decimal(18,2) NOT NULL COMMENT 'drools给的应收服务费,实际收取逻辑是service_fee - service_fee_discount',
`service_fee_discount` decimal(18,2) DEFAULT '0.00' COMMENT '服务费优惠减免',
`service_rate` decimal(10,5) NOT NULL COMMENT '借款服务费率',
`service_fee_type` int NOT NULL COMMENT '服务费是否分期1是不分,2是分',
`overdue_penalty_rate` decimal(10,5) NOT NU