IP Library Granted Patent US 12,664,562
Granted Patent B2
US 12,664,562 · App. 18/110,816 · Granted Jun 23, 2026

Systems and methods for using machine learning algorithms to forecast promotional demand of products

Inventors: Samta Shukla (Woonsocket, RI); Mukul Sankule (Woonsocket, RI); Diego Juarez (Woonsocket, RI); Delfina Iriarte (Woonsocket, RI); Nicolás García Aramouni (Woonsocket, RI); John R. Cybulski (Woonsocket, RI); Halil Cobuloglu (Woonsocket, RI)
Assignee: CVS Pharmacy, Inc.
G06Q30/0202G06N20/00G06Q30/0204
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,664,562
App. No.
18/110,816
Granted
Jun 23, 2026
Kind
B2
Abstract

A method is provided. The method includes: obtaining a new marketing promotion for a particular product; determining, based on the particular product, a first product segment from a plurality of product segments; determining, by the PFCS, one or more promotional forecasting machine learning-artificial intelligence (ML-AI) models from a plurality of promotional forecasting ML-AI models to use for the new marketing promotion based on the first product segment; inputting promotional information associated with the new marketing promotion into the one or more determined promotional forecasting ML-AI models to forecast an amount of the particular product to provide to one or more storefronts; and providing product information indicating the amount of the particular product to one or more facility computing systems associated with the one or more storefronts.

Claims (102)

1 . A method, comprising:

obtaining historical data for a plurality of products, wherein the historical data indicates external events associated with the plurality of products;

standardizing the historical data using a plurality of standardization processors to generate standardized historical data, wherein standardizing the historical data comprises:

processing the historical data using a natural language processing (NLP) algorithm to convert the external events indicated by the historical data into feature embeddings;

clustering the plurality of products into a plurality of product segments, wherein each of the plurality of product segments comprises one or more products from the plurality of products that are clustered together;

determining a subset of the historical data for a particular product, from a first product segment of the plurality of product segments, is inaccurate based on the feature embeddings associated with the external events from the historical data;

updating the subset of the historical data for the particular product that is inaccurate based on using the historical data from the first product segment to replace the subset of the historical data of the particular product; and

generating the standardized historical data based on updating the historical data for the particular product that is inaccurate;

training a plurality of promotional forecasting machine learning-artificial intelligence (ML-AI) models using the standardized historical data, wherein the plurality of promotional forecasting ML-AI models comprise a plurality of parameters;

obtaining new historical data for the plurality of products;

in response to obtaining the new historical data, retraining the plurality of promotional forecasting ML-AI models comprising:

re-clustering, based on the new historical data, the plurality of products from the plurality of product segments into a plurality of new product segments to reduce a number of entries for each of the plurality of new products segments to a specific record value; and

based on the new historical data and the plurality of new product segments, retraining the plurality of promotional forecasting ML-AI models to adjust the plurality of parameters of the plurality of promotional forecasting ML-AI models;

obtaining a new marketing promotion for the particular product;

determining, based on the particular product from the new marketing promotion, the first product segment from the plurality of new product segments;

determining one or more promotional forecasting ML-AI models from the plurality of retrained promotional forecasting ML-AI models to use for the new marketing promotion based on the first product segment, wherein each of the plurality of retrained promotional forecasting ML-AI models is associated with a product segment from the plurality of new product segments;

inputting promotional information associated with the new marketing promotion into the one or more determined promotional forecasting ML-AI models to forecast an amount of the particular product to provide to one or more storefronts; and

providing product information indicating the amount of the particular product to one or more facility computing systems associated with the one or more storefronts.

2 . The method of claim 1 , wherein each of the plurality of retrained promotional forecasting ML-AI models is further associated with a storefront from a plurality of storefronts associated with an enterprise organization, and

wherein determining the one or more promotional forecasting ML-AI model is based on:

comparing the first product segment with the plurality of new product segments; and

comparing the one or more storefronts with the plurality of storefronts.

3 . The method of claim 1 , wherein inputting the promotional information associated with the new marketing promotion into the one or more determined promotional forecasting ML-AI models comprises:

inputting the promotional information into a first selected promotional forecasting ML-AI model associated with a first storefront, from the one or more storefronts, to forecast a first amount of the particular product to provide to the first storefront; and

inputting the promotional information into a second selected promotional forecasting ML-AI model associated with a second storefront, from the one or more storefronts, to forecast a second amount of the particular product to provide to the second storefront, wherein the second amount is different from the first amount.

