2. 数据基础:催收系统数据源概览、客户基本信息表结构、账户与合同信息表结构
催收触达效率提升的根基在于对数据的深度理解与精准应用。本章将系统梳理催收系统的核心数据源,并详细解析客户基本信息、账户与合同信息这两类最基础、最关键的底层表结构。只有掌握了这些数据的来源、字段含义与关联关系,后续的特征工程与策略设计才能有的放矢。
2.1 催收系统数据源概览
催收系统通常从多个业务系统汇聚数据,形成统一的数据视图。主要数据源包括:
- 核心账务系统: 提供账户余额、逾期天数、还款记录、应还金额等核心财务数据。
- 客户关系管理系统: 提供客户基本信息、联系方式、职业信息、家庭住址等。
- 信贷审批系统: 提供授信额度、产品类型、审批结论、风险评级等。
- 交易系统: 提供消费流水、取现记录、转账记录等。
- 催收作业系统: 记录催收员操作、外呼记录、短信发送记录、承诺还款记录等。
- 外部数据源: 包括征信报告、黑名单、多头借贷数据、运营商数据等。
数据整合要点: 催收数据仓库建设时,需重点关注各系统间客户ID、合同ID、账户ID的映射关系,确保数据关联的准确性。数据时效性也是关键,通常要求T+1甚至实时同步。
2.2 客户基本信息表结构
客户基本信息表是催收系统中最基础的数据表,记录了客户的静态属性。该表通常以客户ID为主键,每一条记录对应一个唯一的客户。以下是典型的核心字段清单:
| 字段名 | 数据类型 | 字段说明 | 示例值 |
|---|---|---|---|
| customer_id | VARCHAR(32) | 客户唯一标识 | CUST202310001234 |
| id_card | VARCHAR(18) | 身份证号(脱敏) | 110101******1234 |
| customer_name | VARCHAR(64) | 客户姓名 | 张三 |
| gender | TINYINT | 性别:1男 2女 0未知 | 1 |
| birth_date | DATE | 出生日期 | 1990-05-20 |
| mobile_phone | VARCHAR(11) | 手机号码(脱敏) | 138****5678 |
| home_phone | VARCHAR(20) | 家庭电话 | 010-****1234 |
| VARCHAR(128) | 电子邮箱 | zhangsan@email.com | |
| province | VARCHAR(32) | 省份 | 北京市 |
| city | VARCHAR(32) | 城市 | 北京市 |
| district | VARCHAR(32) | 区县 | 朝阳区 |
| address | VARCHAR(256) | 详细地址 | 朝阳区XX路XX号 |
| education_level | VARCHAR(16) | 教育程度 | 本科 |
| marital_status | TINYINT | 婚姻状况:1未婚 2已婚 3离异 | 2 |
| occupation | VARCHAR(64) | 职业 | 工程师 |
| company_name | VARCHAR(128) | 工作单位 | XX科技有限公司 |
| company_phone | VARCHAR(20) | 单位电话 | 010-****5678 |
| create_time | DATETIME | 创建时间 | 2023-01-15 10:30:00 |
| update_time | DATETIME | 最后更新时间 | 2024-06-20 14:25:00 |
特征应用提示: 客户基本信息中的年龄、地域、职业、教育程度等字段,是构建客户画像、预测还款意愿与能力的重要基础特征。例如,25-35岁、本科以上、一线城市客户的还款率通常高于其他群体。
2.3 账户与合同信息表结构
账户与合同信息表记录了客户在金融机构的借贷关系与合同详情。一个客户可能拥有多个账户,一个账户可能对应多笔合同。该表以合同ID为主键,通过客户ID与客户基本信息表关联。以下是典型的核心字段清单:
| 字段名 | 数据类型 | 字段说明 | 示例值 |
|---|---|---|---|
| contract_id | VARCHAR(32) | 合同唯一标识 | CON202310001234 |
| customer_id | VARCHAR(32) | 客户ID(外键) | CUST202310001234 |
| account_id | VARCHAR(32) | 账户ID | ACC202310001234 |
| product_type | VARCHAR(32) | 产品类型:如信用贷、抵押贷、消费分期 | 信用贷 |
| loan_amount | DECIMAL(18,2) | 贷款金额(元) | 100000.00 |
| loan_term | INT | 贷款期数(月) | 12 |
| annual_interest_rate | DECIMAL(5,2) | 年利率(%) | 8.50 |
| disburse_date | DATE | 放款日期 | 2023-10-01 |
| maturity_date | DATE | 到期日期 | 2024-10-01 |
| overdue_days | INT | 当前逾期天数 | 45 |
| overdue_amount | DECIMAL(18,2) | 当前逾期金额(元) | 8500.00 |
| total_repay_amount | DECIMAL(18,2) | 已还总金额(元) | 15000.00 |
| remaining_principal | DECIMAL(18,2) | 剩余本金(元) | 75000.00 |
| contract_status | TINYINT | 合同状态:1正常 2逾期 3结清 4核销 | 2 |
| risk_level | VARCHAR(16) | 风险等级:A/B/C/D | C |
| collection_stage | TINYINT | 催收阶段:1M0 2M1 3M2 4M3+ | 2 |
| latest_repay_date | DATE | 最近一次还款日期 | 2024-05-10 |
| create_time | DATETIME | 创建时间 | 2023-10-01 09:00:00 |
| update_time | DATETIME | 最后更新时间 | 2024-06-20 14:30:00 |
数据质量注意事项: 账户与合同信息表中的逾期天数、逾期金额、剩余本金等字段是催收策略的核心输入,必须确保数据准确、实时更新。常见问题包括:逾期天数计算口径不一致(自然日 vs 工作日)、多笔合同合并还款时金额分摊错误等。
2.4 表关联与数据查询示例
在实际催收数据分析中,经常需要将客户基本信息表与账户合同信息表进行关联查询。以下是一个典型的SQL查询示例,用于获取逾期客户的完整信息:
-- 查询逾期超过30天的客户基本信息与合同信息
SELECT
c.customer_id,
c.customer_name,
c.mobile_phone,
c.province,
c.city,
a.account_id,
a.contract_id,
a.product_type,
a.loan_amount,
a.overdue_days,
a.overdue_amount,
a.remaining_principal,
a.risk_level,
a.collection_stage
FROM
customer_info c
INNER JOIN
account_contract_info a ON c.customer_id = a.customer_id
WHERE
a.contract_status = 2 -- 逾期状态
AND a.overdue_days >= 30
ORDER BY
a.overdue_days DESC;
性能优化建议: 在客户ID、合同ID、逾期天数、合同状态等字段上建立索引,可以显著提升关联查询效率。对于千万级数据量的催收系统,建议使用分区表(如按逾期月份分区)来管理历史数据。
2.5 数据质量与治理要点
高质量的数据是催收策略有效落地的保障。以下是数据治理的几个关键要点:
- 完整性: 确保客户联系方式、地址等关键字段不为空,缺失率应低于5%。
- 准确性: 逾期天数、逾期金额等核心指标需与账务系统保持一致,定期进行数据对账。
- 一致性: 统一各系统间客户ID、合同ID的编码规则,避免重复或冲突。
- 时效性: 催收数据仓库应实现T+1更新,对于M2+高风险案件,建议实时同步。
- 安全性: 客户敏感信息(身份证号、手机号等)必须进行脱敏处理,遵循数据安全法规。