IP Library Granted Patent US 12,032,721
Granted Patent B2
US 12,032,721 · App. 17/506,508 · Granted Jul 9, 2024

Synthesizing user transactional data for de-identifying sensitive information

Inventors: Gaurav Singhal (Bangalore, IN); Deepak Patil (Pune, IN); Rahul Mitra (Kalyani, IN); Atif Adib (Bangalore, IN)
Assignee: YODLEE, INC.
G06F21/6254G06F18/2323G06N5/022G06Q20/389G06Q20/401
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 12,032,721
App. No.
17/506,508
Granted
Jul 9, 2024
Kind
B2
Abstract

As described herein, a system, method, and computer program are provided for synthesizing user transactional data for de-identifying sensitive information. In use, transactional data of a plurality of users is identified. Additionally, the plurality of users are clustered based on the transactional data, to form groups of users having transactional data representing similar transactional behavior. Further, synthesized transactional data is generated for the users in each group by: identifying a subset of the transactional data that corresponds to the users in each group, shuffling the transactional data in the subset across the users in each group, and perturbing portions of the shuffled transactional data.

Claims (72)

1. A non-transitory computer-readable media storing computer instructions which when executed by one or more processors of a device cause the device to:

identify transactional data of a plurality of users;

cluster the plurality of users based on the transactional data, to form groups of users having transactional data representing similar transactional behavior;

generate synthesized transactional data for the users in each group by:

identifying a subset of the transactional data that corresponds to the users in each group,

shuffling the transactional data in the subset across the users in each group, wherein the shuffling includes:

constructing a pool of transactions from the subset of the transactional data,

for each user in each group, sampling transactions from the pool based on:

a number of transactions associated with the user in the subset of the transactional data, and

a category of each of the transactions associated with the user in the subset of the transactional data,

wherein at least one of:

 a number of transactions sampled from the pool for each user in each group matches the number of transactions in the subset of the transactional data that are associated with the user, or

 a number of transactions of a particular category sampled from the pool for each user in each group matches a number of transactions of the particular category in the subset of the transactional data that are associated with the user, and

perturbing portions of the shuffled transactional data.

2. The non-transitory computer-readable media of claim 1 , wherein the transactional data of a plurality of users is transactional records stored for the plurality of users that represent financial transaction associated with the plurality of users.

3. The non-transitory computer-readable media of claim 1 , wherein clustering the plurality of users based on the transactional data includes:

encoding historical transactional data to form a knowledge graph, and

learning a continuous representation for entities in the graph, and

clustering the plurality of users based on the learned entities.

4. The non-transitory computer-readable media of claim 3 , wherein knowledge graph is generated to include:

nodes representing users, merchants, and geo-locations, and

edges representing transaction features.

5. The non-transitory computer-readable media of claim 1 , wherein the shuffling is performed stochastically.

6. The non-transitory computer-readable media of claim 1 , wherein the number of transactions sampled from the pool for each user in each group matches the number of transactions in the subset of the transactional data that are associated with the user.

7. The non-transitory computer-readable media of claim 1 , wherein the number of transactions of a particular category sampled from the pool for each user in each group matches the number of transactions of the particular category in the subset of the transactional data that are associated with the user.

8. The non-transitory computer-readable media of claim 1 , wherein perturbing portions of the shuffled transactional data includes:

perturbing transaction amounts within the shuffled transactional data.

9. The non-transitory computer-readable media of claim 8 , wherein the transaction amounts are perturbed up to a predefined maximum threshold percentage.

10. The non-transitory computer-readable media of claim 1 , wherein perturbing portions of the shuffled transactional data includes:

shuffling elements of transaction descriptions within the shuffled transactional data.

11. The non-transitory computer-readable media of claim 10 , wherein the elements are one or more consecutive words in a transaction description carrying homogeneous related information and are identified using machine learning models.

12. The non-transitory computer-readable media of claim 10 , wherein the elements within each of the transaction descriptions are shuffled randomly.

13. The non-transitory computer-readable media of claim 1 , wherein perturbing portions of the shuffled transactional data includes:

masking Personally Identifiable Information (PII).

14. The non-transitory computer-readable media of claim 13 , wherein the PII includes at least one of:

social security number,

credit card number, or

user name.

15. The non-transitory computer-readable media of claim 13 , wherein the masking is performed using deep learning.

16. The non-transitory computer-readable media of claim 1 , wherein perturbing portions of the shuffled transactional data includes:

adding noise to transaction descriptions.

17. A method, comprising:

at a computer system:

identifying transactional data of a plurality of users;

clustering the plurality of users based on the transactional data, to form groups of users having transactional data representing similar transactional behavior;

generating synthesized transactional data for the users in each group by:

identifying a subset of the transactional data that corresponds to the users in each group,

shuffling the transactional data in the subset across the users in each group, wherein the shuffling includes:

constructing a pool of transactions from the subset of the transactional data,

for each user in each group, sampling transactions from the pool based on:

a number of transactions associated with the user in the subset of the transactional data, and

a category of each of the transactions associated with the user in the subset of the transactional data,

wherein at least one of:

 a number of transactions sampled from the pool for each user in each group matches the number of transactions in the subset of the transactional data that are associated with the user, or

 a number of transactions of a particular category sampled from the pool for each user in each group matches a number of transactions of the particular category in the subset of the transactional data that are associated with the user, and

perturbing portions of the shuffled transactional data.

18. A system, comprising:

a non-transitory memory storing instructions; and

one or more processors in communication with the non-transitory memory that execute the instructions to:

identify transactional data of a plurality of users;

cluster the plurality of users based on the transactional data, to form groups of users having transactional data representing similar transactional behavior;

generate synthesized transactional data for the users in each group by:

identifying a subset of the transactional data that corresponds to the users in each group,

shuffling the transactional data in the subset across the users in each group, wherein the shuffling includes:

constructing a pool of transactions from the subset of the transactional data,

for each user in each group, sampling transactions from the pool based on:

a number of transactions associated with the user in the subset of the transactional data, and

a category of each of the transactions associated with the user in the subset of the transactional data,

wherein at least one of:

 a number of transactions sampled from the pool for each user in each group matches the number of transactions in the subset of the transactional data that are associated with the user, or

 a number of transactions of a particular category sampled from the pool for each user in each group matches a number of transactions of the particular category in the subset of the transactional data that are associated with the user, and

perturbing portions of the shuffled transactional data.

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 Oct 21, 2021
From: SINGHAL, GAURAV; PATIL, DEEPAK; MITRA, RAHUL; ADIB, ATIF
To: YODLEE, INC.
Reel/Frame 057870/0095 →
Continuity (1)
Related Publication 20230121356A1 · Apr 20, 2023