4 . The method of claim 1 , wherein obtaining the historical data for the plurality of products comprises:

determining lagging information for the plurality of products based on the historical data, and

wherein training the plurality of promotional forecasting ML-AI models is further based on the lagging information.

5 . The method of claim 1 , wherein standardizing the historical data further comprises:

determining a plurality of features for the plurality of products, wherein each of the plurality of features indicates an input that is used for training the plurality of promotional forecasting ML-AI models; and

populating one or more arrays based on the plurality of features, wherein the standardized historical data comprises the one or more arrays.

6 . The method of claim 1 , wherein clustering the plurality of products into the plurality of product segments comprises:

determining a plurality of sub-groups for the plurality of products using a dynamic time warping (DTW) algorithm; and

determining the plurality of product segments based on determining whether each of the plurality of sub-groups exceeds a maximum data size limit.

7 . The method of claim 6 , wherein determining the plurality of product segments is further based on determining whether each of the plurality of sub-groups is below a minimum data size limit.

8 . The method of claim 1 , wherein standardizing the historical data comprises:

obtaining one or more indications indicating one or more new products or one or more new storefronts do not have historical data; and

generating new product data for the one or more new products or new storefront data for the one or more new storefronts, and

wherein generating the standardized historical data is based on the new product data or the new storefront data.

9 . The method of claim 8 , wherein generating the new product data or the new storefront data is based on determining similar products to the one or more new products or similar storefronts to the one or more new storefronts.

10 . The method of claim 1 , wherein determining the subset of the historical data for the particular product is inaccurate comprises:

determining one or more lost sales entries within the historical data based on the feature embeddings associated with the external events, wherein the one or more lost sales entries indicate the particular product being out of stock during a time period;

generating new sales data for the one or more lost sales entries based on the historical data from the first product segment; and

populating the one or more lost sales entries with the new sales data.

11 . The method of claim 1 , wherein the plurality of promotional forecasting ML-AI models are Light gradient-boosting machine (LightGBM) models, and

wherein training the plurality of promotional forecasting ML-AI models is based on using a customized loss function.

12 . The method of claim 11 , wherein the customized loss function is based on a sales velocity associated with the particular product and a margin rate associated with the particular product.

13 . The method of claim 12 , wherein the customized loss function L is based on:

L= 0.5* w 1 ( y−a ) 2 −w 2 ( m×y )− w 3 ( v×y )

where w 1 , w 2 , and w 3 are weights, y is a forecasted amount, a is an actual amount, m is the margin rate associated with the particular product, and v is the sales velocity associated with the particular product.

14 . The method of claim 1 , further comprising:

storing the plurality of retrained promotional forecasting ML-AI models in memory.

15 . The method of claim 14 , wherein retraining the plurality of promotional forecasting ML-AI models is further based on a set amount of time elapsing.

16 . A promotional forecasting computing system (PFCS), comprising:

one or more processors; and

a non-transitory computer-readable medium having processor-executable instructions stored thereon, wherein the processor-executable instructions, when executed by the one or more processors, facilitate:

obtaining historical data for a plurality of products, wherein the historical data indicates external events associated with the plurality of products;

standardizing the historical data using a plurality of standardization processors to generate standardized historical data, wherein standardizing the historical data comprises:

processing the historical data using a natural language processing (NLP) algorithm to convert the external events indicated by the historical data into feature embeddings;

clustering the plurality of products into a plurality of product segments, wherein each of the plurality of product segments comprises one or more products from the plurality of products that are clustered together;

determining a subset of the historical data for a particular product, from a first product segment of the plurality of product segments, is inaccurate based on the feature embeddings associated with the external events from the historical data;

updating the subset of the historical data for the particular product that is inaccurate based on using the historical data from the first product segment to replace the subset of the historical data of the particular product; and

generating the standardized historical data based on updating the historical data for the particular product that is inaccurate;

training a plurality of promotional forecasting machine learning-artificial intelligence (ML-AI) models using the standardized historical data, wherein the plurality of promotional forecasting ML-AI models comprise a plurality of parameters;

obtaining new historical data for the plurality of products;

in response to obtaining the new historical data, retraining the plurality of promotional forecasting ML-AI models comprising:

re-clustering, based on the new historical data, the plurality of products from the plurality of product segments into a plurality of new product segments to reduce a number of entries for each of the plurality of new products segments to a specific record value; and

based on the new historical data and the plurality of new product segments, retraining the plurality of promotional forecasting ML-AI models to adjust the plurality of parameters of the plurality of promotional forecasting ML-AI models;

