IP Library › Granted Patent US 12,468,711
Granted Patent B2
US 12,468,711 · App. 18/318,367 · Granted Nov 11, 2025

Pattern identification in structured event data

Inventors: Chris Jin (Atlanta, GA); Royce Kok (New York, NY); Adam Boritz (New York, NY); Zak Bennett (New York, NY); Alex Kang (New York, NY); Raymond Cano (New York, NY)
Assignee: Plaid Inc.
G06F16/24568G06F16/24564
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,468,711
App. No.
18/318,367
Granted
Nov 11, 2025
Kind
B2
Abstract

In some implementations, a server may receive, from a user device, one or more credentials associated with a data source. Accordingly, the server may receive, from the data source and using the one or more credentials, a set of structured data including a plurality of entries. The server may identify at least one recurring event based on one or more entries in the plurality of entries, and may determine, for the at least one recurring event, one or more derived properties. The server may generate a data structure indicating the at least one recurring event and the one or more derived properties, and may transmit, to the user device, the generated data structure.

Claims (84)

1 . A system for pattern identification, the system comprising:

one or more memories; and

one or more processors, communicatively coupled to the one or more memories, configured to:

receive, from a device, by a remote server, and via an application programming interface (API) call associated with the system, a request,

wherein the request includes a parameter that encapsulates a token associated with the device and authorizes the device to receive structured data;

receive, from a data source and by the remote server, a set of structured data including a plurality of entries;

determine, by the remote server and based on a first entry of the plurality of entries being associated with a same event as a first number of other entries of the plurality of entries, that the first number satisfies a threshold number,

wherein the same event is associated with a first type of a first recurring event;

determine, by the remote server and based on descriptive data associated with a second entry of the plurality of entries, that the second entry is associated with a second type of a second recurring event,

wherein an event associated with the second entry is related to a second number of other entries of the plurality of entries,

wherein the second number does not satisfy the threshold number, and

wherein the determination of the second entry being associated with the second type of the second recurring event enables distinguishing the first type of the first recurring event from the second type of the second recurring event;

determine, by the remote server and for the first recurring event, a first derived property;

determine, by the remote server and for the second recurring event, a second derived property;

generate, by the remote server, a data structure indicating the first recurring event, the first derived property, the second recurring event, and the second derived property; and

transmit, by the remote server and to a user device, the generated data structure.

2 . The system of claim 1 , wherein, to identify the first recurring event, the one or more processors are configured to:

apply one or more rules to the plurality of entries;

apply a machine learning model; or

a combination thereof.

3 . The system of claim 1 , wherein the descriptive data includes information of a name, and

wherein the determination that the second entry is associated with a second recurring event is based on determining that the information of the name corresponds to another name previously determined to be associated with the second recurring event.

4 . The system of claim 1 , wherein the descriptive data includes information of an amount, and

wherein the determination that the second entry is associated with a second recurring event is based on determining that the information of the amount corresponds to another amount previously determined to be associated with the second recurring event.

5 . The system of claim 1 , wherein the descriptive data includes information of a name, and

wherein the determination that the second entry is associated with a second recurring event is based on determining that the information of the name corresponds to another name in a list of names associated with the second recurring event.

6 . The system of claim 5 , wherein the list of names is determined based on a cluster analysis.

7 . The system of claim 5 , wherein the list of names is determined based on a filtering analysis.

8 . A method of pattern identification, comprising:

receiving, by a remote server and from a user device and via an application programming interface (API) call, a request that includes one or more credentials associated with a data source,

wherein the one or more credentials is associated with a parameter that encapsulates a token associated with the user device and authorizes the user device to receive structured data;

receiving, by the remote server, from the data source and using the one or more credentials, a set of structured data including a plurality of entries;

determine, by the remote server and based on a first entry of the plurality of entries being associated with a same event as a first number of other entries of the plurality of entries, that the first number satisfies a threshold number,

wherein the same event is associated with a first type of a first recurring event;

determine, by the remote server and based on descriptive data associated with a second entry of the plurality of entries, that the second entry is associated with a second type of a second recurring event,

wherein an event associated with the second entry is related to a second number of other entries of the plurality of entries,

wherein the second number does not satisfy the threshold number, and

wherein the determination of the second entry being associated with the second type of the second recurring event enables distinguishing the first type of the first recurring event from the second type of second recurring event;

