在金融风控领域,每一个决策都直接关系到真金白银的安全。以某头部金融机构为例,其月放款规模高达 200 亿元,若违约率上升 1 个百分点,每月将直接损失 2 亿元 —— 这相当于一家中型企业的年利润。这种「钱袋子」的敏感性,决定了金融风控与电商、广告等场景的本质区别。
金融风险的暴露具有天然的滞后性。用户借款后至少需要一个月才会进入还款周期,部分用户甚至在还款半年后才会出现违约。这意味着,当我们发现某批用户违约时,可能已经过去了数月时间。例如,某消费金融公司发现,2023 年 Q1 放款的用户中,有 15% 在 12 个月后才首次出现逾期。
这种滞后性给模型训练带来了巨大挑战。假设我们使用 2023 年全年数据训练模型,模型预测的其实是 2024 年用户的违约概率,但用户在 2024 年的行为可能已经发生了显著变化。例如,经济环境变化、政策调整等因素都可能导致用户还款能力下降,而模型却无法及时捕捉这些变化。
线上获客成本的高昂(单客成本从百元到千元不等),要求风控系统必须在毫秒级完成申请、审核、授信等全流程。某银行信用卡中心的数据显示,其风控系统日均处理超过 10 万笔申请,平均响应时间需控制在 500 毫秒以内。
这种实时性要求对模型的部署和计算能力提出了极高要求。传统的机器学习模型(如 XGBoost)虽然在离线训练时表现优异,但在线上实时推理时可能面临性能瓶颈。例如,某互金平台曾因模型推理耗时超过 1 秒,导致通过率下降 12%,直接影响了业务增长。
在金融风控中,模型的可解释性和稳定性往往比单纯的预测能力更重要。监管机构要求金融机构必须能够解释模型的决策逻辑,而业务部门也需要通过模型解释来优化风控策略。例如,某银行在引入深度学习模型后,因无法向监管部门解释模型如何识别欺诈用户,最终被迫回退到传统的逻辑回归模型。
稳定性则是模型长期运行的基础。金融风控模型通常需要运行数月甚至数年,期间数据分布、用户行为等都可能发生变化。例如,某消费金融公司的模型在上线 6 个月后,因用户群体结构变化导致 KS 值从 0.4 下降至 0.25,最终不得不进行模型迭代。
在 Kaggle 等数据科学竞赛中,模型的预测能力是唯一的评判标准。但在金融风控中,这一标准远远不够。例如,某团队在 Kaggle 信贷违约预测竞赛中获得冠军的模型,在实际应用中却因过度拟合历史数据,导致对新用户的预测准确率下降 30%。
这种「水土不服」的根本原因在于,金融风控更关注模型的长期稳定性和业务可解释性,而非短期预测能力。例如,逻辑回归(LR)虽然在预测能力上不如 XGBoost,但其线性结构和可解释的特征权重,使其成为金融风控领域的主流模型。
数据质量是金融风控模型的基石。据统计,80% 的模型效果问题源于数据质量问题。以下是金融风控中常见的数据质量问题及解决方案。
用户行为数据的实时更新可能导致历史数据无法回溯。例如,某用户在借款后删除了社交账号,导致模型训练时无法获取其历史社交行为数据。这种数据穿越会导致模型高估用户的信用风险,最终影响模型效果。
解决方案:
· 在数据存储时,对关键特征(如社交账号状态)进行版本控制,确保历史数据可回溯。
· 对于不可回溯的特征,通过业务分析评估其增益与风险,必要时由业务方决策是否使用。
信贷风控流程的不同环节可能使用不同的数据。例如,授信环节仅使用用户基本信息,而申请环节则需要用户提交更多资料。如果在建模时混用不同环节的数据,可能导致模型在实际应用中失效。
解决方案:
· 与业务部门深入沟通,明确各环节的数据需求和时间节点。
· 在数据预处理阶段,模拟线上数据获取流程,确保训练数据与线上数据一致。
实时计算与离线计算的逻辑差异可能导致数据不一致。例如,某公司的实时系统对手机号进行了脱敏处理,而离线数据未进行处理,导致模型训练时使用的手机号特征与线上实际特征不一致。
解决方案:
· 建立统一的特征计算引擎,确保实时与离线计算逻辑一致。
· 在模型上线前,进行多轮线上线下数据一致性验证。
检查数据的起止时间、中间时段是否有缺失或异常。例如,某数据集在 2023 年 2 月的数据缺失,可能导致模型对该时间段用户的预测出现偏差。
操作建议:
· 使用时间序列分析工具(如 Prophet)检测数据时间序列中的异常点。
· 对于缺失数据,根据业务逻辑选择合适的填充方法(如均值填充、向前填充等)。
离线数据可能存在重复插入的现象,导致主键不唯一。例如,某用户的多条申请记录被错误地插入到同一数据表中,导致模型计算用户申请次数时出现偏差。
解决方案:
· 在数据导入时,使用COUNT(DISTINCT key)替代COUNT(key)进行统计。
· 定期对数据表进行去重处理,确保主键唯一性。
不同数据源的缺失值填充方式可能不同。例如,征信数据中的缺失值可能表示用户无信贷记录,而第三方数据中的缺失值可能表示数据未获取到。这种差异可能导致模型误判用户的信用风险。
解决方案:
· 对缺失值进行统一标识(如用 - 999 表示),并在特征工程阶段对缺失值进行单独处理。
· 对于异常值,结合业务逻辑进行分析。例如,某用户的月消费金额突然增加 10 倍,可能是真实消费行为,也可能是数据采集错误。
金融风控模型的设计需要紧密围绕业务目标。例如,新产品上线时,业务目标可能是快速扩张用户规模,此时模型应更关注通过率;而在存量用户管理阶段,业务目标可能是降低坏账率,此时模型应更关注违约预测精度。
· 观察点:构建样本集的时间点。例如,申请模型的观察点为用户申贷时间,贷中行为模型的观察点为某个具体日期。
· 表现期:定义好坏标签 Y 的时间窗口。通常为用户借款后的 3-12 个月,具体长度需通过账龄分析确定。
· 观察期:构造特征的时间窗口。例如,用户申请前 12 个月的消费行为数据。
通过分析不同贷款时长用户的违约率变化,确定违约率趋于稳定的时间点。例如,某消费金融公司的账龄分析显示,用户在还款 6 个月后违约率趋于稳定,因此将表现期定义为 6 个月。
通过分析逾期用户的还款行为,确定逾期多少天可定义为坏用户。例如,某公司的滚动率分析显示,逾期 7 天后仍未还款的用户中,95% 最终会违约,因此将逾期 7 天作为坏用户的定义标准。
· 训练 - 验证集:按时间顺序划分,确保训练集数据早于验证集数据。
· 测试集(OOT):使用最新的时间窗口数据,模拟模型上线后的实际应用场景。
在服务多客户时,需确保样本具有代表性和稳定性:
· 特殊样本处理:将暴雷潮、疫情期间的样本单独作为测试集。
· 时效性:筛选近 2 年内的样本,确保数据与当前业务环境相关。
· 稳定性:各合作方的样本分布需与真实人口分布一致。
逻辑回归(LR)虽然预测能力有限,但其线性结构和可解释的特征权重,使其成为金融风控领域的「标配」。例如,某银行的信用卡审批模型使用 LR,业务人员可通过特征权重直接判断哪些因素影响用户的信用评分。
XGBoost 等树模型在预测能力上通常优于 LR。例如,某互金平台的模型对比实验显示,XGBoost 的 KS 值比 LR 高 2-3 个点。但其黑箱特性可能导致业务解释困难。
· 方案一:在建模环节用 XGBoost 替代 LR,保留评分卡框架。
· 方案二:用 XGBoost 生成特征(如 Embedding),作为 LR 的输入。
· Rank:按预测概率将用户分组。
· %Total_bad:每组坏用户占比。
· Cum%Total_Bad:累积坏用户占比。
· K-S:每组的 KS 值,模型的 KS 值为最大值。
若 %Total_bad 未按预测概率升序排列,说明模型存在逻辑错误。例如,某模型的 KS 表显示,预测概率最高的组中坏用户占比反而低于次高组,该模型需重新训练。
通过 KS 表可直接制定风控策略。例如,预测概率最高的 10% 用户可直接拒绝,预测概率最低的 20% 用户可自动通过。
特征工程是金融风控模型的「灵魂」。据统计,优质的特征可使模型效果提升 30% 以上。以下是金融风控中特征工程的关键策略。
金融风控项目通常有严格的时间要求。例如,某消费金融公司要求新模型必须在 2 周内上线,以抓住市场机遇。因此,在特征工程阶段需评估以下因素:
· 特征成熟度:是否已在其他模型中验证过有效性。
· 计算成本:特征生成是否需要大量计算资源。
· 上线周期:新特征的开发和测试需要多长时间。
强规则(如多头借贷次数 > 5 次直接拒绝)对应的特征可能导致模型过拟合。频繁调整的规则(如政策变化导致的规则调整)对应的特征可能影响模型稳定性。例如,某模型因引入政策敏感特征,在政策调整后效果大幅下降。
· PSI<0.1:特征稳定,可安全入模。
· 0.1≤PSI<0.2:特征波动较大,需谨慎使用。
· PSI≥0.2:特征不稳定,建议不入模。
通过特征重要性分析(如 XGBoost 的特征重要性分数)筛选 Top 特征。例如,某模型通过筛选前 30 个特征,在保持 KS 值不变的情况下,将模型推理时间缩短 50%。
若特征取值与风险呈 U 型关系(如收入过高或过低的用户风险更高),且无法合理解释,需剔除该特征。例如,某模型中的「月收入」特征因无法解释 U 型关系,最终被排除在模型之外。
确保 Embedding 特征的观察期与模型其他特征一致。例如,用户行为序列的 Embedding 需基于与模型观察期相同的时间窗口生成。
通过 A/B 测试评估加入 Embedding 特征后的效果提升。例如,某模型加入用户设备指纹的 Embedding 特征后,KS 值从 0.35 提升至 0.38。
将 Embedding 特征单独训练为子模型,其输出作为主模型的输入。这种方式既提升了模型性能,又保证了主模型的可解释性。
模型上线后,监控是确保其持续有效的关键。以下是金融风控中线上监控的核心指标和方法。
· 计算方法:将线上用户的模型分数分布与训练集分数分布进行对比。
· 阈值标准:PSI<5% 稳定,5%-10% 需关注,>10% 需排查原因。
监控重要特征的分布变化。例如,某模型的「月消费金额」特征 PSI 突然升至 15%,经排查发现是数据采集接口升级导致特征计算逻辑变化。
线上故障可能导致部分特征缺失。例如,某第三方数据接口故障,导致模型输入特征缺失率从 0.5% 升至 30%,需立即触发应急预案。
模型上线后,因拦截了高风险用户,线上 KS 通常低于离线 KS。一般要求线上 KS 保持在 0.2 左右,且保序即可。
· 逾期率:直接反映模型的风险控制效果。
· 通过率:反映模型对业务增长的支持程度。
· 利润贡献:综合考虑利息收入、坏账损失等因素,评估模型的整体价值。
主动监控可提前发现问题。例如,某模型的 PSI 值连续 3 天上升 0.5%,系统自动触发预警,提示模型可能需要迭代。被动响应则是在问题发生后进行处理,如业务部门反馈通过率下降,再排查模型问题。
金融风控是一个融合业务理解、数据处理、模型开发和监控运维的系统性工程。通过本文的经验总结,我们可以看到:
· 数据质量是模型效果的基础,需建立严格的数据校验流程。
· 模型设计需紧密围绕业务目标,平衡可解释性与预测能力。
· 特征工程是模型效果提升的关键,需在稳定性与效果之间找到平衡点。
· 线上监控是模型长期运行的保障,需建立实时、全面的监控体系。
未来,随着人工智能技术的发展,金融风控将迎来更多机遇与挑战。例如,迁移学习可解决违约样本不足的问题,深度学习可挖掘更复杂的行为模式,知识图谱可识别团伙欺诈等。但无论技术如何演进,金融风控的核心始终是可解释性、稳定性和业务价值。只有把握这一核心,才能在金融科技的浪潮中稳步前行。
希望本文能为风控从业人员提供一份实用的「操作指南」,帮助大家少踩坑、多成长。在金融风控的道路上,让我们一起从经验走向体系,从实践走向卓越!