# US 10,769,584 B2 · Inventory control system and method

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

- Number: US 10,769,584 B2
- Document ID: US10769584B2
- Status: Granted
- Kind: B2
- Application number: 16/104,762
- Filed: 2018-08-17
- Published: 2020-02-20
- Granted: 2020-09-08
- Earliest claimed: 2018-08-17
- Assignees: The Boeing Company
- Applicants: The Boeing Company
- Inventors: Stefan Partin; Daniel Volk
- Web page: https://patentgrep.com/patent/US10769584B2

## CPC

- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06F 17/16: Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)}
- G06Q 10/08726: {for replenishment processing, procedures, or recommendations using forecasting or optimisation}
- G06Q 10/0877: {by inventory control or reporting using inventory tracking or counting}
- G06Q 30/0202: Market predictions or forecasting for commercial activities
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An inventory control system is configured to perform operations including generating an initial demand matrix and generating a plurality of synthetic demand matrices. The operations also include identifying sparse demand vectors in the synthetic demand matrices, where each sparse demand vector represents synthetic demand that satisfies a sparse demand criteria. The operations also include modifying synthetic demand values based on the sparse demand vectors to generate filtered synthetic demand matrices. The operations include generating estimated demand for a target period for each inventory item based on the filtered synthetic demand matrices and the initial demand matrix and comparing the estimated demand to inventory data to determine whether one or more inventory items should be acquired. The operations include generating and sending a demand signal to cause the one or more inventory items to be acquired.

## Claims

### Claim 1

An inventory control system comprising:
one or more memory devices storing inventory data, inventory control instructions, inventory control parameters, and historical demand data, the historical demand data indicating demand for each of a plurality of inventory items during a plurality of time periods; and
a processor configured to execute the inventory control instructions, wherein the inventory control instructions, when executed by the processor cause the processor to perform operations comprising:
generating, based on the historical demand data, an initial demand matrix including a plurality of demand value cells, each demand value cell storing a demand value indicating demand, during a respective time period, for a respective inventory item of the plurality of inventory items;
generating, based on the historical demand data, a plurality of synthetic demand matrices, each synthetic demand matrix of the plurality of synthetic demand matrices including a plurality of synthetic demand values arranged in synthetic demand value cells, each synthetic demand value determined by using a randomization process to assign a demand value for a particular inventory item and for a first historical period as a synthetic demand value for the particular inventory item and for a second historical period;
identifying sparse demand vectors for the synthetic demand matrices, each sparse demand vector including values indicating synthetic demand that satisfies a sparse demand criteria of the inventory control parameters;
modifying the synthetic demand matrices based on sparse demand vectors to generate a plurality of filtered synthetic demand matrices;
generating estimated demand for a target period for each inventory item of the plurality of inventory items, the estimated demand generated based on the filtered synthetic demand matrices and the initial demand matrix;
performing a comparison of the estimated demand and the inventory data to determine whether one or more inventory items should be acquired; and
responsive to determining that one or more inventory items should be acquired, generating and sending a demand signal to cause the one or more inventory items to be acquired.

### Claim 2 (depends on 1)

The inventory control system of claim 1, wherein the demand signal is sent to a manufacturing system to cause the one or more inventory items to be manufactured.

### Claim 3 (depends on 1)

The inventory control system of claim 1, wherein the demand signal is sent to an inventory control device to cause the one or more inventory items to be relocated from a first location to a second location.

### Claim 4 (depends on 1)

The inventory control system of claim 1, wherein the historical demand data identifies a plurality of historical transactions, and wherein generating the initial demand matrix comprises:
aggregating transactions of the plurality of historical transactions by inventory item and historical period to generate time series demand data for each inventory item; and
storing respective demand values, based on the time series demand data, in corresponding demand value cells.

### Claim 5 (depends on 4)

The inventory control system of claim 4, wherein first time series demand data represents demand for a first inventory item for each of a first set of time periods, wherein second time series demand data represents demand for a second inventory item for each of a second set of time periods, wherein the first set of time periods have a first time interval spacing, and wherein the second set of time periods have a second time interval spacing that is different from the first time interval spacing.

