1. 风控巡检概述
1.1 什么是异常交易巡检
异常交易巡检是指对实时风控系统输出的交易决策结果、模型评分、特征分布及规则命中情况,进行周期性、自动化、多维度的监控与校验。其核心目标是在风险事件造成实质性损失之前,发现风控系统本身的异常——包括模型失效、特征漂移、规则误杀、数据延迟或系统降级。
巡检 ≠ 监控:监控关注“系统是否在线”,巡检关注“系统决策是否仍然合理”。一个典型的例子是:模型服务延迟正常,但评分分布已发生显著偏移,此时监控无告警,巡检应触发预警。
1.2 巡检在风控体系中的定位
在完整的风控技术栈中,巡检位于“运营与保障层”,与决策引擎、模型管理、数据平台形成闭环。下表展示了各层职责与巡检的衔接关系:
| 层级 | 核心组件 | 巡检关注点 |
|---|---|---|
| 数据接入层 | 实时特征、离线宽表 | 字段缺失率、延迟时间、空值比例 |
| 决策引擎层 | 规则集、决策流 | 规则命中率突变、执行耗时 |
| 模型推理层 | 评分卡、机器学习模型 | PSI、分数分布、AUC衰减 |
| 运营保障层 | 巡检系统 | 上述所有指标的聚合与告警 |
巡检系统作为“风控系统的风控”,承担以下三项关键职责:
- 稳定性校验:确保模型输出与特征分布在生产环境中保持稳定,不发生未预期的漂移。
- 一致性校验:验证实时决策结果与离线复盘结果是否一致,发现数据口径或逻辑差异。
- 时效性校验:监控从交易发生到决策返回的全链路耗时,识别性能瓶颈。
1.3 实时风控与离线风控的区别
理解实时与离线两种模式的差异,是设计巡检策略的前提。以下从多个维度进行对比:
| 维度 | 实时风控 | 离线风控 |
|---|---|---|
| 处理时机 | 交易发生时,毫秒级响应 | T+1 或批量窗口,分钟/小时级 |
| 数据范围 | 单笔交易 + 实时特征 | 全量历史交易 + 衍生特征 |
| 模型复杂度 | 轻量模型(LR、XGBoost轻量版) | 复杂模型(深度学习、集成模型) |
| 输出用途 | 直接决策:通过/拒绝/人工审核 | 策略调优、模型迭代、风险复盘 |
| 巡检重点 | 延迟、PSI实时监控、规则命中率 | AUC衰减、特征重要性变化、坏账率 |
实践建议:实时风控巡检应设置分钟级的PSI滑动窗口(如过去1小时 vs 过去24小时),而离线风控巡检通常以天级为周期,对比当日与近7日的模型分布。
下图展示了实时风控与离线风控在数据流与巡检节点上的典型架构:
常见误区:不要将离线风控的复盘指标直接用于实时巡检。例如,离线模型AUC下降3%可能只需周级关注,但实时PSI超过0.1阈值应在30分钟内触发告警,因为实时决策直接影响当前交易资金安全。
1.4 巡检触发机制与频率
根据风控模式的不同,巡检的触发方式也有所区别:
- 定时巡检:按固定时间窗口执行(如每5分钟、每小时、每天),适用于PSI、特征缺失率等稳定性指标。
- 事件驱动巡检:当特定事件发生时触发(如模型版本上线、规则变更、数据源切换),适用于回归测试与一致性校验。
- 阈值告警巡检:当某个指标连续N次超过阈值时自动触发深度巡检,适用于异常扩散前的快速响应。
以下是一个典型的实时风控巡检配置示例:
# 实时风控巡检配置(YAML 示例)
巡检任务:
- 名称: "PSI_实时监控"
周期: "每5分钟"
窗口: "过去1小时 vs 过去24小时"
阈值: 0.1
动作: "钉钉告警 + 自动暂停模型"
- 名称: "规则命中率突变检测"
周期: "每10分钟"
方法: "同比前一日同时段"
阈值: "变化率 > 30%"
动作: "邮件通知策略团队"
通过上述机制,巡检系统能够在实时风控与离线风控之间建立统一的稳定性保障层,确保每一笔交易都在可控的风险范围内完成决策。