3. 数据基础准备:催收数据字段说明、客户分层标签、历史还款行为数据清洗

催收渠道 A/B 分流策略的落地,高度依赖底层数据的完整性与准确性。本章聚焦于数据基础准备的三个核心环节:字段说明、客户分层标签、历史还款行为数据清洗。只有经过严格清洗与特征工程的数据,才能支撑后续的分流规则与模型训练。

3.1 催收核心数据字段说明

催收系统通常涉及以下五类核心数据字段,它们是构建分流策略的原始素材:

字段类别 字段名称 字段说明 示例值
客户基础信息 customer_id 客户唯一标识 CUST_20231001_001
客户基础信息 age 年龄(周岁) 32
客户基础信息 occupation 职业类型编码 01(企业职员)
借贷信息 loan_id 借据编号 LN_20230915_888
借贷信息 loan_amount 放款金额(元) 50000.00
借贷信息 product_type 产品类型(现金贷/消费分期) cash_loan
逾期信息 overdue_days 当前逾期天数 15
逾期信息 overdue_principal 逾期本金(元) 12000.00
逾期信息 dpd_bucket 逾期阶段(M1/M2/M3+) M1
历史行为 last_contact_date 最近一次联系日期 2024-01-10
历史行为 contact_count_30d 近30天催收联系次数 5
历史行为 promise_pay_count 历史承诺还款次数 2
历史行为 promise_breach_count 历史承诺违约次数 1
外部数据 credit_score 外部征信评分 650
外部数据 contact_risk_tag 联系人风险标签 high_risk
字段治理建议:建议在数仓层统一字段命名规范与枚举值字典,避免因字段口径不一致导致分流策略误判。例如“逾期天数”需明确是自然日还是工作日。

3.2 客户分层标签体系

客户分层是 A/B 分流策略的核心输入。基于风险与价值维度,我们将客户划分为以下五个层级:

  • S级(高价值低风险):历史还款记录良好,逾期天数短(≤3天),有稳定收入来源,适合优先使用低成本渠道(如短信、IVR)。
  • A级(中等价值中等风险):偶有逾期但能快速还款,逾期天数在4-15天之间,可分配至智能外呼渠道。
  • B级(低价值高风险):逾期天数较长(16-30天),历史承诺违约率高,需要人工催收介入。
  • C级(高风险失联倾向):逾期超过30天,联系不上或频繁更换联系方式,需启动深度催收或委外渠道。
  • D级(欺诈或恶意逃废债):存在明显欺诈特征或恶意逃废债行为,直接进入法务或委外渠道。
分层标签生成逻辑:分层标签并非静态不变,建议每月根据最新还款行为数据动态更新。更新频率过高会导致策略不稳定,过低则无法反映客户最新状态。
客户分层标签体系结构 催收客户池 S级(高价值低风险) A级(中等价值风险) B级(低价值高风险) 短信 / IVR 渠道 智能外呼渠道 人工催收渠道 C级(高风险失联) D级(欺诈/恶意逃废债) 深度催收 / 委外渠道 分层标签动态更新机制 每月根据最新还款行为数据更新标签,结合逾期天数、承诺履约率、联系成功率等指标

3.3 历史还款行为数据清洗

历史还款行为数据是客户分层与分流策略建模的关键输入。原始数据通常存在以下问题,需要系统化清洗:

3.3.1 常见数据质量问题

  • 缺失值:如联系次数、承诺还款次数等字段为空。
  • 异常值:如逾期天数为负数、还款金额超过放款金额。
  • 重复记录:同一借据在相同时间点出现多条记录。
  • 逻辑矛盾:如承诺还款日期早于逾期开始日期。
  • 格式不一致:日期格式混用(YYYY-MM-DD vs YYYY/MM/DD)。

3.3.2 清洗流程与规则

建议按照以下步骤执行数据清洗:

  1. 去重:基于 loan_id + 操作时间戳,保留最新一条记录。
  2. 缺失值处理:数值型字段用中位数填充,类别型字段用众数填充或单独标记为“未知”。
  3. 异常值过滤:逾期天数限制在 0-180 天之间,超出则标记为异常并人工复核。
  4. 逻辑校验:承诺还款日期必须 ≥ 逾期开始日期,否则视为无效记录。
  5. 格式标准化:统一日期格式为 YYYY-MM-DD,金额保留两位小数。
清洗注意事项:清洗规则需要与业务方对齐确认,避免过度清洗导致有效数据丢失。例如,逾期天数为 0 的记录可能是当天到期未还,不应直接删除。
历史还款行为数据清洗流程 原始还款行为数据 步骤1:去重 步骤2:缺失值处理 步骤3:异常值过滤 步骤4:逻辑校验 + 格式标准化 清洗规则示例 • 逾期天数:0~180天 • 承诺日期 ≥ 逾期开始日期 • 金额保留两位小数

3.4 清洗后的数据质量评估

数据清洗完成后,需要从以下维度评估数据质量,确保可用于分流策略建模:

评估维度 评估指标 合格标准
完整性 字段缺失率 核心字段缺失率 < 5%
准确性 异常值占比 异常值占比 < 1%
一致性 逻辑矛盾记录数 逻辑矛盾记录 = 0
唯一性 重复记录占比 重复记录占比 < 0.5%
时效性 数据延迟时间 数据延迟 < 24小时
数据清洗脚本示例(Python):
import pandas as pd
import numpy as np

# 加载原始数据
df = pd.read_csv('repayment_history.csv')

# 步骤1:去重
df = df.drop_duplicates(subset=['loan_id', 'operation_time'], keep='last')

# 步骤2:缺失值处理
df['contact_count_30d'].fillna(df['contact_count_30d'].median(), inplace=True)
df['promise_pay_count'].fillna(0, inplace=True)

# 步骤3:异常值过滤
df = df[(df['overdue_days'] >= 0) & (df['overdue_days'] <= 180)]

# 步骤4:逻辑校验
df = df[df['promise_date'] >= df['overdue_start_date']]

# 步骤5:格式标准化
df['operation_time'] = pd.to_datetime(df['operation_time']).dt.strftime('%Y-%m-%d')

print(f"清洗后数据量:{len(df)} 条")
print(f"缺失率:{df.isnull().sum().sum() / len(df):.2%}")

完成数据清洗与质量评估后,即可进入下一阶段——基于清洗后的数据构建客户分层标签,并设计 A/B 分流策略规则。数据基础准备的扎实程度,直接决定分流策略的最终效果。