`
`What is claimed is:
`
`CLAIMS
`
`1.
`
`A demand forecasting system (100); comprising:
`
`a forecast engine (130) configured to generate forecast data;
`
`a history database (120) operatively coupled to the forecast engine;
`
`a plurality of data collectors (110) operatively coupled to the history database;
`
`a SIM-TO engine (150) operatively coupled to the forecast engine;
`
`a forecast database (160) operatively coupled to the forecast engine; and
`
`an application unit (170) operatively coupled to the forecast engine;
`
`wherein the forecast engine and the forecast database are configured to provide inputs to
`
`the application unit to plan promotion activities; achieve optimal inventory and resource
`
`allocation; and minimize operating costs;
`
`wherein at least some of the forecast data generated by the forecast engine is stored in the
`
`forecast database; and
`
`wherein the SIM-TO engine comprises a processor and a computer readable medium
`
`containing instructions that; upon execution by the processor; cause the SIM-TO engine to
`
`perform a process to identify items that are similar to a new item identified by the data collector;
`
`enabling the forecast engine to provide forecast data indicative of a demand forecast for the new
`
`item; said process comprising:
`
`determining a classification of the new item (302);
`
`identifying a set of attributes of the new item (306);
`
`calculating matching scores for existing items within the determined
`
`classification; wherein the matching scores are calculated using the set of attributes (310);
`
`and
`
`identifying an existing item as similar to the new item in response to determining
`
`that a matching score for the existing item is equal to or greater than a predetermined
`
`threshold value (312).
`
`2.
`
`The system of claim 1; wherein the determined classification comprises a hierarchy of
`
`classifications; including as a division; a category; and a subcategory; and wherein the process to
`
`identify items that are similar further comprises performing an expanded search of existing items
`
`by conducting a search within a higher level of classification.
`
`-21-
`
`
`
`105562002014
`
`3.
`
`The system of claim 1; wherein the process to identify items that are similar further
`
`comprises adjusting the set of attributes and the predetermined threshold value so as to identify a
`
`desirable number of similar-to items.
`
`4.
`
`The system of claim 1; wherein the forecast engine is configured to:
`
`divide gathered data from the data collectors into a set of training data and a set of test
`
`data;
`
`train a plurality of machine learning models using the set of training data;
`
`generate fitness functions for the plurality of machine learning models;
`
`select a model with the highest degree of fitness across the set of training data;
`
`evaluate forecast accuracy of the selected model using the set of test data; and
`
`determine whether the forecast accuracy of the selected model is acceptable.
`
`5.
`
`The system of claim 4; wherein the system is further configured to update the forecast
`
`data generated by the selected model as data associated with existing or similar-to items become
`
`available.
`
`6.
`
`The system of claim 4; wherein the system is further configured to adjust the data
`
`gathered by the forecast engine to improve the forecast accuracy of one or more machine
`
`learning models.
`
`7.
`
`The system of claim 1; wherein the plurality of data collectors are located in a number of
`
`stores of a retail entity and are configured to collect various data relating to items sold by the
`
`retail entity; including locations of stores; categories and descriptions of items; times; prices and
`
`sales; and wherein the data collected by the data collectors is stored in the history database.
`
`8.
`
`The system of claim 1; wherein the forecast engine and the SIM-TO engine are accessible
`
`via an application programming interface (API) or user interface; and wherein the forecast
`
`engine and SIM-TO engine are configured to provide an analysis and summary of results to a
`
`requesting user.
`
`9.
`
`The system of claim 1; wherein calculating matching scores for existing items comprises
`
`assigning a value of "1" to an existing item if the existing item has an attribute matching one
`
`among the set of attributes of the new item; and otherwise assigning a value of "0" to the existing
`
`item; and wherein a matching score of each existing item is determined by dividing a sum of
`
`values assigned to each existing item by the number of attributes among the set of attributes.
`
`-22-
`
`
`
`105562002014
`
`10.
`
`In a system comprising a forecast engine configured to generate forecast data, a history
`
`database, a plurality of data collectors, a SIM-TO engine, and a forecast database, a method
`
`performed by the SIM-TO engine to identify items that are similar to a new item identified by a
`
`data collector, said method comprising the steps of:
`
`determining a classification of the new item (3 02),
`
`identifying a set of attributes of the new item (306),
`
`calculating matching scores for existing items within the determined classification,
`
`wherein the matching scores are calculated using the set of attributes (310), and
`
`identifying an existing item as similar to the new item in response to determining that a
`
`matching score for the existing item is equal to or greater than a predetermined threshold value
`
`(312).
`
`11.
`
`The method of claim 10, wherein the determined classification comprises a hierarchy of
`
`classifications, including as a division, a category, and a subcategory, and wherein the method to
`
`identify items that are similar further comprises performing an expanded search of existing items
`
`by conducting a search within a higher level of classification.
`
`12.
`
`The method of claim 10, wherein the method to identify items that are similar further
`
`comprises adjusting the set of attributes and the predetermined threshold value so as to identify a
`
`desirable number of similar-to items.
`
`13.
`
`The method of claim 10, wherein the forecast engine performs the following steps:
`
`dividing gathered data from the data collectors into a set of training data and a set of test
`
`data,
`
`training a plurality of machine learning models using the set of training data,
`
`generating fitness functions for the plurality of machine learning models,
`
`selecting a model with the highest degree of fitness across the set of training data,
`
`evaluating forecast accuracy of the selected model using the set of test data, and
`
`determining whether the forecast accuracy of the selected model is acceptable.
`
`14.
`
`The method of claim 13, further comprising updating the forecast data generated by the
`
`selected model as data associated with existing or similar-to items become available.
`
`15.
`
`The method of claim 13, further comprising adjusting the data gathered by the forecast
`
`engine to improve the forecast accuracy of one or more machine learning models.
`
`-23-
`
`
`
`105562002014
`
`16.
`
`The method of claim 10, wherein the plurality of data collectors are located in a number
`
`of stores of a retail entity and collect various data relating to items sold by the retail entity,
`
`including locations of stores, categories and descriptions of items, times, prices and sales, and
`
`store the data collected in the history database.
`
`17.
`
`The method of claim 10, wherein the forecast engine and the SIM-TO engine are
`
`accessible via an application programming interface (API) or user interface, and wherein forecast
`
`engine and SIM-TO engine provide an analysis and summary of results to a requesting user.
`
`18.
`
`The method of claim 10, wherein calculating matching scores for existing items
`
`comprises assigning a value of "l" to an existing item if the existing item has an attribute
`
`matching one among the set of attributes of the new item, and otherwise assigning a value of "0"
`
`to the existing item, and wherein a matching score of each existing item is determined by
`
`dividing a sum of values assigned to each existing item by the number of attributes among the set
`
`of attributes.
`
`19.
`
`A computer readable medium containing instructions that, upon execution by a processor,
`
`cause the processor to perform a process to identify items that are similar to a new item
`
`identified by a data collector, said instructions comprising:
`
`instructions for determining a classification of the new item,
`
`instructions for identifying a set of attributes of the new item,
`
`instructions for calculating matching scores for existing items within the determined
`
`classification, wherein the matching scores are calculated using the set of attributes, and
`
`instructions for identifying an existing item as similar to the new item in response to
`
`determining that a matching score for the existing item is equal to or greater than a
`
`predetermined threshold value.
`
`20.
`
`The computer readable medium of claim 19, wherein the instructions for calculating
`
`matching scores for existing items include instructions for assigning a value of "l" to an existing
`
`item if the existing item has an attribute matching one among the set of attributes of the new
`
`item, and otherwise assigning a value of "0" to the existing item, and instructions for dividing a
`
`sum of values assigned to each existing item by the number of attributes among the set of
`
`attributes.
`
`-24-
`
`