Bank Fraud Detection
Bank Fraud Detection
Bank Fraud Detection
ALGORITHM
Engineering by
SATHYABAMA
INSTITUTE OF SCIENCE AND TECHNOLOGY
(DEEMED TO BE UNIVERSITY)
Accredited with Grade “A” by NAAC
MARCH – 2022
i
SATHYABAMA
(DEEMED TO BE UNIVERSITY)
Accredited with ―A‖ grade by NAAC
Jeppiaar Nagar, Rajiv Gandhi Salai, Chennai - 600119
www.sathyabama.ac.in
DEPARTMENT OF COMPUTER
SCIENCEENGINEERINGBONAFIDE
CERTIFICATE
This is to certify that this Project Report is the bonafide work of Vanukuri
Guruprasad Reddy (38110186) and KalvaPranai Sai Reddy (38110226) who
carried out the project entitled ―Bank Fraud Detection using Machine Learning”
under my supervision from November 2021 to March2022.
Internal Guide
Dr. B. ANKAYARKANNI M.E., Ph.D.
InternalExaminer ExternalExaminer
ii
DECLARATION
DATE:
iii
ACKNOWLEDGEMENT
I wish to express my thanks to all Teaching and Non-teaching staff members of the
Department of Computer Science and Engineering who were helpful in many
ways for the completion of the project.
iv
ABSTRACT
The banking sector is a very important sector in our present day generation
where almost every human has to deal with the bank either physically or online.
In dealing with the banks, the customers and the banks face the chances of
been trapped by fraudsters. Examples of fraud include insurance fraud, credit
card fraud, accounting fraud, etc. Detection of fraudulent activity is thus critical
to control these costs. The most common types of bank fraud include debit
and credit card fraud, account fraud, insurance fraud, money laundering fraud,
etc. Bankers are obliged to safeguard their financial assets as well as
institutional integrity to armored the global financial system. Anti-fraud guard
systems are regularly circumvented by fraudsters' dodging techniques. This
paper hereby addresses bank fraud detection via the use of machine learning
techniques; association, clustering, forecasting, and classification to analyze
the customer data in order to identify the patterns that can lead to frauds. Upon
identification of the patterns, adding a higher level of verification/authentication
to banking processes can be added.
v
TABLE OF CONTENTS
vi
3.8 SYSTEM STUDY 29
3.7.3FEASIBILITYSTUDY 29
3.8.2. TECHNICAL FEASIBILITY 30
3.8.3. SOCIAL FEASIBILITY 30
4 RESULTS AND DISCUSSION 40
4.1. WORKING 40
5 CONCLUSION 41
5.1. CONCLUSION 41
REFERENCES 42
APPENDICES 43
A. SOURCE CODE 43
B. SCREENSHOTS 46
C. PLAGIARISM REPORT 50
vii
LIST OF FIGURES
viii
LIST OF ABBREVIATIONS
ABBREVIATIONS EXPANSION
ML Machine Learning
DT Decision Tree
TP True Positive
FP False Positive
TN True Negative
FN False Negative
ix
CHAPTER 1
INTRODUCTION.
1
OVERVIEW
Fraud detection is a set of activities undertaken to prevent money or
property from being obtained through false pretenses. Fraud detection is
applied to many industries such as banking or insurance. In banking,
fraud may include forging checks or using stolen credit cards.
2
MACHINELEARNING
3
SUPERVISED LEARNING
4
UNATTENDED LEARNING
5
MACHINE LEARNINGCLASSIFICATION
MACHINE LEARNINGTASK
6
CHAPTER 2
LITERATURE SURVEY
Fraud detection has been usually seen as a data mining problem where the
objective is to correctly classify the transactions as legitimate or fraudulent. For
classification problems many performance measures are defined most of which
are related with correct number of cases classified correctly.
8
objectives of the bank. Finally, we assess the use of credit scoring models in the
context of transactional versus relationship lending.
Credit scoring is the term used to describe formal statistical methods used for
classifying applicants for credit into ‗good‘ and ‗bad‘ risk classes. Such methods
have become increasingly important with the dramatic growth in consumer credit
in recent years. A wide range of statistical methods has been applied, though the
literature available to the public is limited for reasons of commercial confidentiality.
Particular problems arising in the credit scoring context are examined and the
statistical methods which have been applied are reviewed.
The purpose of the present paper is to explore the ability of neural networks such
as multilayer perceptron‘s and modular neural networks, and traditional
techniques such as linear discriminant analysis and logistic regression, in building
credit scoring models in the credit union environment. Also, since funding and
small sample size often preclude the use of customized credit scoring models at
small credit unions, we investigate the performance of generic models and
compare them with customized models. Our results indicate that customized
neural networks offer a very promising avenue if the measure of performance is
percentage of badloans correctly classified. However, if the measure of
performance is percentage of good and bad loans correctly classified, logistic
regression models are comparable to the neural networks approach. The
performance of generic models was not as good as the customized models,
particularly when it came to correctly classifying bad loans. Although we found
9
significant differences in the results for the three credit unions, our modular neural
network could not accommodate these differences, indicating that more innovative
architectures might be necessary for building effective generic models.
The paper reviews the best-developed and most frequently applied methods of
credit scoring employed by commercial banks when evaluating loan applications.
The authors concentrate on retail loans – applied research in this segment is
limited, though there has been a sharp increase in the volume of loans to retail
clients in recent years. Logit analysis is identified as the most frequent credit-
scoring method used by banks. However, other nonparametric methods are
widespread in terms of pattern recognition. The methods reviewed have potential
for application in post-transition countries.
Credit scoring and behavioural scoring are the techniques that help organisations
decide whether to grant credit to consumers who apply to them. This article
surveys the techniques used — both statistical and operational research based —
to support these decisions. It also discusses the need to incorporate economic
conditions into the scoring systems and the way the systems could change from
estimating the probability of a consumer defaulting to estimating the profit a
consumer will bring to the lending organisation — two of the major developments
being attempted in the area. It points out how successful has been this under-
rights reserved.
10
CHAPTER 3
METHODOLOGY
EXISTING SYSTEM
• In case of bank fraud detection, the existing system is detecting the fraud
after fraud has been happen. Existing system maintain the large amount of
data when customer comes to know about inconsistency in transaction,
he/she made complaint and then fraud detection system start it working. It
first tries to detect that fraud has actually occur after that it transactions that
was used to fraud detection mechanism developed by master and visa
cards
• A machine learning paradigm classification, with Bank Fraud Detection
being the base.
• Intrusion detections to track fraud location and so on. In case of existing
system there is no confirmation of recovery of fraud and Customer
satisfaction.
• Secure electronic system used to analyze the behavior of legitimate users.
• Data Mining mechanisms to classify and preprocess the user‘s data.
• Genetic algorithms.
• Each payment system has its limits regarding the maximum amount in the
account, the number of transactions per day and the amount of output.
• If Internet connection fails, you cannot get to your online account.
• If you follow the security rules the threat is minimal. The worse situation
when the system of processing company has been broken because it leads
to the leak of personal data on cards and its owners.
• The information about all the transactions, including the amount, time and
recipient are stored in the database of the payment system. And it means
the intelligence agency has access to this information. Sometimes this is the
path for fraudulent activities.
11
PROPOSED SYSTEM
Libraries:
13
Numpy- Library of python used for arrays computation. It has so
anyone free of cost. It is used for data analysis. We have used this
for getting the report of thedataset.
PROGRAMMINGLANGUAGES
JAVA
APPLICATION OF JAVA
Java is widely used in every corner of world and of human life. Java is not
only used in software but is also widely used in designing hardware controlling
software components. There are more than 930 million JRE downloads each year
and 3 billion mobile phones run java.
14
FEATURES OF JAVA
The prime reason behind creation of Java was to bring portability and
security feature into a computer language. Beside these two major features, there
were many other features that played an important role in moulding out the final
form of this outstanding language. Those features are
1) Simple
Java is easy to learn, and its syntax is quite simple, clean and easy to
understand. The confusing and ambiguous concepts of C++ are either left out in
Java or they have been re-implemented in a cleaner way.
Eg: Pointers and Operator Overloading are not there in java but were an important
part of C++.
2) Object Oriented
In java everything is Object which has some data and behaviour. Java can
be easily extended as it is based on Object Model.
3) Robust
4) Platform Independent
Unlike other programming languages such as C, C++ etc. which are
compiled into platform specific machines. Java is guaranteed to be write-once,
run-anywhere language.
15
On compilation Java program is compiled into byte code. This byte code is
platform independent and can be run on any machine, plus this byte code format
also provide security. Any machine with Java Runtime Environment can run Java
Programs.
5) Secure
When it comes to security, Java is always the first choice. With java secure
features it enable us to develop virus free, temper free system. Java program
always runs in Java runtime environment with almost null interaction with system
OS, hence it is more secure.
6) Multi-Threading
7) Architectural Neutral
COLLECTION FRAMEWORK
Collection framework was not part of original Java release. Collections was added
to J2SE 1.2. Prior to Java 2, Java provided adhoc classes such as Dictionary,
Vector, Stack and Properties to store and manipulate groups of objects. Collection
framework provides many important classes and interfaces to collect and organize
17
MYSQL
MySQL, officially, but also called "My Sequel" is the world's most widely
used open-source relational database management system (RDBMS) that runs as
a server providing multi-user access to several databases, though SQLite
probably has more total embedded deployments. The SQL phrase stands for
Structured Query Language.
The MySQL development project has made its source code available under
the terms of the GNU General Public License, as well as under a variety of
proprietary agreements. MySQL was owned and sponsored by a single for-profit
firm, the Swedish company MySQL AB, now owned by Oracle Corporation.
MySQL is a popular choice of database for use in web applications and is a
central component of the widely used LAMP open source web application
software stack (and other 'AMP' stacks).
LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free
software-open-source projects that require a full-featured database management
system often use MySQL.
For commercial use, several paid editions are available, and offer additional
functionality. Applications which use MySQL databases include: TYPO3, MODx,
Joomla, WordPress, phpBB, MyBB, Drupal and other software. MySQL is also
used in many high-profile, large-scale websites, including Wikipedia, Google
(though not for searches), Facebook, Twitter, Flicker and YouTube.
18
HOW TO INSTALL ECLIPSE IDE FOR JAVA
The Eclipse IDE for Java is designed for standard Java development. It contains
typically required packages like support for Maven and Gradle. It also supports Git
version controlling system. You can download this IDE from the official Eclipse
website.
BASIC CONCEPTS
Workspace: This is at a physical location of file path where you store certain
meta data of development artefacts. Projects, source files, images, and
other artefacts are stored either inside or outside of your workspace.
Views and editors: Eclipse offers views and editors to navigate and change
content. A view is used to work on a set of data, which is in a hierarchical
structure. If data is changed via view, the underlying data is directly
changed.
Eclipse project: This is an open source, configuration and binary file that is
related to a certain task. Eclipse project groups these files into a buildable
and reusable unit. These projects can have natures assigned to it which
describes the purpose of this project.
STEPS TO INSTALL
1. You need to install the Java Development Kit (JDK) to setup the environment
for Java programming.
2. Download the latest version of Eclipse from the official Eclipse website. You
can find the latest version under 'Get Eclipse IDE 2018-12'.
3. To install the Eclipse, simply unzip the downloaded file and execute the
installable package.
19
Apache Maven is one such importance build automation tool used in various Java
projects. Maven is one of the most powerful project management tools based on
POM (project object model) as it makes it easier to build processes like ANT and
used by Java developers to make day-to-day work easier.
The development of Maven tool started to simplify the build processes in the
Jakarta Turbine project. The tool can be used for building and managing any Java
project. While it is known for simplifying ANT processes, it has more advanced
capabilities than just ANT, a Java library and command-line tool.
1. Check if your system has Java installed. If not, then install the latest version of
Java Environment.
2. You need to ensure that Java Environmental variable is set.
3. Download Maven from the official website of Apache Maven.
4. Create the bin directory of the created apache-maven-3.5.3 directory to the
PATH environment variable and system variable.
5. Open cmd and run mvn -v command and the installation will get completed.
20
Fig 3.1 System Architecture
MODULES USED
Classification
Clustering
Association Rule
Fraud Detection
MODULE DESCRIPTION
CLASSIFICATION
Classification is the most applied data mining technique, which employs a set of
pre-classified examples to develop a model that can classify the population of
records at large. Fraud detection and credit risk applications are particularly well
suited to this type of analysis. The data classification process involves learning
and classification.
21
CLUSTERING
In the process of clustering, all the different bank transactions are grouped
together into one cluster. We can say that the approach of pre-processing for
classification and attribute set choice is used in clustering.
ASSOCIATION RULE
The central task of association rule mining is to find sets of binary variables that
co-occur together frequently in a transaction database, while the goal of feature
selection problem is to identify groups that are strongly correlated with each other
with a specific target variable.
FRAUD DETECTION
Another popular area where data mining can be used in the banking industry is in
fraud detection. Being able to detect fraudulent actions is an increasing concern
for many businesses; and with the help of data mining more fraudulent actions are
being detected and reported.
REQUIREMENT ANALYSIS
Requirement analysis, also called requirement engineering, is the process of
determining user expectations for a new modified product. It encompasses the
tasks that determine the need for analyzing, documenting, validating, and
managing software or system requirements. The requirements should be
documentable, actionable, measurable, testable, and traceable related to
identified business needs or opportunities and define to a level of detail, sufficient
for system design.
22
Decision Trees for Classification: A Machine Learning Algorithm
Introduction
Decision Trees are a type of Supervised Machine Learning (that is you explain
what the input is and what the corresponding output is in the training data) where
the data is continuously split according to a certain parameter. The tree can be
explained by two entities, namely decision nodes and leaves. The leaves are the
decisions or the final outcomes. And the decision nodes are where the data is
split.
An example of a decision tree can be explained using above binary tree. Let‘s say
you want to predict whether a person is fit given their information like age, eating
habit, and physical activity, etc. The decision nodes here are questions like
‗What‘s the age?‘, ‗Does he exercise?‘, ‗Does he eat a lot of pizzas‘? And the
leaves, which are outcomes like either ‗fit‘, or ‗unfit‘. In this case this was a binary
classification problem (a yes no type problem).
There are two main types of Decision Trees:
What we‘ve seen above is an example of classification tree, where the outcome
was a variable like ‗fit‘ or ‗unfit‘. Here the decision variable is Categorical.
23
Regression trees (Continuous data types)
Here the decision or the outcome variable is Continuous, e.g. a number like 123.
Working
Now that we know what a Decision Tree is, we‘ll see how it works internally.
There are many algorithms out there which construct Decision Trees, but one of
the best is called as ID3 Algorithm. ID3 Stands for Iterative Dichotomiser3.
24
FUNCTIONAL REQUIREMENTS
It is a technical specification requirement for the software products. It is the
first step in the requirement analysis process which lists the requirements of
software systems including functional, performance and security requirements.
The function of the system depends mainly on the quality hardware used to run
the software with given functionality.
Usability
It specifies how easy the system must be use. It is easy to ask queries in
any format which is short or long, porter stemming algorithm stimulates the
desired response for user.
Robustness
It refers to a program that performs well not only under ordinary conditions
but also under unusual conditions. It is the ability of the user to cope with errors
for irrelevant queries during execution.
Security
The state of providing protected access to resource is security. The system
provides good security and unauthorized users cannot access the system there
by providing high security.
Reliability
It is the probability of how often the software fails. The measurement is often
expressed in MTBF (Mean Time Between Failures). The requirement is needed to
ensure that the processes work correctly and completely without being aborted. It
can handle any load and survive and survive and even capable of working around
any failure.
25
Compatibility
It is supported by version above all web browsers. Using any web servers
like localhost makes the system real-time experience.
Flexibility
The flexibility of the project is provided in such a way that can run on
different environments being executed by different users.
Safety
Safety is a measure taken to prevent trouble. Every query is processed in a
secured manner without letting others to know one‘s personal information.
Portability
It is the usability of the same software in different environments. The project can
be run in any operating system.
Performance
These requirements determine the resources required, time interval, throughput
and everything that deals with the performance of the system.
Accuracy
The result of the requesting query is very accurate and high speed of retrieving
information. The degree of security provided by the system is high and effective.
26
Maintainability
Project is simple as further updates can be easily done without affecting its
stability. Maintainability basically defines that how easy it is to maintain the
system. It means that how easy it is to maintain the system, analyze, change, and
test the application. Maintainability of this project is simple as further updates can
be easily done without affecting its stability.
27
OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are
communicated to the users and to other system through outputs. In output design
it is determined how the information is to be displaced for immediate need and
also the hard copy output. It is the most important and direct source information to
the user. Efficient and intelligent output design improves the system‘s relationship
to help user decision-making.
The output form of an information system should accomplish one or more of the
following objectives.
Convey information about past activities, current status or projections of the
Future.
Signal important events, opportunities, problems, or warnings.
Trigger an action.
Confirm an action.
28
SYSTEM STUDY
FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates.
During system analysis the feasibility study of the proposed system is to be
carried out. This is to ensure that the proposed system is not a burden to the
company. For feasibility analysis, some understanding of the major
requirements for the system is essential.
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into the
research and development of the system is limited. The expenditures must be
justified. Thus, the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the
customized products had to be purchased.
29
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a
high demand on the available technical resources. This will lead to high demands
on the available technical resources. This will lead to high demands being placed
on the client. The developed system must have a modest requirement, as only
minimal or null changes are required for implementing this system.
SOCIAL FEASIBILITY
31
DFD-1
32
DFD-2
33
DFD-3
34
SYSTEM TESTING
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is the
testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing, that
relies on knowledge of its construction and is invasive. Unit tests perform basic
tests at component level and test a specific business process, application, and/or
system configuration. Unit tests ensure that each unique path of a business
process performs accurately to the documented specifications and contains
clearly defined inputs and expected results.
35
Integration testing
Functional test
36
System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration-oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-
driven process links and integration points.
Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit
testing to be conducted as two distinct phases.
37
Test strategy and approach
Field testing will be performed manually, and functional tests will be written
in detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
38
6.3 Acceptance Testing
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
39
CHAPTER 4
Hence, we use Machine Learning for detecting fraud. Here, a machine tries to
learn by itself and becomes better by experience. Also, it is an efficient way of
detecting fraud because of its fast computing. It does not even require the
guidance of a fraud analyst. It helps in reducing false positives for transactions
as the patterns are detected by an automated system for streaming transactions
that are in huge volume.
Algorithm Accuracy
40
CHAPTER 5
CONCLUSION
CONCLUSION
41
REFERENCES
[1] S. M. Darwish, "An intelligent credit card fraud detection approach based on
semantic fusion of two classifiers," (in English), Soft Computing, Article vol. 24,
no. 2, pp. 1243-1253, Jan 2020.
[2] A. Eshghi and M. Kargari, "Introducing a new method for the fusion of fraud
evidence in banking transactions with regards to uncertainty," (in English), Expert
Systems with Applications, Article vol. 121, pp. 382-392, May 2019.
[3] S. Hossain, A. Abtahee, I. Kashem, M. M. Hoque, and I. H. Sarker, "Crime
Prediction Using Spatio-Temporal Data," in Computing Science, Communication
and Security, Singapore, 2020, pp. 277-289: Springer Singapore.
[4] M. Zamini and S. M. H. Hasheminejad, "A comprehensive survey of anomaly
detection in banking, wireless sensor networks, social networks, and healthcare,"
(in English), Intelligent Decision Technologies-Netherlands, Article vol. 13, no. 2,
pp. 229-270, 2019.
[5] I. Gonzalez-Carrasco, J. L. Jimenez-Marquez, J. L. Lopez-Cuadrado, and B.
Ruiz-Mezcua, "Automatic detection of relationships between banking operations
using machine learning," (in English), Information Sciences, Article vol. 485, pp.
319-346, Jun 2019.
[6] M. Pohoretskyi, D. Serhieieva, and Z. Toporetska, "The proof of the event of a
financial resources fraud in the banking sector: problematic issues," (in English),
Financial and Credit Activity-Problems of Theory and Practice, Article vol. 1, no.
28, pp. 36-45, 2019.
[7] K. Noor et al., "Performance analysis of a surveillance system to detect and
track vehicles using Haar cascaded classifiers and optical flow method," 2017
12th IEEE Conference on Industrial Electronics and Applications (ICIEA), Siem
Reap, 2017, pp. 258-263.
42
APPENDICES
A) SOURCE CODE
APPLICATION.JAVA
package com.example.application;
import java.time.LocalDate;
import java.util.Arrays;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import com.example.application.data.entity.LoanRequest;
import com.example.application.data.entity.LoanStatus;
import com.example.application.data.entity.Person;
import com.example.application.data.entity.Role;
import com.example.application.data.entity.User;
import com.example.application.data.service.LoanRequestRepository;
import com.example.application.data.service.PersonRepository;
import com.example.application.data.service.UserRepository;
/**
* The entry point of the Spring Boot application.
*/
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Bean
public CommandLineRunnerrun(UserRepositoryuserRepository,
LoanRequestRepositoryloanRequestRepository,
PersonRepositorypersonRepository) {
return args -> {
if(personRepository.count() == 0) {
personRepository.saveAll(Arrays.asList(
Person.builder()
.aadharId("123412341234")
.dateOfBirth(LocalDate.of(1996, 8, 22))
.email("[email protected]")
.firstName("Father First name")
43
.lastName("Father Last name")
.wifeOrHusbandId(2)
.build(),
Person.builder()
.aadharId("123412341235")
.dateOfBirth(LocalDate.of(1995, 7, 2))
.email("[email protected]")
.firstName("Mother First name")
.lastName("Mother Last name")
.wifeOrHusbandId(1)
.build(),
Person.builder()
.aadharId("123412341236")
.dateOfBirth(LocalDate.of(2020, 1, 4))
.email("[email protected]")
.firstName("Son First name")
.lastName("Son Last name")
.wifeOrHusbandId(4)
.fatherId(1)
.motherId(2)
.build(),
Person.builder()
.aadharId("123412341237")
.dateOfBirth(LocalDate.of(2021, 1, 4))
.email("[email protected]")
.firstName("Wife First name")
.lastName("Wife Last name")
.wifeOrHusbandId(3)
.build()
));
}
if(loanRequestRepository.count() == 0) {
loanRequestRepository.saveAll(Arrays.asList(
LoanRequest.builder()
.aadharId("123412341236")
.amount(12345)
.status(LoanStatus.SUBMITTED)
.build(),
LoanRequest.builder()
.aadharId("123412341234")
44
.amount(12345)
.status(LoanStatus.LOAN_FRAUD)
.build()
));
}
if(userRepository.count() == 0) {
userRepository.saveAll(
Arrays.asList(
User.builder()
.role(Role.LOAN_APPROVER)
.username("loan")
.password("loan123")
.build()
)
);
}
};
}
}
45
B) SCREENSHOTS
46
Fig B.2 Aadhar Details
47
Fig B.3 Fraud detection
48
Fig B.5 Person Details
49
C) PLAGIARISMREPORT
50
51