IP Library Granted Patent US 12,412,103
Granted Patent B1
US 12,412,103 · App. 17/589,445 · Granted Sep 9, 2025

Monitoring and visualization of model-based clustering definition performance

Inventors: Yanpei Chen (Sunnyvale, CA); Archana Ganapathi (Palo Alto, CA)
Assignee: SPLUNK LLC
G06N5/022G06Q30/0201
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,412,103
App. No.
17/589,445
Filed
Jan 31, 2022
Granted
Sep 9, 2025
Kind
B1
Art Unit
2148
USPC
706/12
Abstract

This document discloses methods and systems for cohort identification. The methods and systems include improved calculations to perform cohort identification and practical applications of the improved calculations. Specifically, the systems and methods described herein may utilize key components that include enhancements of existing cohort clustering techniques with regard to selecting a number of cohort input dimensions, normalizing input data using a logarithm kernel-function, treatment of categorical data with mutually exclusive and not-mutually exclusive values, methods and visualization tool to determine appropriate number of cohorts, methods and visualization tool to compare cohorts extracted from different input dimensions, and methods to quantify the difference in cohorts. Beyond improvements to the cohort clustering techniques, also disclosed are ancillary tools to prepare input data by joining CRM and product usage data and facilitate subsequent automated action via an API to retrieve cohort results.

Claims (70)

1. A computing device, comprising:

one or more hardware processors; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations comprising:

generating a cohort definition using a machine learning model based on a combination of a number (D) of dimensions selected from a first data set comprising first data points, wherein the cohort definition clusters the first data points into a number (K) of first clusters, each of the first clusters having a first center point;

applying the machine learning model to a second data set comprising second data points to determine a second center point for each of K of second clusters;

causing a user interface to be presented on a display device, the user interface comprising an indication of a difference measure between the first clusters and the second clusters, wherein the different measure is generated based on a difference vector determined for each second center point and a nearest first center point.

2. The computing device of claim 1 , the operations further comprising:

determining, for each second cluster:

a first cluster having a first center point nearest to the second center point of the second cluster; and

a difference scalar between a number of second data points assigned to the second cluster and a number of first data points assigned to the first cluster;

wherein the determining of the difference measure between the first clusters and the second clusters is further based on the determined difference scalars.

3. The computing device of claim 1 , the operations further comprising:

based on the difference measure between the first clusters and the second clusters and a predetermined threshold, the user interface further comprises a recommendation to select different dimensions for clustering.

4. The computing device of claim 1 , the operations further comprising:

applying the cohort definition to a third data set comprising third data points to determine a third center point for each of K of third clusters and assign each data point in the third data set to a third cluster;

determining, for each third center point, a second difference vector from a nearest second center point to the third center point; and

based on the determined second difference vectors, determining a second difference measure between the second clusters and the third clusters;

wherein the user interface further comprises an indication of the second difference measure.

5. The computing device of claim 1 , wherein:

the first data points comprise data for a first period of time; and

the second data points comprise data for a second period of time.

6. The computing device of claim 1 , wherein the applying of the cohort definition to the first data set comprising the first data points comprises applying K-means clustering to the first data points.

7. The computing device of claim 1 , wherein the operations further comprise:

generating the first data points by linking customer relationship management (CRM) and product usage data using shared identifiers.

8. The computing device of claim 7 , wherein the operations further comprise:

accessing CRM data that indicates a parent-subsidiary relationship between a parent account and a subsidiary account; and

accessing first product usage data that is linked to both the parent account and the subsidiary account; wherein

the generating of the first data points comprises generating a data point that links the first product usage data to the subsidiary account.

9. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:

generating a cohort definition using a machine learning model based on a combination of a number (D) of dimensions selected from a first data set comprising first data points, wherein the cohort definition clusters the first data points into a number (K) of first clusters, each of the first clusters having a first center point;

applying the machine learning model to a second data set comprising second data points to determine a second center point for each of K of second clusters;

causing a user interface to be presented on a display device, the user interface comprising an indication of a difference measure between the first clusters and the second clusters, wherein the different measure is generated based on a difference vector determined for each second center point and a nearest first center point.

10. The non-transitory computer-readable medium of claim 9 , the operations further comprising:

determining, for each second cluster:

a first cluster having a first center point nearest to the second center point of the second cluster; and

a difference scalar between a number of second data points assigned to the second cluster and a number of first data points assigned to the first cluster;

wherein the determining of the difference measure between the first clusters and the second clusters is further based on the determined difference scalars.

11. The non-transitory computer-readable medium of claim 9 , the operations further comprising:

based on the difference measure between the first clusters and the second clusters and a predetermined threshold, the user interface further comprises a recommendation to select different dimensions for clustering.

