1. Home
  2. Docs
  3. BangDB 2.0 Use Cases
  4. Fraud detection
  5. 2. Insurance Fraud:- Whiplash For Cash Fraud

On this page

2. Insurance Fraud:- Whiplash For Cash Fraud

An increase in “crash for cash” cases is driving up the total cost of insurance fraud. In particular, so-called crash
for cash scams, in which fraudsters deliberately cause motor accidents in order to make false whiplash claims, have
contributed to the increase.

The problem with schemes like whiplash for cash is that it targets the insurance companies’ weaknesses. Faced with
thousands of claims they have a hard time finding suspicious behavior in the data they process. Luckily, like with
stolen credit cards or loan fraud, whiplash for cash criminals can be identified with graph technologies.

2.1 Scenario

In a typical hard fraud scenario, rings of fraudsters work together to stage fake accidents and claim soft tissue
injuries. These fake accidents never really happen. They are “paper collisions”, complete with fake drivers, fake
passengers, fake pedestrians and even fake witnesses.

Such rings normally include a number of roles.

a. Providers. Collusions typically involve participation from professionals in several categories: Doctors or Lawyers

b. Drivers

c. Passengers

d. Witnesses

Fraudsters often create and manage rings by “recycling” participants so as to stage many accidents. Thus one accident
may have a particular person playing the role of the driver. In another accident the same person may be a passenger or a
pedestrian, and in another a witness. Clever usage of roles can generate a large number of costly fake accidents, even
with a small number of participants.

2.2 Solution

We can model the data the insurance company has about its accidents as a graph and then find fraud rings with graph
queries.

Graph Structure:

The graph data model below represents how the data is linked, and illustrates how one can find rings by simply walking
the graph.

The graph data model represents how the data is linked

2.3 Steps to Implement

Step 1. Sample Data:

Creating graph data from CLI

CREATE (Person:UdoHalstein {"first_name":"Udo", "last_name":"Halstein"})

CREATE (Person:RobrechtMiloslav {"first_name":"Robrecht",
"last_name":"Miloslav"})

CREATE (Person:MonroeMaksymilian {"first_name":"Monroe",
"last_name":"Maksymilian"})

CREATE (Person:SkylerGavril {"first_name":"Skyler","last_name":"Gavril"})

CREATE (Person:EuantheRossana {"first_name":"Euanthe","last_name":"Rossana"})

CREATE (Person:JasmineRhea {"first_name":"Jasmine","last_name":"Rhea"})

CREATE (Person:SousannaPinar {"first_name":"Sousanna","last_name":"Pinar"})

CREATE (Person:ChelleJessie {"first_name":"Chelle", "last_name":"Jessie"})

CREATE (Car:Ford_Focus {"constructor":"Ford", "model":"Focus"})

CREATE (Car:Toyota_Corolla {"constructor":"Toyota", "model":"Corolla"})

CREATE (Car:Kia_Rio {"constructor":"Kia", "model":"Rio"})

CREATE (Car:Hyundai_Elantra {"constructor":"Hyundai", "model":"Elantra"})

CREATE (Car:Ford_Fiesta {"constructor":"Ford", "model":"Fiesta"})

CREATE (Car:Renault_Clio {"constructor":"Renault", "model":"Clio"})

CREATE (Accident:123 {"date":"19/05/2014","location":"New Jersey"})

CREATE (Accident:234 {"date":"23/05/2014","location":"Florida"})

CREATE (Accident:345 {"date":"27/05/2014","location":"Florida"})

CREATE (Car:Ford_Focus)-[IS_INVOLVED {"claim_total":"4817"}]->(Accident:123)

CREATE (Car:Toyota_Corolla)-[IS_INVOLVED {"claim_total":"4693"}]->(Accident:123)

CREATE (Car:Kia_Rio)-[IS_INVOLVED {"claim_total":"4157"}]->(Accident:234)

CREATE (Car:Hyundai_Elantra)-[IS_INVOLVED {"claim_total":"4001"}]->(Accident:234)

CREATE (Car:Ford_Focus)-[IS_INVOLVED {"claim_total":"4513"}]->(Accident:345)

CREATE (Car:Renault_Clio)-[IS_INVOLVED {"claim_total":"4307"}]->(Accident:345)

CREATE (Person:UdoHalstein)-[DRIVER
{"claim_total":"19068","info":"Driver"}]->(Car:Ford_Focus)

CREATE (Person:UdoHalstein)-[PASSENGER
{"claim_total":"19447","info":"Passenger"}]->(Car:Kia_Rio)

CREATE (Person:UdoHalstein)-[PASSENGER
{"claim_total":"19346","info":"Passenger"}]->(Car:Ford_Fiesta)

CREATE (Person:RobrechtMiloslav)-[DRIVER
{"claim_total":"19359","info":"Driver"}]->(Car:Toyota_Corolla)

