4. 目标变量定义
在催收还款意愿(Propensity to Pay,PTP)建模中,目标变量定义是整个项目的地基。模型的上限往往不由算法决定,而由标签定义是否准确、稳定、可解释决定。PTP标签本质上回答一个问题:在给定观察时点与观察窗口下,这个客户是否会在未来某个时间窗口内发生约定口径的还款行为?如果这个问题定义模糊,后续特征工程、模型训练和策略部署都会产生系统性偏差。
一、核心原理:PTP标签的三要素
一个可落地的PTP标签必须同时明确三个要素:观察时点(Observation Point)、表现窗口(Performance Window)、还款行为口径(Payment Definition)。观察时点是用来抽取特征的时间截面,通常为账单日、逾期日、委案日或上一次催收动作日;表现窗口是观察时点之后用于判断是否还款的时间区间;还款行为口径则规定什么算“还款”,例如是否只看本金、是否包含部分还款、是否要求达到最低还款额、是否剔除冲正和退款。
从业务视角看,PTP不是“最终是否回款”的长期结果,而是“在催收可干预周期内是否愿意响应”的短期倾向。因此表现窗口通常设置为7天、14天、30天,少数场景可到60天。窗口过短会漏掉真实还款意愿,窗口过长会引入自然回款和外部变量干扰,导致模型学到与催收动作无关的信号。
二、方法流程:从业务口径到建模标签
建议按以下流程构建PTP标签,确保业务、数据、模型三方对齐。
- 确定观察时点:以催收案件进入队列或首次触达时间为准,避免使用未来信息。若同一客户多次催收,需按案件粒度而非客户粒度建样本。
- 定义表现窗口:根据催收策略周期选择7/14/30天,并保证窗口内无其他强干预污染。例如若第10天有减免活动,则30天标签会混入活动效应。
- 明确还款口径:常见口径包括“任意金额还款”“还清当期最低应还”“还清全部逾期本息”“承诺还款且实际到账”。不同口径对应不同业务目标。
- 生成二分类标签:在表现窗口内满足口径则标为1,否则为0。若需多分类,可划分为“全额还款/部分还款/未还款/承诺未还”。
- 标签噪声识别与处理:检查冲正、退款、系统延迟、代扣失败、重复案件等造成的假正例和假负例。
- 标签版本管理:记录口径、窗口、观察时点、数据快照时间,确保训练与上线一致。
下面是一个典型的标签生成SQL逻辑,用于按案件粒度生成30天PTP标签:
-- 观察时点:案件进入催收队列日期
-- 表现窗口:观察时点后30天
-- 还款口径:窗口内实际到账金额 >= 当期最低应还金额
WITH case_base AS (
SELECT case_id, cust_id, obs_date, min_due_amt
FROM collection_case
WHERE obs_date BETWEEN '2024-01-01' AND '2024-06-30'
),
pay_agg AS (
SELECT c.case_id,
SUM(p.pay_amt) AS paid_amt
FROM case_base c
LEFT JOIN payment p
ON c.case_id = p.case_id
AND p.pay_date > c.obs_date
AND p.pay_date <= DATE_ADD(c.obs_date, 30)
AND p.status = 'SUCCESS'
GROUP BY c.case_id
)
SELECT c.case_id,
CASE WHEN COALESCE(p.paid_amt,0) >= c.min_due_amt THEN 1 ELSE 0 END AS ptp_label
FROM case_base c
LEFT JOIN pay_agg p ON c.case_id = p.case_id;
三、时间窗口选择与标签噪声处理
时间窗口选择需要平衡“业务可干预性”和“标签稳定性”。7天窗口适合高频催收、短周期现金贷;14天适合信用卡早期逾期;30天适合委外催收和长账龄案件。窗口越长,正样本比例越高,但噪声也越大,因为客户可能因工资到账、退款、系统自动扣款等非催收因素还款。
标签噪声主要来源包括:
- 冲正与退款:还款后发生冲正,实际未回款,但标签仍为1。
- 代扣失败:客户有还款意愿但余额不足,系统显示失败,标签为0。
- 多案件重复:同一客户多笔案件,部分还款被错误归集。
- 观察时点泄漏:特征抽取使用了表现窗口内的信息,造成标签泄漏。
- 活动干扰:减免、分期、外呼活动集中期,标签受策略影响而非自然意愿。
处理噪声的常用手段包括:剔除冲正和退款记录、将代扣失败但后续成功还款的样本重新归为正例、按案件去重、设置观察时点与特征时间边界、对活动期样本加权或单独建模。建议在标签生成后输出分布监控表,持续跟踪正例率、窗口内还款金额分布和噪声比例。
| 口径类型 | 定义 | 适用场景 | 主要风险 |
|---|---|---|---|
| 任意还款 | 窗口内发生任意金额成功还款 | 早期唤醒、低门槛响应 | 正例率过高,区分度弱 |
| 最低应还 | 还款金额≥当期最低应还 | 信用卡、现金贷催收 | 部分还款被误判为负例 |
| 全额还清 | 还清全部逾期本息 | 高价值案件、委外考核 | 正例稀疏,模型难收敛 |
| 承诺还款 | 承诺且实际到账 | 电话催收、PTP承诺场景 | 承诺未还造成假正例 |
四、案例与复盘:一个30天PTP标签的修正过程
某消费金融公司初期将PTP定义为“案件进入催收后30天内任意还款”,模型AUC约0.71,但上线后催收员反馈“模型高分客户很多只是还了10元”。复盘发现,任意还款口径下大量部分还款被标为正例,模型学到的是“小额试探性还款”而非真实还款意愿。随后将口径改为“30天内还款金额≥当期最低应还”,正例率从42%降至23%,AUC提升至0.78,且高分案件的实际回款金额提升明显。
另一个常见误区是观察时点选择过晚。若以“最后一次催收动作”为观察时点,特征中会包含大量催收过程信息,而这些信息在预测时不可用,造成离线指标虚高。正确做法是以案件进入队列或首次触达为观察时点,确保特征在预测时点可获取。
最后,PTP标签不是一次定义终身不变。随着催收策略、产品规则和外部环境变化,还款行为分布会漂移。应定期回测标签分布,监控正例率、窗口内还款金额中位数和噪声比例,必要时重新定义口径并重训模型。只有把目标变量定义做扎实,PTP模型才能真正服务于催收策略,而不是停留在离线指标上。