GraphGists

信用卡欺诈检测

这个交互式 Neo4j 图形教程涵盖了一个常见的信用卡欺诈检测场景。

问题介绍

银行、商户和信用卡处理公司每年因信用卡欺诈损失数十亿美元。犯罪分子可以使用多种方法窃取信用卡数据。可以将支持蓝牙的数据盗刷设备放在加油机上的读卡器上。数据可能会被黑客通过大规模入侵大型零售商的方式窃取,近几年 Target 和 Home Depot 就是这种情况。有时犯罪分子只是杂货店或餐厅结账处的店员,他们会将受害者的银行卡在小型设备上刷过,或偷偷记下信息。


典型场景

2013年12月,宾夕法尼亚州阿宾顿市警方逮捕了两名邮局员工,他们涉嫌窃取信用卡信息并用其购买了价值超过50,000美元的商品。他们的作案手法非常典型;以下是他们的操作方式:

  • 邮局职员在处理交易时复制了一些顾客的信用卡信息;

  • 然后他们找到了这些顾客的家庭住址;

  • 使用信用卡号码,他们会在网上订购商品或礼品卡,并送货到受害者的家庭住址;

  • 收到网上订购的商品后,同伙会在该地址等待拦截送货;

这对搭档在一名邮局顾客报告有人试图在他家拦截包裹后不久被捕,但在此之前,他们已经用非法获取的信息购买了圣诞礼物并度假了。


解决方案说明

图数据库可以帮助更快地找到信用卡盗贼。通过将交易表示为图,我们可以找出欺诈案件中的共同点,并找到骗局的源头。

信用卡欺诈图数据模型

一系列信用卡交易可以表示为一个图。每笔交易涉及两个节点:一个人(顾客)和一个商户。节点通过交易本身连接。交易有日期和状态。

合法交易的状态为“Undisputed”(无争议)。欺诈交易的状态为“Disputed”(有争议)。

下面的图数据模型表示数据作为图的样子。

Credit Card Fraud
图1. 信用卡欺诈

示例数据集

识别欺诈交易

我们收集所有欺诈交易。

MATCH (victim:Person)-[r:HAS_BOUGHT_AT]->(merchant)
WHERE r.status = "Disputed"
RETURN victim.name AS `Customer Name`, merchant.name AS `Store Name`, r.amount AS Amount, r.time AS `Transaction Time`
ORDER BY `Transaction Time` DESC

确定欺诈的源头

现在我们知道哪些顾客和哪些商户参与了我们的欺诈案件。但我们正在寻找的罪犯在哪里?这里能帮助我们的是每笔欺诈交易的交易日期。

我们正在寻找的罪犯参与了一笔合法交易,在此期间他获取了受害者的信用卡号码。之后,他可以执行非法交易。这意味着我们不仅需要非法交易,还需要窃取发生之前的交易。

MATCH (victim:Person)-[r:HAS_BOUGHT_AT]->(merchant)
WHERE r.status = "Disputed"
MATCH (victim)-[t:HAS_BOUGHT_AT]->(othermerchants)
WHERE t.status = "Undisputed" AND t.time < r.time
WITH victim, othermerchants, t ORDER BY t.time DESC
RETURN victim.name AS `Customer Name`, othermerchants.name AS `Store Name`, t.amount AS Amount, t.time AS `Transaction Time`
ORDER BY `Transaction Time` DESC

锁定罪犯

现在我们要找到共同点。在所有这些看似无害的交易中是否存在一个共同的商户?我们只需要调整 Cypher 查询,根据每个商户出现的次数来整理之前的结果。

MATCH (victim:Person)-[r:HAS_BOUGHT_AT]->(merchant)
WHERE r.status = "Disputed"
MATCH (victim)-[t:HAS_BOUGHT_AT]->(othermerchants)
WHERE t.status = "Undisputed" AND t.time < r.time
WITH victim, othermerchants, t ORDER BY t.time DESC
RETURN DISTINCT othermerchants.name AS `Suspicious Store`, count(DISTINCT t) AS Count, collect(DISTINCT victim.name) AS Victims
ORDER BY Count DESC
Where is the thief?
图2. 盗贼在哪里?

在每起欺诈交易中,持卡人在事发前几天都曾去过沃尔玛 (Walmart)。我们现在知道了顾客信用卡号码被盗的位置和日期。借助 Linkurious 这样的图形可视化解决方案,我们可以检查数据以确认我们的直觉。现在我们可以将情况通报给当局和商户。他们应该有足够的信息来处理后续事宜!

有关更多与图相关的用例,请务必查看 Linkurious 的博客:https://linkurio.us/blog

© . All rights reserved.