Payment Fraud

Introduction

This use case demonstrates a simple version of fraud detection, in the context of payment processing (e.g PayTM, Mobikwik). We receive a large set of transactions from the organization, and need to detect fraudulent transactions among them.

Video Walkthrough

Problem Description

(In this context, organization handles the payment processing. e.g.: PayTM)

  • Payment fraud impacts the bottom line of the organization
  • Payment fraud impacts the reputation of the organization. Hence, other stakeholders such as consumer, merchant, investor will be hesitant to interact with the organization

How is payment fraud committed?

  • Most common approaches: Use stolen cards or account take over (hacking password)
  • Other approaches: Stolen identity: Acquire financial resources (cards) after stealing one’s identity.

Data schema

The following table describes the attributes used to train this model.

#ColumnTypeDescription
1ididID column
2deviceCategoricalType of device used
3osCategoricalOperating system
4channelCategoricalOperating system
5verticalCategoricalMerchanise category (e.g. travel, electronics)
6cust_past_txn_hour_01ContinuousIndicates whether the customer has transacted at this time (current transaction before)
7dom_travelContinuousNumber of domestic travels by the customer in the past 12 months
8intl_travelContinuousNumber of international travels by the customer in the past 12 months
9ip_matchCategoricalMatch between location from IP address, and location specified by the customer
10latency_timeContinuousTime needed the signal to travel from company server to customer device and back (Useful to identify usage of VPN)
11avg_amt_verticalContinuousAvg amount for transactions (all customers) for the vertical (in the current transaction) in the recent past
12max_amt_verticalContinuousMax amount for transactions (all customers) for the vertical (in the current transaction) in the recent past
13email_domainCategoricalType of email domain (com, edu, etc.)
14avg_amt_6mContinuousAvg transaction amount for the current customer in past 6 months
15avg_amt_1mContinuousAvg transaction amount for the current customer in past 1 months
16ip3_fraud_rateContinuousFraud rate (%) for given IP
17amountContinuousIndicates whether the customer has transacted at this time (current transaction before)”

How to setup in platform

This is available as a sample project in Razorthink AI. Follow the steps below to run inference on this model:

  1. Sample inference file payment-fraud-inference.csv is available in Community Space section of the Workspace. Copy this file to My Space by clicking on the copy-to-my-space button on the right. This file has the same attributes as described above.
  2. Open the sample project named PAYMENT FRAUD and run the pipeline named: Inference Pipeline.
  3. The result of this inference will be saved in My Space in a file named payment-fraud-result.csv with a column named fraud_predicted.
  4. You can run inference with your own data (ensure that all the attributes listed above are present) by uploading your CSV file to My Space and updating fileName attribute of DataSource and DataTarget in the run parameters of Inference Pipeline. You can change the run parameters in the screen prompted when you click on the run icon of the pipeline.