IP Library Granted Patent US 10,902,365
Granted Patent B2
US 10,902,365 · App. 15/647,184 · Granted Jan 26, 2021

Identifying recurring series from transactional data

Inventors: Chanpreet Singh (Bangalore, IN); Harini Padmanabhan (Bangalore, IN); Vinay Nagaraj (San Jose, CA); Prasad Vunnam (Bangalore, IN)
Assignee: Yodlee, Inc.
G06Q10/06315G06Q40/12
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 10,902,365
App. No.
15/647,184
Granted
Jan 26, 2021
Kind
B2
Abstract

Methods, systems and computer program products for identifying recurring series from transactional data are disclosed. An analytic server receives transactional data. The server reduces the transactional data to one or more series of transactions. The analytic server identifies one or more features in each series of transactions. The analytic server determines a respective recurrence score for each series of transactions based on training data. The recurrence score measures a likelihood that the series of transactions is a recurring series, in which transactions recur. The analytic server determines whether each series of transactions is a recurring series based on the respective recurrence score and a threshold. The analytic server predicts a future transaction based on the recurring series of transactions.

Claims (106)

1. A method comprising:

receiving, from a database server at an analytic server, transactional data, the transactional data including records of transactions, wherein each record includes one or more fields for one or more of a magnitude of a corresponding transaction and a date of the corresponding transaction;

identifying, within each record of the transactional data, one or more fields corresponding to one or more of the magnitude of the corresponding transaction and the date of the corresponding transaction;

retrieving, from the identified one or more fields of the transactional data, values for one or more of a corresponding magnitude and a corresponding date;

reducing, at the analytic server using the values, the transactional data to one or more series of transactions, each series transactions including a set of the records of transactions, inclusion of transactions in the set being based on similarities between the transactions;

retrieving, using the analytic server, from each record in the one or more series of transactions one or more of a plurality of magnitudes and a plurality of dates;

calculating, based on one or more of the plurality of magnitudes and a plurality of dates, one or more of a coefficient of variance of magnitude or a coefficient of variance of date in each series of transactions;

identifying a set of one or more features corresponding to each series of transactions, the one or more features including one or more of the corresponding calculated coefficient of variance of magnitude or the corresponding calculated coefficient of variance of date;

providing, for each series of transactions, a model input comprising the corresponding set of features as input to a supervised learning model, wherein the supervised learning model has been configured through training to generate recurrence scores, the training comprising:

processing one or more training inputs using the supervised learning model to generate respective recurrence scores corresponding to the training inputs,

determining a performance of the supervised learning model on the training inputs, and

determining an update to a plurality of parameters of the supervised learning model based on the determined performance;

obtaining, for each series of transactions, a network output comprising a respective recurrence score for the series of transactions from the supervised learning model;

determining whether each series of transactions is a recurring series based on the recurrence scores; and

generating a prediction of a future transaction based on a series of transactions that is determined to be a recurring series.

2. The method of claim 1 , wherein:

each of the records of transactions includes a respective label of an interaction between a plurality of computing devices or between a human and a computing device, a respective time of the interaction, and a value indicating a magnitude of the transaction; and

generating a prediction of the future transaction comprises estimating a time and a magnitude of the future transaction based on time and magnitude information in the series of transactions that is determined to be a recurring series.

3. The method of claim 2 , wherein reducing the transactional data to one or more series of transactions comprises:

determining similarity scores based on the labels in the records of transactions;

grouping a first transaction and a second transaction into a series of transactions upon determining that the similarity scores between the first transaction and the second transaction satisfies a first similarity threshold;

determining a size of the series of transactions;

upon determining that the size is greater than a size threshold, determining if the similarity score between the first transaction and the second transaction satisfies a second similarity threshold; and

splitting the series of transactions including the first transaction and the second transaction upon determining that the similarity score fails to satisfy the second similarity threshold.

4. The method of claim 1 , wherein identifying the set of one or more features corresponding to each series of transactions comprises:

determining a respective category for each series of transactions based on token lists, each of the token lists corresponding to a category, wherein determining the respective category is in response to identifying, in one or more records of transactions in the series of transactions, an appearance of one or more tokens in a token list corresponding to the respective category; and

designating each category as a respective feature of the series of transactions.

5. The method of claim 1 , wherein identifying the set of one or more features corresponding to each series of transactions comprises:

determining a respective periodicity indicator for each series of transactions, the periodicity indicator indicating whether time of the series of transactions has a recurring pattern; and

designating each periodicity indicator as a respective feature of the series of transactions.

