ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何从银行流水中发现异常线索:从人工经验到规则、图谱的分层落地

如何从银行流水中发现异常线索:从人工经验到规则、图谱的分层落地

同一张流水表,老手几分钟能圈出几处不对劲;把这套直觉写成代码,却总差一口气。差的不是算法,是「判定一件事,到底需要多少信息」。

银行流水记录了每一笔资金的来源、去向和交易对手,是审计、风控与办案场景里最难被销毁的客观记录。围绕它流传着大量「异常特征清单」:整数交易、快进快出、备注敏感、周期性收支……这些清单有用,但照着清单写代码的人,大多撞过同一堵墙:规则越写越多,误报越压越不掉,最后系统输出的「可疑」,既不敢信,也不敢用。

问题不在清单,在清单的用法。这十来条特征看似并列,判定它们所需要的信息量完全不同——有的看一笔就够了,有的必须看一张图,有的无论如何绕不开人对业务实质的判断。把它们塞进同一个 if-else 里,是流水异常检测工程化最常见的起点错误。

本文把这份经验清单重新拆成三层:说清楚每一层能交给机器什么、必须留给人什么,以及为什么「命中」离「可归档的结论」,还有一段必须专门设计的距离。

一、先分层:判定所需的信息量,决定自动化程度

图1 · 异常线索的三层判定结构

**第一层看单点。**金额、时间、摘要、频率,一笔交易或一个账户自己就能说明的信息。整数大额、快进快出、备注含敏感词、现金占比突增,都在这一层——它们适合写成规则,因为每一条命中都能说清楚「为什么」,也能在口径调整后重新跑一遍历史数据做验证。

**第二层看结构。**资金闭环回流、交易对手高度集中、隐性关联方——这类特征的判定单位不是一笔交易,而是一张网络。把账户当成节点、交易当成边,环路、聚集和异常的形状才会显出来。

**第三层看实质。**流水与账簿对不上、收入与成本不配比、摘要写着「货款」却找不到对应合同——判定它们需要流水之外的信息,最终需要人结合业务实质做判断。

分层的价值在于三个「各就各位」:规则负责把量降下来,十万条流水先压成几百条待核清单;图谱负责把关系连起来,散点连成链路,链路显出形状;人负责把结论定下来,因为结构可疑不等于主观故意,业务实质只有结合凭证才能判断。

任何一层越位,产出都会失去公信力:让规则直接下结论,误报会先耗尽使用者的耐心;让模型替代业务判断,结论在归档和质证时站不住。

二、第一层:规则能抓什么,边界在哪

规则是这一层的主力,但它有两个先天限制,决定了它只能承担筛查,不能承担认定。

**一是阈值必须挂在法规口径上,而不是拍脑袋。**反洗钱监管对大额交易报告有明确标准:按《金融机构大额交易和可疑交易报告管理办法》(中国人民银行令〔2016〕第3号,2017年7月1日起施行),现金收支当日单笔或累计 5 万元以上、非自然人账户境内划转 200 万元以上、自然人账户境内划转 50 万元以上、自然人跨境划转 20 万元以上,金融机构应提交大额交易报告。规则的阈值落在这些数字附近,输出的待核清单才有监管和实务上的参照系。

**二是报告义务不等于违法红线,规则命中也不等于可疑。**大额交易报告是金融机构的常规义务,正常的大额购房款、货款同样会触发。更值得注意的是反洗钱语境里的「化整为零」——有意拆分金额、规避大额交易监测,本身就是被明确列举的可疑情形。也就是说,单笔贴着阈值下沿反复出现的转账,比偶尔一笔超线更值得看;规则要做的不仅是「抓超线」,还要能识别「贴线」。

图2 · 同一笔钱,两种「异常」:拆分交易(单点)与资金闭环(结构)

所以这一层的产出形态必须是「待核清单」,而不是「异常认定」。它的目标不是准确率,而是在可控的人力预算里尽量不漏——宁可多核十条,不能漏掉一条。