CREATE (Person:RobrechtMiloslav)-[PASSENGER
{"claim_total":"19658","info":"Passenger"}]->(Car:Hyundai_Elantra)

CREATE (Person:RobrechtMiloslav)-[PASSENGER
{"claim_total":"19282","info":"Passenger"}]->(Car:Renault_Clio)

CREATE (Person:MonroeMaksymilian)-[DRIVER
{"claim_total":"19425","info":"Driver"}]->(Car:Kia_Rio)

CREATE (Person:MonroeMaksymilian)-[PASSENGER
{"claim_total":"19535","info":"Passenger"}]->(Car:Ford_Focus)

CREATE (Person:MonroeMaksymilian)-[PASSENGER
{"claim_total":"19779","info":"Passenger"}]->(Car:Renault_Clio)

CREATE (Person:SkylerGavril)-[DRIVER
{"claim_total":"19010","info":"Driver"}]->(Car:Hyundai_Elantra)

CREATE (Person:SkylerGavril)-[PASSENGER
{"claim_total":"19423","info":"Passenger"}]->(Car:Ford_Fiesta)

CREATE (Person:SkylerGavril)-[PASSENGER
{"claim_total":"19971","info":"Passenger"}]->(Car:Toyota_Corolla)

CREATE (Person:EuantheRossana)-[DRIVER
{"claim_total":"19940","info":"Driver"}]->(Car:Ford_Fiesta)

CREATE (Person:EuantheRossana)-[PASSENGER
{"claim_total":"19474","info":"Passenger"}]->(Car:Hyundai_Elantra)

CREATE (Person:EuantheRossana)-[PASSENGER
{"claim_total":"19762","info":"Passenger"}]->(Car:Ford_Focus)

CREATE (Person:JasmineRhea)-[DRIVER
{"claim_total":"19558","info":"Driver"}]->(Car:Renault_Clio)

CREATE (Person:JasmineRhea)-[PASSENGER
{"claim_total":"19224","info":"Passenger"}]->(Car:Toyota_Corolla)

CREATE (Person:JasmineRhea)-[PASSENGER
{"claim_total":"19520","info":"Passenger"}]->(Car:Kia_Rio)

CREATE (Person:SousannaPinar)-[IS_DOCTOR {"info":"Doctor"}]->(Person:UdoHalstein)

CREATE (Person:SousannaPinar)-[IS_DOCTOR {"info":"Doctor"}]->(Person:MonroeMaksymilian)

CREATE (Person:SousannaPinar)-[IS_DOCTOR {"info":"Doctor"}]->(Person:EuantheRossana)

CREATE (Person:ChelleJessie)-[IS_LAWYER {"info":"Lawyer"}]->((Person:RobrechtMiloslav)

CREATE (Person:ChelleJessie)-[IS_LAWYER {"info":"Lawyer"}]->((Person:MonroeMaksymilian)

CREATE (Person:ChelleJessie)-[IS_LAWYER {"info":"Lawyer"}]->((Person:SkylerGavril)

CREATE (Person:ChelleJessie)-[IS_LAWYER {"info":"Lawyer"}]->((Person:EuantheRossana)

Step 2. Performing Graph Queries

Let’s start with a simple example.
1. CHECKING NUMBER OF ACCIDENTS A PERSON IS INVOLVED IN

S1=>(@p Person:*)-[@r *]->(@c Car:*);RETURN p.name AS Person, COUNT(*) AS AccidentInvolvedIn

2. CHECKING PASSENGERS INVOLVED IN A ACCIDENT

S1=>(@p Person:*)-[@r PASSENGER]->(@c Car:*)-[@f IS_INVOLVED]->(@a Accident:*);RETURN p.name AS PersonName, c.name AS CarModel, a.location AS Location, r.info AS label, a.name AS AccidentID

3. CHECKING DRIVER INVOLVED IN A ACCIDENT

S1=>(@p Person:*)-[@r DRIVER]->(@c Car:*)-[@f IS_INVOLVED]->(@a Accident:*);RETURN p.name AS PersonName, c.name AS CarModel, a.location AS Location, r.info AS label,a.name AS AccidentID

4. CHECKING FOR ALL THE PEOPLE WHO WERE BOTH DRIVER AND PASSENGER

S2=>[S1=>(@p Person:*)-[@d DRIVER]->(@c Car:*)]-[@g PASSENGER]->(@f Car:*);RETURN p.name AS Pname, d.info AS driver, g.info AS Passenger, COUNT(p.name) AS CNT

As in the bank fraud example above, graph database queries can be added to the insurance company’s standard checks, at appropriate points in time such as when the claim is filed to flag suspected fraud rings in real time.

Was this article helpful to you? Yes No