IP Library Granted Patent US 12,443,909
Granted Patent B2
US 12,443,909 · App. 16/005,081 · Granted Oct 14, 2025

System for modeling the performance of fulfilment machines

Inventors: Lei Cao (Worcester, MA); Brian Leo Quanz (Yorktown Heights, NY); Ajay Ashok Deshpande (White Plains, NY); Xuan Liu (Yorktown Heights, NY); Arun Hampapur (Norwalk, CT); Ali Koc (White Plains, NY); Yingjie Li (Chappaqua, NY); Yada Zhu (Westchester, NY)
Assignee: International Business Machines Corporation
G06Q10/067G06F30/20G06N3/08G06Q10/06315G06Q10/06375G06Q10/06393
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,443,909
App. No.
16/005,081
Granted
Oct 14, 2025
Kind
B2
Abstract

A computer implemented method and system of evaluating a fulfillment strategy in an omnichannel distribution system is provided. Input parameters are received from a computing device of a user. Historical data related to a network of nodes is received from a data repository. A synthetic demand status is determined based on the historical data and the input parameters. A synthetic network status based on the historical data and the input parameters are determined. A fulfillment strategy is identified based on the synthetic demand status and the synthetic network status. Key performance indicators (KPIs) for the fulfillment strategy are determined based on the synthetic demand status and the synthetic network status.

Claims (78)

1. A computing device comprising:

a processor;

a network interface coupled to the processor to enable communication over a network;

a storage device having a memory stack configured to store raw data and for content and programming, coupled to the processor; and

a fulfilment strategy program stored in the storage device, wherein an execution of the program by the processor configures the computing device to perform acts comprising:

receiving input parameters from a computing device of a user that is stored in the memory stack;

receiving historical data related to a network of nodes from a data repository that is stored in the memory stack as part of the raw data;

reducing a computational load and increasing an accuracy of the processor by soliciting constraints from the computing device of the user that reduce a volume of the historical data stored in the memory stack, to samples that are deemed to be relevant for calculations processed by the processor;

determining a synthetic demand status based on the reduced volume of historical data and the input parameters;

determining a synthetic network status based on the reduced volume of historical data and the input parameters;

identifying a fulfilment strategy based on the synthetic demand status and the synthetic network status;

increasing the accuracy in a machine learning model to determine how one or more factors influence the identified fulfilment strategy, by training the machine learning model by not only using the historical data, but also the synthetic demand status and the synthetic network status;

adjusting the machine learning model to achieve a least computationally complex model on the processor that meets a predetermined threshold level of accuracy, wherein the adjusting includes a least absolute shrinkage and selection operator (lasso) to automatically analyze a correlation between fulfilment parameters of the machine learning model by performing both variable selection and regularization in order to enhance a prediction accuracy and interpretability of the resulting adjusted machine learning model; and

determining key performance indicators (KPIs) for the fulfilment strategy based on the synthetic demand status and the synthetic network status, wherein:

the historical data includes data describing one or more orders; and

determining the synthetic demand status comprises, for each order in the historical data:

categorizing the order into one or more predetermined order categories;

identifying one or more order categories that most closely coincide with one or more input parameters of the one or more input parameters that relate to demand data; and

generating synthetic demand data based on the identified one or more order categories and the one or more input parameters that relate to demand data.

2. The computing device of claim 1 , wherein:

the historical data includes:

raw demand data of one or more products offered by the network of nodes; and

raw node data of each node in the network of nodes;

the synthetic demand status is based on the raw demand data; and

the synthetic network status is based on the raw node data.

3. The computing device of claim 2 , wherein the input parameters comprise:

one or more parameters that are related to a demand of one or more products in the network of nodes; and

one or more parameters that are related to a status of the network of nodes.

4. The computing device of claim 2 , wherein the input parameters are received iteratively by way of interactive communication between the computing device and the computing device of the user.

5. The computing device of claim 2 , wherein the raw node data of each node in the network of nodes and a raw demand data of the orders are received in separate data packets from the data repository.