三、第二层:把「关系」交给图谱

工程做法并不神秘:账户作为节点,交易作为带属性(金额、时间、摘要)的边,在这个图上做环路检测、可达性分析、社区发现和中心度计算。资金从 A 出发、经过若干中间账户又回到 A,单看每一笔都正常,放到图上就是一个环。

隐性关联方是同一逻辑:靠交易对手名称永远找不出来,要靠设备指纹、共用联系方式、亲属与股权关系这些「边外信息」把节点缝起来——控股股东亲属控制的空壳公司,在交易对手列表里只是个陌生名字,在图上是距离 A 只有两跳的节点。

这一层的主要成本不在算法,在归一。一家银行一种格式,摘要口径各不相同,同一个实体的多个账户散落在多家机构——先把「人、卡、企」对齐成同一些节点,图谱计算才有意义。这一步枯燥,却决定上层建筑。

四、第三层:绕不开业务实质的部分

以最常见的「虚构交易」为例:摘要标注「货款」的转账,本身无可指摘;要判定它可疑,得核对有没有购销合同、有没有对应发票、有没有物流单据和纳税记录。流水只能证明「钱动了」,不能证明「货存在」。

所以这一层里,工具的正确姿势不是「替人下结论」,而是把流水、账簿和凭证摆进同一个视图:让每一次勾稽比对都点得到原始凭证,让每一条被排除的疑点都留下排除理由。发现疑点后,进一步调取合同、物流单据、纳税记录补全证据链,避免孤立判断——这也是《个人信息保护法》《反洗钱法》对数据来源与使用合法性的底线要求。

五、十类高风险特征,各自属于哪一层

图4 · 10 类高风险特征的可自动化程度对照

值得强调的是最后一列:每类特征的主要误报来源,几乎都对应一种「正常但少见」的业务形态。分层的意义不是给异常打分,而是让每一类特征由与其误报代价相匹配的方法去处理——把「快进快出」交给环路检测,和在「单一供应商」身上误伤正常经营,是同一个错误的两种样子。

六、命中不是终点,可回溯才是

把三层串起来,完整的链路是这样的:

图3 · 从命中到可归档的结论:正向四步,反向可回溯

归一,解决「进得来」——多银行、多格式的流水清洗、对齐、合并;拉通,解决「连得上」——人、卡、企在图谱里缝成同一张网;筛选,解决「看得见」——规则与图谱把值得看的部分顶到最前面。而可回溯是贯穿三层的底线要求:从结论里的任意一条资金链路,都能逐跳退回到原始流水的具体那一笔,每一步计算可复现。做不到这一点,再漂亮的检测都只是在制造「看起来可信的猜疑」。

这也是成熟的资金分析工具反复校准的位置:系统负责归一、拉通和第一、二层的筛选,多银行多格式的流水拖进来就能分析,自动还原资金链路、标记异常信号;第三层的研判和结论留给办案与审计人员,工具保证的只是——**你看到的每一条线索,都能退回到它出发的那笔原始流水。**不少工具还支持对接 DeepSeek 等大模型辅助研读笔录等非结构化材料,同样只做「摆材料、指线索」,不替代判断。

流水信息查询界面(演示数据):每条结论可回溯到原始流水

参考资料

  1. 《金融机构大额交易和可疑交易报告管理办法》,中国人民银行令〔2016〕第3号,2017年7月1日起施行(大额交易报告标准:现金 5 万、非自然人账户划转 200 万、自然人境内划转 50 万、自然人跨境划转 20 万)

  2. 中国人民银行《关于非银行支付机构开展大额交易报告工作有关要求的通知》(银发〔2018〕163号),非银行支付机构自 2019 年起执行同类报送标准

  3. 文中 10 类高风险特征整理自公开的银行流水分析实务经验总结,本文对其判定路径与可自动化程度做了重新分层

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进