# US 11,907,208 B1 · Detecting and correcting outliers in categories of transactions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,208 B1
- Document ID: US11907208B1
- Status: Granted
- Kind: B1
- Application number: 18/162,251
- Filed: 2023-01-31
- Granted: 2024-02-20
- Earliest claimed: 2023-01-31
- Assignees: Intuit Inc.
- Applicants: Intuit Inc.
- Inventors: Yaakov Tayeb; Yael Hochma; Rineke Van Noort; Noah Eyal Altman
- Web page: https://patentgrep.com/patent/US11907208B1

## CPC

- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/285: {Clustering or classification}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure provides techniques for detecting and correcting outliers in categories of transactions. One example method includes receiving electronic transaction data indicative of one or more current transactions, wherein the one or more current transactions are associated with a user of a software application, identifying, for each transaction of the one or more transactions, a category using a first machine learning model, computing a distribution for each category of a plurality of categories of the user, identifying, a particular category of the user as an anomalous category, based on the distribution for the particular category of the user and corresponding distributions for the particular category of other users, and updating a category assigned to one or more transactions such that a delta between a value relating to the anomalous category of the user and corresponding values relating to the particular category of the other users is reduced.

## Claims

### Claim 1

A method, comprising:
receiving electronic transaction data indicative of one or more current transactions, wherein the one or more current transactions are associated with a user of a software application;
identifying, for each transaction of the one or more transactions, a category using a first machine learning model;
computing, for the user, a distribution for each category of a plurality of categories, wherein each category of the plurality of categories has also been assigned to a plurality of other transactions by other users of the software application;
identifying, using a second machine learning model, a particular category of the plurality of categories as an anomalous category for the user, based on the distribution computed for the user for the particular category and corresponding distributions for the other users for the particular category; and
updating a category assigned to at least one of the one or more transactions such that a delta between a value for the user relating to the anomalous category and corresponding values for the other users relating to the particular category is reduced.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first machine learning model comprises a model trained to identify the category based on distribution vectors of classifications assigned to recipients associated with transactions with the recipients.

### Claim 3 (depends on 2)

The method of claim 2, wherein the distribution vectors comprise distribution vectors for categories of transactions meeting a threshold number of transactions across users of a software application.

### Claim 4 (depends on 1)

The method of claim 1, wherein identifying, for each transaction of the one or more current transactions, the category using the first machine learning model comprises:
identifying a recipient associated with the transaction;
identifying one or more other transactions associated with one or more other users and with the identified recipient; and
identifying, from the one or more other transactions, one or more distinct categories associated with the one or more other transactions;
computing, for each distinct category of the one or more distinct categories, a frequency of the distinct category;
normalizing counts of the one or more distinct categories based on a sum of the counts; and
determining a category from the one or more distinct categories using the first machine learning model based on the normalized counts.

### Claim 5 (depends on 1)

The method of claim 1, wherein computing the distribution for each respective category comprises:
computing, for the respective category, one or more statistics based on transactions in the category;
normalizing each statistic of the one or more statistics based on a sum of the statistics; and
constructing a distribution based on the normalized statistics.

### Claim 6 (depends on 1)

The method of claim 1, wherein a deviation of one or more statistical measures of the anomalous category meets a threshold score.

### Claim 7 (depends on 1)

The method of claim 1, wherein identifying, using a second machine learning model, a particular category of the plurality of categories as an anomalous category for the user, based on the distribution computed for the user for the particular category and the corresponding distributions for the other users for the particular category comprises identifying a direction of an anomaly for the user of the particular category relative to statistical measures for the other users for the particular category.

### Claim 8 (depends on 7)

The method of claim 7, wherein:
the direction of the anomaly for the user indicates that an aggregate value of transactions in the particular category is higher than those for the other users in the particular category; and
updating a category assigned to one or more transactions comprises:
identifying one or more candidate transactions for the user in the particular category based on a probability that each respective candidate transaction in the particular category belongs in the category; and
reassigning the categories of the one or more candidate transactions from the particular category to the other categories until the aggregate value of transactions in the category is no longer higher than those for the other users in the particular category.

### Claim 9 (depends on 7)

The method of claim 7, wherein:
the direction of the anomaly for the user indicates that an aggregate value of transactions in the particular category is lower than those for the other users in the particular category; and
updating a category assigned to one or more transactions comprises:
identifying one or more candidate transactions for the user in the other categories based on a probability that each respective candidate transaction in the other categories belongs in the other categories; and
reassigning the categories of the one or more candidate transactions from the other categories to the particular category until the aggregate value of transactions in the particular category is no longer lower than those for the other users in the particular category.