6. The computing device of claim 2 , wherein the demand data includes, for each order in a predetermined period, at least one of: an order number, an order line number, a stock keeping unit (SKU) number, an order creation time, an order process time, a source location, a destination location, a fulfilment node, a unit number, a carrier mode, a shipping cost, and a service level agreement (SLA) identification.

7. The computing device of claim 1 , wherein:

the historical data includes one or more fulfilment information; and

determining the synthetic network status comprises, for each fulfilment information in the historical data:

categorizing the fulfilment information into one or more predetermined fulfilment categories;

identifying one or more fulfilment categories that most closely coincide with one or more input parameters of the input parameters that relate to fulfilment data; and

generating synthetic network data based on the identified one or more fulfilment categories and the one or more input parameters that relate to the fulfilment data.

8. The computing device of claim 2 , wherein generating the synthetic demand data comprises using machine learning to learn from the raw demand data of the historical data.

9. The computing device of claim 7 , wherein generating the synthetic network data comprises using machine learning to learn from a raw node data.

10. The computing device of claim 1 , wherein the KPIs that are based on the synthetic network status include at least one of: a number of packages per order, a cost per package, a number of end of day (EOD) backlog days, average cost per order-line, average package per order-line, a number of upgraded orders, and a number of delayed orders.

11. The computing device of claim 1 , wherein determining the KPIs for the fulfilment strategy comprises:

applying a linear model to determine KPIs of the fulfilment strategy;

upon determining that an R-squared score of the linear model is not above a predetermined first threshold, applying a logistic regression model to determine the KPIs of the fulfilment strategy; and

upon determining that an R-squared score of the logistic regression model is below a predetermined second threshold, applying a neural network model to determine the KPIs of the fulfilment strategy.

12. A non-transitory computer readable storage medium tangibly embodying a computer readable program code having computer readable instructions that, when executed, cause a computer device to carry out a method of evaluating a fulfilment strategy in an omnichannel distribution system, the method comprising:

receiving input parameters from a computing device of a user that is stored in a memory stack of a computing device;

receiving historical data related to a network of nodes from a data repository that is stored in the memory stack as a raw data;

reducing a computational load and increasing an accuracy of a processor by soliciting constraints from the computing device of the user that reduce a volume of the historical data stored in the memory stack, to samples that are deemed to be relevant for calculations processed by the processor;

determining a synthetic demand status based on the reduced volume of historical data and the input parameters;

determining a synthetic network status based on the reduced volume of historical data and the input parameters;

identifying a fulfilment strategy based on the synthetic demand status and the synthetic network status;

increasing the accuracy in a machine learning model to determine how one or more factors influence the identified fulfilment strategy, by training the machine learning model by not only using the historical data, but also the synthetic demand status and the synthetic network status;

adjusting the machine learning model to achieve a least computationally complex model on the processor that meets a predetermined threshold level of accuracy, wherein the adjusting includes a least absolute shrinkage and selection operator (lasso) to automatically analyze a correlation between fulfilment parameters of the machine learning model by performing both variable selection and regularization in order to enhance a prediction accuracy and interpretability of the resulting adjusted machine learning model; and

determining key performance indicators (KPIs) for the fulfilment strategy based on the synthetic demand status and the synthetic network status, wherein:

the historical data includes data describing one or more orders; and

determining the synthetic demand status comprises, for each order in the historical data:

categorizing the order into one or more predetermined order categories;

identifying one or more order categories that most closely coincide with one or more input parameters of the one or more input parameters that relate to demand data; and

generating synthetic demand data based on the identified one or more order categories and the one or more input parameters that relate to demand data.

13. The non-transitory computer readable storage medium of claim 12 , wherein:

the historical data includes:

raw demand data of one or more products offered by the network of nodes; and

raw node data of each node in the network of nodes;

the synthetic demand status is based on the raw demand data; and

the synthetic network status is based on the raw node data.