obtaining a new marketing promotion for the particular product;

determining, based on the particular product from the new marketing promotion, the first product segment from the plurality of new product segments, wherein each of the plurality of product segments comprises a set of products that are clustered together;

determining one or more promotional forecasting ML-AI models from the plurality of retrained promotional forecasting ML-AI models to use for the new marketing promotion based on the first product segment, wherein each of the plurality of retrained promotional forecasting ML-AI models is associated with a product segment from the plurality of new product segments;

inputting promotional information associated with the new marketing promotion into the one or more determined promotional forecasting ML-AI models to forecast an amount of the particular product to provide to one or more storefronts; and

providing product information indicating the amount of the particular product to one or more facility computing systems associated with the one or more storefronts.

17 . The PFCS of claim 16 , wherein each of the plurality of retrained promotional forecasting ML-AI models is further associated with a storefront from a plurality of storefronts associated with an enterprise organization, and

wherein determining the one or more promotional forecasting ML-AI models is based on:

comparing the first product segment with the plurality of new product segments; and

comparing the one or more storefronts with the plurality of storefronts.

18 . The PFCS of claim 16 , wherein inputting the promotional information associated with the new marketing promotion into the one or more determined promotional forecasting ML-AI models comprises:

inputting the promotional information into a first selected promotional forecasting ML-AI model associated with a first storefront, from the one or more storefronts, to forecast a first amount of the particular product to provide to the first storefront; and

inputting the promotional information into a second selected promotional forecasting ML-AI model associated with a second storefront, from the one or more storefronts, to forecast a second amount of the particular product to provide to the second storefront, wherein the second amount is different from the first amount.

19 . The PFCS of claim 16 , wherein determining the subset of the historical data for the particular product is inaccurate comprises:

determining one or more lost sales entries within the historical data based on the feature embeddings associated with the external events, wherein the one or more lost sales entries indicate the particular product being out of stock during a time period;

generating new sales data for the one or more lost sales entries based on the historical data from the first product segment; and

populating the one or more lost sales entries with the new sales data.

20 . A non-transitory computer-readable medium having processor-executable instructions stored thereon, wherein the processor-executable instructions, when executed, facilitate:

obtaining historical data for a plurality of products, wherein the historical data indicates external events associated with the plurality of products;

standardizing the historical data using a plurality of standardization processors to generate standardized historical data, wherein standardizing the historical data comprises:

processing the historical data using a natural language processing (NLP) algorithm to convert the external events indicated by the historical data into feature embeddings;

clustering the plurality of products into a plurality of product segments, wherein each of the plurality of product segments comprises one or more products from the plurality of products that are clustered together;

determining a subset of the historical data for a particular product, from a first product segment of the plurality of product segments, is inaccurate based on the feature embeddings associated with the external events from the historical data;

updating the subset of the historical data for the particular product that is inaccurate based on using the historical data from the first product segment to replace the subset of the historical data of the particular product; and

generating the standardized historical data based on updating the historical data for the particular product that is inaccurate;

training a plurality of promotional forecasting machine learning-artificial intelligence (ML-AI) models using the standardized historical data, wherein the plurality of promotional forecasting ML-AI models comprise a plurality of parameters;

obtaining new historical data for the plurality of products;

in response to obtaining the new historical data, retraining the plurality of promotional forecasting ML-AI models comprising:

re-clustering, based on the new historical data, the plurality of products from the plurality of product segments into a plurality of new product segments to reduce a number of entries for each of the plurality of new products segments to a specific record value; and

based on the new historical data and the plurality of new product segments, retraining the plurality of promotional forecasting ML-AI models to adjust the plurality of parameters of the plurality of promotional forecasting ML-AI models;

obtaining a new marketing promotion for the particular product;

determining, based on the particular product from the new marketing promotion, the first product segment from the plurality of new product segments, wherein each of the plurality of product segments comprises a set of products that are clustered together;

determining one or more promotional forecasting ML-AI models from the plurality of retrained promotional forecasting ML-AI models to use for the new marketing promotion based on the first product segment, wherein each of the plurality of retrained promotional forecasting ML-AI models is associated with a product segment from the plurality of new product segments;

inputting promotional information associated with the new marketing promotion into the one or more determined promotional forecasting ML-AI models to forecast an amount of the particular product to provide to one or more storefronts; and

providing product information indicating the amount of the particular product to one or more facility computing systems associated with the one or more storefronts.