IP Library Granted Patent US 12,657,535
Granted Patent B2
US 12,657,535 · App. 18/605,074 · Granted Jun 16, 2026

Automated supply chain demand forecasting

Inventors: Javier Recasens (Atlanta, GA); Prasanna Kumar Ragavan (Ann Arbor, MI)
Assignee: Coupa Software Incorporated
G06Q10/06315G06Q10/067G06Q10/08G06Q30/0202
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,657,535
App. No.
18/605,074
Granted
Jun 16, 2026
Kind
B2
Abstract

In an embodiment, a method includes receiving training data representing historic consumer demand for products, detecting changepoints in that data that may be associated with disruptive events, identifying relevant data for modeling, performing clustering, processing configuration information, training one or more machine learning models that are capable of evaluating other received data more accurately, and outputting results to a user display device.

Claims (32)

1 . A computer-implemented method of forecasting supply chain demand of products of goods or services, executed by a distributed computer system comprising data acquisition logic, project management logic, data storage logic managing a database storing product demand data, third-party data, training data, testing data, and output data, and data processing logic that exposes a retraining web service and a scoring web service deployed in a cloud production environment, the method comprising:

receiving, by the data acquisition logic, a training data set comprising product demand data indicating consumer demand for millions of products at a plurality of time points;

when downstream consumption data is unavailable, and only upstream demand signals are present, estimating true demand by imputing sales using a substitution-split imputation that allocates incremental demand across substitute SKUs proportionally to historical shares and/or by using a site-visit-to-sales ratio for primarily online items;

clustering the training data set into a plurality of time series clusters using K-means over normalized and smoothed demand-index windows since disruption onset to obtain cluster representatives;

executing, by the data processing logic, a supervised multi-class machine learning classifier aided by moving average convergence/divergence (MACD) indicators to output calculations of one or more changepoints representative time series for the clusters, each of the changepoints corresponding to a disruptive event;

retrieving a baseline forecast for one or more of the products calculated prior to a detected changepoint and calculating one or more of a mean demand level, a median demand level, or a standard deviation of demand level for selected periods of the training data set that are before and after the detected changepoint;

identifying a deviation between the baseline forecast and a particular time series cluster among the plurality of the time series clusters before and after the detected changepoint corresponding to a disruptive event, the deviation exceeding, 1.5*Inter Quartile Range (IQR) above the 75th percentile or below the 25th percentile of the baseline forecast, and in response, flagging the particular time series cluster as impacted by a disruptive event;

processing configuration information that specifies third-party data for training one or more machine learning models and, in response thereto, accessing one or more of mobility tracking data specifying a percent change in visits to stores within a geographic area, a social distance index, school closures data, case count data, unemployment claims data, consumer sentiment data, or hospital utilization data;

engineering non-forward-looking regressors by generating lagged lead indicators and window statistics with a starting point limited by a forecast horizon, and selecting optimal lags by correlation analysis on the lagged regressors;

transforming the training data set and the third-party data to be used for training the one or more machine learning models into a format suitable for the one or more machine learning models by one or more of: resizing inputs to a particular fixed size, converting non-numeric data features into numeric feature ones, normalizing numeric data features, or lower-casing or tokenizing metadata text features;

training new machine learning models only for the time series clusters flagged as impacted, based on the training data set and the third-party data, and validating the trained models using walk-forward cross-validation to prevent time-dependent data leakage;

applying hierarchical time-series reconciliation to propagate detected level shifts coherently between aggregated and disaggregated levels across a product and/or location hierarchy;

inputting one or more new timestamps respectively associated with one or more products; and

executing the scoring web service to generate forecasts for the new timestamps, transmitting forecasted results to a consumption client via an API, and rendering forecast visualizations on a user display device, and executing the retraining web service to retrain models for flagged series or clusters.

2 . The computer-implemented method of claim 1 , wherein at least a portion of the product demand data comprising upstream consumption data that corresponds to one or more other computing systems that are upstream from the distributed computer system; the method further comprising updating the product demand data for the one or more products by imputing sales values based on the upstream consumption data.

3 . The computer-implemented method of claim 1 , further comprising clustering the training data set into a plurality of time series clusters based on the MACD indicators that are associated with the product demand data.

4 . One or more non-transitory computer-readable storage media storing one or more sequences of instructions which, when executed using one or more processors of a distributed computer system comprising data acquisition logic, project management logic, data storage logic managing a database storing product demand data, third-party data, training data, testing data, and output data, and data processing logic that exposes a retraining web service and a scoring web service deployed in a cloud production environment, cause the one or more processors to execute:

receiving, by the data acquisition logic, a training data set comprising product demand data indicating consumer demand for millions of products at a plurality of time points;

when downstream consumption data is unavailable, and only upstream demand signals are present, estimating true demand by imputing sales using a substitution-split imputation that allocates incremental demand across substitute SKUs proportionally to historical shares and/or by using a site-visit-to-sales ratio for primarily online items;