14. The non-transitory computer readable storage medium of claim 13 , wherein the input parameters comprise:

one or more parameters that are related to a demand of one or more products in the network of nodes; and

one or more parameters that are related to a status of the network of nodes.

15. The non-transitory computer readable storage medium of claim 13 , wherein the input parameters are received iteratively by way of interactive communication between the computing device and the computing device of the user.

16. The non-transitory computer readable storage medium of claim 13 , wherein the raw node data of each node in the network of nodes and the raw demand data of the orders are received in separate data packets from the data repository.

17. The non-transitory computer readable storage medium of claim 12 , wherein determining the synthetic network status comprises, for each fulfilment information in the historical data:

categorizing the fulfilment information into one or more predetermined fulfilment categories;

identifying one or more fulfilment categories that most closely coincide with one or more input parameters of the input parameters that relate to fulfilment data; and

generating synthetic network data based on the identified one or more fulfilment categories and the input parameters that relate to the fulfilment data.

18. The non-transitory computer readable storage medium of claim 12 , wherein determining the KPIs for the fulfilment strategy comprises:

applying a linear model to determine KPIs of the fulfilment strategy;

upon determining that an R-squared score of the linear model is not above a predetermined first threshold, applying a logistic regression model to determine the KPIs of the fulfilment strategy; and

