IP Library Granted Patent US 12,393,907
Granted Patent B2
US 12,393,907 · App. 18/538,382 · Granted Aug 19, 2025

Analysis and correction of supply chain design through machine learning

Inventors: Phillip Williams (Ottawa, CA); Zhen Lin (Kanata, CA); Behrouz Haji Soleimani (Halifax, CA); Seyednaser Nourashrafeddin (Ottawa, CA); Chantal Bisson-Krol (Kanata, CA); Marcio Oliveira Almeida (Stittsville, CA)
Assignee: Kinaxis Inc.
G06Q10/0838G06F18/2321G06N20/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 12,393,907
App. No.
18/538,382
Filed
Dec 13, 2023
Granted
Aug 19, 2025
Kind
B2
Art Unit
3624
USPC
705/341
Abstract

A dynamic supply chain planning system for analysis of historical lead time data that uses machine learning algorithms to forecast future lead times based on historical lead time data, weather data and financial data related to locations and dates within the supply chain.

Claims (95)

1. A computer-implemented method comprising:

receiving, by a processor, historical lead time data from a database;

extracting, by the processor, weather data from a weather database, the weather data based on a plurality of source locations, a plurality of destinations locations and a plurality of shipment dates, the plurality of source locations, the plurality of destinations locations and the plurality of shipment dates related to the historical lead time data;

extracting, by the processor, economic indicators data from an economic database, the economic indicators data based on the plurality of source locations, the plurality of destinations locations and the plurality of shipment dates;

generating, by the processor, processed historical lead time data by at least one of:

selecting one or more historical lead time features; and

removing outlier data from the historical lead time data;

generating, by the processor, processed weather data by selection of one or more weather features;

generating, by the processor, processed economic indicators data by selection of one or more economic indicators features;

constructing, by the processor, a times series data based on the processed historical lead time data, the processed weather data and the processed economic indicators data;

dividing, by the processor, the time series data into a first subset and a second subset;

training a plurality of machine learning forecasting algorithms on the first subset of the time series data;

testing, each of the plurality of machine learning forecasting algorithms on the second subset of the time series data and selecting, based on the testing, a machine learning forecasting algorithm having a highest accuracy;

retraining the selected machine learning forecasting algorithm based on the time-series data;

generating, by the selected machine learning forecasting algorithm, one or more lead time identifiers;

augmenting, by the processor, the time series data with one or more features, the time series data having a dimensionality greater than a 2-dimensional space and each of the one or more features having a dimensionality orthogonal to the dimensionality of the time series data;

projecting the time series data to 2-dimensional space and reducing a noise thereof;

separating, by the processor, the time series data into one or more groups based on a time density of data points;

selecting, by the processor, an optimal number of clusters for each of the one or more groups;

performing, by the processor, using a machine learning clustering algorithm, clustering on each of the one or more groups to provide a plurality of clusters;

receiving, by the processor, from a user via a user interface, tolerance criteria for separation of the time series data into a plurality of tolerance zones;

separating, by the processor, the time series data into the plurality of tolerance zones;

separating, by the processor, the plurality of clusters in accordance with a tolerance zone of each group;

further separating, by the processor, the plurality of clusters according to the one or more lead time identifiers, to provide one or more further separated clusters; and

automatically adjusting, by the processor, planned lead times for future purchase orders based on the further separated clusters.

2. The computer-implemented method of claim 1 , wherein the one or more features relate to linearity and seasonality.

3. The computer-implemented method of claim 2 , wherein the features are seasonality, upward linearity, flat linearity, and downward linearity.

4. The computer-implemented method of claim 1 , wherein the number of groups is three.

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

pruning, by the processor, each cluster;

dividing, by the processor, each cluster into a plurality of subclusters.

6. A system comprising:

a processor; and

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

receive, by the processor, historical lead time data from a database;

extract, by the processor, weather data from a weather database, the weather data based on a plurality of source locations, a plurality of destinations locations and a plurality of shipment dates, the plurality of source locations, the plurality of destinations locations and the plurality of shipment dates related to the historical lead time data;

extract, by the processor, economic indicators data from an economic database, the economic indicators data based on the plurality of source locations, the plurality of destinations locations and the plurality of shipment dates;

generate, by the processor, processed historical lead time data by at least one of:

selecting one or more historical lead time features; and

removing outlier data from the historical lead time data;

generate, by the processor, processed weather data by selection of one or more weather features;

generate, by the processor, processed economic indicators data by selection of one or more economic indicators features;

construct, by the processor, a times series data based on the processed historical lead time data, the processed weather data and the processed economic indicators data;

divide, by the processor, the time series data into a first subset and a second subset;

train a plurality of machine learning forecasting algorithms on the first subset of the time series data;

