A Prototype for Credit Card Fraud Management Alexander Artikis 1 , 2 - - PowerPoint PPT Presentation

a prototype for credit card fraud management
SMART_READER_LITE
LIVE PREVIEW

A Prototype for Credit Card Fraud Management Alexander Artikis 1 , 2 - - PowerPoint PPT Presentation

A Prototype for Credit Card Fraud Management Alexander Artikis 1 , 2 , Nikos Katzouris 2 , Ivo Correia 3 , Chris Baber 4 , Natan Morar 4 , Inna Skarbovsky 5 , Fabiana Fournier 5 and Georgios Paliouras 2 1 University of Piraeus, Greece, 2 NCSR


slide-1
SLIDE 1

A Prototype for Credit Card Fraud Management

Alexander Artikis1,2, Nikos Katzouris2, Ivo Correia3, Chris Baber4, Natan Morar4, Inna Skarbovsky5, Fabiana Fournier5 and Georgios Paliouras2

1University of Piraeus, Greece, 2NCSR Demokritos, Greece, 3Feedzai, Portugal, 4University of Birmingham, UK, 5IBM Research Haifa, Israel

http://speedd-project.eu/

slide-2
SLIDE 2

Credit Card Fraud Management

Input:

◮ Credit card transactions from all over the world.

Output:

◮ Cloned card — a credit card is being used simultaneously in

different countries.

◮ New high use — the card is being frequently used in

merchants or countries never used before.

◮ Potential batch fraud — many transactions from multiple

cards in the same point-of-sale terminal in high amounts.

slide-3
SLIDE 3

Credit Card Fraud Management: Challenges

◮ Fraud must be detected within 25 milliseconds.

slide-4
SLIDE 4

Credit Card Fraud Management: Challenges

◮ Fraud must be detected within 25 milliseconds. ◮ Fraudulent transactions: <0.2% of the total number of

transactions.

slide-5
SLIDE 5

Credit Card Fraud Management: Challenges

◮ Fraud must be detected within 25 milliseconds. ◮ Fraudulent transactions: <0.2% of the total number of

transactions.

◮ Fraud is constantly evolving.

slide-6
SLIDE 6

Credit Card Fraud Management: Challenges

◮ Fraud must be detected within 25 milliseconds. ◮ Fraudulent transactions: <0.2% of the total number of

transactions.

◮ Fraud is constantly evolving. ◮ Erroneous transactions, missing fields.

slide-7
SLIDE 7

Credit Card Fraud Management: SPEEDD Prototype

◮ Automated, online fraud pattern construction. ◮ Fraud detection. ◮ User Interface.

slide-8
SLIDE 8

Credit Card Fraud Management: SPEEDD Prototype

◮ Automated, online fraud pattern construction. ◮ Fraud detection (DEBS 2015). ◮ User Interface.

slide-9
SLIDE 9

Automated Pattern Construction: Inductive Logic Programming (ILP)

Input:

◮ Positive and negative examples. ◮ Background knowledge. ◮ Language bias.

Output:

◮ A logical theory that entails as many positive and as few

negative examples as possible.

slide-10
SLIDE 10

Example Fraud Patterns

fraud(CardId, T2) ← transaction(CardId, massive amount, T2), transaction(CardId, tiny amount, T1), before(T1, T2), within(T1, T2, 1). fraud(CardId, T2) ← transactionsAtLeast(CardId, 6), within(T1, T2, 7), before(T1, T2).

slide-11
SLIDE 11

Online Learning: The OLED System

OLED

Background Knowledge & Language Bias Learnt Hypothesis Ht: fraud(CardId, T2 ) ← trans(Card, massive amount, T2 ), trans(Card, tiny amount, T1 ), before(T1 , T2 ), within(T1 , T2 , 2). fraud(CardId, T2 ) ← transAtLeast(Card, 6), within(T1 , T2 , 7), before(T1 , T2 ). Training example It