### Claim 10

A system, comprising:
a memory including computer-executable instructions; and
a processor configured to execute the computer-executable instructions and cause the system to:
receive electronic transaction data indicative of one or more current transactions, wherein the one or more current transactions are associated with a user of a software application;
identify, for each transaction of the one or more transactions, a category using a first machine learning model;
compute, for the user, a distribution for each category of a plurality of categories, wherein each category of the plurality of categories has also been assigned to a plurality of other transactions by other users of the software application;
identify, using a second machine learning model, a particular category of the plurality of categories as an anomalous category for the user, based on the distribution computed for the user for the particular category and corresponding distributions for the other users for the particular category; and
update a category assigned to at least one of the one or more transactions such that a delta between a value for the user relating to the anomalous category and corresponding values for the other users relating to the particular category is reduced.

### Claim 11 (depends on 10)

The system of claim 10, wherein the first machine learning model comprises a model trained to identify the category based on distribution vectors of classifications assigned to recipients associated with transactions with the recipients.

### Claim 12 (depends on 11)

The system of claim 11, wherein the distribution vectors comprise distribution vectors for categories of transactions meeting a threshold number of transactions across users of a software application.

### Claim 13 (depends on 10)

The system of claim 10, wherein identifying, for each transaction of the one or more current transactions, the category using the first machine learning model comprises:
identifying a recipient associated with the transaction;
identifying one or more other transactions associated with one or more other users and with the identified recipient; and
identifying, from the one or more other transactions, one or more distinct categories associated with the one or more other transactions;
computing, for each distinct category of the one or more distinct categories, a frequency of the distinct category;
normalizing counts of the one or more distinct categories based on a sum of the counts; and
determining a category from the one or more distinct categories using the first machine learning model based on the normalized counts.

### Claim 14 (depends on 10)

The system of claim 10, wherein computing the distribution for each respective category comprises:
computing, for the respective category, one or more statistics based on transactions in the category;
normalizing each statistic of the one or more statistics based on a sum of the statistics; and
constructing a distribution based on the normalized statistics.

### Claim 15 (depends on 10)

The system of claim 10, wherein a deviation of one or more statistical measures of the anomalous category meets a threshold score.

### Claim 16 (depends on 10)

The system of claim 10, wherein identifying, using a second machine learning model, a particular category of the plurality of categories as an anomalous category for the user, based on the distribution computed for the user for the particular category and the corresponding distributions for the other users for the particular category comprises identifying a direction of an anomaly for the user of the particular category relative to statistical measures for the other users for the particular category.

### Claim 17 (depends on 16)

The system of claim 16, wherein:
the direction of the anomaly for the user indicates that an aggregate value of transactions in the particular category is higher than those for the other users in the particular category; and
updating a category assigned to one or more transactions comprises:
identifying one or more candidate transactions for the user in the particular category based on a probability that each respective candidate transaction in the particular category belongs in the category; and
reassigning the categories of the one or more candidate transactions from the particular category to the other categories until the aggregate value of transactions in the category is no longer higher than those for the other users in the particular category.

### Claim 18 (depends on 16)

The system of claim 16, wherein:
the direction of the anomaly for the user indicates that an aggregate value of transactions in the particular category is lower than those for the other users in the particular category; and
updating a category assigned to one or more transactions comprises:
identifying one or more candidate transactions for the user in the other categories based on a probability that each respective candidate transaction in the other categories belongs in the other categories; and
reassigning the categories of the one or more candidate transactions from the other categories to the particular category until the aggregate value of transactions in the particular category is no longer lower than those for the other users in the particular category.

### Claim 19

A non-transitory computer readable medium comprising instructions to be executed in a computer system, wherein the instructions when executed in the computer system cause the computer system to:
receive electronic transaction data indicative of one or more current transactions, wherein the one or more current transactions are associated with a user of a software application;
identify, for each transaction of the one or more transactions, a category using a first machine learning model;
compute, for the user, a distribution for each category of a plurality of categories, wherein each category of the plurality of categories has also been assigned to a plurality of other transactions by other users of the software application;
identify, using a second machine learning model, a particular category of the plurality of categories as an anomalous category for the user, based on the distribution computed for the user for the particular category and corresponding distributions for the other users for the particular category; and
update a category assigned to at least one of the one or more transactions such that a delta between a value for the user relating to the anomalous category and corresponding values for the other users relating to the particular category is reduced.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein the first machine learning model comprises a model trained to identify the category based on distribution vectors of classifications assigned to recipients associated with transactions with the recipients.
