3. 数据采集:催收系统数据源梳理

催收触达 A/B 测试的特征工程,其质量上限由原始数据源的完整性与准确性决定。本章系统梳理催收系统核心数据源,覆盖通话记录、短信记录、还款行为、客户画像四大关键域,并明确每个域中可用于特征构造的关键字段。

3.1 数据源全景架构

催收数据源通常分布在多个业务系统中,包括外呼平台、短信网关、核心账务系统、客户关系管理(CRM)系统以及第三方数据服务。下图展示了数据源之间的逻辑关系与采集流向。

催收系统数据源全景架构 外呼平台 通话记录 短信网关 短信记录 核心账务系统 还款行为 CRM / 第三方 客户画像 数据采集管道(ETL / 实时流) 字段映射 · 去重 · 时间对齐 · 异常值过滤 特征存储(宽表 / 特征平台) 通话特征 · 短信特征 · 还款特征 · 画像特征 A/B 测试实验平台(特征输入)
实践建议:在搭建数据管道时,优先保证通话记录与还款行为两个数据源的实时性(延迟 < 5 分钟),因为这两个域的特征对触达策略的即时调整最为敏感。短信记录与客户画像可接受 T+1 更新。

3.2 通话记录关键字段

通话记录是催收触达最核心的数据源,直接反映催收员与客户的交互过程。以下字段是构造 A/B 测试特征的基础。

字段名称 数据类型 说明 特征构造示例
call_id string 通话唯一标识 —
case_id string 案件编号,关联客户 案件维度聚合
call_start_time datetime 通话开始时间 时段特征(早/中/晚)
call_duration int (秒) 通话时长 平均时长、极值、趋势
call_result string 通话结果码(接通/未接/拒接/空号等) 接通率、拒接率
agent_id string 催收员编号 催收员效能特征
call_direction string 外呼/呼入 外呼占比
ivr_path string IVR 按键路径 客户主动交互意图
recording_url string 录音文件地址 NLP 语义特征(可选)
关键指标:在 A/B 测试中,call_result 字段的标准化编码至关重要。建议将结果码映射为三级分类:有效触达(接通且对话 > 30 秒)、无效触达(接通但无人应答/挂断)、未触达(未接/拒接/空号)。此映射直接影响触达率指标的计算。

3.3 短信记录关键字段

短信触达具有成本低、可批量发送的特点,在 A/B 测试中常用于对比不同文案或发送时点的效果。

字段名称 数据类型 说明 特征构造示例
sms_id string 短信唯一标识 —
case_id string 案件编号 案件维度聚合
send_time datetime 发送时间 发送时段、发送间隔
sms_template_id string 短信模板编号 模板类型特征
delivery_status string 送达状态(成功/失败/未知) 送达率
click_url string 短链点击地址(如有) 点击率、点击时间
reply_content string 客户回复内容 回复率、关键词匹配
注意:短信送达状态字段在不同网关中定义不一致。例如,部分网关将“发送成功”定义为提交到运营商,而非客户手机实际接收。在特征工程中,建议额外计算“有效送达率”(运营商回执为 DELIVERED 的比例),避免指标虚高。

3.4 还款行为关键字段

还款行为是衡量催收效果的最终标尺,也是 A/B 测试中核心的因变量数据源。

字段名称 数据类型 说明 特征构造示例
payment_id string 还款交易唯一标识 —
case_id string 案件编号 案件维度聚合
payment_time datetime 还款时间 还款时段、响应速度
payment_amount decimal 还款金额 还款比例、部分还款次数
payment_channel string 还款渠道(APP/网银/柜台等) 渠道偏好特征
overdue_days int 逾期天数(还款时) 逾期阶段特征
promise_to_pay boolean 是否在催收中承诺还款 承诺履约率

3.5 客户画像关键字段

客户画像数据为 A/B 测试提供分层与随机化的基础,同时也可作为协变量纳入效果评估模型。

字段名称 数据类型 说明 特征构造示例
customer_id string 客户唯一标识 —
age int 年龄 年龄分段
gender string 性别 性别哑变量
credit_score int 征信评分 信用等级
product_type string 贷款产品类型 产品类别特征
loan_amount decimal 贷款金额 金额分段
city_level string 城市等级(一线/二线/三线等) 地域特征
contact_count int 联系人数量 社交关系强度
past_due_history int 历史逾期次数 逾期惯性特征

3.6 数据源字段映射与对齐

在实际采集过程中,不同系统对同一业务概念的字段命名与格式可能不一致。下图展示了字段映射与对齐的标准流程。

字段映射与对齐流程 外呼: call_result 短信: delivery_status 账务: payment_time CRM: credit_score 映射规则引擎 1. 结果码标准化 2. 状态码统一 3. 时间戳对齐 4. 评分卡分段 5. 缺失值标记 6. 异常值过滤 7. 数据类型转换 8. 业务字典映射 统一特征宽表 touch_result delivery_flag payment_ts
最佳实践:建议在数据采集层建立统一的字段映射字典(YAML 或 JSON 格式),包含源字段、目标字段、转换规则、默认值四列。每次新增数据源或修改字段定义时,只需更新字典文件,避免在 ETL 代码中硬编码映射逻辑。

3.7 数据质量检查清单

在进入特征构造之前,必须对采集到的原始数据执行以下质量检查,确保 A/B 测试的结论可信。

  • 完整性检查:每个案件在实验周期内是否都有对应的通话记录、短信记录和还款记录?缺失比例超过 5% 的数据源需标记并评估影响。
  • 一致性检查:同一案件在不同数据源中的 case_id 是否完全匹配?时间戳是否存在跨时区问题?
  • 时效性检查:数据延迟是否在可接受范围内?例如,通话记录延迟超过 1 小时可能影响实时特征计算。
  • 异常值检查:通话时长是否为负数?还款金额是否超过贷款本金?短信发送时间是否在未来?
  • 重复记录检查:是否存在重复的 call_id 或 payment_id?重复记录需按业务规则去重(通常保留最早或最晚的一条)。
常见陷阱:部分催收系统会将“外呼未接通”记录为一条通话记录,但时长为 0。在特征构造时,如果直接计算平均通话时长,这些 0 值会严重拉低均值。建议在聚合前先按 call_result 过滤,分别计算“接通通话”与“全部通话”的统计量。