# US 12,596,726 B2 · Method and system for efficient segmentation for forecasting

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

- Number: US 12,596,726 B2
- Document ID: US12596726B2
- Status: Granted
- Kind: B2
- Application number: 18/899,441
- Filed: 2024-09-27
- Published: 2025-04-03
- Granted: 2026-04-07
- Earliest claimed: 2023-09-29
- Assignees: Kinaxis Inc.
- Applicants: Kinaxis Inc.
- Inventors: Behrouz Haji Soleimani
- Web page: https://patentgrep.com/patent/US12596726B2

## CPC

- G06F 16/285: {Clustering or classification}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for partitioning forecast items into segments, or groups, based on an attribute. Once partitioned, segments are aggregated based on a predetermined memory size limit using an aggregation method. Aggregation methods include methods for providing segments that have a similar number of records. Segmentation is further enhanced by including variance reduction gain as a metric for selecting the order of attributes.

## Claims

### Claim 1

A computing apparatus comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the apparatus to:
segment a root node that includes a dataset, into a plurality of segments according to a first attribute, the root node exceeding a memory threshold;
aggregate two or more of the segments into one or more aggregated segments, the one or more aggregated segments each having a memory size equal to or below the memory threshold; and
recursively:
segment, according to successive attributes, any segment that exceeds the memory threshold; and
aggregate two or more segments into aggregated segments that are less than or equal to the memory threshold;
until no further segmentation or aggregation can be performed.

### Claim 2 (depends on 1)

The computing apparatus of claim 1, wherein aggregating is based on memory usage and resource utilization.

### Claim 3 (depends on 2)

The computing apparatus of claim 2, wherein aggregating is based on a best-fit algorithm.

### Claim 4 (depends on 2)

The computing apparatus of claim 2, wherein aggregating is based on an entropy-based algorithm.

### Claim 5 (depends on 1)

The computing apparatus of claim 1, wherein aggregating is based on grouping segments with similar features.

### Claim 6

A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:
segment a root node that includes a dataset, into a plurality of segments according to a first attribute, the root node exceeding a memory threshold;
aggregate two or more of the segments into one or more aggregated segments, the one or more aggregated segments each having a memory size equal to or below the memory threshold; and
recursively:
segment, according to successive attributes, any segment that exceed the memory threshold; and
aggregate two or more segments into aggregated segments that are less than or equal to the memory threshold,
until no further segmentation or aggregation can be performed.

### Claim 7 (depends on 6)

The computer-readable storage medium of claim 6, wherein aggregating is based on memory usage and resource utilization.

### Claim 8 (depends on 7)

The computer-readable storage medium of claim 7, wherein aggregating is based on a best-fit algorithm.

### Claim 9 (depends on 7)

The computer-readable storage medium of claim 7, wherein aggregating is based on an entropy-based algorithm.

### Claim 10 (depends on 6)

The computer-readable storage medium of claim 6, wherein aggregating is based on grouping segments with similar features.

### Claim 11

A computer-implemented method for segmenting a dataset into a plurality of segments, the dataset grouped according to a plurality of attributes, the method comprising:
segmenting a root node that includes the dataset, into a plurality of segments according to a first attribute, the root node exceeding a memory threshold;
aggregating two or more segments into one or more aggregated segments, the one or more aggregated segments each having a memory size equal to or below the memory threshold; and
recursively:
segmenting, according to successive attributes, any segment that exceed the memory threshold; and
aggregating two or more segments into aggregated segments that are less than or equal to the memory threshold;
until no further segmentation or aggregation can be performed.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein aggregating is based on memory usage and resource utilization.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein aggregating is based on a best-fit algorithm.

### Claim 14 (depends on 12)

The computer-implemented method of claim 12, wherein aggregating is based on an entropy-based algorithm.

### Claim 15 (depends on 11)

The computer-implemented method of claim 11, wherein aggregating is based on grouping segments with similar features.