### Claim 6 (depends on 1)

The inventory control system of claim 1, wherein identifying the sparse demand vectors comprises:
determining a demand count for each inventory item vector of each synthetic demand matrix;
comparing the demand count for each inventory item vector to a count threshold of the inventory control parameters; and
wherein modifying the synthetic demand matrices based on sparse demand vectors includes:
generating a filter matrix, the filter matrix including a zero for each item vector of each synthetic demand matrix having a demand count that fails to satisfy the count threshold and the filter matrix including a one for each item vector of each synthetic demand matrix having a demand count that satisfies the count threshold; and
dividing the synthetic demand matrices by the filter matrix to generate the filtered synthetic demand matrices.

### Claim 7 (depends on 6)

The inventory control system of claim 6, wherein the sparse demand criteria includes the count threshold and a demand threshold, and wherein the demand count for a particular inventory item vector indicates a number of synthetic demand values in the particular inventory item vector that satisfy the demand threshold.

### Claim 8 (depends on 1)

The inventory control system of claim 1, wherein generating the estimated demand for the target period for each inventory item of the plurality of inventory items comprises generating, based on the filtered synthetic demand matrices and the initial demand matrix, an estimated demand matrix, the estimated demand matrix including an estimated demand value for each inventory item of the plurality of inventory items for each historical period and for the target period.

### Claim 9 (depends on 8)

The inventory control system of claim 8, wherein the operations further comprise:
generating, based on the estimated demand matrix, a demand distribution for each inventory item of the plurality of inventory items; and
determining, based on the demand distribution for each inventory item of the plurality of inventory items, at least one upper demand bound and at least one lower demand bound for each inventory item of the plurality of inventory items.

### Claim 10 (depends on 9)

The inventory control system of claim 9, wherein the inventory data indicates a count of instances of each inventory item at each of a plurality of geographically separated locations, wherein an upper demand bound and a lower demand bound is determined for each location of the plurality of geographically separated locations for each inventory item, and wherein performing the comparison of the estimated demand and the inventory data includes:
determining whether a count of instances for a particular inventory item and a particular location is within a range of demand indicated by the upper demand bound and the lower demand bound of the particular inventory item and the particular location, wherein the demand signal is sent based on determining that the count of instances is not within the range of demand.

### Claim 11 (depends on 9)

The inventory control system of claim 9, wherein the operations further comprise, before generating the estimated demand matrix:
shifting one or more inventory item vectors of the filtered synthetic demand matrices and the initial demand matrix such that each of the one or more inventory item vectors has a non-zero demand value for an earliest time period;
generating a mask matrix identifying filler demand values added during the shifting of the one or more inventory item vectors; and
using the mask matrix to mask from the estimated demand matrix each filler demand value to generate a masked estimated demand matrix, wherein the masked estimated demand matrix is used to generate the demand distribution for each inventory item of the plurality of inventory items.

### Claim 12 (depends on 8)

The inventory control system of claim 8, wherein generating the estimated demand matrix comprises, in parallel for multiple inventory items of the plurality of inventory items, calculating the estimated demand value for each inventory item of the plurality of inventory items for each historical period and for the target period based on a magnitude smoothing factor, a transaction frequency smoothing parameter, each non-zero demand value of the filtered synthetic demand matrices, and each non-zero demand value of the initial demand matrix.

### Claim 13

