IP Library Granted Patent US 11,288,688
Granted Patent B2
US 11,288,688 · App. 16/366,542 · Granted Mar 29, 2022

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 11,288,688
App. No.
16/366,542
Granted
Mar 29, 2022
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 (26)

1. A method comprising:

providing a service with a first computing system, wherein providing the service comprises a first processor of the first computing system, in response to executing first instructions, tailoring the service to a customer based on a customer cluster from a plurality of customer clusters in which the customer resides;

periodically updating the plurality of customer clusters with a second computing system, wherein periodically updating the plurality of customer clusters comprises using, in response to executing second instructions of a classifier, a second processor of the second computing system for updating the plurality of customer clusters based on purchase history data and demographic data for a plurality of customers, wherein updating the plurality of customer clusters comprises using, in response to executing the second instructions of the classifier, the second processor for solving an Integer Program that accounts for the purchase history data and the demographic data of a selected customer cluster; and

providing the first processor of the first computing system with the plurality of customer clusters updated by the second processor of the second computing system to permit the first processor of the first computing system to continue to provide the service without incurring an overhead associated with processing of the purchase history data and the demographic data per the second instructions of the classifier.

2. The method of claim 1 , wherein providing the service with the first computing system comprises providing product recommendations based on the customer cluster in which the customer resides.

3. The method of claim 1 , wherein providing the service with the first computing system comprises providing product promotions based on the customer cluster in which the customer resides.

4. The method of claim 1 , wherein providing the service with the first computing system comprises providing coupons based on the customer cluster in which the customer resides.

5. The method of claim 1 , wherein updating the plurality of customer clusters comprises using, in response to executing the second instructions of the classifier, the second processor for selecting a first customer cluster that has a population greater than a specified limit and splitting the first customer cluster.

6. The method of claim 1 , further comprising 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.

7. The method of claim 1 , wherein updating the plurality of customer clusters comprises using, in response to executing the second instructions of the classifier, the second processor for coalescing purchased items of multiple item identifiers under a single identifier and updating the plurality of customer clusters based on the purchased items under the single identifier.

8. The method of claim 1 , wherein updating the plurality of customer clusters comprises using, in response to executing the second instructions of the classifier, the second processor for updating the plurality of customer clusters based on a customer-item (CI) matrix, wherein each row of corresponds to a customer identifier, each column corresponds to a category identifier, and each entry corresponds to a quantity associated with a customer identifier, category identifier pair.

9. The method of claim 8 , wherein updating the plurality of customer clusters comprises using, in response to executing the second instructions of the classifier, the second processor for separately standardizing each column of the CI matrix using a bin quantiles standardization (BQS) technique.

10. A system for providing a service to a customer, the system comprising:

a first computing system comprising a first processor that, in response to executing first instructions, is configured to tailor the service for the customer based on a customer cluster from a plurality of customer clusters in which the customer resides; and

a second computing system comprising a second processor that, in response to executing second instructions of a classifier, is configured to periodically update the plurality of customer clusters based on purchase history data and demographic data for a plurality of customers;

wherein the second computing system is configured to update the plurality of customer clusters by solving an Integer Program that accounts for the purchase history data and the demographic data of a selected cluster;

wherein the second computing system is configured to provide the first computing system with the plurality of customer clusters as updated per execution of the second instructions of the classifier by the second processor; and

wherein the first computing system is configured to provide the service, per the plurality of customer clusters as updated per execution of the second instructions of the classifier by the second processor, without incurring an overhead associated with processing of the purchase history data and the demographic data per the second instructions of the classifier.

11. The system of claim 10 , wherein the first computing system is configured to tailor the service by providing product recommendations based on the customer cluster in which the customer resides.

12. The system of claim 10 , wherein the first computing system is configured to tailor the service by providing product promotions based on the customer cluster in which the customer resides.

13. The system of claim 10 , wherein the first computing system is configured to tailor the service by providing coupons based on the customer cluster in which the customer resides.

14. The system of claim 10 , wherein the second computing system is configured to update the plurality of customer clusters by selecting a first customer cluster that has a population greater than a specified limit and splitting the first customer cluster.

15. The system of claim 10 , wherein the second computing system is further configured to access the purchase history data from one or more relational database tables, wherein each row includes transaction data and a customer identifier that identifies a customer associated with the transaction data.

16. The system of claim 10 , wherein the second computing system is further configured to coalesce purchased items of multiple item identifiers under a single identifier and update the plurality of customer clusters based on the purchased items under the single identifier.

17. The system of claim 10 , wherein the second computing system is further configured to form a customer-item (CI) matrix, wherein each row of corresponds to a customer identifier, each column corresponds to a category identifier, and each entry corresponds to a quantity associated with a customer identifier, category identifier pair.

18. The system of claim 17 , wherein the second computing system is further configured to separately standardize each column of the CI matrix using a bin quantiles standardization (BQS) technique.

Assignments (5)
SECURITY INTEREST Recorded May 7, 2021
From: TRANSFORM SR BRANDS LLC
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 056179/0863 →
SECURITY INTEREST Recorded May 15, 2020
From: TRANSFORM SR BRANDS LLC
To: JPP, LLC
Reel/Frame 053467/0062 →
RELEASE OF SECURITY INTEREST Recorded Mar 17, 2020
From: CANTOR FITZGERALD SECURITIES
To: TRANSFORM SR BRANDS LLC
Reel/Frame 052184/0782 →
SECURITY INTEREST Recorded Sep 20, 2019
From: TRANSFORM SR BRANDS LLC
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 050451/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2019
From: SEARS BRANDS, L.L.C.
To: TRANSFORM SR BRANDS LLC
Reel/Frame 048769/0607 →