3. 可疑交易PSI漂移场景识别

在反洗钱与金融风控领域,PSI(Population Stability Index,群体稳定性指标)是监控模型输入特征分布是否发生显著变化的核心工具。当可疑交易监测模型上线后,交易金额、交易频次、交易对手类型等关键特征的分布一旦发生漂移,将直接导致模型评分失真、误报率飙升或漏报风险。本章聚焦三类最常见的PSI漂移场景,帮助风控人员快速定位漂移根源。

3.1 交易金额分布漂移

交易金额是可疑交易模型中最基础、最敏感的数值型特征。金额分布的漂移通常表现为:均值突变、方差扩大或尾部极端值激增。

漂移类型 典型表现 常见诱因 PSI阈值参考
均值漂移 日均交易金额从¥5,000 跳升至 ¥15,000 大额交易通道放开、节假日促销、洗钱团伙集中测试 PSI > 0.1
方差漂移 金额标准差从 ¥2,000 扩大至 ¥20,000 混入异常大额交易、拆分交易失效 PSI > 0.15
尾部漂移 99%分位数从 ¥50,000 飙升至 ¥500,000 单笔大额可疑交易集中出现、系统接入新商户 PSI > 0.2
实战要点:金额分布漂移的PSI计算需对原始金额做分箱处理(如等频分箱或等距分箱),分箱数量建议控制在10~20箱。若漂移集中在高金额区间,应优先排查大额交易通道的合规性。
交易金额分布漂移检测流程 原始交易金额 等频/等距分箱 PSI指标计算 PSI > 0.1? 定位漂移区间 原因排查与处置 说明: 金额分箱时需注意极端值处理,建议对超过99.9%分位数的金额做截断或单独成箱,避免单箱占比过高导致PSI失真。

3.2 交易频次分布漂移

交易频次反映账户或客户在单位时间内的交易活跃度。频次分布漂移通常表现为:整体频次上移、双峰分布出现或低频账户突然活跃。

  • 整体频次上移:客户日均交易次数从 2~3 次升至 8~10 次,PSI > 0.15,常见于刷单、洗钱团伙批量操作。
  • 双峰分布出现:正常客户集中在低频区(1~3次/天),可疑账户集中在高频区(20~50次/天),PSI > 0.25。
  • 低频账户突然活跃:长期休眠账户突然在短时间内发起大量交易,PSI > 0.3,需立即触发人工复核。
监控建议:交易频次PSI应分别按日、周、月三个时间窗口计算。日频次PSI用于实时告警,周/月频次PSI用于趋势分析。若日PSI超过0.2,建议自动冻结相关账户并推送调查工单。
交易频次分布漂移分类与响应 整体频次上移 PSI > 0.15 双峰分布出现 PSI > 0.25 低频账户突然活跃 PSI > 0.30 调整频次阈值 分客群重新建模 自动冻结+人工复核 注意: 交易频次PSI需结合账户生命周期分析。新开户频次天然较高,应排除在漂移计算之外,或单独建立新客频次基线。

3.3 交易对手类型分布漂移

交易对手类型是离散型分类特征,包括:个人账户、对公账户、虚拟资产地址、境外机构等。类型分布的漂移往往预示着洗钱路径或资金通道的切换。

对手类型 漂移方向 风险含义 PSI告警阈值
个人→对公 对公账户占比从10%升至40% 可能通过空壳公司进行资金归集 PSI > 0.1
境内→境外 境外对手占比从5%升至25% 跨境洗钱或地下钱庄通道开启 PSI > 0.15
银行→虚拟资产 虚拟资产地址占比从1%升至15% 资金向加密资产转移,追踪难度加大 PSI > 0.2
高风险提示:交易对手类型漂移往往与监管政策变化高度相关。例如,当某国加强银行账户监管时,洗钱团伙可能迅速转向虚拟资产或预付卡渠道。此时PSI告警应联动外部情报,判断漂移是否由合规政策驱动。

3.4 三类漂移的联合诊断矩阵

在实际运营中,三类漂移往往同时或先后出现。建立联合诊断矩阵有助于快速定位漂移根因并制定响应策略。

场景组合 金额漂移 频次漂移 对手类型漂移 典型根因 建议响应
场景A 是 否 否 大额交易通道异常 检查通道限额与商户资质
场景B 否 是 否 刷单或批量操作 触发频次限制与行为分析
场景C 否 否 是 资金通道切换 联动外部情报与合规审查
场景D 是 是 是 系统性洗钱攻击 全量冻结+紧急模型重训
实战工具:建议在PSI监控看板中同时展示三类特征的PSI时序曲线,并设置“联合告警”规则:当任意两类特征PSI同时超过0.15时,自动升级告警级别并通知风控主管。
# PSI联合诊断伪代码示例
def joint_psi_diagnosis(psi_amount, psi_freq, psi_type):
    alert_level = "low"
    actions = []
    
    if psi_amount > 0.1:
        actions.append("检查交易金额通道")
    if psi_freq > 0.15:
        actions.append("触发频次限制规则")
    if psi_type > 0.1:
        actions.append("联动对手类型黑名单")
    
    # 联合判断
    high_psi_count = sum([
        psi_amount > 0.15,
        psi_freq > 0.15,
        psi_type > 0.15
    ])
    
    if high_psi_count >= 2:
        alert_level = "critical"
        actions.append("全量冻结可疑账户")
        actions.append("紧急模型重训")
    elif high_psi_count == 1:
        alert_level = "high"
        actions.append("推送调查工单")
    
    return alert_level, actions