IP Library Granted Patent US 12,354,124
Granted Patent B2
US 12,354,124 · App. 18/499,613 · Granted Jul 8, 2025

Customer clustering using integer programming

Inventors: Burcu Aydin (Mountain View, CA); Michael Tamir (San Jose, CA)
Assignee: TRANSFORM SR BRANDS LLC
G06Q30/0204G06Q30/0251
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,354,124
App. No.
18/499,613
Granted
Jul 8, 2025
Kind
B2
Abstract

Methods and apparatus are disclosed regarding an e-commerce system that clusters customers based on demographic data and purchase history data for the customers. In some embodiments, the e-commerce system solves an Integer Program that accounts for the demographic data and purchase history data in order to identify a hyperplane that splits a selected cluster of customers.

Claims (36)

1. A method comprising:

tailoring a service for a particular customer according to a customer cluster that comprises the particular customer, wherein the customer cluster is one of a plurality of customer clusters; and

periodically updating the plurality of customer clusters to maximize inner-similarities among customers in each of the plurality of customer clusters, wherein the inner-similarities are determined according to purchase history data and demographic data;

solving an integer program, via a classifier, to account for the purchase history data and the demographic data of a selected customer cluster; and

iteratively dividing customer sets into two partitions, via the classifier, until a suitable number of partitions for a customer base is obtained.

2. The method of claim 1 , wherein the service comprises providing product recommendations according to the customer cluster comprising the particular customer.

3. The method of claim 1 , wherein the service comprises providing product promotions according to the customer cluster comprising the particular customer.

4. The method of claim 1 , wherein the service comprises providing coupons according to the customer cluster comprising the particular customer.

5. The method of claim 1 , wherein the inner-similarities are maximized according to one or more solutions of an integer program.

6. The method of claim 1 , wherein updating the plurality of customer clusters comprises selecting a particular customer cluster that has a population greater than a specified limit and splitting the particular customer cluster.

7. The method of claim 1 , wherein the method comprises storing the purchase history data in one or more relational database tables such that each row includes transaction data and a customer identifier that identifies a customer associated with the transaction data.

8. The method of claim 1 , wherein updating the plurality of customer clusters comprises coalescing purchased items of multiple item identifiers under a single identifier and updating the plurality of customer clusters according to the purchased items under the single identifier.

9. The method of claim 1 , wherein the plurality of customer clusters are updated according to a customer-item (CI) matrix, wherein:

each row of the CI matrix corresponds to a customer identifier,

each column of the CI matrix corresponds to a category identifier, and

each entry of the CI matrix corresponds to a quantity associated with one or more customer identifiers.

10. The method of claim 1 , wherein the plurality of customer clusters are updated according to a customer-item (CI) matrix, and wherein each column of the CI matrix is standardized according to a bin quantiles standardization (BQS).

11. A system comprising:

one or more processors configured to:

tailor a service for a particular customer according to a customer cluster that comprises the particular customer, wherein the customer cluster is one of a plurality of customer clusters; and

periodically update the plurality of customer clusters to maximize inner-similarities among customers in each of the plurality of customer clusters, wherein the inner-similarities are determined according to purchase history data and demographic data; and

a classifier operable to:

solve an integer program to account for the purchase history data and the demographic data of a selected cluster; and

iteratively divide customer sets into two partitions until a suitable number of partitions for a customer base is obtained.

12. The system of claim 11 , wherein the one or more processors are configured to provide product recommendations according to the customer cluster comprising the particular customer.

13. The system of claim 11 , wherein the one or more processors are configured to provide product promotions according to the customer cluster comprising the particular customer.

14. The system of claim 11 , wherein the one or more processors are configured to provide coupons according to the customer cluster comprising the particular customer.

15. The system of claim 11 , wherein the one or more processors are configured to maximize the inner-similarities according to one or more solutions of an integer program.

16. The system of claim 11 , wherein the one or more processors are configured to update the plurality of customer clusters by selecting a particular customer cluster that has a population greater than a specified limit and splitting the particular customer cluster.

17. The system of claim 11 , wherein the system comprises one or more relational database tables for storing the purchase history data such that each row includes transaction data and a customer identifier that identifies a customer associated with the transaction data.

18. The system of claim 11 , wherein the one or more processors are configured to coalesce purchased items of multiple item identifiers under a single identifier, and wherein the one or more processors are configured to update the plurality of customer clusters according to the purchased items under the single identifier.

19. The system of claim 11 , wherein the one or more processors are configured to update the plurality of customer clusters according to a customer-item (CI) matrix, wherein:

each row of the CI matrix corresponds to a customer identifier,

each column of the CI matrix corresponds to a category identifier, and

each entry of the CI matrix corresponds to a quantity associated with one or more customer identifiers.

20. The system of claim 11 , wherein the one or more processors are configured to update the plurality of customer clusters according to a customer-item (CI) matrix, and wherein each column of the CI matrix is standardized according to a bin quantiles standardization (BQS).

Assignments (2)
SECURITY INTEREST Recorded Jan 11, 2024
From: TRANSFORM SR BRANDS LLC
To: JPP, LLC
Reel/Frame 066099/0895 →
SECURITY INTEREST Recorded Dec 29, 2023
From: TRANSFORM SR BRANDS LLC
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 065983/0863 →