trans(1500653, 420.0, d5b9ab0b181, 200902, fraud), trans(1500654, 0, 35, d5b9ab0b181, 200902, fraud), trans(1500655, 154.5, d5b9ab0b181, 200902, fraud), trans(1500656, 180.4, d5b9ab0b181, 200902, fraud), trans(1500657, 2.34, d5b9ab0b181, 200902, fraud)

Data Stream/Training Examples

. . . . . .

Training example It′ trans(1856635, 420.0, 3348af85, 200902, nofraud), trans(1856636, 0, 35, 3348af85, 200902, nofraud), trans(1856637, 154.5, 3348af85, 200902, nofraud), trans(1856638, 180.4, 3348af85, 200902, nofraud), trans(1856639, 2.34, 3348af85, 200902, nofraud)

. . .

slide-12
SLIDE 12

Online Learning: The OLED System

OLED

Theory Expan- sion Background Knowledge & Language Bias Learnt Hypothesis Ht: fraud(CardId, T2 ) ← trans(Card, massive amount, T2 ), trans(Card, tiny amount, T1 ), before(T1 , T2 ), within(T1 , T2 , 2). fraud(CardId, T2 ) ← transAtLeast(Card, 6), within(T1 , T2 , 7), before(T1 , T2 ). Training example It

trans(1500653, 420.0, d5b9ab0b181, 200902, fraud), trans(1500654, 0, 35, d5b9ab0b181, 200902, fraud), trans(1500655, 154.5, d5b9ab0b181, 200902, fraud), trans(1500656, 180.4, d5b9ab0b181, 200902, fraud), trans(1500657, 2.34, d5b9ab0b181, 200902, fraud)

Data Stream/Training Examples

. . . . . .

Training example It′ trans(1856635, 420.0, 3348af85, 200902, nofraud), trans(1856636, 0, 35, 3348af85, 200902, nofraud), trans(1856637, 154.5, 3348af85, 200902, nofraud), trans(1856638, 180.4, 3348af85, 200902, nofraud), trans(1856639, 2.34, 3348af85, 200902, nofraud)

. . .

slide-13
SLIDE 13

Online Learning: The OLED System

OLED

Theory Expan- sion Rule Eval- uation Background Knowledge & Language Bias Learnt Hypothesis Ht: fraud(CardId, T2 ) ← trans(Card, massive amount, T2 ), trans(Card, tiny amount, T1 ), before(T1 , T2 ), within(T1 , T2 , 2). fraud(CardId, T2 ) ← transAtLeast(Card, 6), within(T1 , T2 , 7), before(T1 , T2 ). Training example It

trans(1500653, 420.0, d5b9ab0b181, 200902, fraud), trans(1500654, 0, 35, d5b9ab0b181, 200902, fraud), trans(1500655, 154.5, d5b9ab0b181, 200902, fraud), trans(1500656, 180.4, d5b9ab0b181, 200902, fraud), trans(1500657, 2.34, d5b9ab0b181, 200902, fraud)

Data Stream/Training Examples

. . . . . .

Training example It′ trans(1856635, 420.0, 3348af85, 200902, nofraud), trans(1856636, 0, 35, 3348af85, 200902, nofraud), trans(1856637, 154.5, 3348af85, 200902, nofraud), trans(1856638, 180.4, 3348af85, 200902, nofraud), trans(1856639, 2.34, 3348af85, 200902, nofraud)

. . .

slide-14
SLIDE 14

Online Learning: The OLED System

OLED

Theory Expan- sion Rule Eval- uation Rule Expan- sion Background Knowledge & Language Bias Learnt Hypothesis Ht: fraud(CardId, T2 ) ← trans(Card, massive amount, T2 ), trans(Card, tiny amount, T1 ), before(T1 , T2 ), within(T1 , T2 , 2). fraud(CardId, T2 ) ← transAtLeast(Card, 6), within(T1 , T2 , 7), before(T1 , T2 ). Training example It