A computer readable storage device storing instructions that are executable by a processor to cause the processor to perform inventory control operations comprising:
generating, based on historical demand data, an initial demand matrix including a plurality of demand value cells, each demand value cell storing a demand value indicating demand, during a respective time period, for a respective inventory item of a plurality of inventory items;
generating, based on the historical demand data, a plurality of synthetic demand matrices, each synthetic demand matrix of the plurality of synthetic demand matrices including a plurality of synthetic demand values arranged in synthetic demand value cells, each synthetic demand value determined by using a randomization process to assign a demand value for a particular inventory item and for a first historical period as a synthetic demand value for the particular inventory item and for a second historical period;
identifying sparse demand vectors for the synthetic demand matrices, each sparse demand vector including values indicating synthetic demand that satisfies a sparse demand criteria of inventory control parameters;
modifying the synthetic demand matrices based on sparse demand vectors to generate a plurality of filtered synthetic demand matrices;
generating estimated demand for a target period for each inventory item of the plurality of inventory items, the estimated demand generated based on the filtered synthetic demand matrices and the initial demand matrix;
performing a comparison of the estimated demand and inventory data to determine whether one or more inventory items should be acquired; and
responsive to determining that one or more inventory items should be acquired, generating and sending a demand signal to cause the one or more inventory items to be acquired.

### Claim 14 (depends on 13)

The computer readable storage device of claim 13, wherein the demand signal is sent to a manufacturing system to cause the one or more inventory items to be manufactured.

### Claim 15 (depends on 13)

The computer readable storage device of claim 13, wherein the demand signal is sent to an inventory control device to cause the one or more inventory items to be relocated from a first location to a second location.

### Claim 16 (depends on 13)

The computer readable storage device of claim 13, wherein the inventory control operations further comprise:
generating a demand distribution for each inventory item of the plurality of inventory items;
determining, based on the demand distribution for each inventory item of the plurality of inventory items, at least one upper demand bound and at least one lower demand bound for each inventory item of the plurality of inventory items; and
determining whether a count of instances for a particular inventory item and a particular location is within a range of demand indicated by the upper demand bound and the lower demand bound of the particular inventory item and the particular location, wherein the demand signal is sent based on determining that the count of instances is not within the range of demand.

### Claim 17

A computer-implemented method of inventory control, the method comprising:
generating, by a processor based on historical demand data, an initial demand matrix including a plurality of demand value cells, each demand value cell storing a demand value indicating demand, during a respective time period, for a respective inventory item of a plurality of inventory items;
generating, by the processor based on the historical demand data, a plurality of synthetic demand matrices, each synthetic demand matrix of the plurality of synthetic demand matrices including a plurality of synthetic demand values arranged in synthetic demand value cells, each synthetic demand value determined by using a randomization process to assign a demand value for a particular inventory item and for a first historical period as a synthetic demand value for the particular inventory item and for a second historical period;
identifying sparse demand vectors for the synthetic demand matrices, each sparse demand vector including values indicating synthetic demand that satisfies a sparse demand criteria of inventory control parameters;
modifying the synthetic demand matrices based on sparse demand vectors to generate a plurality of filtered synthetic demand matrices;
generating, by the processor, estimated demand for a target period for each inventory item of the plurality of inventory items, the estimated demand generated based on the filtered synthetic demand matrices and the initial demand matrix;
performing, by the processor, a comparison of the estimated demand and inventory data to determine whether one or more inventory items should be acquired; and
responsive to determining that one or more inventory items should be acquired, generating and sending, by the processor, a demand signal to cause the one or more inventory items to be acquired.

### Claim 18 (depends on 17)

The computer-implemented method of claim 17, wherein the processor sends the demand signal to a manufacturing system to cause the one or more inventory items to be manufactured.

### Claim 19 (depends on 17)

The computer-implemented method of claim 17, wherein the processor sends the demand signal to an inventory control device to cause the one or more inventory items to be relocated from a first location to a second location.

### Claim 20 (depends on 17)

The computer-implemented method of claim 17, further comprising:
generating, by the processor, a demand distribution for each inventory item of the plurality of inventory items;
determining, by the processor based on the demand distribution for each inventory item of the plurality of inventory items, at least one upper demand bound and at least one lower demand bound for each inventory item of the plurality of inventory items; and
determining, by the processor, whether a count of instances for a particular inventory item and a particular location is within a range of demand indicated by the upper demand bound and the lower demand bound of the particular inventory item and the particular location, wherein the processor sends the demand signal based on determining that the count of instances is not within the range of demand.
