1、反欺诈图谱概述
应用背景:数字金融欺诈的演变
做反欺诈这些年,我最深的感受是——欺诈已经不是一个人在战斗了。早年间的盗号、盗刷,大多是单点作案,靠几条规则就能打到八九成。现在呢?职业团伙利用群控设备、虚假身份、复杂资金链路发起攻击,单个特征根本抓不住。
我印象特别深的是 2020 年一个现金贷项目。团队写了 200 多条规则,坏账率依然压不住。后来一查,发现大量逾期客户共用同一批设备指纹,注册时间集中在凌晨 3 点,而且彼此之间有三层以上的资金转账关系。你想想看,这些要是只靠单笔交易的金额、频率、IP 去判断,根本不可能关联起来。说白了,反欺诈的战场已经从“特征工程”转向“关系工程”了。
为什么会这样?因为欺诈者太懂规则了。他们知道单笔交易控制在安全阈值内就不会触发风控,但关系网络很难彻底伪装。共享设备、共用一个手机号、彼此转账形成闭环……这些关系一旦被图谱捕获,会直接暴露出团伙的核心结构。
图谱与反欺诈的关系:从单点到关系
我习惯把反欺诈图谱比作一张“社会关系 X 光片”。它把零散的实体(用户、设备、手机号、银行卡、地址)和关系(共用、转账、担保、注册)组织成一张可查询的网状结构。在这张网上,衍生变量才真正有了生命力。
举个例子:过去判断一个用户风险,你只能看他的年龄、收入、历史逾期次数。现在你可以计算:这个用户的“一度关联设备”上有多少逾期用户?他的“二度关联银行卡”是否属于制裁名单?这些变量靠 SQL 在关系型数据库里几乎是噩梦,但放在图库里只需要几次跳转查询。
下面这个表格是我在项目里常用的对比维度,大家可以感受一下差距:
| 维度 | 传统规则/特征工程 | 图谱衍生变量 |
|---|---|---|
| 数据组织方式 | 宽表、特征列 | 节点 + 边(属性图) |
| 关联深度 | 最多关联 1~2 层(JOIN 成本高) | 可关联 5 层以上(图遍历高效) |
| 团伙识别能力 | 弱,只能发现显式共现 | 强,可挖掘社区结构、环路、星型子图 |
| 变量时效性 | 通常 T+1 批量计算 | 图库支持实时查询衍生 |
| 特征可解释性 | 好(单变量) | 较好(子图模式可解释) |
我曾经踩过一个坑:有次直接拿图库里的原始关系度(比如“该用户关联了 50 个设备”)做特征输入模型,结果线上效果比单变量还差。后来才意识到,图谱本身只是骨架,衍生变量才是肌肉。你需要基于图谱计算有业务含义的统计量——比如“该用户一度关联设备中逾期占比”、“该用户所在社区的平均逾期天数标准差”。这些才是模型真正需要的。
课程目标与学习路径
这门课不讲怎么搭图数据库,也不讲图算法原理。它只聚焦一件事:用 SQL 高效生成反欺诈图谱中的衍生变量。
你在课程里会学到:
- 如何从原始业务数据(用户表、交易表、设备表、关系表)中抽取出图谱所需的实体和边
- 如何用 SQL 实现一度关联(邻居)、二度关联、k 度关联特征的批量计算
- 如何基于图谱计算社区指标(Louvain 社区 ID、模块度、聚集系数),并转化为变量
- 如何设计增量更新逻辑,让衍生变量每日自动产出
- 完整的现金贷反欺诈实战案例——从数据清洗到 50+ 个图谱变量的落地
我个人建议你准备好一个图库(Neo4j 或 JanusGraph 都可以),因为纯 SQL 模拟图遍历在数据量超过千万级时性能会崩。不过课程前两章我们会在 MySQL 里用递归 CTE 模拟小型图谱,让你先理解概念。嗯,这算是我当年入门的笨办法,但特别管用。
说实话,图谱反欺诈不像纯规则那样立竿见影,但它带来的是 结构化、可复用、可推理的关系能力。这门课就是围绕“如何把图关系变成 SQL 能算的变量”展开的。后面的章节会一步步带你走通整条链路——从实体抽取到变量产出,每一步都有代码和实战坑的总结。准备好了吗?我们直接开干。