12. The non-transitory computer-readable medium of claim 9 , the operations further comprising:

applying the cohort definition to a third data set comprising third data points to determine a third center point for each of K of third clusters and assign each data point in the third data set to a third cluster;

determining, for each third center point, a second difference vector from a nearest second center point to the third center point; and

based on the determined second difference vectors, determining a second difference measure between the second clusters and the third clusters;

wherein the user interface further comprises an indication of the second difference measure.

13. The non-transitory computer-readable medium of claim 9 , wherein:

the first data points comprise data for a first period of time; and

the second data points comprise data for a second period of time.

14. The non-transitory computer-readable medium of claim 9 , wherein the applying of the cohort definition to the first data set comprising the first data points comprises applying K-means clustering to the first data points.

15. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise:

generating the first data points by linking customer relationship management (CRM) and product usage data using shared identifiers.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

accessing CRM data that indicates a parent-subsidiary relationship between a parent account and a subsidiary account; and

accessing first product usage data that is linked to both the parent account and the subsidiary account; wherein

the generating of the first data points comprises generating a data point that links the first product usage data to the subsidiary account.

17. A computer-implemented method, comprising:

generating, by one or more processors, a cohort definition using a machine learning model based on a combination of a number (D) of dimensions selected from a first data set comprising first data points, wherein the cohort definition clusters the first data points into a number (K) of first clusters, each of the first clusters having a first center point;

applying the machine learning model to a second data set comprising second data points to determine a second center point for each of K of second clusters;

causing a user interface to be presented on a display device, the user interface comprising an indication of a difference measure between the first clusters and the second clusters, wherein the different measure is generated based on a difference vector determined for each second center point and a nearest first center point.

18. The computer-implemented method of claim 17 , further comprising:

determining, for each second cluster:

a first cluster having a first center point nearest to the second center point of the second cluster; and

a difference scalar between a number of second data points assigned to the second cluster and a number of first data points assigned to the first cluster;

wherein the determining of the difference measure between the first clusters and the second clusters is further based on the determined difference scalars.

19. The computer-implemented method of claim 17 , further comprising:

based on the difference measure between the first clusters and the second clusters and a predetermined threshold, the user interface further comprises a recommendation to select different dimensions for clustering.

20. The computer-implemented method of claim 17 , further comprising:

applying the cohort definition to a third data set comprising third data points to determine a third center point for each of K of third clusters and assign each data point in the third data set to a third cluster;

determining, for each third center point, a second difference vector from a nearest second center point to the third center point; and

based on the determined second difference vectors, determining a second difference measure between the second clusters and the third clusters;

wherein the user interface further comprises an indication of the second difference measure.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: CHEN, YANPEI; GANAPATHI, ARCHANA
To: SPLUNK INC.
Reel/Frame 059560/0111 →
Continuity (1)
Provisional Application 63143477 · Jan 29, 2021
References Cited (23)
US 5832182A · Zhang et al. · 1998 [cited by applicant]
US 6408402B1 · Norman · 2002 [cited by applicant]
US 7359913B1 · Ordonez · 2008 [cited by applicant]
US 10546233B1 · Bhattacharyya · 2020 [cited by examiner]
US 10789543B1 · Sun · 2020 [cited by examiner]
US 11544317B1 · Pancha · 2023 [cited by examiner]
US 11862346B1 · Boussios · 2024 [cited by examiner]
US 20030083933A1 · McAlear · 2003 [cited by applicant]
US 20060026036A1 · Mahmood · 2006 [cited by examiner]
US 20100159438A1 · German et al. · 2010 [cited by applicant]
US 20120041851A1 · Tan · 2012 [cited by applicant]
US 20130096835A1 · Chok et al. · 2013 [cited by applicant]
US 20170154280A1 · Adir et al. · 2017 [cited by applicant]
US 20180144003A1 · Formoso · 2018 [cited by examiner]
US 20180285526A1 · Wickson · 2018 [cited by examiner]
US 20190028766A1 · Wold et al. · 2019 [cited by applicant]
US 20200175410A1 · Panging et al. · 2020 [cited by applicant]
US 20210035658A1 · Neumann · 2021 [cited by examiner]
US 20220100960A1 · Therani · 2022 [cited by examiner]
US 20230043354A1 · Knicker et al. · 2023 [cited by applicant]
Final Office Action received for U.S. Appl. No. 17/589,414 dated Dec. 12, 2023, 15 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 17/589,414 dated Apr. 29, 2024, 18 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 17/589,414 dated Aug. 1, 2023, 13 pages. [cited by applicant]
Cited By (3)
US 12,634,213 US 12,634,350 US 12,699,639