IP Library Granted Patent US 11,748,463
Granted Patent B2
US 11,748,463 · App. 17/157,837 · Granted Sep 5, 2023

Fraud detection in interactive voice response systems

Inventors: Scott Strong (Atlanta, GA); Kailash Patil (Atlanta, GA); David Dewey (Atlanta, GA); Raj Bandyopadhyay (Atlanta, GA); Telvis Calhoun (Atlanta, GA); Vijay Balasubramaniyan (Atlanta, GA)
Assignee: PINDROP SECURITY, INC.
G06F21/32G06F21/552G06N20/00H04M3/493H04M3/527H04M15/41H04W12/12H04W12/128H04M7/0078H04M2203/551H04M2203/6027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,748,463
App. No.
17/157,837
Granted
Sep 5, 2023
Kind
B2
Abstract

Systems and methods for call detail record (CDR) analysis to determine a risk score for a call and identify fraudulent activity and for fraud detection in Interactive Voice Response (IVR) systems. An example method may store information extracted from received calls. Queries of the stored information may be performed to select data using keys, wherein each key relates to one of the received calls, and wherein the queries are parallelized. The selected data may be transformed into feature vectors, wherein each feature vector relates to one of the received calls and includes a velocity feature and at least one of a behavior feature or a reputation feature. A risk score for the call may be generated during the call based on the feature vectors.

Claims (49)

1. A computer-implemented method comprising:

obtaining, by a computer, call data for an incoming call indicating a source automatic number identification (ANI) and one or more user accounts corresponding to the source ANI in the call data for the incoming call;

extracting during the incoming call, by the computer, one or more features for the incoming call using the call data for the incoming call;

extracting during the incoming call, by the computer, a feature vector for the incoming call based upon the one or more features extracted using the call data for the incoming call; and

generating, by the computer, a risk score for the incoming call by executing a machine learning model on the feature vector generated for the incoming call, the machine learning model trained on the call data of a plurality of past calls, a plurality of source ANIs, and a plurality of user accounts corresponding to the plurality of source ANIs.

2. The method according to claim 1 , wherein obtaining the call data for the incoming call includes:

receiving, by a computer, a plurality of timestamps and corresponding interaction steps with an interactive voice response (IVR) system during the incoming call.

3. The method according to claim 1 , wherein extracting the feature vector includes:

generating, by the computer, one or more velocity features for the source ANI based upon the call data for the incoming call.

4. The method according to claim 3 , wherein extracting a velocity feature includes:

determining, by the computer, a number of accounts associated with the source ANI.

5. The method according to claim 3 , wherein extracting a velocity feature includes:

determining, by the computer, a number of destination ANIs associated with the source ANI.

6. The method according to claim 1 , wherein generating the feature vector includes:

extracting, by the computer, a behavior feature for the incoming call based upon the plurality of timestamps and corresponding interaction steps with an IVR system during the incoming call, wherein the feature vector is generated based upon the behavior feature.

7. The method according to claim 1 , further comprising:

obtaining, by the computer, the call data for a plurality of prior calls, the call data for the plurality of prior calls indicating the source ANI for the prior call and one or more user accounts associated with the source ANI; and

training, by the computer, the machine learning model based upon the call data for the plurality of calls indicating each source ANI and the one or more user accounts associated with the source ANI.

8. The method according to claim 7 , further comprising:

receiving, by the computer, user feedback for the plurality of prior calls, the user feedback including an ANI-label pair for each prior call;

training, by the computer, the machine learning model based upon the call data for the plurality of calls and the ANI-label pairs for the plurality of prior calls.

9. The computer-implemented method of claim 1 , further comprising triggering, by the computer, a computer operation based upon the risk score of the incoming call.

10. The computer-implemented method of claim 9 , wherein the triggered computer operation comprises at least one of displaying the risk score on a computer display of an IVR system and disabling a feature in the IVR system.

11. The method according to claim 3 , wherein, when extracting the feature vector, the processor is further configured to:

determine a number of accounts associated with the source ANI.

12. A system comprising:

one or more network interfaces configured to receive call data for one or more incoming calls; and

a computing device comprising processor configured to:

obtain call data for an incoming call indicating a source automatic number identification (ANI) and one or more user accounts corresponding to the source ANI in the call data for the incoming call;

extract, during the incoming call, one or more features for the incoming call using the call data for the incoming call;

extract, during the incoming call, a feature vector for the incoming call based upon the one or more features extracted using the call data for the incoming call; and

generate a risk score for the incoming call by executing a machine learning model on the feature vector generated for the incoming call, the machine learning model trained on the call data of a plurality of past calls, a plurality of source ANIs, and a plurality of user accounts corresponding to the plurality of source ANIs.

13. The system according to claim 12 , wherein, when obtaining the call data for the incoming call, the processor is further configured to:

receive a plurality of timestamps and corresponding interaction steps with an interactive voice response (IVR) system during the incoming call.

14. The system according to claim 12 , wherein, when extracting the feature vector, the processor is further configured to:

extracting, by the computer, one or more velocity features for the source ANI based upon the call data for the incoming call.

15. The system according to claim 14 , wherein, when extracting the feature vector, the processor is further configured to:

determine a number of destination ANIs associated with the source ANI.

16. The system according to claim 12 , wherein, when generating the feature vector, the processor is further configured to:

extract a behavior feature for the incoming call based upon the plurality of timestamps and corresponding interaction steps with an IVR system during the incoming call, wherein the feature vector is generated based upon the behavior feature.

17. The system according to claim 12 , wherein the processor is further configured to:

obtain the call data for a plurality of prior calls, the call data for the plurality of prior calls indicating the source ANI for the prior call and one or more user accounts associated with the source ANI; and

train the machine learning model based upon the call data for the plurality of calls indicating each source ANI and the one or more user accounts associated with the source ANI.

18. The system according to claim 17 , the processor is further configured to:

receive user feedback for the plurality of prior calls, the user feedback including an ANI-label pair for each prior call;

train the machine learning model based upon the call data for the plurality of calls and the ANI-label pairs for the plurality of prior calls.

19. The system according to claim 12 , wherein the processor is further configured to:

trigger a computer operation based upon the risk score of the incoming call.

20. The system according to claim 19 , wherein the triggered computer operation comprises at least one of displaying the risk score on a computer display of an IVR system and disabling a feature in the IVR system.

Assignments (4)
SECURITY INTEREST Recorded Jun 26, 2024
From: PINDROP SECURITY, INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 067867/0860 →
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2024
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: PINDROP SECURITY, INC.
Reel/Frame 069477/0962 →
SECURITY INTEREST Recorded Jul 31, 2023
From: PINDROP SECURITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064443/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2021
From: STRONG, SCOTT; PATIL, KAILASH; DEWEY, DAVID; BANDYOPADHYAY, RAJ; CALHOUN, TELVIS; BALASUBRAMANIYAN, VIJAY
To: PINDROP SECURITY, INC.
Reel/Frame 055024/0464 →
Continuity (6)
Continuation 16515823 · Jul 18, 2019
Continuation 15880287 · Jan 25, 2018
Continuation 15294538 · Oct 14, 2016
Provisional Application 62371103 · Aug 4, 2016
Provisional Application 62241478 · Oct 14, 2015
Related Publication 20210150010A1 · May 20, 2021