Giter VIP home page Giter VIP logo

flowscope's Introduction

FlowScope

Implementation code of the algorithm described in FlowScope: Spotting Money Laundering Based on Graphs. and thanks for the contribution of the coworkers , i.e. , Shenghua Liu and Zifeng Li.

FlowScope: Spotting Money Laundering Based on Graphs

FlowScope is developped for ML detection based on multipartite graph, which models the high-volume flows of funds through chains of bank accounts, and detects the complete flow of money from source to destination.

Abstract

Given a graph of the money transfers between accounts of a bank, how can we detect money laundering? Money laundering refers to criminals using the bank's services to move massive amounts of illegal money to untraceable destination accounts, in order to inject their illegal money into the legitimate financial system. Existing graph fraud detection approaches focus on dense subgraph detection, without considering the fact that money laundering involves high-volume flows of funds through chains of bank accounts, thereby decreasing their detection accuracy. Instead, we propose to model the transactions using a multipartite graph, and detect the complete flow of money from source to destination using a scalable algorithm, FlowScope. Theoretical analysis shows that FlowScope provides guarantees in terms of the amount of money that fraudsters can transfer without being detected. FlowScope outperforms state-of-the-art baselines in accurately detecting the accounts involved in money laundering, in both injected and real-world data settings.

Run in command line

Code in FlowScope-AMC:

        designed for detecting money laundering with one middle layer M

Code in FlowScope-AM1M2C:

        designed for detecting money laundering with two middle layers M1 and M2.  

for usage:

        python2  FS.py  input_dir output_dir  block_num 

parameter specifications:

        input_dir:  the path to input data; 
        output_dir: the path to output result;
        block_num:  numbers of suspicious transactions you want to detect;

input data: decribe the transaction between two adjacent layer, which should be named as fs1.csv, fs2.csv ... fsn.csv .

        fs1.csv: describes the transactions between source layer and the first middle layer. 
        ...
        fsi.csv: describes the transactions between current i-th layer and the next layer. 
        ...
        fsn.csv: describes the transactions between last middle layer and the destination layer.  

ouput result: the most suspicous accouts in each layer.

        rown.csv: the source  account of the n-th suspicious transactions;
        coln.csv: the destination  account of the n-th suspicious transactions;
        midk_n. csv: the middle account in k-th middle layer of the n-th suspicious transactions;

The results

Cite:

@inproceedings{li2020flowscope,
  title        = {FlowScope: Spotting Money Laundering Based on  Graphs },
  author       = {Xiangfeng Li, Shenghua Liu, Zifeng Li, Xiaotian Han, Chuan Shi , Bryan Hooi, He Huang, Xueqi Cheng},
  booktitle    = {in Proceedings of the AAAI Conference on Artificial Intelligence},
  year         = {2020},
  organization = {AAAI}
}

flowscope's People

Contributors

aplaceofgmail avatar shenghua-liu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.