determining, by the remote server and for the first recurring event, a first derived property;

determining, by the remote server and for the second recurring event, a second derived property;

generating, by the remote server, a data structure indicating the first recurring event, the second recurring event, the first derived property, and the second derived property; and

transmitting, by the remote server, to the user device, the generated data structure.

9 . The method of claim 8 , wherein the one or more credentials comprise an access token, a username and password, or a combination thereof.

10 . The method of claim 8 , further comprising:

receiving, from the user device, a request to identify recurring events,

wherein the at least one recurring event is identified in response to the request to identify recurring events.

11 . The method of claim 10 , wherein the API call is a first API call, and

wherein the request to identify recurring events is received using a second API call.

12 . The method of claim 8 , wherein the first number satisfies a threshold value, and

wherein the second number does not satisfy the threshold value.

13 . The method of claim 8 , wherein the second recurring event is determined to be an annual recurring event based on applying a plurality of rules based on at least one of a name or an amount.

14 . A non-transitory computer-readable medium storing a set of instructions for pattern identification, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

receive, from another device and via an application programming interface (API) call associated with the device, a request,

wherein the request includes a parameter that encapsulates a token associated with the device and authorizes the device to receive structured data, and

wherein the device is a remote server device that is remote to the other device;

receive, from a data source, a set of structured data including a plurality of entries;

determine, based on a first entry of the plurality of entries being associated with a same event as a first number of other entries of the plurality of entries, that the first number satisfies a threshold number,

wherein the same event is associated with a first type of a first recurring event;

determine, based on descriptive data associated with a second entry of the plurality of entries, that the second entry is associated with a second type of a second recurring event,

wherein an event associated with the second entry is related to a second number of other entries of the plurality of entries,

wherein the second number does not satisfy the threshold number, and

wherein the determination of the second entry being associated with the second type of the second recurring event enables distinguishing the first type of the first recurring event from the second type of second recurring event;

determine, for the first recurring event, a first derived property;

determine, for the second recurring event, a second derived property;

generate a data structure indicating the first recurring event, the first derived property, the second derived property, and the second recurring event; and

transmit, to another device, the generated data structure.

15 . The non-transitory computer-readable medium of claim 14 , wherein the second recurring event is annual, and wherein identifying the second recurring event comprises:

applying a plurality of rules based on at least one of a name or an amount to one entry in the plurality of entries.

16 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions, when executed, cause the device to:

perform clustering of a plurality of test transactions into a plurality of groups by name;

perform clustering on a first group, out of the plurality of groups, by amount;

generate one or more first rules, in the plurality of rules, based on clustering the first group;

perform clustering on a second group, out of the plurality of groups, by amount; and

generate one or more second rules, in the plurality of rules, based on clustering the second group.

17 . The non-transitory computer-readable medium of claim 14 , wherein the one or more instructions, when executed, cause the device to:

determine a category associated with the first recurring event,

wherein the generated data structure indicates the category.

18 . The non-transitory computer-readable medium of claim 14 , wherein the one or more instructions, when executed, cause the device to:

estimate a frequency associated with the first recurring event,

wherein the generated data structure indicates the frequency.

19 . The non-transitory computer-readable medium of claim 14 , wherein the generated data structure indicates a first date and a last date associated with first recurring event.

20 . The non-transitory computer-readable medium of claim 14 , wherein the first number satisfies a threshold value, and

wherein the second number does not satisfy the threshold value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2024
From: JIN, CHRIS; KOK, ROYCE; BORITZ, ADAM; BENNETT, ZAK; KANG, ALEX; CANO, RAYMOND
To: PLAID INC.
Reel/Frame 069537/0402 →
Continuity (2)
Provisional Application 63364789 · May 16, 2022
Related Publication 20230367774A1 · Nov 16, 2023
References Cited (8)
US 10726491B1 · Hockey · 2020 [cited by examiner]
US 20130325548A1 · Kulkarni · 2013 [cited by examiner]
US 20140173695A1 · Valdivia · 2014 [cited by examiner]
US 20160117650A1 · Weidenmiller · 2016 [cited by examiner]
US 20180246943A1 · Avagyan · 2018 [cited by examiner]
US 20190035032A1 · Soufiani · 2019 [cited by examiner]
US 20210406896A1 · Chaturvedi · 2021 [cited by examiner]
WO 2017210041A1 · 2017 [cited by applicant]