6. The method of claim 1 , comprising, before reducing the transactional data to the one or more series of transactions, pre filtering the received transactional data, the pre filtering comprising:

designating a first transaction of the transactions as repetitive in response to determining that an identifier of a party of the first transaction, as specified in a corresponding record, belongs to a specified group of parties;

designating a second transaction of the transactions as repetitive in response to determining that a description of the second transaction, as specified in a corresponding record, includes a token that is in a specified group of tokens; and

filtering out the first transaction and the second transaction from the transactional data before the reducing.

7. The method of claim 1 , wherein the supervised learning model comprises a random forest.

8. The method of claim 7 , wherein the supervised learning model comprises at least 1000 decision trees.

9. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving transactional data, the transactional data including records of transactions, wherein each record includes one or more fields for one or more of a magnitude of a corresponding transaction and a date of the corresponding transaction;

identifying, within each record of the transactional data, one or more fields corresponding to one or more of the magnitude of the corresponding transaction and the date of the corresponding transaction;

retrieving, from the identified one or more fields of the transactional data, values for one or more of a corresponding magnitude and a corresponding date;

reducing, using the values, the transactional data to one or more series of transactions, each series transactions including a set of the records of transactions, inclusion of transactions in the set being based on similarities between the transactions;

retrieving from each record in the one or more series of transactions one or more of a plurality of magnitudes and a plurality of dates;

calculating, based on one or more of the plurality of magnitudes and a plurality of dates, one or more of a coefficient of variance of magnitude or a coefficient of variance of date in each series of transactions;

identifying a set of one or more features corresponding to each series of transactions, the one or more features including one or more of the corresponding calculated coefficient of variance of magnitude or the corresponding calculated coefficient of variance of date;

providing, for each series of transactions, a model input comprising the corresponding set of features as input to a supervised learning model, wherein the supervised learning model has been configured through training to generate recurrence scores, the training comprising:

processing one or more training inputs using the supervised learning model to generate respective recurrence scores corresponding to the training inputs,

determining a performance of the supervised learning model on the training inputs, and

determining an update to a plurality of parameters of the supervised learning model based on the determined performance;

obtaining, for each series of transactions, a network output comprising a respective recurrence score for the series of transactions from the supervised learning model;

determining whether each series of transactions is a recurring series based on the recurrence scores; and

generating a prediction of a future transaction based on a series of transactions that is determined to be a recurring series.

10. The system of claim 9 , wherein:

each of the records of transactions includes a respective label of an interaction between a plurality of computing devices or between a human and a computing device, a respective time of the interaction, and a value indicating a magnitude of the transaction; and

generating a prediction of the future transaction comprises estimating a time and a magnitude of the future transaction based on time and magnitude information in the series of transactions that is determined to be a recurring series.

11. The system of claim 10 , wherein reducing the transactional data to one or more series of transactions comprises:

determining similarity scores based on the labels in the records of transactions;

grouping a first transaction and a second transaction into a series of transactions upon determining that the similarity scores between the first transaction and the second transaction satisfies a first similarity threshold;

determining a size of the series of transactions;

upon determining that the size is greater than a size threshold, determining if the similarity score between the first transaction and the second transaction satisfies a second similarity threshold; and

splitting the series of transactions including the first transaction and the second transaction upon determining that the similarity score fails to satisfy the second similarity threshold.

12. The system of claim 9 , wherein identifying the set of one or more features corresponding to each series of transactions comprises:

determining a respective category for each series of transactions based on token lists, each of the token lists corresponding to a category, wherein determining the respective category is in response to identifying, in one or more records of transactions in the series of transactions, an appearance of one or more tokens in a token list corresponding to the respective category; and

designating each category as a respective feature of the series of transactions.

13. The system of claim 9 , wherein identifying the set of one or more features corresponding to each series of transactions comprises:

determining a respective periodicity indicator for each series of transactions, the periodicity indicator indicating whether time of the series of transactions has a recurring pattern; and

designating each periodicity indicator as a respective feature of the series of transactions.

14. The system of claim 9 , the operations comprising, before reducing the transactional data to the one or more series of transactions, pre filtering the received transactional data, the pre filtering comprising:

designating a first transaction of the transactions as repetitive in response to determining that an identifier of a party of the first transaction, as specified in a corresponding record, belongs to a specified group of parties;

designating a second transaction of the transactions as repetitive in response to determining that a description of the second transaction, as specified in a corresponding record, includes a token that is in a specified group of tokens; and

filtering out the first transaction and the second transaction from the transactional data before the reducing.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving transactional data, the transactional data including records of transactions, wherein each record includes one or more fields for one or more of a magnitude of a corresponding transaction and a date of the corresponding transaction;

