IP Library Granted Patent US 12682367
Granted Patent B2
US 12682367 · App. 18/071,802 · Granted Jul 14, 2026

Systems and methods for features engineering

Inventors: Sebastien Ouellet (Ottawa, CA); Zhen Lin (Kanata, CA); Christopher Wang (Ottawa, CA); Chantal Bisson-Krol (Kanata, CA)
Assignee: Kinaxis Inc.
G06Q30/0205G06F18/211G06F18/217G06F18/22G06F18/251G06F18/285G06N20/00
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 12682367
App. No.
18/071,802
Granted
Jul 14, 2026
Kind
B2
Abstract

Systems and methods for features engineering, in which internal and external signals are received and fused. The fusing is based on meta-data of each of the one or more internal signals and each of the one or more external signals. A set of features is generated based on one or more valid combinations that match a transformation input, the transformation forming part of library of transformations. Finally, a set of one or more features is selected from the plurality of features, based on a predictive strength of each feature. The set of selected features can be used to train and select a machine learning model.

Claims (168)

1 . A computer-implemented method comprising:

engineering, by a processor, one or more features; and

choosing, by the processor, a forecasting method to make a forecast, based on a forecast request;

wherein engineering one or more features comprises:

receiving, by the processor, internal signal data;

receiving, by the processor, external signal data;

fusing, by the processor, data from the internal signal data and the external signal data, the fusing based on meta-data of each of the internal signal data and each of the external signal data;

generating, by the processor, a plurality of features from the fused data based on one or more valid combinations that match a transformation input, the transformation forming part of a library of transformations; and

selecting, by the processor, one or more features from the plurality of features, based on a predictive strength of each feature, to provide a set of selected features; and wherein choosing the forecasting method comprises:

training, by the processor, one or more machine learning models, using the set of selected features;

wherein the computer comprises the processor and a memory storing instructions that configure the processor to execute the method of each of:

i) selecting, by the processor, a machine learning model from the one or more machine learning models to make the forecast, the selecting comprising:

training, by the processor, the one or more machine learning models on a first portion of a data set;

validating, by the processor, the machine learning model on a second portion of the data set; and

retraining, by the processor, the machine learning model on a sum of the first portion and the second portion;

ii) retraining, by the processor, a previously-selected machine learning model from the one or more machine learning models and using the retrained model to make the forecast; and

iii) making, by the processor, the forecast based on the previously-selected machine learning model; and

the computer comprises the processor and a memory storing instructions that, when executed by the processor, configure the system to select and execute the method of i), ii), or iii) based on whether the forecast request is or is not a first request.

2 . The computer-implemented method of claim 1 , wherein:

the forecast request is the first request; and

for the retraining, by the processor, the machine learning model on the sum of the first portion and the second portion, the data set comprises a sum total of data associated with the set of selected features.

3 . The computer-implemented method of claim 1 , wherein:

the forecast request is not the first request;

a new category of processed data has been added to storage since a most recent forecast, the new category of processed data comprising at least one of a new category of processed historical product data and a new category of processed historical location data; and

the data set is an expanded data set.

4 . The computer-implemented method of claim 1 , wherein:

the forecast request is not the first request;

an additional amount of processed data has been added to storage since a most recent forecast, the additional amount of processed data comprising at least one of new processed historical product data and new processed historical location data;

the additional amount of processed data exceeds a threshold; and

the data set is an expanded data set.

5 . The computer-implemented method of claim 1 , wherein:

the forecast request is not the first request,

the data set is an expanded data set, and

the method further comprises:

evaluating, by the processor, a forecast accuracy of the forecast against incoming processed historical product data; and

selecting, by the processor, the machine learning model if the forecast accuracy falls below a threshold, comprises:

training, by the processor, the plurality of machine learning models on the first portion of the expanded data set, the expanded data set comprising the incoming processed historical product data;

validating, by the processor, the machine learning model on the second portion of the expanded data set; and

retraining, by the processor, the machine learning model on the sum total of the first portion and the second portion.

6 . The computer-implemented method of claim 1 , wherein:

the forecast request is not the first request;

the data set is an expanded data set; and

the method further comprises:

evaluating, by the processor, a time interval between a most recent forecast and the request; and

retraining the previously selected machine learning model if the time interval exceeds a threshold, comprising:

retraining, by the processor, the previously-selected machine learning model on the expanded data set comprising new processed data collected during the time interval.

7 . The computer-implemented method of claim 1 , wherein training the one or more machine learning models comprises:

training, by the processor, one or more configurations of a machine learning model of the one or more models.

8 . The computer-implemented method of claim 7 , wherein a configuration of the one or more configurations comprises a number of layers in a neural network of the machine learning model.

9 . A system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the system to:

engineer, by the processor, one or more features; and

choose, by the processor, a forecasting method to make a forecast, based on a forecast request;

wherein when engineering the one or more features, the system is configured to:

receive, by the processor, internal signal data;

receive, by the processor, external signal data;

fuse, by the processor, data from the internal signal data and the external signal data, the fusing based on meta-data of each of the internal signal data and each of the external signal data;

generate, by the processor, a plurality of features from the fused data based on one or more valid combinations that match a transformation input, the transformation forming part of a library of transformations; and

select, by the processor, one or more features from the plurality of features, based on a predictive strength of each feature, to provide a set of selected features;

and wherein when choosing the forecasting method, the system is configured to:

train, by the processor, one or more machine learning models, using the set of selected features;

and, the system is configured to execute each of:

i) select, by the processor, a machine learning model from the one or more machine learning models to make the forecast, the system being configured to

train, by the processor, the one or more machine learning models on a first portion of a data set;

validate, by the processor, the machine learning model on a second portion of the data set; and

retrain, by the processor, the machine learning model on a sum of the first portion and the second portion;

ii) retrain, by the processor, a previously-selected machine learning model from the one or more machine learning models and using the retrained model to make the forecast; and

iii) make, by the processor, the forecast based on the previously-selected machine learning model,

wherein the system is configured to select and execute the method of i), ii), or iii) based on whether the forecast request is or is not a first request.

10 . The system of claim 9 , wherein:

the forecast request is the first request; and

retrain, by the processor, the machine learning model on the sum of the first portion and the second portion, the data set comprising a sum total of data associated with the set of selected features.

11 . The system of claim 9 , wherein:

the forecast request is not the first request;

a new category of processed data has been added to storage since a most recent forecast, the new category of processed data comprising at least one of a new category of processed historical product data and a new category of processed historical location data;

the data set is an expanded data set; and

when selecting the machine learning model from the one or more machine learning models to make the forecast, the system is further configured to:

train, by the processor, the plurality of machine learning models on a first portion of the expanded data set, the expanded data set comprising the new category of processed data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on the sum total of the first portion and the second portion.

12 . The system of claim 9 , wherein:

the forecast request is not the first request;

the data set is an expanded data set;

an additional amount of processed data has been added to storage since a most recent forecast, the additional amount of processed data comprising at least one of new processed historical product data and new processed historical location data;

the additional amount of processed data exceeds a threshold; and

when selecting the machine learning model from the one or more machine learning models to make the forecast, the system is further configured to:

train, by the processor, the plurality of machine learning models on a first portion of the expanded data set, the expanded data set comprising the additional amount of processed data;

validate, by the processor, the machine learning model on the second portion of the expanded data set; and

retrain, by the processor, the machine learning model on the sum of the first portion and the second portion.

13 . The system of claim 9 , wherein:

the forecast request is not the first request;

the data set is an expanded data set, and

the method further comprises:

evaluate, by the processor, a forecast accuracy of the forecast against incoming processed historical product data; and

select, by the processor, the machine learning model if the forecast accuracy falls below a threshold, comprising:

train, by the processor, the plurality of machine learning models on the first portion of the expanded data set, the expanded data set comprising the incoming processed historical product data;

validate, by the processor, the machine learning model on the second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum total of the first portion and the second portion.

14 . The system of claim 9 , wherein:

the forecast request is not the first request;

the data set is an expanded data set; and

the system is further configured to:

evaluate, by the processor, a time interval between a most recent forecast and the request; and

retrain the previously selected machine learning model if the time interval exceeds a threshold, comprising:

retrain, by the processor, the previously-selected machine learning model on the expanded data set comprising new processed data collected during the time interval.

15 . The system of claim 9 , wherein when training the one or more machine learn models, the system is configured to:

train, by the processor, one or more configurations of a machine learning model of the one or more models.

16 . The system of claim 15 , wherein a configuration of the one or more configurations comprises a number of layers in a neural network of the machine learn model.

17 . A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