trans(1500653, 420.0, d5b9ab0b181, 200902, fraud), trans(1500654, 0, 35, d5b9ab0b181, 200902, fraud), trans(1500655, 154.5, d5b9ab0b181, 200902, fraud), trans(1500656, 180.4, d5b9ab0b181, 200902, fraud), trans(1500657, 2.34, d5b9ab0b181, 200902, fraud)

Data Stream/Training Examples

. . . . . .

Training example It′ trans(1856635, 420.0, 3348af85, 200902, nofraud), trans(1856636, 0, 35, 3348af85, 200902, nofraud), trans(1856637, 154.5, 3348af85, 200902, nofraud), trans(1856638, 180.4, 3348af85, 200902, nofraud), trans(1856639, 2.34, 3348af85, 200902, nofraud)

. . .

slide-15
SLIDE 15

Online Learning: The OLED System

OLED

Theory Expan- sion Rule Eval- uation Rule Expan- sion Rule Pruning Background Knowledge & Language Bias Learnt Hypothesis Ht: fraud(CardId, T2 ) ← trans(Card, massive amount, T2 ), trans(Card, tiny amount, T1 ), before(T1 , T2 ), within(T1 , T2 , 2). fraud(CardId, T2 ) ← transAtLeast(Card, 6), within(T1 , T2 , 7), before(T1 , T2 ). +/- Training example It

trans(1500653, 420.0, d5b9ab0b181, 200902, fraud), trans(1500654, 0, 35, d5b9ab0b181, 200902, fraud), trans(1500655, 154.5, d5b9ab0b181, 200902, fraud), trans(1500656, 180.4, d5b9ab0b181, 200902, fraud), trans(1500657, 2.34, d5b9ab0b181, 200902, fraud)

Data Stream/Training Examples

. . . . . .

Training example It′ trans(1856635, 420.0, 3348af85, 200902, nofraud), trans(1856636, 0, 35, 3348af85, 200902, nofraud), trans(1856637, 154.5, 3348af85, 200902, nofraud), trans(1856638, 180.4, 3348af85, 200902, nofraud), trans(1856639, 2.34, 3348af85, 200902, nofraud)

. . .

slide-16
SLIDE 16

Online Rule Learning

R1: 0.345 R2: 0.232 R3: 0.145 R4: 0.612 R5: 0.325 Candidate Rules

With confidence 1−δ, we have ¯ X − ǫ ≤ ˆ X ≤ ¯ X + ǫ, where ǫ =

  • ln(1/δ)

2N Training stream

. . . . . .

Find the best candidate across the stream As examples stream in... Monitor ¯ X = scoreBestRule − scoreSecondBestRule Continue until the number N of examples makes ¯ X > ǫ =

  • ln(1/δ)

2N

Then ¯ X − ǫ > 0 ⇒ ˆ X > 0 ⇒ BestRule is indeed the best rule, with probability 1−δ.

slide-17
SLIDE 17

Online Rule Learning

R1: 0.345 R2: 0.232 R3: 0.145 R4: 0.612 R5: 0.325 Candidate Rules

With confidence 1−δ, we have ¯ X − ǫ ≤ ˆ X ≤ ¯ X + ǫ, where ǫ =

  • ln(1/δ)

2N Training stream

. . . . . .

Find the best candidate across the stream As examples stream in... Monitor ¯ X = scoreBestRule − scoreSecondBestRule Continue until the number N of examples makes ¯ X > ǫ =

  • ln(1/δ)

2N

Then ¯ X − ǫ > 0 ⇒ ˆ X > 0 ⇒ BestRule is indeed the best rule, with probability 1−δ.

slide-18
SLIDE 18

Online Rule Learning

R1: 0.345 R2: 0.232 R3: 0.145 R4: 0.612 R5: 0.325 Candidate Rules

With confidence 1−δ, we have ¯ X − ǫ ≤ ˆ X ≤ ¯ X + ǫ, where ǫ =

  • ln(1/δ)

2N Training stream

. . . . . .

Find the best candidate across the stream As examples stream in... Monitor ¯ X = scoreBestRule − scoreSecondBestRule Continue until the number N of examples makes ¯ X > ǫ =

  • ln(1/δ)