test, each of the plurality of machine learning forecasting algorithms on the second subset of the time series data and selecting, based on the testing, a machine learning forecasting algorithm having a highest accuracy;

retrain the selected machine learning forecasting algorithm based on the time-series data;

generate, by the selected machine learning forecasting algorithm, one or more lead time identifiers;

augment, by the processor, the time series data with one or more features, the time series data having a dimensionality greater than a 2-dimensional space and each of the one or more features having a dimensionality orthogonal to the dimensionality of the time series data;

project the time series data to 2-dimensional space and reducing a noise thereof;

separate, by the processor, the time series data into one or more groups based on a time density of data points;

select, by the processor, an optimal number of clusters for each of the one or more groups;

perform, by the processor, using a machine learning clustering algorithm, clustering on each of the one or more groups to provide a plurality of clusters;

receive, by the processor, from a user via a user interface, tolerance criteria for separation of the time series data into a plurality of tolerance zones;

separate, by the processor, the time series data into the plurality of tolerance zones;

separate, by the processor, the plurality of clusters in accordance with a tolerance zone of each group;

further separate, by the processor, the plurality of clusters according to the one or more lead time identifiers to provide one or more further separated clusters; and

automatically adjust, by the processor, planned lead times for future purchase orders based on the further separated.

7. The system of claim 6 , wherein the one or more features relate to linearity and seasonality.

8. The system of claim 7 , wherein the features are seasonality, upward linearity, flat linearity, and downward linearity.

9. The system of claim 6 , wherein the number of groups is three.

10. The system of claim 6 , wherein the instructions further configure the system to:

prune, by the processor, each cluster;

divide, by the processor, each cluster into a plurality of subclusters.

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

receive, by a processor, historical lead time data from a database;

extract, by the processor, weather data from a weather database, the weather data based on a plurality of source locations, a plurality of destinations locations and a plurality of shipment dates, the plurality of source locations, the plurality of destinations locations and the plurality of shipment dates related to the historical lead time data;

extract, by the processor, economic indicators data from an economic database, the economic indicators data based on the plurality of source locations, the plurality of destinations locations and the plurality of shipment dates;

generate, by the processor, processed historical lead time data by at least one of:

selecting one or more historical lead time features; and

removing outlier data from the historical lead time data;

generate, by the processor, processed weather data by selection of one or more weather features;

generate, by the processor, processed economic indicators data by selection of one or more economic indicators features;

construct, by the processor, a times series data based on the processed historical lead time data, the processed weather data and the processed economic indicators data;

divide, by the processor, the time series data into a first subset and a second subset;

train a plurality of machine learning forecasting algorithms on the first subset of the time series data;

test, each of the plurality of machine learning forecasting algorithms on the second subset of the time series data and selecting, based on the testing, a machine learning forecasting algorithm having a highest accuracy;

retrain the selected machine learning forecasting algorithm based on the time-series data;

generate, by the selected machine learning forecasting algorithm, one or more lead time identifiers;

augment, by the processor, the time series data with one or more features, the time series data having a dimensionality greater than a 2-dimensional space and each of the one or more features having a dimensionality orthogonal to the dimensionality of the time series data;

project the time series data to 2-dimensional space and reducing a noise thereof;

separate, by the processor, the time series data into one or more groups based on a time density of data points;

select, by the processor, an optimal number of clusters for each of the one or more groups;

perform, by the processor, using a machine learning clustering algorithm, clustering on each of the one or more groups to provide a plurality of clusters;

receive, by the processor, from a user via a user interface, tolerance criteria for separation of the time series data into a plurality of tolerance zones;

separate, by the processor, the time series data into the plurality of tolerance zones;

separate, by the processor, the plurality of clusters in accordance with a tolerance zone of each group;

further separate, by the processor, the plurality of clusters according to the one or more lead time identifiers to provide one or more further separated clusters; and

automatically adjust, by the processor, planned lead times for future purchase orders based on the further separated clusters.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the one or more features relate to linearity and seasonality.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the features are seasonality, upward linearity, flat linearity, and downward linearity.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the number of groups is three.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further include instructions that when executed by the processor, cause the processor to:

prune, by the processor, each cluster;