engineer, by a processor, one or more features; and

choose, by the processor, a forecasting method to make a forecast, based on a forecast request;

wherein when engineering one or more features, the instructions that when executed by the computer, cause the computer to:

receive, by the processor, internal signal data;

receive, by the processor, external signal data;

fuse, by the processor, data from the internal signal data and the external signal data, the fusing based on meta-data of each of the internal signal data and each of the external signal data;

generate, by the processor, a plurality of features from the fused data based on one or more valid combinations that match a transformation input, the transformation forming part of a library of transformations; and

select, by the processor, one or more features from the plurality of features, based on a predictive strength of each feature, to provide a set of selected features;

and wherein when choosing the forecasting method, the instructions that when executed by the computer, cause the computer to:

train, by the processor, one or more machine learning models, using the set of selected features;

and, the system is configured to execute each of:

i) select, by the processor, a machine learning model from the one or more machine learning models to make the forecast, the instructions being configured so that when executed by the computer, further cause the computer to

train, by the processor, the one or more machine learning models on a first portion of a data set;

validate, by the processor, the machine learning model on a second portion of the data set; and

retrain, by the processor, the machine learning model on a sum of the first portion and the second portion;

ii) retrain, by the processor, a previously-selected machine learning model from the one or more machine learning models and using the retrained model to make the forecast; and

iii) make, by the processor, the forecast based on the previously-selected machine learning model,

wherein the system is configured to select and execute i), ii), or iii) based on whether the forecast request is or is not a first request.

18 . The computer-readable storage medium of claim 17 , wherein:

the forecast request is the first request; and

when selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, the instructions that when executed by the computer, cause the computer to:

retrain, by the processor, the machine learning model on the sum of the first portion and the second portion, the data set comprising a sum total of data associated with the set of selected features.

19 . The computer-readable storage medium of claim 17 , wherein:

the forecast request is not the first request;

the data set is an expanded data set;

a new category of processed data has been added to storage since a most recent forecast, the new category of processed data comprising at least one of a new category of processed historical product data and a new category of processed historical location data; and

when selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, the instructions that when executed by the computer, cause the computer to:

train, by the processor, the plurality of machine learning models on the first portion of the expanded data set, the expanded data set comprising the new category of processed data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on the sum total of the first portion and the second portion.

20 . The computer-readable storage medium of claim 17 , wherein:

the forecast request is not the first request;

the data set is an expanded data set;

an additional amount of processed data has been added to storage since a most recent forecast, the additional amount of processed data comprising at least one of new processed historical product data and new processed historical location data;

the additional amount of processed data exceeds a threshold; and

when selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, the instructions that when executed by the computer, cause the computer to:

train, by the processor, the plurality of machine learning models on the first portion of the expanded data set, the expanded data set comprising the additional amount of processed data;

validate, by the processor, the machine learning model on the second portion of the expanded data set; and

retrain, by the processor, the machine learning model on the sum of the first portion and the second portion.

21 . The computer-readable storage medium of claim 17 , wherein:

the forecast request is not a first request;

the data set is an expanded data set; and

the instructions that when executed by the computer, cause the computer to:

evaluate, by the processor, a forecast accuracy of the forecast against incoming processed historical product data; and

select, by the processor, the machine learning model if the forecast accuracy falls below a threshold, comprises:

train, by the processor, the plurality of machine learning models on the first portion of the expanded data set, the expanded data set comprising the incoming processed historical product data;

validate, by the processor, the machine learning model on the second portion of the expanded data set; and

retrain, by the processor, the machine learning model on the sum total of the first portion and the second portion.

22 . The computer-readable storage medium of claim 17 , wherein:

the forecast request is not the first request;

the data set is an expanded data set; and

the instructions that when executed by the computer, cause the computer to:

evaluate, by the processor, a time interval between a most recent forecast and the request; and

retrain the previously selected machine learning model if the time interval exceeds a threshold, comprising:

retrain, by the processor, the previously-selected machine learning model on the expanded data set comprising new processed data collected during the time interval.

23 . The computer-readable storage medium of claim 17 , wherein when training the one or more models, the instructions that when executed by the computer, cause the computer to:

train, by the processor, one or more configurations of a model of the one or more models.

24 . The computer-readable storage medium of claim 23 , a configuration of the one or more configurations comprises a number of layers in a neural network of the model.