upon determining that an R-squared score of the logistic regression model is below a predetermined second threshold, applying a neural network model to determine the KPIs of the fulfilment strategy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: CAO, LEI; QUANZ, BRIAN LEO; DESHPANDE, AJAY ASHOK; LIU, XUAN; HAMPAPUR, ARUN; KOC, ALI; LI, YINGJIE; ZHU, YADA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046045/0796 →
Continuity (1)
Related Publication 20190378061A1 · Dec 12, 2019
References Cited (67)
US 6721762B1 · Levine et al. · 2004 [cited by applicant]
US 7440908B2 · Snapp et al. · 2008 [cited by applicant]
US 7996204B2 · Hardwick et al. · 2011 [cited by applicant]
US 8386298B2 · Bai et al. · 2013 [cited by applicant]
US 8682751B1 · Antony · 2014 [cited by applicant]
US 8972564B1 · Allen · 2015 [cited by applicant]
US 9142035B1 · Rotman et al. · 2015 [cited by applicant]
US 9213953B1 · Kassmann et al. · 2015 [cited by applicant]
US 9230233B1 · Sundaresan et al. · 2016 [cited by applicant]
US 9336302B1 · Swamy · 2016 [cited by applicant]
US 9501613B1 · Hanson et al. · 2016 [cited by applicant]
US 11301791B2 · Zhu et al. · 2022 [cited by applicant]
US 11301794B2 · Zhu et al. · 2022 [cited by applicant]
US 20030061125A1 · Hoffman et al. · 2003 [cited by applicant]
US 20070087756A1 · Hoffberg · 2007 [cited by applicant]
US 20080028409A1 · Cherkasova · 2008 [cited by applicant]
US 20080288312A1 · Miles et al. · 2008 [cited by applicant]
US 20080306785A1 · Schuler · 2008 [cited by examiner]
US 20090006164A1 · Kaiser et al. · 2009 [cited by applicant]
US 20090089150A1 · Lee et al. · 2009 [cited by applicant]
US 20090099935A1 · Hamzy et al. · 2009 [cited by applicant]
US 20100317420A1 · Hoffberg · 2010 [cited by applicant]
US 20110054869A1 · Li · 2011 [cited by applicant]
US 20110307438A1 · Martinez · 2011 [cited by applicant]
US 20120072423A1 · Morrison · 2012 [cited by applicant]
US 20120078675A1 · McNeill et al. · 2012 [cited by applicant]
US 20120317059A1 · Joshi · 2012 [cited by applicant]
US 20130060712A1 · Esmaili et al. · 2013 [cited by applicant]
US 20130144763A1 · Skyberg et al. · 2013 [cited by applicant]
US 20130232028A1 · Spremulli · 2013 [cited by applicant]
US 20130246986A1 · Kuo et al. · 2013 [cited by applicant]
US 20140052677A1 · Wagner · 2014 [cited by applicant]
US 20140172735A1 · Jena et al. · 2014 [cited by applicant]
US 20140172736A1 · Saha · 2014 [cited by applicant]
US 20150120368A1 · Agrawal et al. · 2015 [cited by applicant]
US 20150186819A1 · Patel · 2015 [cited by applicant]
US 20150363843A1 · Loppatto et al. · 2015 [cited by applicant]
US 20150379430A1 · Dirac · 2015 [cited by applicant]
US 20160055452A1 · Qin · 2016 [cited by applicant]
US 20160063419A1 · Martinez et al. · 2016 [cited by applicant]
US 20160110681A1 · Brereton · 2016 [cited by examiner]
US 20160110735A1 · Brereton et al. · 2016 [cited by applicant]
US 20160140589A1 · Deshpande et al. · 2016 [cited by applicant]
US 20160328674A1 · Tripathi et al. · 2016 [cited by applicant]
US 20160328781A1 · Patel-Zellinger et al. · 2016 [cited by applicant]
US 20170032016A1 · Zinner · 2017 [cited by applicant]
US 20170161614A1 · Mehta · 2017 [cited by examiner]
US 20170206541A1 · Deshpande et al. · 2017 [cited by applicant]
US 20170206589A1 · Deshpande et al. · 2017 [cited by applicant]
US 20170323250A1 · Lindbo et al. · 2017 [cited by applicant]
US 20180075401A1 · Harsha et al. · 2018 [cited by applicant]
US 20180137415A1 · Steinberg et al. · 2018 [cited by applicant]
US 20180260736A1 · Yates · 2018 [cited by examiner]
WO 0375195A2 · 2003 [cited by applicant]
WO 2011085500A1 · 2011 [cited by applicant]
WO 2016039724A1 · 2016 [cited by applicant]
WO WO2017217957A1 · 2017 [cited by examiner]
Schulte, M.J., et al. “A variable-precision interval arithmetic processor.” Proceedings of IEEE International Conference on Application Specific Array Processors (ASSAP'94), pp. 248-258. (Year: 1994). [cited by examiner]
List of IBM Patents or Applications Treated as Related. [cited by applicant]
Stefanovic, N., “Proactive Supply Chain Performance Management with Predictive Analytics”; The Scientific World Journal Volume (2014), 20 pgs.; University of Kragujevac; Kragujevac, Serbia. [cited by applicant]
Sheikholeslami, R. et al., “Progressive Latin Hypercube Sampling: An Efficient Approach for Robust Sampling-Based Analysis of Environmental Models”; Environmental Modelling and Software (2017); vol. 93; pp. 109-126. [cited by applicant]
Cioppa et al. Efficient Nearly Orthogonal and Space-Filling Latin Hypercubes, Technometrics, Feb. 2007, pp. 45-55, vol. 49, Issue No. 1. [cited by applicant]
Gao et al. “Real-Time Omnichannel Fulfillment Optimization”, SSRN Electronic Journal, Jun. 2023, 75 pages. [cited by applicant]
Khare Tushar. “Optimization of Warehouse Cost & Workforce Forecasting”, NEC, Oct. 26, 2015, 8 pages. [cited by applicant]
Labor Optimization in the New “Everywhere Commerce” Retail World; Manhattan Associates, (2013); 5 pgs. [cited by applicant]
Mell P. et al., “The NIST Definition of Cloud Computing”; National Institute of Standards and Technology, Gaithersburg, MD USA (2011) 7 pgs. [cited by applicant]
Rumsey Deborah J. “How Sample Size Affects Standard Error.” From the book “Statistics for Dummies, 2nd Edition.” Last Updated on Mar. 26, 2016. Retrieved from {URL: https://www.dummies.com/article/academics-the-arts/mat… [cited by applicant]