clustering the training data set into a plurality of time series clusters using K-means over normalized and smoothed demand-index windows since disruption onset to obtain cluster representatives;

executing a supervised multi-class machine learning classifier aided by moving average convergence/divergence (MACD) indicators to output calculations of one or more changepoints representative time series for the clusters, each of the changepoints corresponding to a disruptive event;

retrieving a baseline forecast for one or more of the products calculated prior to a detected changepoint and calculating one or more of a mean demand level, a median demand level, or a standard deviation of demand level for selected periods of the training data set that are before and after the detected changepoint;

identifying a deviation between the baseline forecast and a particular time series cluster among the plurality of the time series clusters before and after the detected changepoint corresponding to a disruptive event, the deviation exceeding, 1.5*Inter Quartile Range (IQR) above the 75th percentile or below the 25th percentile of the baseline forecast, and in response, flagging the particular time series cluster as impacted by a disruptive event;

processing configuration information that specifies third-party data for training one or more machine learning models and, in response thereto, accessing one or more of mobility tracking data specifying a percent change in visits to stores within a geographic area, a social distance index, school closures data, case count data, unemployment claims data, consumer sentiment data, or hospital utilization data;

engineering non-forward-looking regressors by generating lagged lead indicators and window statistics with a starting point limited by a forecast horizon, and selecting optimal lags by correlation analysis on the lagged regressors;

transforming the training data set and the third-party data to be used for training the one or more machine learning models into a format suitable for the one or more machine learning models by one or more of: resizing inputs to a particular fixed size, converting non-numeric data features into numeric feature ones, normalizing numeric data features, or lower-casing or tokenizing metadata text features;

training new machine learning models only for the time series clusters flagged as impacted, based on the training data set and the third-party data, and validating the trained models using walk-forward cross-validation to prevent time-dependent data leakage;

applying hierarchical time-series reconciliation to propagate detected level shifts coherently between aggregated and disaggregated levels across a product and/or location hierarchy;

inputting one or more new timestamps respectively associated with one or more products; and

executing the scoring web service to generate forecasts for the new timestamps, transmitting forecasted results to a consumption client via an API, and rendering forecast visualizations on a user display device, and executing the retraining web service to retrain models for flagged series or clusters.

5 . The one or more non-transitory computer-readable storage media of claim 4 , wherein at least a portion of the product demand data comprising upstream consumption data that corresponds to one or more other computing systems that are upstream from the distributed computer system; further comprising one or more sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute: updating the product demand data for the one or more products by imputing sales values based on the upstream consumption data.

6 . The one or more non-transitory computer-readable storage media of claim 4 , further comprising one or more sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute: clustering the training data set into a plurality of time series clusters based on the MACD indicators that are associated with the product demand data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2024
From: RECASENS, JAVIER; RAGAVAN, PRASANNA KUMAR
To: COUPA SOFTWARE INCORPORATED
Reel/Frame 066777/0485 →
Continuity (3)
Division 17708985 · Mar 30, 2022
Provisional Application 63169017 · Mar 31, 2021
Related Publication 20240220891A1 · Jul 4, 2024
References Cited (17)
US 20020169657A1 · Singh · 2002 [cited by examiner]
US 20040006447A1 · Gorin · 2004 [cited by examiner]
US 20040103018A1 · Kim · 2004 [cited by examiner]
US 20050288993A1 · Weng · 2005 [cited by examiner]
US 20140188748A1 · Cavoue · 2014 [cited by examiner]
US 20140278728A1 · Hollenbach · 2014 [cited by examiner]
US 20170039500A1 · Leidner · 2017 [cited by examiner]
US 20200134642A1 · Morgan · 2020 [cited by applicant]
US 20210090163A1 · Rabinovitch · 2021 [cited by examiner]
US 20210110413A1 · Ouellet · 2021 [cited by examiner]
US 20210374632A1 · Côté · 2021 [cited by examiner]
US 20220180274A1 · Makhija · 2022 [cited by applicant]
US 20230342796A1 · Madhusudhanan et al. · 2023 [cited by applicant]
US 20230401592A1 · Khanafer et al. · 2023 [cited by applicant]
P. K. T, M. T. N and R. S. Hegadi, “Literature Review on Big Data Analytics and Demand Modeling in Supply Chain,” 2018 International Conference on Electrical, Electronics, Communication, Computer, and Optimization Techn… [cited by examiner]
M. A. Khan et al., “Effective Demand Forecasting Model Using Business Intelligence Empowered With Machine Learning,” in IEEE Access, vol. 8, pp. 116013-116023, 2020 (Year: 2020). [cited by examiner]
Javier Recasens, “Forecasting in Times of Disruption”, pub. online by Opex Analytics in the Opex Analytics Blog, dated Apr. 2, 2020, 8 pages. [cited by applicant]