identifying, within each record of the transactional data, one or more fields corresponding to one or more of the magnitude of the corresponding transaction and the date of the corresponding transaction;

retrieving, from the identified one or more fields of the transactional data, values for one or more of a corresponding magnitude and a corresponding date;

reducing, using the values, the transactional data to one or more series of transactions, each series transactions including a set of the records of transactions, inclusion of transactions in the set being based on similarities between the transactions;

retrieving from each record in the one or more series of transactions one or more of a plurality of magnitudes and a plurality of dates;

calculating, based on one or more of the plurality of magnitudes and a plurality of dates, one or more of a coefficient of variance of magnitude or a coefficient of variance of date in each series of transactions;

identifying a set of one or more features corresponding to each series of transactions, the one or more features including one or more of the corresponding calculated coefficient of variance of magnitude or the corresponding calculated coefficient of variance of date;

providing, for each series of transactions, a model input comprising the corresponding set of features as input to a supervised learning model, wherein the supervised learning model has been configured through training to generate recurrence scores, the training comprising

processing one or more training inputs using the supervised learning model to generate respective recurrence scores corresponding to the training inputs,

determining a performance of the supervised learning model on the training inputs, and

determining an update to a plurality of parameters of the supervised learning model based on the determined performance;

obtaining, for each series of transactions, a network output comprising a respective recurrence score for the series of transactions from the supervised learning model;

determining whether each series of transactions is a recurring series based on the recurrence scores; and

predicting generating a prediction of a future transaction based on a series of transactions that is determined to be a recurring series.

16. The non-transitory computer-readable medium of claim 15 , wherein:

each of the records of transactions includes a respective label of an interaction between a plurality of computing devices or between a human and a computing device, a respective time of the interaction, and a value indicating a magnitude of the transaction; and

predicting generating a prediction of the future transaction comprises estimating a time and a magnitude of the future transaction based on time and magnitude information in the series of transactions that is determined to be repetitive a recurring series.

17. The non-transitory computer-readable medium of claim 16 , wherein reducing the transactional data to one or more series of transactions comprises:

determining similarity scores based on the labels in the records of transactions;

grouping a first transaction and a second transaction into a series of transactions upon determining that the similarity scores between the first transaction and the second transaction satisfies a first similarity threshold;

determining a size of the series of transactions;

upon determining that the size is greater than a size threshold, determining if the similarity score between the first transaction and the second transaction satisfies a second similarity threshold; and

splitting the series of transactions including the first transaction and the second transaction upon determining that the similarity score fails to satisfy the second similarity threshold.

18. The non-transitory computer-readable medium of claim 15 , wherein identifying the set of one or more features corresponding to each series of transactions comprises:

determining a respective category for each series of transactions based on token lists, each of the token lists corresponding to a category, wherein determining the respective category is in response to identifying, in one or more records of transactions in the series of transactions, an appearance of one or more tokens in a token list corresponding to the respective category; and

designating each category as a respective feature of the series of transactions.

19. The non-transitory computer-readable medium of claim 15 , wherein identifying the set of one or more features corresponding to each series of transactions comprises:

determining a respective periodicity indicator for each series of transactions, the periodicity indicator indicating whether time of the series of transactions has a recurring pattern; and

designating each periodicity indicator as a respective feature of the series of transactions.

20. The non-transitory computer-readable medium of claim 15 , the operations comprising, before reducing the transactional data to the one or more series of transactions, pre filtering the received transactional data, the pre filtering comprising:

designating a first transaction of the transactions as repetitive in response to determining that an identifier of a party of the first transaction, as specified in a corresponding record, belongs to a specified group of parties;

designating a second transaction of the transactions as repetitive in response to determining that a description of the second transaction, as specified in a corresponding record, includes a token that is in a specified group of tokens; and

filtering out the first transaction and the second transaction from the transactional data before the reducing.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Aug 26, 2025
From: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
To: YODLEE, INC.
Reel/Frame 072118/0612 →
GRANT OF SECURITY INTEREST IN PATENT Recorded Nov 25, 2024
From: YODLEE, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 069441/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2020
From: SINGH, CHANPREET; PADMANABHAN, HARINI; NAGARAJ, VINAY; VUNNAM, PRASAD
To: YODLEE, INC.
Reel/Frame 052396/0663 →
Priority Claims (1)
IN 201641044067 · Dec 23, 2016 · national
Continuity (1)
Related Publication 20180181895A1 · Jun 28, 2018