divide, by the processor, each cluster into a plurality of subclusters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2025
From: WILLIAMS, PHILLIP; LIN, ZHEN; HAJI SOLEIMANI, BEHROUZ; NOURASHRAFEDDIN, SEYEDNASER; BISSON-KROL, CHANTAL; OLIVEIRA ALMEIDA, MARCIO
To: KINAXIS INC.
Reel/Frame 070166/0033 →
Continuity (6)
Continuation 17740869 · May 10, 2022
Continuation 17061422 · Oct 1, 2020
Continuation 16223938 · Dec 18, 2018
Continuation In Part 16147311 · Sep 28, 2018
Provisional Application 62725345 · Aug 31, 2018
Related Publication 20240112129A1 · Apr 4, 2024
References Cited (99)
US 6496806B1 · Horwitz et al. · 2002 [cited by applicant]
US 6611726B1 · Crosswhite · 2003 [cited by applicant]
US 8428987B2 · Najmi et al. · 2013 [cited by applicant]
US 8494823B2 · Ding et al. · 2013 [cited by applicant]
US 8600981B1 · Chau et al. · 2013 [cited by applicant]
US 8942913B2 · Hota et al. · 2015 [cited by applicant]
US 9600779B2 · Hoover et al. · 2017 [cited by applicant]
US 9721295B1 · Miller · 2017 [cited by examiner]
US 10032180B1 · Shariff et al. · 2018 [cited by applicant]
US 10846651B2 · Oliveira Almeida et al. · 2020 [cited by applicant]
US 20020138316A1 · Katz et al. · 2002 [cited by applicant]
US 20020138358A1 · Scheer · 2002 [cited by applicant]
US 20020143604A1 · Cox et al. · 2002 [cited by applicant]
US 20030061213A1 · Yu et al. · 2003 [cited by applicant]
US 20050171825A1 · Denton et al. · 2005 [cited by applicant]
US 20070143156A1 · Van Deursen · 2007 [cited by applicant]
US 20070203810A1 · Grichnik · 2007 [cited by applicant]
US 20080065436A1 · Wu et al. · 2008 [cited by applicant]
US 20100114554A1 · Misra · 2010 [cited by applicant]
US 20100125486A1 · Sinclair et al. · 2010 [cited by applicant]
US 20100138264A1 · Faris et al. · 2010 [cited by applicant]
US 20100153870A1 · Hoffmann · 2010 [cited by examiner]
US 20100283666A1 · Lee et al. · 2010 [cited by applicant]
US 20120076283A1 · Ajmera et al. · 2012 [cited by applicant]
US 20120173456A1 · Hirl · 2012 [cited by applicant]
US 20140105262A1 · Alloin et al. · 2014 [cited by applicant]
US 20140122179A1 · Chan et al. · 2014 [cited by applicant]
US 20140143249A1 · Cazzanti et al. · 2014 [cited by applicant]
US 20140192050A1 · Qiu et al. · 2014 [cited by applicant]
US 20150046361A1 · Williams et al. · 2015 [cited by applicant]
US 20150066552A1 · Shami · 2015 [cited by applicant]
US 20160027026A1 · Matsui et al. · 2016 [cited by applicant]
US 20160048852A1 · Beh et al. · 2016 [cited by applicant]
US 20160299255A1 · Dail et al. · 2016 [cited by applicant]
US 20160328670A1 · Adam · 2016 [cited by examiner]
US 20160371618A1 · Leidner et al. · 2016 [cited by applicant]
US 20170006135A1 · Siebel et al. · 2017 [cited by applicant]
US 20170011560A1 · Sheldon et al. · 2017 [cited by applicant]
US 20170017896A1 · Hamann et al. · 2017 [cited by applicant]
US 20170063909A1 · Muddu et al. · 2017 [cited by applicant]
US 20170124495A1 · Saxena et al. · 2017 [cited by applicant]
US 20170154347A1 · Bateman · 2017 [cited by applicant]
US 20170191847A1 · Chintakindi et al. · 2017 [cited by applicant]
US 20170236060A1 · Ignatyev · 2017 [cited by applicant]
US 20170262764A1 · Karuppasamy · 2017 [cited by examiner]
US 20180017406A1 · Semnani et al. · 2018 [cited by applicant]
US 20180101814A1 · Nadella et al. · 2018 [cited by applicant]
US 20180123909A1 · Venkitapathi et al. · 2018 [cited by applicant]
US 20180150547A1 · Pallath et al. · 2018 [cited by applicant]
US 20180174219A1 · Jadhav et al. · 2018 [cited by applicant]
US 20180203915A1 · Marshall et al. · 2018 [cited by applicant]
US 20180285691A1 · Grindstaff · 2018 [cited by examiner]
US 20180322462A1 · Jayaraman et al. · 2018 [cited by applicant]
US 20190087247A1 · Chakraborty et al. · 2019 [cited by applicant]
US 20190087733A1 · Dooley · 2019 [cited by examiner]
US 20190095842A1 · Brousseau · 2019 [cited by applicant]
US 20190156298A1 · Ethington et al. · 2019 [cited by applicant]
US 20190171194A1 · Sato et al. · 2019 [cited by applicant]
US 20190198136A1 · Hou et al. · 2019 [cited by applicant]
US 20190227193A1 · Caruzzo et al. · 2019 [cited by applicant]
US 20190258978A1 · Mahajan et al. · 2019 [cited by applicant]
AU 2003298877A1 · 2004 [cited by applicant]
CA 2981748A1 · 2018 [cited by applicant]
CN 106991593A · 2017 [cited by examiner]
CN 109740624A · 2019 [cited by applicant]
CN 110503225A · 2019 [cited by applicant]
WO 2015191443A1 · 2015 [cited by applicant]
Wood “The role of clusters in creating value in supply chains: Evidence from the examination of clusters with RBV” (2010) (https://www.anzam.org/wp-content/uploads/pdf-manager/875_ANZAM2010-103.PDF) (Year: 2010). [cited by examiner]
Berlec et al., “Predicting Order Lead Times,” Journal of Mechanical Engineering, Sep. 2007, vol. 54(2008)5, pp. 308-321. [cited by applicant]
German Patent Application No. DE112019004260.2, Office Action dated Jun. 20, 2022—English Translation available. [cited by applicant]
German Patent Application No. DE112019004261.0, Office Action dated Jun. 22, 2022—English Translation available. [cited by applicant]
International Patent Application No. PCT/CA2019/051222, International Preliminary Report on Patentability dated Mar. 11, 2021. [cited by applicant]
International Patent Application No. PCT/CA2019/051223, International Preliminary Report on Patentability dated Dec. 7, 2020. [cited by applicant]
International Patent Application No. PCT/CA2019/051223 International Search Report and Written Opinion dated Nov. 28, 2019. [cited by applicant]
International Search Report from related international application No. PCT/CA2019/051222. [cited by applicant]
Kharfan et al., Forecasting Seasonal Footwear Demand Using Machine Learning, 2018, (https://dspace.mit.edu/bitstream/handle/1721.1/117612/Chan_Kharfan_2018_Capstone.pdf?sequence=1). [cited by applicant]
Lingitz et al., “Lead Time Prediction Using Machine Learning Algorithms: a Case Study by a Semiconductor Manufacturer,” 51st CIPR Conference on Manufacturing Systems, Procedia CIRP, vol. 72 (2018), pp. 1051-1056. [cited by applicant]
Oliveira et al., “Lead Time Forecasting with Machine Learning Techniques for a Pharmaceutical Supply Chain” In Proceedings of the 23rd International Conference on Enterprise Information Systems, 2021, vol. 1, pp. 634-64… [cited by applicant]
Plex DemandCaster “What Is Lead Time Variability and How Can You Beat It?” (2018) (https://www.plex.com/blog/what-lead-time-variability-and-how-can-you-beat-it) (Year: 2018). [cited by applicant]
United Kingdom Patent Application No. 2102930.1, Examination Report dated Sep. 23, 2022. [cited by applicant]
United Kingdom Patent Application No. GB2102941.8, Office Action dated Apr. 1, 2022. [cited by applicant]
United Kingdom Patent Application No. GB2102941.8, Office Action dated Aug. 23, 2022. [cited by applicant]
U.S. Appl. No. 16/147,311, Non-Final Office Action dated Jun. 15, 2020. [cited by applicant]
U.S. Appl. No. 16/147,311 Notice of Allowance dated Jul. 27, 2020. [cited by applicant]
U.S. Appl. No. 16/223,938, Non-Final Office Action dated Aug. 27, 2020. [cited by applicant]
U.S. Appl. No. 16/223,938 Notice of Allowance dated Sep. 10, 2020. [cited by applicant]
U.S. Appl. No. 17/060,225, Non-Final Office Action dated Sep. 20, 2021. [cited by applicant]
U.S. Appl. No. 17/060,225 Notice of Allowance dated Oct. 21, 2021. [cited by applicant]
U.S. Appl. No. 17/061,422, Non-Final Office Action dated Oct. 22, 2021. [cited by applicant]
U.S. Appl. No. 17/061,422 Notice of Allowance dated Feb. 11, 2022. [cited by applicant]
U.S. Appl. No. 17/485,781, Non Final office Action dated Oct. 19, 2022. [cited by applicant]
U.S. Appl. No. 17/485,781, Notice of Allowance dated Jul. 11, 2023. [cited by applicant]
U.S. Appl. No. 17/485,781, Notice of Allowance dated Mar. 22, 2023. [cited by applicant]
U.S. Appl. No. 17/740,869, Non-Final office action dated Apr. 19, 2024. [cited by applicant]
U.S. Appl. No. 17/740,869, Notice of Allowance dated Oct. 4, 2023. [cited by applicant]
U.S. Appl. No. 17/740,869, Notice of Allowance dated Sep. 20, 2023. [cited by applicant]
U.S. Appl. No. 17/740,869, Non-Final office Action dated Jun. 13, 2023. [cited by applicant]
U.S. Appl. No. 18/335,570, Final office Action dated Aug. 5, 2024. [cited by applicant]
U.S. Appl. No. 18/335,570, Non-Final office Action dated Feb. 5, 2025. [cited by applicant]