IP Library Granted Patent US 11,875,367
Granted Patent B2
US 11,875,367 · App. 17/987,401 · Granted Jan 16, 2024

Systems and methods for dynamic demand sensing

Inventors: Sebastien Ouellet (Ottawa, CA); Zhen Lin (Ottawa, CA); Christopher Wang (Ottawa, CA); Chantal Bisson-Krol (Ottawa, CA)
Assignee: Kinaxis Inc.
G06Q30/0201G06F18/214G06F18/217G06N20/00G06Q30/0202
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,875,367
App. No.
17/987,401
Granted
Jan 16, 2024
Kind
B2
Abstract

Systems and methods for dynamic demand sensing in a supply chain in which constantly-updated data is used to select a machine learning model or retrain a pre-selected machine learning model, for forecasting sales of a product at a specific location. The updated data includes product information and geographic information.

Claims (126)

1. A computer-implemented method for forecasting daily sales of a product at one or more locations over a time horizon, the method comprising:

receiving, by a processor, a first forecast request;

collecting, by the processor, raw data comprising information that relates to, or impacts upon, daily sales of the product at the one or more locations;

processing, by the processor, the raw data into a data set by at least one of transformation, validation and remediation of the raw data;

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

validating, by the processor, a 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 of the data set, the data set comprising processed historical data;

forecasting, by the processor, a forecast based on the first forecast request;

receiving, by the processor, a subsequent forecast request;

engaging, by the processor, in a machine learning model selection process when:

i) the data set has been updated by a new class of relevant signal data since a previous forecast request; or

ii) the data set has been updated by an amount of new relevant signal data beyond a first threshold since the previous forecast request; or

iii) the machine learning model has degraded;

and

retraining, by the processor, a previously-selected machine learning model when a time interval between successive forecast requests is greater than a second threshold.

2. The computer-implemented method of claim 1 , wherein the raw data comprises at least one of:

historical sales data of the product at the one or more locations;

inventory of the product at the one or more locations;

weather data related to a respective vicinity of the one or more locations;

financial market data related to the one or more locations;

calendar data at the one or more locations; the calendar data comprising one or more local holidays; and local event data;

promotion campaign details for the product at the on or more locations;

web data; and

social media data.

3. The computer-implemented method of claim 1 , wherein processing the raw data further comprises:

generating, by the processor, one or more features, the one or more features comprising data related to at least one of point of sales, weather, one or more events, one or more holidays, a financial market index, web traffic and a promotion of the product.

4. The computer-implemented method of claim 1 , wherein when the data set is updated by the new class of relevant signal data, the machine learning model selection process comprises:

training, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the processed historical data and a processed version of the new class of relevant signal data;

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

retraining by the processor, the selected machine learning model on a sum total of the first portion of the expanded data set and the second portion of the expanded data set.

5. The computer-implemented method of claim 1 , wherein when the data set has been updated by the new relevant signal data beyond the first threshold, the machine learning model selection process comprises:

training, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the processed historical data and a processed version of the new relevant signal data;

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

retraining by the processor, the selected machine learning model on a sum total of the first portion of the expanded data set and the second portion of the expanded data set.

6. The computer-implemented method of claim 1 , wherein after forecasting following receipt of the first forecast request, the method further comprises:

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

when the forecast accuracy falls below the second threshold,

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

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

retraining, by the processor, the selected machine learning model on a sum total of the first portion of the expanded data set and the second portion of the expanded data set.

7. The computer-implemented method of claim 1 , wherein when the time interval is beyond the second threshold, retraining the previously-selected machine learning model comprises:

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

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

receive, by a processor, a first forecast request;

collect, by the processor, raw data comprising information that relates to, or impacts upon, daily sales of the product at the one or more locations;

process, by the processor, the raw data into a data set by at least one of transformation, validation and remediation of the raw data;

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

validate, by the processor, a 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 of the data set, the data set comprising processed historical data;

forecast, by the processor, a forecast based on the first forecast request;

receive, by the processor, a subsequent forecast request;

engage, by the processor, in a machine learning model selection process when:

i) the data set has been updated by a new class of relevant signal data since a previous forecast request; or

ii) the data set has been updated by an amount of new relevant signal data beyond a first threshold since the previous forecast request; or

