Systems and methods for optimizing backlog in fulfillment centers using unsupervised machine learning
By using unsupervised machine learning to analyze operational data and adjust resource allocation, the system optimizes backlog levels in fulfillment centers, enhancing productivity and customer experience.
Patent Information
- Application Number
- PCT/US2024/048418
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-26
- Filing Date
- 2024-09-25
- Publication Date
- 2025-04-03
AI Technical Summary
Fulfillment centers face challenges in identifying optimal backlog levels, which affect productivity and customer experience, as these levels change dynamically and are influenced by various operational variables.
The implementation of an unsupervised machine learning model to identify optimal end-of-shift backlog for each fulfillment center by analyzing input data such as backlog day data, transactions per hour data, and on-time shipment data, and adjusting resource allocation in real-time to optimize backlog levels.
This approach enables fulfillment centers to operate at higher productivity levels while minimizing on-time shipment misses, thereby improving customer experience and overall efficiency.
Smart Images

Figure US2024048418_03042025_PF_FP_ABST
Abstract
Description
Systems and Methods for Optimizing Backlog in Fulfillment Centers Using Unsupervised Machine UearningCROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 585,434, filed September 26, 2023, entitled “Systems and Methods for Optimizing Backlog in Fulfillment Centers Using Unsupervised Machine Learning,” which is incorporated by reference herein in its entirety.TECHNICAL FIELD
[0002] The disclosed embodiments relate generally to supply chain management and more specifically to systems and methods for optimizing backlog in fulfillment centers using unsupervised machine learning.BACKGROUND
[0003] Fulfillment outbound operations planning is driven by allocating forecasted units of sales across fulfillment centers (FCs) using inputs of building capacity and equipment and labor availability. Order Routing System (ORS) software uses this allocation as input to drive new' customer order charges at each FC. Products to fulfill customer orders are transferred to containers in a Warehouse Management system (WMS). Each FC has a different outbound ship capacity across the fulfillment network. A backlog is defined as an accumulation of unfilled orders or unshipped w ork w ithin the fulfillment processes. If an FC has 100,000 units of maximum outbound capacity per day and is operating at 50,000 backlog units, then the FC is operating at 0.5 days of backlog.
[0004] Customer impact / experience is measured by the number of containers shipped before the expected ship timestamp assigned in the WMS and by a key performance indicator called Ontime Ship (OTS). Each customer order (sometimes referred to as a container) may be assigned an expected ship time when it is charged to an FC. If the order has been shipped from the FC on or before that expected ship time, it is said to be on-time, and if the order is shipped any time after that expected ship time is said to be missed (OTS miss). For a given time interval (e.g.. days, weeks, months), OTS is defined as the percentage of orders that were shipped on-time from the total orders that have their expected ship time within this time interval for that fulfillment center. OTS may be defined by the following equation (as a percentage):
[0005] The productivity of outbound processes in an FC and customer experience are tightly related to the operating backlog within the FC. As the backlog increases, the productivity of outbound processes increases and OTS decreases. There is a need to identify optimal backlog levels to operate at the highest productivity levels while balancing the least OTS miss, to improve customer experience. Identifying optimal backlog is difficult at least because optimal backlog levels change dynamically from day-to-day or even within a given day. A fulfillment network may include legacy sites that are operated completely using manual labor, automated sites which rely on robot picking units, and pick modules, which are multilevel racking systems through which a conveyor carries items from picking locations to shipping areas. Systems lack mechanisms for effectively predicting optimal backlogs that impact resource allocation, which is measured, for example, by Transactions per hour (TPH) and customer experience (e.g.. OTS Miss).SUMMARY
[0006] Accordingly, there is a need for systems and methods that address at least some of the problems described above. Described herein is a methodology' to identify optimal end- of-shift backlog for each FC using an unsupervised machine learning model. Ending backlog of the day may determine the starting backlog of the next day, that in turn affects the TPH and OTS for that day. The ending backlog, TPH, and OTS miss may be functions of multiple variables that occur in operations like charge variability' during the shift, team member performance variability', backlog in different process paths, and distribution of future and current day orders.
[0007] In accordance with some embodiments, a method executes at a computer system having one or more processors and memory storing one or more programs configured for execution by the one or more processors. The method may be used for optimizing backlog infulfillment centers. The method may include obtaining input data associated with a plurality of fulfillment centers, backlog day data, transactions per hour data (TPH), and on-time shipment data (OTS). The method may also include removing outliers in the input data to obtain candidate data based on distribution of the input data, using a method selected from the group consisting of: standard deviation method, percentile method, z-score method, mean absolute division and combinations thereof. The method may also include identifying an optimal k value for each fulfillment center using silhouette analysis and / or elbow method on the candidate data. The method may also include identifying k clusters for each fulfillment center using K means clustering. The method may also include identifying an optimal cluster for each fulfillment center based on the k clusters. The method may also include computing a respective optimal backlog for each fulfillment center based on centroid and cluster data for the optimal cluster corresponding to the respective fulfillment center. The method may also include adjusting resource allocation in real-time for each fulfillment center based on the computed optimal backlog. The method may also include controlling operations of the plurality of fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on- time shipment performance across the plurality of fulfillment centers
[0008] In some embodiments, identifying the optimal cluster includes iterating through a range of numbers representing increasing incremental thresholds for OTS miss percentage. This step may include, for each cluster of the k clusters, a determination that (i) a TPH of a respective cluster is greater than a current highest TPH, (ii) the OTS miss percentage is less than a current threshold, and (iii) the respective cluster represents at least a predetermined percentage of a subset of the input data that corresponds to the fulfillment center. If these conditions are met, the method may include identifying the respective cluster as a viable candidate for the optimal cluster and updating the current highest TPH based on the TPH of the cluster.
[0009] In some embodiments, the method further includes using a lower OTS miss percentage for a fulfillment center associated with a site that is manually operated than OTS miss percentage used for other fulfillment centers that include automated sites that rely on robot picking units.
[0010] In some embodiments, the method further includes determining a current backlog for each fulfillment center. For each fulfillment center with a current backlog that is more than its optimal backlog, the method may include computing additional units that can be shipped for the respective fulfillment center by multiplying maximum number of resource hours required and expected productivity7at the fulfillment center’s optimal backlog, wherein maximum number of resource hours required is a number of additional resource hours needed to ship orders of the fulfillment center without impacting OTS or TPH for the fulfillment center. The method may also include adding the additional units to the fulfillment center’s optimal backlog to obtain an upper control limit of optimal ending backlog for the fulfillment center.
[0011] In some embodiments, the method further includes, for each fulfillment center with a backlog that is lower than its optimal backlog, computing excess resource to be reallocated to maintain the fulfillment center’s TPH, and obtaining a lower control limit of optimal ending backlog for the fulfillment center based on the excess resource. Resource in this context may include human labor as well as bots used in the fulfillment process.
[0012] In some embodiments, the method further includes computing optimal backlog ranges for the fulfillment centers based on the optimal backlog for each fulfillment center and on corresponding historical hourly backlog, control limits of ending backlog and actual ending backlog, and monitoring backlog for each fulfillment center on a periodic basis to ensure that optimal backlogs are maintained based on the optimal backlog ranges.
[0013] In some embodiments, the method further includes using hourly and daily limits to drive work allocation across different fulfillment centers. This may in turn include allocating customer orders to each fulfillment center based on forecasted resource (e g., labor, equipment) availability and customer orders.
[0014] In some embodiments, the backlog day data is skewed or bimodal, and removing the outliers includes removing outliers in the backlog day data.
[0015] In some embodiments, removing the outliers includes using standard deviation method, percentile method, and / or z-score method for data having a Gaussian distribution, using mean absolute division for data having a non-Gaussian distribution, and / or using interquartile range for univariate data having a non-Gaussian distribution.
[0016] In some embodiments, the method further includes iterating obtaining the input data, removing the outliers, identifying the optimal k value, identifying the k clusters, identifying the optimal cluster, and / or computing the respective optimal backlog, with each iteration covering a set interval of time, each iteration covering a larger interval of time compared to a previous interval of time, until a size of the input data reaches a predetermined size, and subsequently using at least the predetermined size for amount of data for the input data.
[0017] In some embodiments, the method further includes generating daily and / or hourly views via a visual analytics platform tableau, wherein the views allow user interface interaction to filter data at a fulfillment center level and / or on a date or day of week.
[0018] In some embodiments, the method further includes refreshing the views with new data every hour allowing for real time monitoring of actual backlog versus planned backlog.
[0019] In some embodiments, the method further includes generating one or more visualizations of historical trends of starting backlogs and ending backlogs based on optimal backlog.
[0020] In some embodiments, the method further includes correlating the historical trends with trends of actual productivity and on-time shipment trends, and updating, based on a user input, via a graphical user interface, planned allocation for one or more fulfillment centers if actual backlog is not within predetermined limits.
[0021] In some embodiments, identifying the optimal k value for each fulfillment center using the Elbow method comprises selecting an ideal value of k based on a distance between data sets and their designated clusters using sum of squared distance (SSE).
[0022] In some embodiments, number of clusters used for each fulfillment center is between 2 and 4.
[0023] In some embodiments, an optimal cluster is identified based on high TPH and low OTS miss by analyzing centroids of each cluster for each fulfillment center.
[0024] In some embodiments, an optimal cluster for each fulfillment center is identified by selecting a cluster that (i) has a centroid with highest TPH and OTS misspercentage less than a predetermined percentage and (ii) contains at least a predetermined percentage of the input data set.
[0025] In another aspect, an electronic device includes one or more processors, memory, a display, and one or more programs stored in the memory. The programs are configured for execution by the one or more processors and are configured to perform any of the methods described herein, according to some embodiments.
[0026] In another aspect, a non-transitory computer readable storage medium stores one or more programs configured for execution by a computing device having one or more processors, memory, and a display. The one or more programs are configured to perform any of the methods described herein, according to some embodiments.
[0027] Thus, methods and systems are disclosed that allow identification of drivers based on driving styles using convolutional deep neural network models.
[0028] Both the foregoing general description and the following detailed description are exemplary and explanatory, and are intended to provide further explanation of the invention as claimed.BRIEF DESCRIPTION OF THE DRAWINGS
[0029] For a better understanding of the aforementioned systems, methods, and graphical user interfaces, as well as additional systems, methods, and graphical user interfaces that provide data visualization analytics, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
[0030] Figure 1A shows a schematic diagram of a system for optimizing backlog in fulfillment centers, according to some embodiments..
[0031] Figure IB shows an example graph plot of transactions per hour (TPH) against starting backlog for a fulfillment center and an example graph plot of on-time shipment (OTS) against starting backlog for the fulfillment center, according to some embodiments.
[0032] Figure 2A is a schematic diagram of an example process for backlog analysis, according to some embodiments.
[0033] Figure 2B shows example distribution graphs of backlog days for FCs, according to some embodiments.
[0034] Figure 3 shows example elbow graphs for FCs, according to some embodiments.
[0035] Figure 4 is a flowchart of an example method for determining an optimal number of clusters for each FC, according to some embodiments.
[0036] Figure 5 is a flowchart of an example method for optimal cluster identification, according to some embodiments.
[0037] Figure 6 shows a flowchart of an example method for computing optimal hourly backlog, according to some embodiments.
[0038] Figures 7A and 7B show example visualization reports, according to some embodiments.
[0039] Figure 7C shows graph plots of performance versus control limits for two fulfillment centers, according to some embodiments.
[0040] Figure 8 shows a three-dimensional graph plot of backlog days, TPH and OTS data used for K means clustering for an FC, according to some embodiments.
[0041] Figure 9A shows a graph plot for outbound backlog over time for a first fulfillment center, Figure 9B shows a graph plot for outbound backlog over time for a first fulfillment center, and Figure 9C shows a graph plot for hours within thresholds for different FCs, according to some embodiments.
[0042] Figure 10 is a flowchart of an example method for optimizing backlog in fulfillment centers, according to some embodiments.
[0043] Figure 11A is a trend chart for actual backlog days, hourly LCL and hourly UCL for an FC, according to some embodiments.
[0044] Figure 1 I B is a graph plot for actions taken on allocations for the FC shown in Figure 11 A, according to some embodiments.
[0045] Figure 11C is a graph plot for performance of the FC shown in Figure 11A versus control limits, according to some embodiments.
[0046] Figure 12A is a trend chart for actual backlog days, hourly LCL and hourly UCL for an FC, according to some embodiments.
[0047] Figure 12B is a graph plot for actions taken on allocations for the FC shown in Figure 12A, according to some embodiments.
[0048] Figure 12C is a graph plot for performance of the FC shown in Figure 12A versus control limits, according to some embodiments.
[0049] Figure 13 A is a trend chart for actual backlog days, hourly LCL and hourly UCL for an FC, according to some embodiments.
[0050] Figure 13B is a graph plot for actions taken on allocations for the FC shown in Figure 13 A, according to some embodiments.
[0051] Figure 13C is a graph plot for performance of the FC shown in Figure 13A versus control limits, according to some embodiments.
[0052] Reference will now be made to embodiments, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without requiring one or more of these specific details.DESCRIPTION OF EMBODIMENTS
[0053] Figure 1A show s a schematic diagram of a system 100 for optimizing backlog in fulfillment centers, according to some embodiments. In one embodiment, the system 100 includes one or more computing devices, having one or more processors and memory (e.g., one or more nonvolatile storage devices). In some embodiments, memory or computer readable storage medium of memory7stores programs, modules and data structures, or a subset thereof for a processor to control and run the various systems and methods disclosed herein. In one embodiment, a non-transitory computer readable storage medium having stored thereon computer-executable instructions which, when executed by' a processor, perform one or moreof the methods disclosed herein. A storefront 102 (e.g., a web server) receives requests for orders for fulfillment. The storefront 102 sends received orders to an order management system (OMS) 104 which is responsible for managing incoming orders. The OMS 104 sends received orders to an order routing service (ORS) 114 that determines optimal routes for the orders. The ORS 114 may use business rules 116, include an ORS optimizer 118 and a sales and operations planning allocations 120.
[0054] The OMS 104 and the storefront 102 may be implemented in a same sen- er or different servers. The ORS 114 may be configured to determine if the order has an associated route (e.g., an order for singles, items with a single line, i.e., single SKU with quantity of one or more). If there is an associated route, the ORS 114 may transmit the route back to the OMS 104. For orders that do not yet have an associated route, the ORS 114 may read orders from an order queue and containerize the orders. A master data or UI data storage may store and supply rate card, ship routes with dynamic time in transit (TNT) (i.e., routes with actual TNT which considers the day of the week and transit standards, such as zip codes, holiday schedule, on- shelf availability), the sales and operations planning allocations 120 and hyper parameters, to the ORS optimizer 118.
[0055] The ORS optimizer 118 may assemble an optimization model based on business rules, constraints and routing objectives and an inventory service. The ORS optimizer 118 may obtain optimal routes for the orders based on the constraints. The optimal routes from the ORS optimizer 118 may be post-processed to ensure responses are added, exceptions are managed, and / or to verify that the business rules 116 are enforced. Output of the ORS optimizer 118 are sent to the OMS 104, for routing orders. An order release customization service (ORCS) 106 may customize orders for the routes from the OMS 104 which may be dropped (108) to fulfillment centers split, each fulfillment center may run a warehouse management system (WMS) instance. Each WMS instance may include components for containerization, carrier rating, picking, and ship scanning 110. Starting backlog plus dropped orders minus shipped orders equals (112) ending backlog. The ending backlog 112 may be stored as hourly backlog 144 by fulfillment center. The hourly backlog 144 along with daily productivity values 128 and on-time shipment values by fulfillment center 126 may be input to a module 124 for generating optimal backlog values 122 for the fulfillment centers. The optimal backlog values 122 may beinput to the sales and operations planning allocations 120. Some embodiments include a module 130 for monitoring of daily and hourly backlogs that may use a data visualization platform (e.g., Tableau). The hourly backlog values by fulfillment center 133 is input to an hourly backlog monitoring 142 and an end-of-shift backlog monitoring 140. The module 130 determines (138) if the backlogs 140 and 142 are within limits. If the backlogs are within limits, the monitoring process ends (for the hourly backlog or the end of shift backlog). If not, the FC allocations are revised (134) and the revised allocations are input to the optimal backlog values for the FC 122.
[0056] The fulfillment centers (FCs) may be on different networks / servers than the server optimizing the backlog. The FCs may be a part of the WMS. The WMS server may be dedicated to carrying out warehousing operations. In some embodiments, the WMS data is stored within a centralized data warehouse known as Vertica. The retrieved data features may encompass various aggregated metrics consolidated on a daily basis. At the transition from a night shift to a day shift (e.g., a shift occurring at 6 AM local time), the daily count of pending tasks at each site may be referred to as the ‘Ending Days of Backlog’. The percentage of daily ending backlog in relation to the weekly target may be calculated as follows: if the weekly target is 500.000 units and the daily ending backlog is 50.000 units, the calculation is 500,000 I (50,000 * 7), resulting in 1.42 days of backlog. Pick rates may be aggregated at daily level. If 100,000 units are picked using 2,000 resource hours, the resulting productivity rate may be calculated as 50 units per hour (UPH). Ontime ship of customer orders may be aggregated at a daily % level. In a scenario where 25,000 orders are shipped and 500 orders failed to meet the ship deadline, the on-time ship miss rate can be calculated as 2%. The data may be collected and consolidated on a daily basis to assess and track the performance outcomes of daily operational activities. On a predetermined schedule (e.g., weekly basis), optimal backlog values may be assessed to compare the expected performance and customer experience against the actual outcomes. The optimal backlog values may undergo monthly revisions. The model may learn from recent trends and adjusts the cluster formations and centroid values accordingly. These adjusted values may be subsequently evaluated by the optimization team for communication purposes. The final value analysis, incorporating new optimal backlog levels if applicable, may be then reviewed with operations and planning leaders to appropriately adjust the control limits. The resource planning hours and shift planning mechanism may utilizethese values as input to determine the necessary number of hours required for executing the new backlog levels, thereby influencing downstream operations.
[0057] In some embodiments, the process for generating (124) the optimal backlogs for each FC may be run periodically (e.g.. once a day. once a week, once every month). Typically, 30 days of data may be adequate to identify any change in trends and effect the optimal cluster based on the most recent operating conditions. The server optimizing the backlogs may be hosted on a cloud platform, whereas the real time monitoring of backlog may be performed on a different server that stores live backlog data of each FC in a database. The planning team may then use this data to monitor the backlog against planned backlog using a visualization platform.
[0058] Due to multiple variables with high variability, the TPH and OTS goals can be achieved by using different levers in operations. Some embodiments balance both TPH and OTS. Figure IB shows an example graph plot 144 of TPH against starting backlog for a fulfillment center and an example graph plot 144 of OTS against starting backlog for the fulfillment center. For a range of starting backlogs, there may be multiple values of TPH and OTS miss percentage. Due to the variability in the data, linear regression models cannot identify optimal values for the backlog. Traditional analytical methods may only identity7linear relationships that provide cause. To identity7groups of data that have optimal characteristics, an unsupervised clustering model is used in accordance with some embodiments.
[0059] Some embodiments determine the ending backlog that produces the highest TPH with the least OTS miss using statistical analysis (e.g., correlation, linear regression) of data for a predetermined number of days (e.g., 300 days, about 10 months). Variables described above may be used as independent variables, and / or TPH and OTS miss may be used as dependent variables was performed. Experiments showed high variance in the independent variables, and no variable is statistically significant to TPH or OTS. The observations of data for each FC may be large enough sample to cluster the observations based on TPH, OTS miss% and ending backlog and cluster with high TPH and low OTS miss% may help determine the potential ending backlog.
[0060] Figure 2A is a schematic diagram of an example process 200 for backlog analysis, according to some embodiments. The process includes data ingestion wherebybacklog days data 202, TPH data 204 and OTS data 206 for a plurality' of fulfillment centers may be received and merged (208) . Outliers in the merged data may be removed (210). An optimal k-value determination algorithm may be used to identify (212) the optimal k value for each cluster. The optimal k value may then be used (214) to create clusters for each FC which are. These clusters may be evaluated (216) using an optimal cluster determination algorithm and insights (e.g., a graph clustering results in three dimensions 220) may be extracted from the optimal cluster. Some embodiments compile (218) centroid and cluster data based on the optimal cluster.
[0061] V arious tools and platforms may be used for performing the processes described herein. Some embodiments use Python, a programming language for data analytics. Skleam, pandas, and stdev among other Python packages may be used. A cloud-based python kernel may be used. Some embodiments use a library (e.g., a cluster submodule of skleam package) that contains various clustering algorithms, including Kmeans. Kmeans (sometimes referred to as K means) is a popular unsupervised learning algorithm that is used to group similar data points (create clusters). Some embodiments use a library for numerical computing (e.g., numpy in Python) that provides a variety of data structures and functions for working with arrays and matrices, which are useful in scientific computing and data analysis. The library may be used for interquartile range detection, percentile calculation, and distance calculation from point to centroid. Some embodiments use a library (e.g., pandas) for data manipulation and analysis. The library provides data structures and functions for processing tabular data, including data frames and series. Some embodiments use a library for 3D plotting. For example, mpl_toolkits packge in mplot3d submodule in Axes3D may be used for 3D plotting in Python. The package provides functions and tools for creating and manipulating 3D visualizations in matplotlib. Axes3D is used in addition to matplotlib to graph three-dimensional plots. Matplotlib is a library that may be used for creating graphical visualizations and plots (e.g., for plotting clusters) in Python. Seaborn is a library that may be used in addition to matplotlib. Seaborn provides additional visualization tools and options. It is particularly useful for creating complex, multi-dimensional visualizations. Seaborn may be used to stylize three-dimensional plots. Some embodiments use sillhouette_score in skleam metrics, which is a library that provides various metrics for evaluating the performance of machine learning models. silhouette_score is a metric that may be used to evaluate the quality of clustering. Someembodiments use stdev, which is a library that provides functions for working with statistical data; stdev may be used to calculate the standard deviation of a dataset.Example Cluster Analysis
[0062] Typically, available backlog, TPH, and On-Time Shipment data within an FC network have wide margins for each metric on a daily level. Some embodiments determine how to segment the data into individual groups or clusters. In some embodiments, the clustering technique is dynamic. The system may identify hidden patterns and trends. This task may help analyze which cluster of operating backlogs is beneficial to a business. Some embodiments use unsupervised machine learning techniques.Example K Means Clustering
[0063] K means clustering analysis may be used to identify groups or clusters within TPH, OTS, and days of backlog data points. Prior to creating clusters, the data may be cleansed. Outliers may be removed and omitted using interquartile ranges of TPH. Outlier detection and removal may use backlog days values. Removing outlier backlog days values enhances the quality of the data that is input into a clustering model by removing data points that could negatively impact the groupings by creating additional, unnecessary clusters that fall outside of the bounds of our assumptions. Backlog days may be a value between zero and one. In addition to potentially creating new clusters, these outliers may often represent extreme endpoints that influence the standardization process which is used to assure the Euclidean distance formula in the K means iterative process has equal weight for each dimension. There are several different methods for outlier removal, including standard deviation method, percentile method, z-score method, and mean absolute division. Standard deviation method, percentile method, and z-score method all assume the data to be Gaussian distribution. Figure 2B shows example distribution graphs 222, 224 and 226 of backlog days for FCs, according to some embodiments. Backlog days values are often skewed or bimodal. Methods like mean absolute division may be used for non-Gaussian distributions. Inter-quartile range may be used for univariate data and is particularly suited for non-Gaussian distributions.
[0064] Based on clean data, after removing outliers, the optimal number of clusters for the analysis may be identified for each FC. Selecting the correct number of clusters helps assure that the clusters are well represented and are descriptive of the data points they contain. The initial step for a K means clustering algorithm is to identify the optimal number of clusters into which the data may be grouped into. K means clustering is an iterative algorithm to assign data points to clusters that contain similar data points based on the data points’ features. Clustering allows natural groups of data to be established for visual and analytical purposes. A first step of the k means clustering process is assigning the number of clusters (k). The determination of k may be automated as described in more detail below. Once the number of clusters is defined, k centroids may be created using an initialization method. The data points may be then assigned to the centroid forming a cluster. Next, the proximity of data points to their cluster’s center (or centroid) may be calculated. This proximity may be stored and the process of initializing centroids, assigning data points, and measuring proximity may be repeated until the proximity is below a tolerance level. This provides the ideal clustering of the data points.K means Model Hyperparameter Tuning
[0065] As with any machine learning model, K means algorithm has hyperparameters that can be set prior to building the model. Hyperparameters allow for controlling the model’s behavior to mold it to a specific problem as well as optimize its performance. Below are examples for k means hyperparameters (examples from the skleam kmeans function):• n_cl usters: This is a hyperparameter that specifies the number of clusters to form. This value, as described below, may be dynamically determined based on dynamic data exploration;• init: This hyperparameter specifies the method for initialization of the centroids. It can be set to "k-means++’’ or "random". Some embodiments use k-means++ to improve efficiency of the model building over random initialization method. This is accomplished by selecting the first centroid randomly from the data points, and then selecting subsequent centroids based on their distance from the nearest existing centroid;• n_init: This hyperparameter specifies the number of times that the k-means algorithm will be run with different centroid seeds. The results will be the best output of n init consecutive runs in terms of inertia (within cluster sum of squares). Some embodiments use the value of 10. This value assures that the model is built with different centroid seeds in case the initialization method is insufficient;• max_iter: This hyperparameter specifies the maximum number of iterations for each run of the k-means algorithm. Some embodiments use the default value of 300 for max iterations. This value is large enough to assure convergence, but not so large that it dramatically increases runtime of the algorithm;• tol: This hyperparameter specifies the relative tolerance with respect to the changes in the within-cluster sum of squares (inertia). If the change in inertia is less than this value, the algorithm will stop iterating;• algorithm: This hyperparameter specifies the algorithm used to compute the k-means clustering. It can be set to "auto" (default), "full", or "elkan";• random_state: This hyperparameter sets the random seed for reproducibility. A random state may be used during development and testing of the program to assure consistent results between runs, but in production, this value may not be used and is set to “None.”
[0066] A silhouette score is a measure of how data points are separated into clusters based on their similarity' to one another. It simultaneously represents the cluster’s cohesion (distance between each point and its centroid within a cluster) and the cluster’s separation (how far apart clusters are from one another). After the clusters are developed, this measure tells how well the clusters are formed and how useful their assignment is. It is a value between -1 and 1 where a higher score indicates that the clusters are well separated, and each data point is closer to its own centroid than to other clusters. A score of 0 indicates that the clusters are overlapping, and negative scores indicate data points are assigned to the wrong cluster.Example Optimal K Value Determination
[0067] Some embodiments use the Elbow method, which is a static method and a visual technique to determine the ideal number of clusters. The Elbow method selects an ideal value of k based on the distance between the data sets and their designated clusters using the sum of squared distance (SSE). Figure 3 shows example elbow graphs 300 for FCs, according to some embodiments. X axis corresponds to number of clusters (k), and Y axis corresponds to within cluster sum of squares (WCSS). The elbow graphs show that, for the FCs, the "‘elbow” occurs between K=2 and K=4. These are the ideal number of clusters to be used for each FC. Using K means, the optimal number of clusters may divide the data into groups that describe the interaction of the input variables. With the clusters for each FC, the optimal cluster may be identified (e.g., high TPH, low OTS miss) by analyzing the centroids of each cluster for each FC. The optimal cluster for each FC may be the cluster whose centroid has the highest TPH while the OTS miss % is less than 2% and the cluster contains at least 10% of the data set. This analysis may present the ranges of backlog days for each FC that has historically produced the highest TPH and lowest OTS Miss %. From these TPH values, statistical methods may be used to predict TPH given backlog days and OTS miss values.
[0068] Figure 4 is a flowchart of an example method 400 for determining an optimal number of clusters for each FC, according to some embodiments. The method may start (402) by iterating (404) through each FC in a dataset. For each FC, the method may filter the dataset (406) to obtain a new sub-dataset with the relevant data. The method may initialize (408) variables used (e.g., relative improvement, epsilon value, and an initial k value). The method may use the K-means algorithm to cluster (416) this data into a certain number of groups (starting with 2) and calculates the silhouette score (418). The method may continue to increase the number of clusters (414) and calculate the silhouette score until either the score stops improving (420) or the maximum number of clusters (e.g., 5) is reached (415). The optimal number of clusters may be then determined (426) as the number of clusters that produced the highest silhouette score. The method may save the optimal number of clusters (calculated in 428) for each warehouse in a dictionary (e.g., in accordance with a determination that relative improvement is less than epsilon (410) or if number of clusters is greater than a predetermined maximum (412). The relative improvement may be calculated (422) as 1 — (k silhoutte / k — 1 silhoutte score). Using the optimal k values, k means analysis is performed, and clusters are produced for each FC.Example Method for Optimal Cluster Identification
[0069] Some embodiments use a decision-based algorithm to dynamically and automatically identify the optimal cluster out of a set of many that represents the group with the most optimal datapoints. The algorithm may use several inputs: a warehouse, the FCs subdataset, the FC’s optimal k value, and the cluster’s centroids, which are the coordinates of the centers of the clusters. Figure 5 is a flowchart of an example method 500 for optimal cluster identification, according to some embodiments. The method may start (502) by initializing (504) several variables, including: maximum TPH (a scorecard to track the highest TPH value found so far), passed (a Boolean variable used to indicate if the optimal cluster for the current FC has been identified), and optimal cluster number (a variable to store the cluster number of the optimal cluster). The method may start (502) with a first cluster and OTS threshold in respective lists, sets current maximum TPH to 0 (510). If a cluster's TPH value is higher than the current maximum TPH value (514), then the maximum TPH value is updated (524). If the optimal cluster is identified (the one with the highest TPH value), the passed variable is set to True, and the optimal cluster number variable is updated (522) to reflect the cluster number of the optimal cluster. If the method finds (512) the end of greatest acceptable OTS list, then the method iterates to a next cluster in list until the end of cluster list (506). The method may iterate through the clusters and acceptable OTS values in ascending order. An earlier (smaller) OTS is better. Here, a list of acceptable OTS miss values may be constructed by determining the average OTS value for a site over the last thi rty days as the first element. Then, a predetermined number of additional elements (e g., nine additional elements) may be added to this list by adding a predetermined percentage value (e.g., 0.02%) to the previous element. For example, the list may be [mean, mean plus 0.02%, mean plus 0.04%, ..., mean plus 0.2%]. If current TPH is greater than current maximum for cluster (510), OTS is not less than current threshold (516), cluster does not make up 10% of cluster’s dataset (518), the method iterates to next acceptable OTS threshold.
[0070] In some embodiments, the method checks if the FC is a specific type of facility. If it is, the method enters a loop (504) which iterates through a range of numbers representing increasing incremental thresholds for cluster numbers (506) and OTS Miss % (512). Withineach cluster, the algorithm checks if it meets certain criteria, such as if the TPH is greater than the cunent highest (514), if the OTS Miss % is less than the current threshold (516), and if the cluster represents at least 10% of the FC’s sub-dataset (518). If a cluster meets the criteria, it is considered a viable candidate for the optimal cluster. If not, a more lenient threshold is considered, and the process is restarted for this cluster. The method keeps track of the cluster with the highest TPH value, stores its cluster number in a variable (522), then uses this new highest TPH for future clusters comparisons (524). If none of the clusters meet the criteria, the method moves on to the second set of criteria.
[0071] The on-time shipment (OTS) target for the non-automated FCs in the network may be 99%, however the OTS target for the automated FCs or second generation FCs may be flexible and ty pically may be set to a lower target of at least 90% of container shipped on time. The criteria used for setting the thresholds of OTS may be the type of the FC, first generation or second generation.
[0072] If the FC is a first generation facility, the method may enter a similar loop as the one shown in Figure 5 that goes through a range of ascending thresholds and clusters. However, this time the method may check for the same criteria, but with more lenient thresholds for OTS Miss %. If a cluster meets the criteria, the method may again keep track of the cluster with the highest TPH value and may store its cluster number. The method may return the cluster number if it identifies a viable candidate for the optimal cluster number.Example Methods for Determining Upper Control Limit and Lower Control Limit
[0073] A planning team may use the optimal backlog as a reference to track the actual backlog at each FC, and / or take steps to ensure that the actual backlog is close to the optimal backlog. Backlog is the number of active orders (e.g., containers) or units requiring additional steps in the fulfillment process or needing to be systematically shipped. Actual backlog refers to the actual, real-time number of containers that may have arrived at an FC to be picked for each hour. The backlog may include the entire catalog item set (all items). The optimal ending backlog determined through cluster analysis is a number and may not be a range. It is not always possible to operate at the exact optimal backlog, and / or at all times, so an Upper Control Limit (UCL) and Lower Control Limit (LCL) for the optimal ending backlog may bedetermined. To determine the LCL and UCL, the impact of having more backlog than planned or less backlog than planned may be used as an input.Upper Control Limit
[0074] When the ending backlog is more than a planned ending backlog, the next shift may require more resources to ship the orders without impacting On-Time Shipment or TPH. Ending backlog is the total number of customer orders that were allocated to the FC and are yet to be shipped from the FC at the end of night shift of each day. For example, if the starting backlog of day shift (e.g., 6 AM) of an FC is 50,000 orders and the FC received a total of 100,000 orders until 6 AM of next day and shipped 90,000 orders in this period, the ending backlog of that day is 60,000 orders. The FC team may use resources from other departments to compensate for the additional resources required. As the total available resource hours may be limited, the maximum number of resource hours, which the outbound department can borrow from other departments on a given day, may be used to determine the UCL. The maximum number of resource share hours may be multiplied to the expected productivity at optimal backlog to obtain the additional units that can be shipped, these additional units may be added to the optimal backlog to determine the UCL of optimal ending backlog. Resource hours may include labor hours, equipment hours, or combinations thereof.Lower Control Limit
[0075] When the ending backlog is lower than planned ending backlog, the next shift may have additional resource capacity and will have to reallocate the excess resource to maintain the TPH. The FC operations may use resource down-time to reallocate excess resource. Excess labor, for example, may be shed through voluntary time off. The maximum number of resource hours that can be reallocated in a day may be used as an input for calculating the LCL. The maximum resource downtime hours may be multiplied by the expected productivity per resource hour at optimal backlog to obtain the units and these units are subtracted from the optimal backlog to determine the LCL of optimal ending backlog.Optimal Hourly Backlog
[0076] A planning unit may monitor the backlog on a periodic bases (e.g., hourly) basis and ensure that optimal backlogs are maintained. Historical periodic backlogs of each FC, UCL and LCL of ending backlog for each FC, and actual ending backlog for each FC may be used as inputs to determine the optimal hourly backlog ranges. The planning unit may include planning teams comprising humans and / or equipment (e.g., artificial intelligence based systems).
[0077] Figure 6 shows a flowchart of an example method 600 for computing optimal hourly backlog, according to some embodiments. A first step may be to filter (604) raw data 602 by FC. Next, the data may be filtered (606) based on days when the ending backlog is withing the range of UCL and LCL of that FC’s optimal ending backlog. Optimal backlog of each hour may be calculated (608) based on the average of each hour’s backlog. Next, the standard deviation of the hourly backlog may be calculated (610) for each hour on the filtered data. The UCL and the LCL may be calculated in step 612. The LCL may be determined by subtracting (614) the standard deviation hourly backlog of that hour from the optimal hourly backlog of the hour. The UCL may be determined by adding (616) the standard deviation of hourly backlog of that hour to the optimal hourly backlog of the hour. This process may be repeated for each FC.
[0078] The planning unit may use the hourly and daily limits determined by this process to drive work allocation across different FC’s. Each week, the planning unit may allocate customer orders to each FC based on forecasted resource availability and customer orders. The planning unit may use these limits and suggest action items to FC’s to either increase or decrease their capacities (e.g., through Over Time or Voluntary7Time off in their labor plan, through resource down times or up times). The planning team may use data visualization reports, examples of which are shown in Figure 7A (hourly view 700) and in Figure 7B (daily view 702), according to some embodiments. It is possible to measure the time and days the backlog at each FC is within determined limits and / or make changes to the allocation. For example, a planning team may use a sandbox table in the database to store allocations of backlog for each FC. Based on business requirements, the planning team may edit the allocation values to each FC to either increase or decrease customer orders to a specific FC. For example,if a specific FC's backlog is consistently above the UCL and current allocation is 12% of the customer orders, the planning team can reduce the allocation to 10% of customer orders and bring down the backlog under the UCL. This data may then be used to determine the impact of the control limits on productivity and OTS on a predetermined schedule (e.g., hourly, daily, weekly, monthly, quarterly) basis. Figure 7C shows graph plots 704 and 706 of performance versus control limits for two fulfillment centers, according to some embodiments. In some embodiments, the system may automatically adjust, and / or cause to adjust, resource allocation (e.g., in real-time), for one or more fulfillment centers, based on the computed optimal backlog. In some embodiments, the system may control operations of one or more fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on-time shipment performance across fulfillment centers.
[0079] The workflow may be designed to run on a regular schedule, with each iteration covering a set interval of time. The interval may start at a small value and grow over time until it reaches a certain threshold. For example, the interval might start at 1 month and increase by 1 month every iteration until it reaches a maximum interval of 36 months (about 3 years). With each iteration, the model may incorporate the data from the most recent interval into its analysis, using a dynamic clustering method to group similar data points together. As the interval grows larger, the model may be able to analyze longer-term trends and patterns in the data. Once the maximum interval is reached, the model may continue using the most recent interv al of data to train itself and generate insights for TPH and OTS miss. This approach allows the model to balance the need for analyzing long-term trends with the need for providing up-to-date insights based on the most recent data.
[0080] Some embodiments use dynamic clustering, to complete an entire clustering process independent of previous runs. The optimal k value determination, clustering of data, and optimal cluster identification may be unique to the current run with the current data interv al. The data interval of data for which the model is trained may be decided. For example, say that a plan is to use 3 years' worth of data to train a model and currently there are months' worth of usable data. The first run in production may take three months of data, then, each successive run of the dynamic workflow may use an additional one month. The model willtrain with four months, five months, six months of data, and so on until the goal interval of three years of data is met. At that point, the most recent three years of data may be used each time the workflow is run.Example Uses of Visualizations
[0081] In some embodiments, features in the hourly / daily views allow user interaction. The insights may be used to effect real-time changes to allocations via the user interfaces (UIs). The allocations can be changed on a day-to-day basis. For example, in Figure 13B, the allocation is increased to 12% on 07 / 29 to 14% on 07 / 30 and 15% on 07 / 31 to get the backlog within the control limits. The daily and hourly views may be provided via a visual analytics platform, such as Tableau. The UIs may allow interaction to filter the data at an FC level, by for example, date, day of week. The views may be refreshed with new data every hour allowing for real time monitoring of the actual backlog versus the planned backlog. The platform may also allow for visualizing and gaining insights into historical trends of starting backlogs and ending backlogs. The planning team may use the insights gained from historical and hourly trends of backlog and correlate with the trends of actual productivity and On time shipment trends, and may make amendments to the planned allocation for the FC’s if the actual backlog is not within the planned limits.
[0082] Figure 8 shows a three-dimensional graph plot 800 of backlog days, TPH and OTS data used for K means clustering for an FC (DAY1), according to some embodiments. Three clusters (cluster 0, cluster 1 and cluster 2) and a centroid (labelled X) are shown.
[0083] Figure 9A show s a graph plot 900 for outbound backlog (LCL and UCL trends) over time for a first fulfillment center (MC01), Figure 9B shows a graph plot 902 for outbound backlog (LCL and UCL trends) over time for a first fulfillment center (DFW1), and Figure 9C shows a graph plot 904 for hours within thresholds (LCL, outbound backlog and UCL) for different FCs (AVP1, AVP2, CFC1 and CLT1), according to some embodiments.
[0084] Figure 10 is a flowchart of an example method 1000 for optimizing backlog in fulfillment centers, according to some embodiments. The method 100 may be performedby a computing system (e.g., the module 124 of the system 100), according to some embodiments.
[0085] The method may include obtaining (1002) input data associated with a plurality of fulfillment centers, backlog day data, transactions per hour data (TPH), and on- time shipment data (OTS). For example, in Figure 2A, the backlog days data 202, the TPH data 204, and the OTS data 206 are obtained and merged (208). The data may be stored in one or more databases. The method may include interfacing with one or more warehouses corresponding to the fulfillment centers and receiving the associated data from the warehouses. In some embodiments, the system 100 continuously monitors the warehouses and / or the fulfillment centers for current data associated with the fulfillment centers and fetches and / or prefetches data in time for the further processing.
[0086] The method may also include removing (1004) outliers in the input data to obtain candidate data based on distribution of the input data, using a method selected from the group consisting of: standard deviation method, percentile method, z-score method, mean absolute division and combinations thereof. In some embodiments, removing the outliers includes using standard deviation method, percentile method, and / or z-score method for data having a Gaussian distribution, using mean absolute division for data having a non-Gaussian distribution, and / or using inter-quartile range for univariate data having a non-Gaussian distribution.
[0087] The method may also include identifying (1006) an optimal k value for each fulfillment center using silhouette analysis and / or elbow method on the candidate data. In some embodiments, identifying the optimal k value for each fulfillment center using the Elbow method comprises selecting an ideal value of k based on a distance between data sets and their designated clusters using sum of squared distance (SSE). In some embodiments, number of clusters used for each fulfillment center is between 2 and 4. Examples for optimal k value determination are described above in reference to Figures 3 and 4, according to some embodiments.
[0088] The method may also include identifying (1008) k clusters for each fulfillment center using K means clustering. Example application of K means clustering is described above in reference to Figure 8, according to some embodiments.
[0089] The method may also include identifying (1010) an optimal cluster for each fulfillment center based on the k clusters. In some embodiments, identifying the optimal cluster includes iterating through a range of numbers representing increasing incremental thresholds for OTS miss percentage. This step may include, for each cluster of the k clusters, a determination that (i) a TPH of a respective cluster is greater than a current highest TPH, (ii) the OTS miss percentage is less than a current threshold (the OTS miss for the cluster in consideration should be lower than the current OTS threshold set), and (iii) the respective cluster represents at least a predetermined percentage of a subset of the input data that corresponds to the fulfillment center. If these conditions are met, the method may include identifying the respective cluster as a viable candidate for the optimal cluster and updating the current highest TPH based on the TPH of the cluster. If the conditions are not, a more lenient threshold may be considered, and the process may be restarted for this cluster. The method may keep track of the cluster with the highest TPH value, stores its cluster number in a variable, and may use this new highest TPH for future clusters comparisons. If none of the clusters meet the criteria, the method may move on to a second set of criteria and so on. In some embodiments, the method further includes using a lower OTS miss percentage for a fulfillment center associated with a site that is manually operated than OTS miss percentage used for other fulfillment centers that include automated sites that rely on robot picking units. Examples for optimal cluster identification are described above in reference to Figure 5, according to some embodiments.
[0090] In some embodiments, an optimal cluster is identified based on high TPH and low OTS miss by analyzing centroids of each cluster for each fulfillment center.
[0091] In some embodiments, an optimal cluster for each fulfillment center is identified by selecting a cluster that (i) has a centroid with highest TPH and OTS miss percentage less than a predetermined percentage (e.g., 2%) and (ii) contains at least a predetermined percentage of the input data set.
[0092] The method may also include computing (1012) a respective optimal backlog for each fulfillment center based on centroid and cluster data for the optimal cluster corresponding to the respective fulfillment center.
[0093] The method may also include dynamically adjusting (1014) resource allocation in real-time for each fulfillment center based on the computed optimal backlog. The dynamic adjustment may result in a measurable improvement in resource utilization efficiency.
[0094] The method may also include controlling (1016) operations of the plurality of fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on-time shipment performance across the plurality of fulfillment centers. This step may help achieve a technical effect of improving overall efficiency and on-time shipment performance (e.g., an increase in on-time shipments, a reduction in idle resource time) across the plurality of fulfillment centers.
[0095] In some embodiments, steps of the method 1000 (e.g., the optimal backlog revision or update) are executed on a predetermined schedule (e.g., on a monthly basis). The execution may utilize cloud resources (e.g., Airflow and SageMaker processing jobs). Tasks may be executed in the cloud, orchestrated, and scheduled by Airflow. SageMaker processing jobs may be utilized for data transformations, feature engineering, cluster creation, and / or limit calculation. The outputs generated by these jobs may be input to a sandbox database layer on servers where a data visualization platform may use this data as an input for data visualization. This integration allows for the daily monitoring of backlog values.
[0096] If the backlog exceeds predefined control limits, allocation changes may be made to bring it within the desired range. Figure 12A illustrates an example of a scenario when actual backlog is above the UCL for the first half and slowly reduces to below the UCL. This reduction in backlog is a consequence of allocation changes as shown in Figure 12B, where the allocation for the FC was reduced to 12% from 13.5%. The monitoring process may be automated, and may continuously assess the backlog, comparing the backlog against control limits to trigger allocation changes, when necessary, allocation changes are implemented by selected resources until the backlog falls within the specified range.
[0097] In some embodiments, the method further includes determining a current backlog for each fulfillment center. For each fulfillment center with a current backlog that is more than its optimal backlog, the method may include computing additional units that can be shipped for the respective fulfillment center by multiplying maximum number of resource hours required and expected productivity at the fulfillment center’s optimal backlog. Themaximum number of resource hours required may be a number of additional resource hours needed to ship orders of the fulfillment center without impacting OTS or TPH for the fulfillment center. The method may also include adding the additional units to the fulfillment center’s optimal backlog to obtain an upper control limit of optimal ending backlog for the fulfillment center.
[0098] If the backlog is above UCL, the next shift may be at risk for on time shipping because of elevated backlog and not enough resource capacity to ship the additional units in time. If the next shift does not ship these additional units and end the shift above the UCL, the consequent shift may also be at risk for on time shipping. To solve this problem, operations may target to ship specific containers that are at risk of on time shipping with an inefficient process which will result in lower productivity7. As backlog increases, percentage of containers that missed OTS increases. If the backlog is above UCL consistently, there is high backlog of containers that missed the expected ship. To solve for this delay, a business may take corrective action by prioritizing these missed containers in batching for picking and packing. This specialized process is inefficient and reduces the productivity7by up to 10%.
[0099] When the backlog is below LCL, there is excess labor (or resource) that may result in inefficient picking and packing process. To solve for this, the business may try7to increase the backlog by shedding excess labor (or resource) through a process called voluntary time off. However, there is a limit to voluntary7time off as it is difficult to find resources which may leave early (e g., employees may want to get paid for the remaining hours after showing up to work for that day). After the targeted shipping, the backlog may drop below UCL. The targeted shipping may help reduce OTS metric, but if the backlog is not reduced. FC operations will continue to operate in the inefficient process of targeted shipping to ensure good customer experience. To bring the backlog down, FC operations may increase capacity by using the option of over time which is expensive or reduce allocation till the backlog is back under control. When the backlog is below UCL, some embodiments may reduce the excess resource capacity (e g., labor, computing or system resources) by transferring the resources to a different department like inbound operations if there is any requirement. Some embodiments may provide voluntary^ time off to employees until the backlog is above LCL. In some instances, resources cannot cease operations (e.g., employeescannot be forced to take voluntary time off, resources are engaged in performing shipping activities and cannot disengage) even if the backlog is still under LCL, in that case, the system may continue to operate in an inefficient manner with more resources, wait and then disengage the resources.
[0100] In some embodiments, the method further includes, for each fulfillment center with a backlog that is lower than its optimal backlog, computing excess resources may be reallocated to maintain the fulfillment center’ s TPH, and obtaining a lower control limit of optimal ending backlog for the fulfillment center based on the excess resources. Resources in this context may include human labor as well as bots used in the fulfillment process. The next shift may have additional resource capacity and the system may have to reallocate resources to maintain the TPH. For example, the FC operations may use resource down time to reallocate resources. The maximum number of resource hours that can be reallocated in a day may be used as an input for calculating the LCL. The maximum number of resource hours may be multiplied to the expected productivity per resource hour at optimal backlog to obtain the units and this units may be subtracted from the optimal backlog to determine the LCL of optimal ending backlog.
[0101] In some embodiments, the method further includes computing optimal backlog ranges for the fulfillment centers based on the optimal backlog for each fulfillment center and on corresponding historical hourly backlog, control limits of ending backlog and actual ending backlog, and monitoring backlog for each fulfillment center on a periodic basis to ensure that optimal backlogs are maintained based on the optimal backlog ranges. The planning team may monitor the backlog on an hourly basis and may ensure that optimal backlogs are maintained. Historical hourly backlogs of each FC. UCL and LCL of ending backlog for each FC, and actual ending backlog for each FC may be used as inputs to determine the optimal hourly backlog ranges. A first step may be to filter the data set by FC. Next, the data may be filtered based on days when the ending backlog is within the range of UCL and LCL of that FC’s optimal ending backlog. Optimal backlog of each hour may be calculated by averaging each hour’s backlog. Next, the standard deviation of the hourly backlog may be calculated for each hour on the filtered data. The LCL may be determined by subtracting the standard deviation of hourly backlog of that hour from the optimal hourlyZ1backlog of the hour. The UCL may be determined by adding the standard deviation of hourly backlog of that hour to the optimal hourly backlog of the hour. This process may be repeated for each FC. Examples for computing optimal backlog are described above in reference to Figure 6, according to some embodiments.
[0102] In some embodiments, the method further includes using hourly and daily limits to drive work allocation across different fulfillment centers. This may in turn include allocating customer orders to each fulfillment center based on forecasted resource availability and customer orders. The planning team may use these limits and suggests action items to FC’s to either increase or decrease their capacities through resource uptime or downtime (e.g., Over Time or Voluntary Time off in labor plan, control changes for any hots). The planning unit may use data visualization reports to measure time and / or detect times each day the backlog at each FC is within the determined limits and make changes to the allocation.
[0103] In some embodiments, the backlog day data is skewed or bimodal, and removing the outliers includes removing outliers in the backlog day data. Example distribution graphs of backlog days for FCs are described above in reference to Figure 2B, according to some embodiments.
[0104] In some embodiments, the method further includes iterating obtaining the input data, removing the outliers, identifying the optimal k value, identifying the k clusters, identifying the optimal cluster, and / or computing the respective optimal backlog, with each iteration covering an interval of time (e.g., three months), each iteration covering a larger interval of time compared to a previous interval of time (e.g., one month more), until a size of the input data reaches a predetermined size (e.g., three years’ worth of data), and subsequently using at least the predetermined size for amount of data for the input data.
[0105] Some embodiments use dynamic clustering whereby the entire clustering process is completed independent of previous runs. The optimal k value determination, clustering of data, and optimal cluster identification may be unique to the current run with the current data interval. The data interval of data for which the model is trained may be predetermined. For example, suppose the plan is to use three years' worth of data to train the model and currently there is three months' worth of usable data. A first production run mayuse three months of data, then each successive run of the dynamic workflow may use anadditional one month of data. The model may be trained with four months, then five months, then six months of data, and so on until the goal (interval of three years of data) is met. At that point, the most recent three years of data may be used each time the workflow is run.
[0106] In some embodiments, the method further includes generating daily and / or hourly views (example of which are described above in reference to Figures 7 A and 7B) via a visual analytics platform tableau, wherein the views allow user interface interaction to filter data at a fulfillment center level and / or on a date or day of week. In some embodiments, the method further includes refreshing the views with new data every hour allowing for real time monitoring of actual backlog versus planned backlog.
[0107] In some embodiments, the method further includes generating one or more visualizations of historical trends of starting backlogs and ending backlogs based on optimal backlog. Example visualizations for trends are described above in reference to Figures 9A, 9B and 9C, according to some embodiments.
[0108] In some embodiments, the method further includes correlating the historical trends with trends of actual productivity and on-time shipment trends, and updating, based on a user input, via a graphical user interface, planned allocation for one or more fulfillment centers if actual backlog is not within predetermined limits.
[0109] Figure 11A is a trend chart 1 100 for actual backlog days, hourly LCL and hourly UCL for an FC (CFC1), according to some embodiments. The example corresponds to a first scenario where backlog is between UCL and LCL. When backlog is within limits, there is no congestion in induction and staging areas, and allocation remains constant. Figure I IB is a graph plot 1102 for actions taken on allocations for the FC shown in Figure I I A, according to some embodiments. The FC allocation changes by day is nearly a flat line for different dates. Figure 11C is a graph plot 1104 for performance of the FC versus control limits, according to some embodiments. As shown, when backlog is within limits, TPH values are high, and the OTS miss is low.
[0110] Figure 12A is a trend chart 1200 for actual backlog days, hourly LCL and hourly UCL for an FC (AVP1). according to some embodiments. The example corresponds to a second scenario where backlog is above UCL. When backlog is above UCL, there is congestion in induction and staging areas, and allocation is reduced to reduce backlog. Figure12B is a graph plot 1202 for actions taken on allocations for the FC shown in Figure 12A, according to some embodiments. The FC allocation is reduced for later dates. Figure 12C is a graph plot 1204 for performance of the FC versus control limits, according to some embodiments. As shown, when backlog is above UCL, TPH values drop (until allocations remain high), and then increase (when allocations are reduced, as shown in Figure 12B); the opposite trend can be observed for OTS miss.
[0111] Figure 13A is a trend chart 1300 for actual backlog days, hourly LCL and hourly UCL for an FC (MDT1), according to some embodiments. The example corresponds to a third scenario where backlog is below LCL. Pickers (e.g., humans, bots) may be waiting for work (e.g., empty induction and staging areas); allocations are increased to increase backlog accordingly. Figure 13B is a graph plot 1302 for actions taken on allocations for the FC shown in Figure 13A, according to some embodiments. The FC allocation is increased over time. Figure 13C is a graph plot 1304 for performance of the FC versus control limits, according to some embodiments. As shown, when backlog is under LCL, allocation is increased gradually, causing TPH to increase and OTS miss to stay low. Series 1 corresponds to TPH and series 2 corresponds to OTS. These graphs have three different x values: under optimal range, within optimal range, and above optimal range where the optimal range is the backlog values between the LCL and UCL. For Figure 13C, OTS Miss is at its lowest when operating within the optimal range (within the set limits). The lower the OTS Miss the better with limited affects to the TPH. For the example show; an increase in UPC during the dates in this data set caused an unexpected increase of TPH when backlog was low. Typically, there is a stronger correlation between backlog and TPH (e.g., as backlog increases, TPH increases).
[0112] Some embodiments monitor the backlog in real time (or near real time) using data visualizations and / or reports. A planning team may use data visualizations (e.g., Tableau reports) to review hourly and end of shift backlogs on a daily basis. If the backlog is consistently outside the limits, the planning team may make changes to allocations in the master allocation table. ORS may use this updated allocation values to either increase or decrease the backlog for a specific FC. Induction area is w ere a picker starts the picking. Staging is area is where the picker drops the cart after completion of picking. The examplesdescribed above in reference to Figures 11A-11C, 12A-12C, and 13A-13C illustrate how backlog may impact operations for each of the scenarios. In some embodiments, the planning unit may use allocation percentages to control backlog at each FC, the charts described above in reference to Figures 11B, 12B and 13B illustrate how allocation percentages vary when the backlog is within limits, above limits and under the limits. Figures 11C, 12C and 13C illustrate how TPH and OTS are impacted when the backlog is within limits, over limits and under limits. Thus, various techniques are described for optimizing backlog in fulfillment centers.
[0113] The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms “a.” “an.” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. One or more aspects of the invention that may be in one embodiment or that are in one embodiment, may be claimed in any combination of those features.
[0114] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
[0115] Some embodiments or implementations are described with respect to the following clauses:Clause Al. A computer-implemented system for optimizing backlog in fulfillment centers, comprising: at least one processor; at least one database; and a memory’ storing instructions that, when executed by the at least one processor, performs steps comprising: obtaining, from the at least one database, input data associated with a plurality of fulfillment centers, backlog day data, transactions per hour data (TPH), and on-time shipment data (OTS); removing outliers in the input data to obtain candidate data based on distribution of the input data, using a method selected from the group consisting of: standard deviation method, percentile method, z-score method, mean absolute division and combinations thereof; identifying an optimal k value for each fulfillment center using at least one of silhouette analysis and elbow method on the candidate data: identifying clusters for each fulfillment center using K means clustering based on the optimal k value; identifying an optimal cluster for each fulfillment center based on the clusters; computing a respective optimal backlog for each fulfillment center based on centroid and cluster data corresponding to the respective fulfillment center; adjusting resource allocation in real-time for each fulfillment center based on the computed optimal backlog; and controlling operations of the plurality’ of fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on-time shipment performance across the plurality’ of fulfillment centers.Clause A2. The computer-implemented system of clause Al, wherein identifying the optimal cluster comprises: iterating through a range of numbers representing increasing incremental thresholds for OTS miss percentage, including: for each cluster of the k clusters, in accordance with a determination that (i) a TPH of a respective k cluster is greater than a current highest TPH, (ii) the OTS miss percentage is less than a current threshold, and (iii) the respective cluster represents at least a predetermined percentage of a subset of the input data that corresponds to the fulfillment center: identifying the cluster as a viable candidate for the optimal cluster and updating the current highest TPH based on the TPH of the cluster.Clause A3. The computer-implemented system of clause A2, the steps further comprising: using a lower OTS miss percentage fulfillment center for a site that is manually operated than OTS miss percentage used for other fulfillment centers that include automated sites that rely on robot picking units.Clause A4. The computer-implemented system of any of clauses Al -A3, the steps further comprising: for each fulfillment center with a backlog that is more than its optimal backlog: computing additional units that can be shipped for the respective fulfillment center by multiplying maximum number of resource hours required and expected productivity at the fulfillment center’s optimal backlog, wherein maximum number of resource hours required is a number of additional resource hours needed to ship orders of the fulfillment center without impacting OTS or TPH for the fulfillment center; and adding the additional units to the fulfillment center’s optimal backlog to obtain an upper control limit of optimal ending backlog for the fulfillment center.Clause A5. The computer-implemented system of clause A4, the steps further comprising: in accordance with a determination that backlog at the fulfillment center is above the upper control limit, causing the fulfilment center to ship containers that are at risk of an on-time shipping miss using a predetermined process.Clause A6. The computer-implemented system of any of clauses A1-A5. the steps further comprising: for each fulfillment center with a backlog that is lower than its optimal backlog: computing excess resource to be reallocated to maintain the fulfillment center’s TPH; and obtaining a lower control limit of optimal ending backlog for the fulfillment center based on the excess resource.Clause A7. The computer-implemented system of any of clauses A1-A6, the steps further comprising: computing optimal backlog ranges for the fulfillment centers based on corresponding historical hourly backlog, control limits of ending backlog and actual ending backlog; and monitoring backlog for each fulfillment center on a periodic basis to ensure that optimal backlogs are maintained based on the optimal backlog ranges.Clause A8. The computer-implemented system of any of clauses A1-A7, the steps further comprising: using hourly and daily limits to drive work allocation across different fulfillment centers, including allocating customer orders to each fulfillment center based on forecasted resource availability and customer orders.Clause A9. The computer-implemented system of any of clauses A1-A8, wherein: the backlog day data is skewed or bimodal; and removing the outliers comprises removing outliers in the backlog day data.Clause Al 0. The computer-implemented system of any of clauses Al -A9, wherein removing the outliers comprises: using at least one of standard deviation method, percentile method, and z-score method for data having a Gaussian distribution; using mean absolute division for data having a non-Gaussian distribution; and using inter-quartile range for univariate data having a non-Gaussian distribution.Clause Al l. The computer-implemented system of any of clauses A1-A10, the steps further comprising: iterating obtaining the input data, removing the outliers, identifying the optimal k value, identifying the clusters, identifying the optimal cluster, and computing the respective optimal backlog, with each iteration covering a set interval of time, each iteration covering a larger interval of time compared to a previous interval of time, until a size of the input data reaches a predetermined size, and subsequently using at least the predetermined size for amount of data for the input data.Clause A12. The computer-implemented system of any of clauses Al-Al 1, the steps further comprising: generating at least one of daily and hourly views via a visual analytics platform, wherein the views allow user interface interaction to filter data at a fulfillment center level and / or on a date or day of week.Clause A13. The computer-implemented system of clause Al 2, the steps further comprising: refreshing the views with new data every hour allowing for real time monitoring of actual backlog versus planned backlog.Clause A14. The computer-implemented system of any of clauses Al -Al 3, the steps further comprising: generating one or more visualizations of historical trends of starting backlogs and ending backlogs based on optimal backlog.Clause A15. The computer-implemented system of clause A14, the steps further comprising: correlating the historical trends with trends of actual productivity and on-time shipment trends; and updating, based on a user input, via a graphical user interface, planned allocation for one or more fulfillment centers if actual backlog is not within predetermined limits.Clause Al 6. The computer-implemented system of any of clauses Al -Al 5, wherein identifying the optimal k value for each fulfillment center using the Elbow method comprisesselecting an ideal value of k based on a distance between data sets and their designated clusters using sum of squared distance (SSE).Clause A17. The computer-implemented system of any of clauses A1-A16. wherein number of clusters used for each fulfdlment center is between 2 and 4.Clause Al 8. The computer-implemented system of any of clauses Al -Al 7, wherein an optimal cluster is identified based on high TPH and low OTS miss by analyzing centroids of each cluster for each fulfillment center.Clause A19. The computer-implemented system of any of clauses A1-A18, wherein an optimal cluster for each fulfillment center is identified by selecting a cluster that (i) has a centroid with highest TPH and OTS miss percentage less than a predetermined percentage and (ii) contains at least a predetermined percentage of the input data set.Clause Bl. A method for optimizing backlog in fulfillment centers, comprising: obtaining input data associated with a plurality of fulfillment centers, backlog day data, transactions per hour data (TPH), and on-time shipment data (OTS); removing outliers in the input data to obtain candidate data based on distribution of the input data, using a method selected from the group consisting of: standard deviation method, percentile method, z-score method, mean absolute division and combinations thereof; identifying an optimal k value for each fulfillment center using at least one of silhouette analysis and elbow method on the candidate data; identify ing clusters for each fulfillment center using K means clustering based on the optimal k value; identifying an optimal cluster for each fulfillment center based on the clusters; computing a respective optimal backlog for each fulfillment center based on centroid and cluster data corresponding to the respective fulfillment center; adjusting resource allocation in real-time for each fulfillment center based on the computed optimal backlog; and controlling operations of the plurality of fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on-time shipment performance across the plurality of fulfillment centers.Clause B2. The method of clause Bl, wherein identifying the optimal cluster comprises: iterating through a range of numbers representing increasing incremental thresholds for OTS miss percentage, including: for each cluster of the k clusters, in accordance with a determination that (i) a TPH of a respective k cluster is greater than a current highest TPH, (ii)the OTS miss percentage is less than a current threshold, and (iii) the respective cluster represents at least a predetermined percentage of a subset of the input data that corresponds to the fulfillment center: identifying the cluster as a viable candidate for the optimal cluster and updating the current highest TPH based on the TPH of the cluster.Clause B3. The method of clause B2, further comprising: using a lower OTS miss percentage fulfillment center for a site that is manually operated than OTS miss percentage used for other fulfillment centers that include automated sites that rely on robot picking units.Clause B4. The method of any of clauses B1-B3, further comprising: for each fulfillment center with a backlog that is more than its optimal backlog: computing additional units that can be shipped for the respective fulfillment center by multiplying maximum number of resource hours required and expected productivity at the fulfillment center’s optimal backlog, wherein maximum number of resource hours required is a number of additional resource hours needed to ship orders of the fulfillment center without impacting OTS or TPH for the fulfillment center; and adding the additional units to the fulfillment center’s optimal backlog to obtain an upper control limit of optimal ending backlog for the fulfillment center.Clause B5. The method of clause B4, the steps further comprising: in accordance with a determination that backlog at the fulfillment center is above the upper control limit, causing the fulfilment center to ship containers that are at risk of an on-time shipping miss using a predetermined process.Clause B6. The method of any of clauses B1-B5, further comprising: for each fulfillment center with a backlog that is lower than its optimal backlog: computing excess resource to be reallocated to maintain the fulfillment center’s TPH: and obtaining a lower control limit of optimal ending backlog for the fulfillment center based on the excess resource.Clause B7. The method of any of clauses B1-B6, further comprising: computing optimal backlog ranges for the fulfillment centers based on corresponding historical hourly backlog, control limits of ending backlog and actual ending backlog; and monitoring backlog for each fulfillment center on a periodic basis to ensure that optimal backlogs are maintained based on the optimal backlog ranges.Clause B8. The method of any of clauses B1-B7, further comprising: using hourly and daily limits to drive work allocation across different fulfillment centers, including allocating customer orders to each fulfillment center based on forecasted resource availability and customer orders.Clause B9. The method of any of clauses B1 -B8, wherein: the backlog day data is skewed or bimodal; and removing the outliers comprises removing outliers in the backlog day data.Clause B 10. The method of any of clauses B 1 -B9, wherein removing the outliers comprises : using at least one of standard deviation method, percentile method, and z-score method for data having a Gaussian distribution; using mean absolute division for data having a non-Gaussian distribution; and using inter-quartile range for univariate data having a non-Gaussian distribution.Clause Bl l. The method of any of clauses Bl -BIO, further comprising: iterating obtaining the input data, removing the outliers, identifying the optimal k value, identifying the clusters, identifying the optimal cluster, and computing the respective optimal backlog, with each iteration covering a set interval of time, each iteration covering a larger interval of time compared to a previous interval of time, until a size of the input data reaches a predetermined size, and subsequently using at least the predetermined size for amount of data for the input data.Clause Bl 2. The method of any of clauses Bl -Bl l, further comprising: generating at least one of daily and hourly views via a visual analytics platform, wherein the views allow user interface interaction to filter data at a fulfillment center level and / or on a date or day of week.Clause Bl 3. The method of clause Bl 2, further comprising: refreshing the views with new data every hour allowing for real time monitoring of actual backlog versus planned backlog.Clause B14. The method of any of clauses B1-B13, further comprising: generating one or more visualizations of historical trends of starting backlogs and ending backlogs based on optimal backlog.Clause B15. The method of clause B14, further comprising: correlating the historical trends with trends of actual productivity and on-time shipment trends; and updating, based on a userinput, via a graphical user interface, planned allocation for one or more fulfillment centers if actual backlog is not within predetermined limits.Clause B16. The method of any of clauses B1-B15, wherein identifying the optimal k value for each fulfillment center using the Elbow method comprises selecting an ideal value of k based on a distance between data sets and their designated clusters using sum of squared distance (SSE).Clause B17. The method of any of clauses B1-B16, wherein number of clusters used for each fulfillment center is between 2 and 4.Clause Bl 8. The method of any of clauses Bl -Bl 7, wherein an optimal cluster is identified based on high TPH and low OTS miss by analyzing centroids of each cluster for each fulfillment center.Clause Bl 9. The method of any of clauses Bl -Bl 8. wherein an optimal cluster for each fulfillment center is identified by selecting a cluster that (i) has a centroid with highest TPH and OTS miss percentage less than a predetermined percentage and (ii) contains at least a predetermined percentage of the input data set.
Claims
What is claimed is:1 . A computer-implemented system for optimizing backlog in fulfillment centers, comprising: at least one processor; at least one database; and a memory- storing instructions that, when executed by the at least one processor, performs steps comprising: obtaining, from the at least one database, input data associated with a plurality7of fulfillment centers, backlog day data, transactions per hour data (TPH), and on- time shipment data (OTS); removing outliers in the input data to obtain candidate data based on distribution of the input data, using a method selected from the group consisting of: standard deviation method, percentile method, z-score method, mean absolute division and combinations thereof; identifying an optimal k value for each fulfillment center using at least one of silhouette analysis and elbow method on the candidate data; identifying clusters for each fulfillment center using K means clustering based on the optimal k value; identifying an optimal cluster for each fulfillment center based on the clusters; computing a respective optimal backlog for each fulfillment center based on centroid and cluster data corresponding to the respective fulfillment center; dynamically adjusting resource allocation in real-time for each fulfillment center based on the computed optimal backlog; and controlling operations of the plurality of fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on-time shipment performance across the plurality7of fulfillment centers.
2. The computer-implemented system of claim 1, yvherein identify ing the optimal cluster comprises:iterating through a range of numbers representing increasing incremental thresholds for OTS miss percentage, including: for each cluster of the k clusters, in accordance with a determination that (i) a TPH of a respective k cluster is greater than a current highest TPH, (ii) the OTS miss percentage is less than a current threshold, and (iii) the respective cluster represents at least a predetermined percentage of a subset of the input data that corresponds to the fulfillment center: identifying the cluster as a viable candidate for the optimal cluster and updating the current highest TPH based on the TPH of the cluster.
3. The computer-implemented system of claim 2, the steps further comprising: using a lower OTS miss percentage fulfillment center for a site that is manually operated than OTS miss percentage used for other fulfillment centers that include automated sites that rely on robot picking units.
4. The computer-implemented system of any of claims 1-3, the steps further comprising: for each fulfillment center with a backlog that is more than its optimal backlog: computing additional units that can be shipped for the respective fulfillment center by multiplying maximum number of resource hours required and expected productivity at the fulfillment center’s optimal backlog, wherein maximum number of resource hours required is a number of additional resource hours needed to ship orders of the fulfillment center without impacting OTS or TPH for the fulfillment center; and adding the additional units to the fulfillment center’s optimal backlog to obtain an upper control limit of optimal ending backlog for the fulfillment center.
5. The computer-implemented system of claim 4, the steps further comprising: in accordance with a determination that backlog at the fulfillment center is above the upper control limit, causing the fulfilment center to ship containers that are at risk of an on- time shipping miss using a predetermined process.
6. The computer-implemented system of any of claims 1-5, the steps further comprising: for each fulfillment center with a backlog that is lower than its optimal backlog:computing excess resource to be reallocated to maintain the fulfillment center’s TPH; and obtaining a lower control limit of optimal ending backlog for the fulfillment center based on the excess resource.
7. The computer-implemented system of any of claims 1-6, the steps further comprising: computing optimal backlog ranges for the fulfillment centers based on corresponding historical hourly backlog, control limits of ending backlog and actual ending backlog; and monitoring backlog for each fulfillment center on a periodic basis to ensure that optimal backlogs are maintained based on the optimal backlog ranges.
8. The computer-implemented system of any of claims 1-7, the steps further comprising: using hourly and daily limits to drive work allocation across different fulfillment centers, including allocating customer orders to each fulfillment center based on forecasted resource availability and customer orders.
9. The computer-implemented system of any of claims 1-8, wherein: the backlog day data is skewed or bimodal; and removing the outliers comprises removing outliers in the backlog day data.
10. The computer-implemented system of any of claims 1-9, wherein removing the outliers comprises: using at least one of standard deviation method, percentile method, and z-score method for data having a Gaussian distribution; using mean absolute division for data having a non-Gaussian distribution; and using inter-quartile range for univariate data having a non-Gaussian distribution.1 1. The computer-implemented system of any of claims 1-10, the steps further comprising: iterating obtaining the input data, removing the outliers, identifying the optimal k value, identifying the clusters, identifying the optimal cluster, and computing the respective optimal backlog, with each iteration covering a set interval of time, each iteration covering a larger interval of time compared to a previous interval of time, until a size of the input data124489-5029-WO 41reaches a predetermined size, and subsequently using at least the predetermined size for amount of data for the input data.
12. The computer-implemented system of any of claims 1-11, the steps further comprising: generating at least one of daily and hourly views via a visual analytics platform, wherein the views allow user interface interaction to filter data at a fulfillment center level and / or on a date or day of week.
13. The computer-implemented system of claim 12, the steps further comprising: refreshing the views with new data every hour allowing for real time monitoring of actual backlog versus planned backlog.
14. The computer-implemented system of any of claims 1-13. the steps further comprising: generating one or more visualizations of historical trends of starting backlogs and ending backlogs based on optimal backlog.
15. The computer-implemented system of claim 14. the steps further comprising: correlating the historical trends with trends of actual productivity and on-time shipment trends; and updating, based on a user input, via a graphical user interface, planned allocation for one or more fulfillment centers if actual backlog is not within predetermined limits.
16. The computer-implemented system of any of claims 1-15, wherein identifying the optimal k value for each fulfillment center using the Elbow method comprises selecting an ideal value of k based on a distance between data sets and their designated clusters using sum of squared distance (SSE).
17. The computer-implemented system of any of claims 1-16, wherein number of clusters used for each fulfillment center is between 2 and 4.124489-5029-WO 4218. The computer-implemented system of any of claims 1-17, wherein an optimal cluster is identified based on high TPH and low OTS miss by analyzing centroids of each cluster for each fulfillment center.
19. The computer-implemented system of any of claims 1-18, wherein an optimal cluster for each fulfillment center is identified by selecting a cluster that (i) has a centroid with highest TPH and OTS miss percentage less than a predetermined percentage and (ii) contains at least a predetermined percentage of the input data set.
20. A method for optimizing backlog in fulfillment centers, comprising: obtaining input data associated with a plurality of fulfillment centers, backlog day data, transactions per hour data (TPH), and on-time shipment data (OTS); removing outliers in the input data to obtain candidate data based on distribution of the input data, using a method selected from the group consisting of: standard deviation method, percentile method, z-score method, mean absolute division and combinations thereof; identifying an optimal k value for each fulfillment center using at least one of silhouette analysis and elbow method on the candidate data; identifying clusters for each fulfillment center using K means clustering based on the optimal k value; identify ing an optimal cluster for each fulfillment center based on the clusters; computing a respective optimal backlog for each fulfillment center based on centroid and cluster data corresponding to the respective fulfillment center; dynamically adjusting resource allocation in real-time for each fulfillment center based on the computed optimal backlog; and controlling operations of the plurality of fulfillment centers by transmitting instructions to automated systems within each fulfillment center to optimize backlog levels, thereby improving overall efficiency and on-time shipment performance across the plurality of fulfillment centers.
21. The method of claim 20, wherein identifying the optimal cluster comprises:124489-5029-WO 43iterating through a range of numbers representing increasing incremental thresholds for OTS miss percentage, including: for each cluster of the k clusters, in accordance with a determination that (i) a TPH of a respective k cluster is greater than a current highest TPH, (ii) the OTS miss percentage is less than a current threshold, and (iii) the respective cluster represents at least a predetermined percentage of a subset of the input data that corresponds to the fulfillment center: identifying the cluster as a viable candidate for the optimal cluster and updating the current highest TPH based on the TPH of the cluster.
22. The method of claim 21. further comprising: using a lower OTS miss percentage fulfillment center for a site that is manually operated than OTS miss percentage used for other fulfillment centers that include automated sites that rely on robot picking units.
23. The method of any of claims 20-21, further comprising: for each fulfillment center with a backlog that is more than its optimal backlog: computing additional units that can be shipped for the respective fulfillment center by multiplying maximum number of resource hours required and expected productivity at the fulfillment center’s optimal backlog, wherein maximum number of resource hours required is a number of additional resource hours needed to ship orders of the fulfillment center without impacting OTS or TPH for the fulfillment center; and adding the additional units to the fulfillment center’s optimal backlog to obtain an upper control limit of optimal ending backlog for the fulfillment center.
24. The method of claim 23, the steps further comprising: in accordance with a determination that backlog at the fulfillment center is above the upper control limit, causing the fulfilment center to ship containers that are at risk of an on- time shipping miss using a predetermined process.
25. The method of any of claims 20-24, further comprising: for each fulfillment center with a backlog that is lower than its optimal backlog:124489-5029-WO 44computing excess resource to be reallocated to maintain the fulfillment center’s TPH; and obtaining a lower control limit of optimal ending backlog for the fulfillment center based on the excess resource.
26. The method of any of claims 20-25, further comprising: computing optimal backlog ranges for the fulfillment centers based on corresponding historical hourly backlog, control limits of ending backlog and actual ending backlog; and monitoring backlog for each fulfillment center on a periodic basis to ensure that optimal backlogs are maintained based on the optimal backlog ranges.
27. The method of any of claims 20-26, further comprising: using hourly and daily limits to drive work allocation across different fulfillment centers, including allocating customer orders to each fulfillment center based on forecasted resource availability and customer orders.
28. The method of any of claims 20-27, wherein: the backlog day data is skewed or bimodal; and removing the outliers comprises removing outliers in the backlog day data.
29. The method of any of claims 20-28, wherein removing the outliers comprises: using at least one of standard deviation method, percentile method, and z-score method for data having a Gaussian distribution; using mean absolute division for data having a non-Gaussian distribution; and using inter-quartile range for univariate data having a non-Gaussian distribution.
30. The method of any of claims 20-29, further comprising: iterating obtaining the input data, removing the outliers, identifying the optimal k value, identifying the clusters, identifying the optimal cluster, and computing the respective optimal backlog, with each iteration covering a set interval of time, each iteration covering a larger interval of time compared to a previous interval of time, until a size of the input data reaches a predetermined size, and subsequently using at least the predetermined size for amount of data for the input data.124489-5029-WO 4531. The method of any of claims 20-30, further comprising: generating at least one of daily and hourly views via a visual analytics platform, wherein the views allow user interface interaction to filter data at a fulfillment center level and / or on a date or day of week.
32. The method of claim 31 , further comprising: refreshing the views with new data every hour allowing for real time monitoring of actual backlog versus planned backlog.
33. The method of any of claims 20-32, further comprising: generating one or more visualizations of historical trends of starting backlogs and ending backlogs based on optimal backlog.
34. The method of claim 33, further comprising: correlating the historical trends with trends of actual productivity and on-time shipment trends; and updating, based on a user input, via a graphical user interface, planned allocation for one or more fulfillment centers if actual backlog is not within predetermined limits.
35. The method of any of claims 20-34, wherein identifying the optimal k value for each fulfillment center using the Elbow method comprises selecting an ideal value of k based on a distance between data sets and their designated clusters using sum of squared distance (SSE).
36. The method of any of claims 20-35, wherein number of clusters used for each fulfillment center is between 2 and 4.
37. The method of any of claims 20-36. wherein an optimal cluster is identified based on high TPH and low OTS miss by analyzing centroids of each cluster for each fulfillment center.
38. The method of any of claims 20-37, wherein an optimal cluster for each fulfillment center is identified by selecting a cluster that (i) has a centroid with highest TPH and OTS miss percentage less than a predetermined percentage and (ii) contains at least a predetermined percentage of the input data set.
Citation Information
Patent Citations
System and method for fulfillment value at risk scoring
US20030225651A1
Tracking business performance impact of optimized sourcing algorithms
US20180082355A1
Automatically clustering shipping units at different hierarchical levels via machine learning models
US20190205829A1
Method and system for ai based automated capacity planning in data center
US20220261295A1
Generating current order fulfillment plans based on expected future orders
US7295990B1