2N

Then ¯ X − ǫ > 0 ⇒ ˆ X > 0 ⇒ BestRule is indeed the best rule, with probability 1−δ.

slide-19
SLIDE 19

Online Rule Learning

R1: 0.345 R2: 0.232 R3: 0.145 R4: 0.612 R5: 0.325 Candidate Rules

With confidence 1−δ, we have ¯ X − ǫ ≤ ˆ X ≤ ¯ X + ǫ, where ǫ =

  • ln(1/δ)

2N Training stream

. . . . . .

Find the best candidate across the stream As examples stream in... Monitor ¯ X = scoreBestRule − scoreSecondBestRule Continue until the number N of examples makes ¯ X > ǫ =

  • ln(1/δ)

2N

Then ¯ X − ǫ > 0 ⇒ ˆ X > 0 ⇒ BestRule is indeed the best rule, with probability 1−δ.

slide-20
SLIDE 20

Online Rule Learning

R1: 0.345 R2: 0.232 R3: 0.145 R4: 0.612 R5: 0.325 Candidate Rules

With confidence 1−δ, we have ¯ X − ǫ ≤ ˆ X ≤ ¯ X + ǫ, where ǫ =

  • ln(1/δ)

2N Training stream

. . . . . .

Find the best candidate across the stream As examples stream in... Monitor ¯ X = scoreBestRule − scoreSecondBestRule Continue until the number N of examples makes ¯ X > ǫ =

  • ln(1/δ)

2N

Then ¯ X − ǫ > 0 ⇒ ˆ X > 0 ⇒ BestRule is indeed the best rule, with probability 1−δ.

slide-21
SLIDE 21

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.312 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-22
SLIDE 22

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.987 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.534 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.023 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-23
SLIDE 23

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.912 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.345 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.567 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.073 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-24
SLIDE 24

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.823 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.318 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.589 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.088 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-25
SLIDE 25

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.632 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.471 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.699 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.187 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-26
SLIDE 26

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.713 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-27
SLIDE 27

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.713 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.312 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Best rule so far; used O( 1

ǫ2 ln 1 δ) examples.

slide-28
SLIDE 28

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.145 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.087 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.203 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-29
SLIDE 29

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.321 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.142 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.224 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-30
SLIDE 30

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.302 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.253 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.208 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-31
SLIDE 31

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.299 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.284 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.177 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-32
SLIDE 32

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.235 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.385 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.148 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Input stream

slide-33
SLIDE 33

OLED: Online Rule Learning

fraud(CardId, T2 ) score: 0.602 fraud(CardId, T2 ) ← massive amount(CardId, T2 ). score: 0.427 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 . score: 0.235 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T2 − T1 ≤ 2 mins. score: 0.146 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ). score: 0.385 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , T2 − T1 ≤ 2 mins. score: 0.148 fraud(CardId, T2 ) ← tiny amount(CardId, T1 ), T1 < T2 , massive amount(CardId, T2 ), T2 − T1 ≤ 2 mins. score: 0.312

Best rule so far.

slide-34
SLIDE 34

Empirical Analysis

◮ Synthetic dataset generated by Feedzai. ◮ Positive fraud examples for:

◮ ‘Flash attack’. ◮ ‘Big-after small’. ◮ ‘Increasing amounts’. ◮ ‘Decreasing amounts’. ◮ ‘Far-away locations’. ◮ ‘Card close to expire’.

◮ 10,000,000 transactions. ◮ 0.2% of the data corresponds to positive examples. ◮ Experiments: 10-fold cross-validation.

slide-35
SLIDE 35

Empirical Analysis

System F1-score Precision Recall Time (min) OLED 0.830 0.894 0.776 21 SC 0.892 0.912 0.874 188

◮ OLED vs SC, a classic, set-cover ILP algorithm (offline

learning).

◮ Predictive accuracy: comparable performance. ◮ Efficiency: OLED is much faster than offline learning.