iii) the machine learn model has degraded; and

retrain, by the processor, a previously-selected machine learning model when a time interval between successive forecast requests is greater than a second threshold.

9. The computer-readable storage medium of claim 8 , wherein the raw data comprises at least one of:

historical sales data of the product at the one or more locations;

inventory of the product at the one or more locations;

weather data related to a respective vicinity of the one or more locations;

financial market data related to the one or more locations;

calendar data at the one or more locations; the calendar data comprising one or more local holidays; and local event data;

promotion campaign details for the product at the on or more locations;

web data; and

social media data.

10. The computer-readable storage medium of claim 8 , wherein when processing the raw data, the instructions that when executed by the computer, further cause the computer to:

generate, by the processor, one or more features, the one or more features comprising data related to at least one of point of sales, weather, one or more events, one or more holidays, a financial market index, web traffic and a promotion of the product.

11. The computer-readable storage medium of claim 8 , wherein when the data set is updated by the new class of relevant signal data, the instructions that when executed by the computer, further cause the computer to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the processed historical data and a processed version of the new class of relevant signal data;

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

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

12. The computer-readable storage medium of claim 8 , wherein when the data set has been updated by the new relevant signal data beyond the first threshold, the instructions that when executed by the computer, further cause the computer to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the processed historical data and a processed version of the new relevant signal data;

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

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

13. The computer-readable storage medium of claim 8 , wherein after forecasting follow receipt of the first forecast request, the instructions that when executed by the computer, further cause the computer to:

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

when the forecast accuracy falls below the second threshold,

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

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

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

14. The computer-readable storage medium of claim 8 , wherein when the time interval is beyond the second threshold, the instructions that when executed by the computer, further cause the computer to:

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

15. A system comprising:

a processor; and

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

receive, by the processor, a first forecast request;

collect, by the processor, raw data comprising information that relates to, or impacts upon, daily sales of the product at the one or more locations;

process, by the processor, the raw data into a data set by at least one of transformation, validation and remediation of the raw data;

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

validate, by the processor, a 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 of the data set, the data set comprising processed historical data;

forecast, by the processor, a forecast based on the first forecast request;

receive, by the processor, a subsequent forecast request;

engage, by the processor, in a machine learning model selection process when:

i) the data set has been updated by a new class of relevant signal data since a previous forecast request; or

ii) the data set has been updated by an amount of new relevant signal data beyond a first threshold since the previous forecast request; or

iii) the machine learn model has degraded; and

retrain, by the processor, a previously-selected machine learning model when a time interval between successive forecast requests is greater than a second threshold.

16. The system of claim 15 , wherein the raw data comprises at least one of:

historical sales data of the product at the one or more locations;

inventory of the product at the one or more locations;

weather data related to a respective vicinity of the one or more locations;

financial market data related to the one or more locations;

calendar data at the one or more locations; the calendar data comprising one or more local holidays; and local event data;

promotion campaign details for the product at the on or more locations;

web data; and

social media data.

17. The system of claim 15 , wherein processing the raw data, the system is further configured to:

generate, by the processor, one or more features, the one or more features comprising data related to at least one of point of sales, weather, one or more events, one or more holidays, a financial market index, web traffic and a promotion of the product.

18. The system of claim 15 , wherein when the data set is updated by the new class of relevant signal data, the system is further configured to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the processed historical data and a processed version of the new class of relevant signal data;

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

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

19. The system of claim 15 , wherein when the data set has been updated by the new relevant signal data beyond the first threshold, the system is further configured to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the processed historical data and a processed version of the new relevant signal data;

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

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

20. The system of claim 15 , wherein after forecasting follow receipt of the first forecast request, the system is further configured to:

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

when the forecast accuracy falls below the second threshold,

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

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

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

21. The system of claim 15 , wherein when the time interval is beyond the second threshold, the system is further configured to:

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2023
From: OUELLET, SEBASTIEN; LIN, ZHEN; WANG, CHRISTOPHER; BISSON-KROL, CHANTAL
To: KINAXIS INC.
Reel/Frame 063398/0297 →
Continuity (2)
Continuation 16599143 · Oct 11, 2019
Related Publication 20230085704A1 · Mar 23, 2023
Cited By (3)
US 12,346,921 US 12,488,053 US 12,682,367