slide-36
SLIDE 36

Credit Card Fraud Management: SPEEDD Prototype

◮ Automated, online fraud pattern construction. ◮ Fraud detection (DEBS 2015). ◮ User Interface.

slide-37
SLIDE 37

User Interface Design

◮ Human fraud analysts still play an important role in the

process of fraud investigation.

◮ Automated analysis produces a fraud sore which is, in many

cases, inconclusive.

◮ Fraud analysts interact with the SPEEDD prototype via a user

interface.

◮ Analysts can accept, respond to, or make suggestions and

control actions.

◮ Analysts may drill down to display the rationale behind the

fraud alert.

slide-38
SLIDE 38

User Interface 1

slide-39
SLIDE 39

User Interface 2

slide-40
SLIDE 40

Human Factors Analysis: Decision Times

confidence

med low high

time (s)

200.00 150.00 100.00 50.00 .00 1 9 2 1 1 1 1 8 4 5 1 9 2 1 1 1 1 8 1 7 2 1 5 4 1 1 8 2 9 4 3 2 1

expert

UI 1 confidence

med low high

time (s)

200.00 150.00 100.00 50.00 .00 2 2 2 2 1 8 1 6 7 2 1 1 1 1 8 2 2 2 2 1 8 1 6 7 1 1 2 2 2 2 1 6 4 3 2 1

expert

UI 2 pattern

Transactions In Faraway Places Increasing Amounts Flash Attack Big After Small

time (s)

200.00 150.00 100.00 50.00 .00 2 1 9 1 1 1 4 1 8 2 2 1 1 1 1 8 1 9 4 1 1 8 4 4 3 2 1

expert

UI 1 pattern

Transactions In Faraway Places Increasing Amounts Flash Attack Big After Small

time (s)

200.00 150.00 100.00 50.00 .00 1 6 7 1 8 2 2 2 2 7 2 0 1 6 1 8 7 2 2 2 2 1 6 2 2 2 2 1 1 4 3 2 1

experts

UI 2

slide-41
SLIDE 41

Human Factors Analysis: Modals Opened

confidence

med low high

modals opened

5 4 3 2 1 4 1 4 2 1 4 1 9 2 1 1 6 1 8 5 1 5 1 5 2 11 9 1 8 5 1 5 1 5 2 1 1 9 4 1 4 2 1 4 0 2 1 4 1 4 1 9 1 8 5 1 5 1 7 4 3 2 1

expert

UI 1 confidence

med low high

modals opened

5 4 3 2 1 2 2 2 2 4 1 9 2 1 8 2 2 2 2 4 1 9 2 1 8 2 2 2 2 4 4 3 2 1

expert

UI 2 pattern

Transactions In Faraway Places Increasing Amounts Flash Attack Big After Small

modals opened

5 4 3 2 1 2 1 1 9 5 1 4 2 1 2 1 5 4 1 8 1 2 1 5 4 1 8 4 1 8 4 3 2 1

expert

UI 1 pattern

Transactions In Faraway Places Increasing Amounts Flash Attack Big After Small

modals opened

5 4 3 2 1 2 1 2 1 3 1 1 4 2 3 2 2 2 2 4 1 8 1 9 1 1 7 2 1 2 1 3 1 1 4 2 3 2 2 2 2 1 1 7 2 2 2 2 4 4 3 2 1

experts

UI 2

slide-42
SLIDE 42

Human Factors Analysis

◮ Analysts tend to prefer UI2:

◮ place more emphasis on the relevant parts of a transaction as

  • pposed to regional statistics.

◮ Analysts tend to oversample:

◮ manage uncertainty ◮ check for consistency in the available information.

slide-43
SLIDE 43

Summary & Further Work

SPEEDD prototype:

◮ Automated, online fraud pattern construction. ◮ Fraud detection. ◮ User Interface.

Further work:

◮ Feature engineering. ◮ Interactive analytics. ◮ Alternative machine learning metrics (eg ‘money recall’).

http://speedd-project.eu/