脱脂是什么意思| 什么情况下做胃镜| cu是什么元素| 十月十六号是什么星座| 图灵是什么意思| 私房照是什么| 黄芪和枸杞泡水喝有什么作用| 属鼠和什么属相相冲| 纵隔肿瘤是什么病| 高铁什么时候检票| hdr模式是什么意思| c14呼气试验是检查什么的| 面瘫吃什么药| 阳虚湿热吃什么中成药| 神经是什么| 义诊是什么意思| 头皮痒挂什么科| 浓绿的什么| 大脚趾发黑是什么原因| 唐僧是什么菩萨| 血糖高吃什么菜| 肚脐眼中间疼是什么原因| 蚧壳虫用什么药| mz是什么意思| 啫啫煲为什么念jue| 边缘视力是什么意思| 脸上经常长痘痘是什么原因| 为什么会梦到自己怀孕| 阑尾炎手术后吃什么好| 四维和大排畸有什么区别| 月经期间可以喝什么汤比较好| 为什么大便拉不出来| 经期吃什么补气血| 龟兔赛跑的故事告诉我们什么道理| 解压密码是什么| 早餐吃什么英语怎么说| 什么程度下病危通知书| 粘纤是什么面料优缺点| 拜阿司匹灵是什么药| cga是什么意思| camel什么意思| 碳水化合物指的是什么| 桂皮是什么树的皮| 口角炎涂什么药膏| 鹅什么时候开始下蛋| 50元人民币什么时候发行的| 慵懒是什么意思| 起灵是什么意思| 儿化音是什么意思| 朝鲜说什么语言| 纸醉金迷是什么意思| 国行是什么意思| 鼻子无故出血什么原因| 献血之后吃什么比较好| fion属于什么档次的包| 郑板桥爱画什么| 冠状动脉钙化是什么意思| 图灵是什么意思| 什么是猎奇| 三个火念什么| 想吃辣是身体缺乏什么| 陀螺是什么意思| 吃维c有什么好处| 煮黑豆吃有什么功效| bcl是什么意思| 血糖高有什么影响| 生物膜是什么| 什么水果含糖量最低| 8月5日什么星座| 考军校要什么条件| 为什么得疱疹病毒| 什么是肺部腺性肿瘤| 什么矿泉水比较好| 烟囱是什么意思| 共轭什么意思| 1975年是什么年| 为什么香蕉不能放冰箱| 什么样的升旗仪式| 凌波仙子指的是什么花| 阴道放屁是什么原因| 参军是什么官职| 煮玉米放什么好吃| 中性人是什么意思| 高密度脂蛋白胆固醇偏低是什么意思| 男人腰疼是什么原因| 荨麻疹能吃什么水果| 熬夜对肾有什么影响| 舌头发白吃什么药好| 一般什么人容易得甲亢| jdv是什么牌子| 两点水有什么字| 窘迫什么意思| 超声波是什么意思| 深海鱼油有什么功效| 吃什么最补钙| 吃什么能生发| 羊奶粉有什么好处| 什么为力| 帕金森吃什么药效果好| 掉头发挂什么科| 脸上长疙瘩是什么原因| 什么叫早教| 手麻是什么病的前兆| 血氨是什么检查项目| 十月十四是什么星座| 男人梦见鱼是什么征兆| 日加西念什么| 蛞蝓是什么动物| 胸前出汗多是什么原因| 为什么都开头孢不开阿莫西林| 什么是射精| 炙子是什么意思| 为什么呢| 四大神兽是什么动物| 什么水果能马上通便| 中国最毒的蛇是什么蛇| 静息是什么意思| 米鱼是什么鱼| 喝中药不能吃什么食物| 什么照片看不出照的是谁| 如果你是什么就什么造句| 什么是云| 怀孕是什么脉象| 乙肝阳性是什么意思| 刮脸有什么好处与坏处| 为什么腋下有异味| 手脱皮吃什么药| 青霉素过敏可以吃什么消炎药| 迥异是什么意思| 2024什么年| 背锅侠是什么意思| 经常晕倒是什么原因引起的| 黄龙玉产地在什么地方| bra什么意思| 白细胞低吃什么补| 6.7是什么星座| 精制盐是什么盐| 增强免疫力吃什么维生素| 法克是什么意思| 胆碱酯酶高是什么意思| 孕晚期宫缩是什么感觉| 基底是什么意思| 意淫是什么| 对乙酰氨基酚片是什么药| 橙色五行属什么| 奶咖是什么| 什么是礼仪| 甲沟炎是什么原因引起的| 梦见好多蚊子是什么意思| 盗汗是什么症状| 什么眠什么睡| 肠系膜多发淋巴结是什么意思| 双子座前面是什么星座| 女人吃知了有什么好处| 什么牌子冰箱好| 丙氨酸氨基转移酶高吃什么药| 什么是登革热病| 火和什么相生| dha什么牌子最好最安全| 月子吃什么| 阴道里面痒是什么原因| 开塞露是干什么用的| 七个月宝宝可以吃什么水果| 黑色鸟是什么鸟| 电焊打眼最有效最快的方法是什么| 什么是天干地支| 梦见自己和别人吵架是什么意思| 1a是什么意思| 结肠炎吃什么中成药| beryl是什么意思| 滴虫是什么| 高血压什么症状| 鼻窦炎首选什么抗生素| 抗原体阳性是什么意思| 什么中药补肾最好| 什么而不| 气管炎吃什么药最有效| 水是由什么组成的| 手淫有什么坏处| 肺部纤维灶什么意思| 邹字五行属什么| 天干地支是什么意思| 来例假不能吃什么东西| 吃什么东西补血最快| 升读什么字| 多囊卵巢综合征是什么意思| 肾萎缩是什么原因引起的| 前列腺增大伴钙化是什么意思| 脑门出汗多是什么原因| 贡米是什么米| 桃花有什么颜色| 女人肝火旺吃什么好| 梦见发大水是什么意思| 男命七杀代表什么| 经常中暑的人体内缺什么| 精卫填海是什么意思| 子子念什么| 热疹症状该用什么药膏| tpp是什么意思| josiny是什么牌子| 苹果不能和什么一起吃| 上房是什么意思| 7月24是什么星座| 吃什么可以化痰| amiri是什么牌子| 子水是什么水| mirage轮胎什么牌子| 什么地坐着| 你是我的唯一什么意思| 吃什么| 嘬是什么意思| 高血压中医叫什么| 高明是什么意思| 幡然是什么意思| 大肠头是什么部位| 溶血是什么意思| 宰相的宰最早指什么| 八大菜系之首是什么菜| 什么药是消炎药| 揣测是什么意思| 徒劳无功是什么意思| 两弹一星是什么| 甲状腺实性结节什么意思| 嘴唇下面长痘痘是什么原因| 环孢素是什么药| 弯脚杆是什么意思| 颈椎病应该挂什么科| 00年属什么| 失眠是什么原因导致的| 吃豆角中毒什么症状| 被利用的信任是什么歌| 白瓜是什么瓜| 米线是用什么做的| 游离前列腺特异性抗原是什么意思| 家庭出身填什么| 年字五行属什么| 普乐安片治什么病| 火命适合佩戴什么首饰| 咳嗽无痰吃什么药| 14年婚姻是什么婚| 冰毒是什么| 小孩头晕是什么原因| 带状疱疹是什么病| 肾脏彩超能检查出什么| 上嘴唇发黑是什么原因| 1988年是什么生肖| 犹太人是什么人种| 摩罗丹主要治什么胃病| uhd是什么意思| 女人盗汗吃什么好得快| 玉米的种子是什么| 射手座有什么特点| 星期六打喷嚏代表什么| 什么是低烧| 距离产生美是什么意思| 未土是什么土| 限高什么意思| 长期喝酒有什么危害| 晚上看见蛇预示着什么| experiment是什么意思| saba是什么药| 滥竽充数的滥是什么意思| 马路杀手是什么意思| 颈椎压迫神经吃什么药| 百度

沈阳翔亿铼科技有限公司(原鼎晟泰和科技有限公司)

Method and system for hierarchical forecasting Download PDF

Info

Publication number
US20240177075A1
US20240177075A1 US18/428,604 US202418428604A US2024177075A1 US 20240177075 A1 US20240177075 A1 US 20240177075A1 US 202418428604 A US202418428604 A US 202418428604A US 2024177075 A1 US2024177075 A1 US 2024177075A1
Authority
US
United States
Prior art keywords
subject
historical data
machine learning
data associated
forecast
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US18/428,604
Inventor
Brian Keng
Kanchana PADMANABHAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kinaxis Inc
Original Assignee
Kinaxis Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kinaxis Inc filed Critical Kinaxis Inc
Priority to US18/428,604 priority Critical patent/US20240177075A1/en
Publication of US20240177075A1 publication Critical patent/US20240177075A1/en
Assigned to KINAXIS INC. reassignment KINAXIS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PADMANABHAN, Kanchana, KENG, BRIAN
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY?PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Definitions

  • the following relates generally to data processing, and more specifically, to a method and system for hierarchical forecasting.
  • Forecasting in data science is an area that can be used to gain a competitive advantage in various fields of endeavour.
  • a computer-implemented method for generation of an automated forecast for a subject based on one or more input parameters executed on at least one processing unit, the subject associated with an end node of a categorical hierarchy, the method comprising: receiving historical data associated with the subject; determining the sufficiency of the historical data associated with the subject based on a feasibility of building at least one subject machine learning model to generate a forecast with a predetermined level of accuracy using the historical data associated with the subject; where there is sufficient historical data associated with the subject, building the at least one subject machine learning model trained using the historical data associated with the subject; where there is not sufficient historical data associated with the subject, building the at least one subject machine learning model trained using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with at least one ancestor node of the categorical hierarchy; receiving the one or more input parameters; generating a forecast for the subject using the at least one machine learning model provided with the one or more input parameters; and outputting the forecast.
  • the at least one ancestor node of the categorical hierarchy comprises the ancestor node in the level of the hierarchy directly above the end node associated with the subject.
  • the method further comprising: determining the sufficiency of the historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, the sufficiency based on the feasibility of building the at least one subject machine learning model to generate a forecast with a predetermined level of accuracy; where there is not sufficient historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, successively determining the sufficiency of the historical data associated with each higher ancestor node in the categorical hierarchy until there is sufficient historical data or the root node is reached, sufficiency determined by the feasibility of building the at least one subject machine learning model to generate the forecast with the predetermined level of accuracy using the historical data associated with the subject in combination with the historical data associated with the higher ancestor node and nodes in between the higher ancestor node and the subject node; and building the at least one subject machine learning model using the historical data associated with the subject in combination with at least one of historical data and parameters
  • the method further comprising, where there is not sufficient historical data associated with the subject, determining other similar nodes having a similarity to the subject, and wherein building at least one of the at least one subject machine learning model comprises using historical data associated with the similar nodes.
  • the similar nodes are those nodes that share a parent node with the subject in the categorical hierarchy.
  • the similar nodes are those nodes that share an ancestor with the subject in the categorical hierarchy.
  • the at least one subject machine learning model comprises a plurality of machine learning models
  • building the at least one subject machine learning model comprises combining predictions from each of the machine learning models to generate the forecast.
  • combining the predictions comprises stacking the plurality of machine learning models by building a meta-model to generate the forecast, the meta-model trained using the predictions from each of the machine learning models as features to the meta-model.
  • the method further comprising receiving the structure of the categorical hierarchy.
  • a system for generation of an automated forecast for a subject based on one or more input parameters, the subject associated with an end node of a categorical hierarchy comprising at least one processing unit and a data storage, the at least one processing unit in communication with the data storage and configured to execute: an analysis module to receive historical data associated with the subject, and determine the sufficiency of the historical data associated with the subject based on a feasibility of building at least one subject machine learning model to generate a forecast with a predetermined level of accuracy using the historical data associated with the subject; and a forecasting module to: where there is sufficient historical data associated with the subject, build the at least one subject machine learning model trained using the historical data associated with the subject; where there is not sufficient historical data associated with the subject, build the at least one subject machine learning model trained using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with at least one ancestor node of the categorical hierarchy; receive the one or more input parameters; generate a forecast for the subject
  • the at least one ancestor node of the categorical hierarchy comprises the ancestor node in the level of the hierarchy directly above the end node associated with the subject.
  • the analysis module further determines the sufficiency of the historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, the sufficiency based on the feasibility of building the at least one subject machine learning model to generate a forecast with a predetermined level of accuracy, and where there is not sufficient historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, successively determines the sufficiency of the historical data associated with each higher ancestor node in the categorical hierarchy until there is sufficient historical data or the root node is reached, sufficiency determined by the feasibility of building the at least one subject machine learning model to generate the forecast with the predetermined level of accuracy using the historical data associated with the subject in combination with the historical data associated with the higher ancestor node and nodes in between the higher ancestor node and the subject node, and wherein the forecasting module further builds the at least one subject machine learning model using the historical data associated with the subject in combination with at least
  • the forecasting module outputs that there is insufficient data to form the forecast.
  • the analysis module determines other similar nodes having a similarity to the subject, and wherein the forecasting module builds at least one of the at least one subject machine learning model using historical data associated with the similar nodes.
  • the similar nodes are those nodes that share a parent node with the subject in the categorical hierarchy.
  • the similar nodes are those nodes that share an ancestor with the subject in the categorical hierarchy.
  • the at least one subject machine learning model comprises a plurality of machine learning models
  • building the at least one subject machine learning model comprises combining predictions from each of the machine learning models to generate the forecast.
  • combining the predictions comprises stacking the plurality of machine learning models by building a meta-model to generate the forecast, the meta-model trained using the predictions from each of the machine learning models as features to the meta-model.
  • FIG. 1 is a schematic diagram of a system for automated forecasts for a subject based on one or more input parameters, in accordance with an embodiment
  • FIG. 2 is a schematic diagram showing the system of FIG. 1 and an exemplary operating environment
  • FIG. 3 is a flow chart of a method for automated forecasts for a subject based on one or more input parameters, in accordance with an embodiment
  • FIG. 4 is a flow chart of a method for automated forecasts for a subject based on one or more input parameters, in accordance with another embodiment
  • FIG. 5 is a diagram of an exemplary hierarchy
  • FIG. 6 is a flow chart of an exemplary embodiment.
  • Any module, unit, component, server, computer, terminal, engine or device exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
  • Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the device or accessible or connectable thereto.
  • any processor or controller set out herein may be implemented as a singular processor or as a plurality of processors. The plurality of processors may be arrayed or distributed, and any processing function referred to herein may be carried out by one or by a plurality of processors, even though a single processor may be exemplified. Any method, application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media and executed by the one or more processors.
  • SKU refers to a stock keeping unit and can be generally interpreted as referring to a type of product, entity and/or service that is offered for sale.
  • the following relates generally to data processing, and more specifically, to a method and system for automated hierarchical forecast generation.
  • system 100 for hierarchical forecasts, in accordance with an embodiment, is shown.
  • the system 100 is run on a server ( 32 in FIG. 2 ).
  • the system 100 can be run on any other computing device; for example, a desktop computer, a laptop computer, a smartphone, a tablet computer, a point-of-sale (“PoS”) device, a smartwatch, or the like.
  • a desktop computer for example, a desktop computer, a laptop computer, a smartphone, a tablet computer, a point-of-sale (“PoS”) device, a smartwatch, or the like.
  • PoS point-of-sale
  • the components of the system 100 are stored by and executed on a single computer system. In other embodiments, the components of the system 100 are distributed among two or more computer systems that may be locally or globally distributed.
  • FIG. 1 shows various physical and logical components of an embodiment of the system 100 .
  • the system 100 has a number of physical and logical components, including a central processing unit (“CPU”) 102 (comprising one or more processors), random access memory (“RAM”) 104 , an input interface 106 , an output interface 108 , a network interface 110 , non-volatile storage 112 , and a local bus 114 enabling CPU 102 to communicate with the other components.
  • CPU 102 executes an operating system, and various modules, as described below in greater detail.
  • RAM 104 provides relatively responsive volatile storage to CPU 102 .
  • the input interface 106 enables an administrator or user to provide input via an input device, for example a keyboard and mouse.
  • the output interface 108 outputs information to output devices, such as a display and/or speakers.
  • the network interface 110 permits communication with other systems, such as other computing devices and servers remotely located from the system 100 , such as for a typical cloud-based access model.
  • Non-volatile storage 112 stores the operating system and programs, including computer-executable instructions for implementing the operating system and modules, as well as any data used by these services. Additional stored data, as described below, can be stored in a database 116 .
  • the operating system, the modules, and the related data may be retrieved from the non-volatile storage 112 and placed in RAM 104 to facilitate execution.
  • the system 100 further includes an analysis module 120 and a forecasting module 122 . As described herein, to generate the forecast, the system 100 can use a machine learning model and/or statistical model to determine the prediction.
  • Forecasting is the process of obtaining a predicted future value for a subject using historical data.
  • forecasts are predicated on there being a plethora of data from which to generate one or more predictions.
  • machine learning techniques can rely on the plethora of historical data in order to train their models and thus produce reasonably accurate forecasts.
  • a system to predict sales of a SKU in a store may use time-series forecasting based on historical sales of that SKU in previously similar months or seasons.
  • a system can be used to obtain the number of units of jam that will be sold in September 2017 using the historical sales for jam for that past 5 years.
  • insufficiency of historical data can become a problem if, for example, the SKU is brand new and has no history, the SKU is relatively new and there is only a limited period of historical data available (for example, was introduced within the last 6 months), the SKU has not been sold in that particular store, the SKU does not have sufficient variations, or the SKU has insufficient serviceable historical data for any other reason.
  • the embodiments described herein advantageously provide a technological approach to generate a forecast, for example for the SKU, with a practically useable degree of confidence. For example, generating forecasts where there are new SKUs, SKUs with insufficient history, SKUs with data sparsity issues, or the like.
  • the embodiments described herein can also advantageously make predictions where there exists a certain feature type in the data history, but a new feature type is required for the prediction.
  • the embodiments described herein can be used to generate forecasts where SKUs have only been on one type of promotion in its history but assigned a new promotion type in a future promotion.
  • a system that can automatically generate forecasts for both subjects with sufficient historical data and subjects with insufficient historical data.
  • a system that can automatically generate forecasts for a subject with varying maturity in terms of history.
  • a system that can automatically assign a weight specific to each subject, in each model in an ensemble, to denote model importance.
  • FIG. 3 illustrates a flowchart for a method 300 for hierarchical forecasts, according to an embodiment.
  • the analysis module 120 receives a subject for forecasting and input parameters associated with the subject or the forecast via the input interface 106 or network interface 110 .
  • the analysis module 120 generates a hierarchical structure with the subject as a lowest-level descendant (or external node).
  • a trained machine learning model can be used to classify the subject and other nodes into a hierarchical structure.
  • the hierarchical structure can be received or retrieved by the analysis module 120 from the database 116 , input interface 106 , or network interface 110 .
  • the analysis module 120 receives or retrieves historical data associated with the subject for forecasting from the database 116 , input interface 106 , or network interface 110 .
  • the analysis module 120 analyzes the sufficiency of the historical data associated with the subject.
  • the historical data will be deemed sufficient if there is enough historical data to form a trained machine learning model to a predetermined level of accuracy.
  • the forecasting module 122 determines a forecast for the subject, based on the input parameters, using a machine learning model trained with the historical data, which is returned by the system 100 .
  • the analysis module 120 receives or retrieves historical data associated with a node of the hierarchy that is one level above the subject (the parent node of the subject) from the database 116 , input interface 106 , or network interface 110 .
  • the analysis module 120 determines if there is sufficient historical data at the parent node to generate a forecast.
  • the forecasting module 122 determines a forecast for the subject, based on the input parameters, using a machine learning model trained with the historical data associated with the parent node, which is returned by the system 100 .
  • the analysis module 120 determines whether the parent node is a root node of the hierarchy (i.e., the top node with no parents).
  • the system 100 returns that there is insufficient data to form a forecast.
  • the system 100 repeats block 312 on progressively higher levels of the hierarchy (progressive ancestor nodes) until the analysis module 120 determines that a node with sufficient historical data has been located.
  • the forecasting module 122 determines a forecast for the subject, based on the input parameters, using a machine learning model trained with the historical data associated with the located ancestor node.
  • FIG. 4 illustrates a flowchart for a method 350 for hierarchical forecasts, according to another embodiment.
  • the system 100 receives a subject for forecasting and parameters associated with the subject or the forecast from the input interface 106 or network interface 110 .
  • the analysis module 120 generates a categorical hierarchical structure with the subject as a lowest-level descendant (or external node).
  • the hierarchical structure can be received or retrieved by the analysis module 120 from the database 116 , input interface 106 , or network interface 110 .
  • the analysis module 120 receives or retrieves historical data associated with the subject for forecasting from the database 116 , input interface 106 , or network interface 110 .
  • the analysis module 120 analyzes the sufficiency of the historical data associated with the subject.
  • the historical data will generally be deemed sufficient if there is enough historical data to build a machine learning model to a predetermined level of accuracy.
  • the forecasting module 122 builds one or more machine learning models with the historical data associated with the subject.
  • the one or more models can include both interpolation models (for example, Random Forest) and extrapolation models (for example, Linear Regression).
  • the forecasting module 122 can increase reliability of the machine learning model by adjusting the model parameters. In this case, at block 362 , the forecasting module 122 builds one or more machine learning models using parameters of machine learning models built at other higher levels of the hierarchy. In order to do so, the forecasting module 122 can extract parameters related to the subject from other layers of the hierarchy.
  • the forecasting module 122 generates a machine learning model that is trained with a weight or importance assigned to each of the n-number of model parameters.
  • the weighting or importance for the various model parameters may not be sufficiently reliable.
  • the forecasting module 122 trains the machine learning model with historical data associated with one or more nodes at a higher level of the hierarchy, the forecasting module 122 can make use of more training data, and thus, can generate a more effective estimate of the weight or importance of the model parameters.
  • the forecasting module 122 can use parameters for models trained at higher levels of the hierarchy. For example, using regression models, one or more models can be trained at the higher level of the categorical hierarchy. Coefficients of the various features can be obtained at the higher level, and such coefficients can be used to obtain a better estimate for the model in the lower level in the categorical hierarchy.
  • the forecasting module 122 can obtain historical data associated with comparable or similar subjects. This other historical data can then be used in training of the machine learning model.
  • the similar subjects can be manually chosen by a user via the input interface 106 or can be automatically chosen by the forecasting module 122 .
  • the forecasting module 122 can define a metric of “similarity” between subjects using, for example, at least one of hierarchy (for example, other subjects sharing similar parent or ancestor nodes), history of relatedness, or other parameters or characteristics relating to similarity.
  • the forecasting module 122 can use a machine learning model to assess the similarities and generate a ranked or classified output of other similar subjects.
  • the forecasting module 122 can then train the machine learning model using the historical data associated with one or more “similar” subjects.
  • machine learning methodologies such as clustering subjects or vector representations of subjects, can be utilized to assess the similarities between one subject and the other subjects using one or more different dimensions (for example, hierarchy, metadata, parameters, descriptions, or the like). In some cases, such machine learning methodologies can also rank the similarities in each of the dimensions.
  • the forecasting module 122 can pool historical data together associated with additional subjects having related ancestors to the subject. Such additional pooling can be used to supplement and increase the accuracy of machine learning models based on the historical data associated with the subject; even in circumstances where the historical data associated with the subject has been deemed sufficient.
  • the forecasting module 122 can estimate the effects of circumstances and parameters that have not been associated yet with the subject, and therefore are not reflected in its historical data.
  • the forecasting module 122 generates a forecast for the subject based on the historical data and parameters for each of the trained machine learning models.
  • the forecasting module 122 combines the outputs from the trained machine learning models, to generate an ensemble of models; for example, using statistical measures such as a median value or mean value.
  • the outputs can be combined by the forecasting module 122 using “stacking” by building another machine learning model, referred to as a meta-model, on the basis of the ensemble of models.
  • the meta-model can also be trained using the outputs of each of the models in the ensemble models as features.
  • the meta-model can assign an “importance” to each of the models in the ensemble.
  • hierarchical grouping provides a grouping of subjects for forecasting at different levels of granularity.
  • the analysis module 120 can determine if there is sufficient historical data at one or more nodes at the same level of the hierarchy as the subject or parent under analysis (sibling nodes). If so, the forecasting module 122 can determine a forecast for the subject, based on the parameters, using a machine learning model trained with the historical data associated with the one or more sibling nodes, which is returned by the system 100 .
  • the forecast, or the determination that that there is insufficient data to form a forecast, returned by the system 100 can be outputted to the output interface 108 , stored in the database 116 , or sent externally via the network interface 110 .
  • the output interface 108 can generate a representation for the forecasts.
  • the representation of the forecast may be in the form of, for example, graphs, text, charts, or the like.
  • the forecasting module 122 can be a set of data mining and machine learning building blocks, working in conjunction with the other modules, to generate predictive or explanatory scores of the outcomes of the promotion.
  • the scores can be based on the historical data, as described above. Both supervised and unsupervised learning techniques can be used in generating the scores. These scores can then be used to determine the forecast.
  • a steady state of the forecasting module 122 can shift over to a reinforcement learning hybrid approach.
  • the machine learning model can be re-trained and re-scored, and, as a result, new predictions can be made for the forecast.
  • This reinforcement learning and feedback approach can be invoked repeatedly to further hone each of the machine learning models.
  • the forecasting module 122 can change or re-train the machine learning models, at various levels of the hierarchy, with which the scores themselves are being calculated. In some cases, the forecasting module 122 can perform reinforcement learning “concurrently” with the receiving of outcome of prior predictions, enabling the forecasting module 122 to continue to learn the outcomes and adjust forecasts accordingly. Accordingly, the forecasting module 122 can be considered an artificially intelligent agent.
  • the historical data that the forecasting module 122 uses to train the machine learning model can be gathered from a variety of sources, including users and other computing devices.
  • the forecasting module 122 uses the historical data to train one or more of the machine learning models of the hierarchy, such that the machine learning model can be used to make forecasts.
  • one or more of the machine learning models of the hierarchy may be a previously trained machine learning model retrieved by the system 100 .
  • a forecast can be generated for sales of a SKU on a certain date; for example, as a result of a promotion.
  • the SKU is the subject and the parameters are the date, the requirement for the output to be sales of the SKU, and the mechanics of the promotion.
  • a hierarchy 400 can be generated from the classifying structure of products.
  • the hierarchy 400 may be a product hierarchy, such as a top-down classification of SKUs found in a store from the product department all the way down to individual SKUs.
  • the subject of the forecast is one of the individual SKUs; in this example, a first SKU 402 a or a second SKU 402 b .
  • the parent of the SKUs 402 is the product brand 404 of the SKU; in this example, a first product brand 404 a .
  • the parent of the product brand 404 is the product subcategories 406 ; in this example, a first product subcategory 406 a .
  • the parent of the product subcategories 406 is the product categories 408 ; in this example, a first product category 408 a .
  • the parent of the product categories 408 is the product department 410 , which is the root node; in this example, a root product department 410 a .
  • an individual SKU here the first SKU 402 a (as an example, a product like “Smith's face wash”) can be found at the lowest level of the hierarchy.
  • the first SKU 402 a is associated with one of the brands, the first product brand 404 a (in this example, “Smith's”).
  • the first product brand 404 a is associated with one of the subcategories 406 a , the first product subcategory (in this example, “face wash”).
  • the first product subcategory 406 a is associated with one of the categories, the first product category 408 a (in this example, “personal wash”). Finally, the first product category 408 a is associated with the department 410 a (in this example, “cosmetic and toiletry”).
  • the system 100 takes as input the SKU 402 a (as the subject) and a date and sales price (as the parameters) for which a forecast is required, and generates as output, a forecast of the predicted sales.
  • the system 100 can build and use multiple different models, whereby the output from each of the models can then be combined to produce the final output.
  • the forecasting module 122 can use different “layers”, each comprising one or more blocks, to generate the different models, along with a “layer” that combines the outputs from the individual models.
  • the forecasting module 122 receives the subject SKU and the date of forecast parameter, along with any other parameters.
  • the one or more models can include both interpolation models (for example, Random Forest) and extrapolation models (for example, Linear Regression).
  • the forecasting module 122 can train one or more SKU models; for example different types of machine learning models can be trained using the same or similar historical data. In an intended advantage, different types of models can learn different patterns from the historical data, and so by combining such models, the system can be able to cover an entire space, or greater space, of patterns available in the data.
  • a “prior layer” 530 is used when the SKU has very limited historical data (in this example, such as less than 6 months of historical data). In this case, the historical data may be insufficient to obtain reliable estimates of model parameters using a machine learning model.
  • the analysis module 120 or forecasting module 122 can extract SKU related information from the hierarchy 400 .
  • the forecasting module 122 can train a prior model on a chosen level (e.g., subcategory) of the hierarchy 400 , as described herein.
  • the system 100 can improve the reliability of the machine learning model parameters by adjusting the SKU level model parameters using parameters of machine learning models built at other higher levels of the product hierarchy. For example, the SKU level model estimates can be adjusted using a comparable machine learning model trained using historical data at the subcategory level.
  • a “new SKU” layer 540 can be used for SKUs with no historical data.
  • the forecasting module 122 can obtain historical data associated with comparable or “similar” SKUs from the hierarchy 400 that can be used in the training.
  • the similar SKUs can be manually chosen by a user via the input interface 106 or can be automatically chosen by the forecasting module 122 .
  • the forecasting module 122 can define a metric of “similarity” between SKUs using, for example, at least one of product hierarchy (for example, SKUs that occur within the same subcategory or brand are likely similar), promotion history (SKUs that are promoted together are likely similar), or other SKU parameters or characteristics (for example, gender bias, mass, prestige, age bias, etc.).
  • the forecasting module 122 can use a machine learning model to assess the similarities and generate an output of the top N-number of similar SKUs for a given input SKU.
  • the forecasting module 122 can train the SKU level models using the set of “similar” SKUs; for example different types of machine learning models can be trained using the same or similar historical data.
  • a “pooling” layer 550 can be used to pool historical data together. Any one SKU, even those with a large quantity of associated historical data, will most likely not have historical data associated with an entire breadth of different circumstances and parameters reflected in its history. Thus, for increased accuracy, it can be useful to “pool” historical data from other SKUs. In this way, the forecasting module 122 can estimate the effects of circumstances and parameters that have not been seen before for the subject SKU and therefore are not reflected in its historical data. In accordance with an embodiment herein, the analysis module 120 or forecasting module 122 can find other SKUs to pool with the subject SKU using the hierarchy 400 . At block 551 , the analysis module 120 or forecasting module 122 can extract SKU related information from the hierarchy 400 .
  • the forecasting module 122 can build machine learning models using the extracted SKU related information from the other SKUs.
  • An “ensemble” layer 560 can be used to generate a forecast.
  • the forecasting module 122 can use each of the models trained using any one or more of the layers described above, the pooling layer 550 , the SKUs with history layer 520 , the prior layer 530 , or the new SKU layer 540 , to generate a forecast for the subject SKU and date parameter.
  • the predictions from the individual models are automatically combined by the forecasting module 122 using statistical measures (for example, using a median value) or using machine learning techniques (for example, stacking) to generate a resultant forecast.
  • system 100 can use an ensemble of multiple different machine learning models for forecasting or predicting for a single subject (for example, a single SKU).
  • these multiple different machine learning models can be trained (built) at different hierarchical levels of the hierarchy (for example, at the department level, category level, subcategory level, brand level, or SKU level).
  • models trained (built) at higher levels (broader levels) of the hierarchy can be used by the system 100 to make predictions using models trained (built) at lower levels (more specific levels) of the hierarchy.
  • the higher level models can be used for parameter specific instances where models are insufficient with respect to those parameters at the lower level of the hierarchy.
  • the output of each of the machine learning models can be automatically combined to output a resultant forecast.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A system and method for generation of automated forecasts for a subject based on one or more input parameters. The subject located at an end node of a hierarchy. The method includes: receiving historical data associated with the subject; determining the sufficiency of the historical data based on a feasibility of building a machine learning model to generate a forecast with a predetermined level of accuracy using the historical data; building the machine learning model using the historical data when there is sufficiency of the historical data; building the machine learning model using historical data associated with an ancestor node on the hierarchy when there is not sufficiency of the historical data; generating a forecast for the subject using the machine learning model based on the one or more input parameters; and outputting the forecast.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • 百度 粉丝对他的身体状况十分担心,但贝尔贴心地安慰粉丝没什么大不了的。
    The present application is a continuation of U.S. application Ser. No. 16/647,748 filed on Sep. 18, 2018, which claims the benefit of U.S. Provisional Application No. 62/559,911 filed on Sep. 18, 2017, both of which are hereby incorporated by reference.
  • TECHNICAL FIELD
  • The following relates generally to data processing, and more specifically, to a method and system for hierarchical forecasting.
  • BACKGROUND
  • A particularly useful implementation of data science techniques is the ability to generate forecasts based on historical data, input parameters, and other factors. Forecasting in data science is an area that can be used to gain a competitive advantage in various fields of endeavour.
  • Typically, when a forecast or prediction is made, the quality of the data plays an important role. In many circumstances, especially in today's data-driven world, there is a plethora of data available from which to generate the forecasts. However, in some cases, it can be problematic to generate forecasts when there is insufficient historical data traditionally used to make such a prediction.
  • It is therefore an object of the present invention to provide data forecasting in which the above disadvantages are obviated or mitigated and attainment of the desirable attributes is facilitated.
  • SUMMARY
  • In an aspect, there is provided a computer-implemented method for generation of an automated forecast for a subject based on one or more input parameters, the method executed on at least one processing unit, the subject associated with an end node of a categorical hierarchy, the method comprising: receiving historical data associated with the subject; determining the sufficiency of the historical data associated with the subject based on a feasibility of building at least one subject machine learning model to generate a forecast with a predetermined level of accuracy using the historical data associated with the subject; where there is sufficient historical data associated with the subject, building the at least one subject machine learning model trained using the historical data associated with the subject; where there is not sufficient historical data associated with the subject, building the at least one subject machine learning model trained using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with at least one ancestor node of the categorical hierarchy; receiving the one or more input parameters; generating a forecast for the subject using the at least one machine learning model provided with the one or more input parameters; and outputting the forecast.
  • In a particular case, the at least one ancestor node of the categorical hierarchy comprises the ancestor node in the level of the hierarchy directly above the end node associated with the subject.
  • In another case, the method further comprising: determining the sufficiency of the historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, the sufficiency based on the feasibility of building the at least one subject machine learning model to generate a forecast with a predetermined level of accuracy; where there is not sufficient historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, successively determining the sufficiency of the historical data associated with each higher ancestor node in the categorical hierarchy until there is sufficient historical data or the root node is reached, sufficiency determined by the feasibility of building the at least one subject machine learning model to generate the forecast with the predetermined level of accuracy using the historical data associated with the subject in combination with the historical data associated with the higher ancestor node and nodes in between the higher ancestor node and the subject node; and building the at least one subject machine learning model using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with the at least one ancestor node of the categorical hierarchy.
  • In yet another case, where there is not sufficient historical data associated with the subject and all the ancestor nodes up to the root node, further comprising outputting that there is insufficient data to form the forecast.
  • In yet another case, the method further comprising, where there is not sufficient historical data associated with the subject, determining other similar nodes having a similarity to the subject, and wherein building at least one of the at least one subject machine learning model comprises using historical data associated with the similar nodes.
  • In yet another case, wherein the similar nodes are those nodes that share a parent node with the subject in the categorical hierarchy.
  • In yet another case, the similar nodes are those nodes that share an ancestor with the subject in the categorical hierarchy.
  • In yet another case, the at least one subject machine learning model comprises a plurality of machine learning models, and wherein building the at least one subject machine learning model comprises combining predictions from each of the machine learning models to generate the forecast.
  • In yet another case, combining the predictions comprises stacking the plurality of machine learning models by building a meta-model to generate the forecast, the meta-model trained using the predictions from each of the machine learning models as features to the meta-model.
  • In yet another case, the method further comprising receiving the structure of the categorical hierarchy.
  • In another aspect, there is provided a system for generation of an automated forecast for a subject based on one or more input parameters, the subject associated with an end node of a categorical hierarchy, the system comprising at least one processing unit and a data storage, the at least one processing unit in communication with the data storage and configured to execute: an analysis module to receive historical data associated with the subject, and determine the sufficiency of the historical data associated with the subject based on a feasibility of building at least one subject machine learning model to generate a forecast with a predetermined level of accuracy using the historical data associated with the subject; and a forecasting module to: where there is sufficient historical data associated with the subject, build the at least one subject machine learning model trained using the historical data associated with the subject; where there is not sufficient historical data associated with the subject, build the at least one subject machine learning model trained using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with at least one ancestor node of the categorical hierarchy; receive the one or more input parameters; generate a forecast for the subject using the at least one machine learning model provided with the one or more input parameters; and output the forecast.
  • In a particular case, the at least one ancestor node of the categorical hierarchy comprises the ancestor node in the level of the hierarchy directly above the end node associated with the subject.
  • In another case, the analysis module further determines the sufficiency of the historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, the sufficiency based on the feasibility of building the at least one subject machine learning model to generate a forecast with a predetermined level of accuracy, and where there is not sufficient historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, successively determines the sufficiency of the historical data associated with each higher ancestor node in the categorical hierarchy until there is sufficient historical data or the root node is reached, sufficiency determined by the feasibility of building the at least one subject machine learning model to generate the forecast with the predetermined level of accuracy using the historical data associated with the subject in combination with the historical data associated with the higher ancestor node and nodes in between the higher ancestor node and the subject node, and wherein the forecasting module further builds the at least one subject machine learning model using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with the at least one ancestor node of the categorical hierarchy.
  • In yet another case, where there is not sufficient historical data associated with the subject and all the ancestor nodes up to the root node, the forecasting module outputs that there is insufficient data to form the forecast.
  • In yet another case, where there is not sufficient historical data associated with the subject, the analysis module determines other similar nodes having a similarity to the subject, and wherein the forecasting module builds at least one of the at least one subject machine learning model using historical data associated with the similar nodes.
  • In yet another case, the similar nodes are those nodes that share a parent node with the subject in the categorical hierarchy.
  • In yet another case, the similar nodes are those nodes that share an ancestor with the subject in the categorical hierarchy.
  • In yet another case, the at least one subject machine learning model comprises a plurality of machine learning models, and wherein building the at least one subject machine learning model comprises combining predictions from each of the machine learning models to generate the forecast.
  • In yet another case, combining the predictions comprises stacking the plurality of machine learning models by building a meta-model to generate the forecast, the meta-model trained using the predictions from each of the machine learning models as features to the meta-model.
  • These and other embodiments are contemplated and described herein. It will be appreciated that the foregoing summary sets out representative aspects of systems and methods to assist skilled readers in understanding the following detailed description.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The features of the invention will become more apparent in the following detailed description in which reference is made to the appended drawings wherein:
  • FIG. 1 is a schematic diagram of a system for automated forecasts for a subject based on one or more input parameters, in accordance with an embodiment;
  • FIG. 2 is a schematic diagram showing the system of FIG. 1 and an exemplary operating environment;
  • FIG. 3 is a flow chart of a method for automated forecasts for a subject based on one or more input parameters, in accordance with an embodiment;
  • FIG. 4 is a flow chart of a method for automated forecasts for a subject based on one or more input parameters, in accordance with another embodiment;
  • FIG. 5 is a diagram of an exemplary hierarchy; and
  • FIG. 6 is a flow chart of an exemplary embodiment.
  • DETAILED DESCRIPTION
  • Embodiments will now be described with reference to the figures. For simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the Figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Also, the description is not to be considered as limiting the scope of the embodiments described herein.
  • Various terms used throughout the present description may be read and understood as follows, unless the context indicates otherwise: “or” as used throughout is inclusive, as though written “and/or”; singular articles and pronouns as used throughout include their plural forms, and vice versa; similarly, gendered pronouns include their counterpart pronouns so that pronouns should not be understood as limiting anything described herein to use, implementation, performance, etc. by a single gender; “exemplary” should be understood as “illustrative” or “exemplifying” and not necessarily as “preferred” over other embodiments. Further definitions for terms may be set out herein; these may apply to prior and subsequent instances of those terms, as will be understood from a reading of the present description.
  • Any module, unit, component, server, computer, terminal, engine or device exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the device or accessible or connectable thereto. Further, unless the context clearly indicates otherwise, any processor or controller set out herein may be implemented as a singular processor or as a plurality of processors. The plurality of processors may be arrayed or distributed, and any processing function referred to herein may be carried out by one or by a plurality of processors, even though a single processor may be exemplified. Any method, application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media and executed by the one or more processors.
  • In the following, “SKU” refers to a stock keeping unit and can be generally interpreted as referring to a type of product, entity and/or service that is offered for sale.
  • The following relates generally to data processing, and more specifically, to a method and system for automated hierarchical forecast generation.
  • Referring now to FIG. 1 , a system 100 for hierarchical forecasts, in accordance with an embodiment, is shown. In this embodiment, the system 100 is run on a server (32 in FIG. 2 ). In further embodiments, the system 100 can be run on any other computing device; for example, a desktop computer, a laptop computer, a smartphone, a tablet computer, a point-of-sale (“PoS”) device, a smartwatch, or the like.
  • In some embodiments, the components of the system 100 are stored by and executed on a single computer system. In other embodiments, the components of the system 100 are distributed among two or more computer systems that may be locally or globally distributed.
  • FIG. 1 shows various physical and logical components of an embodiment of the system 100. As shown, the system 100 has a number of physical and logical components, including a central processing unit (“CPU”) 102 (comprising one or more processors), random access memory (“RAM”) 104, an input interface 106, an output interface 108, a network interface 110, non-volatile storage 112, and a local bus 114 enabling CPU 102 to communicate with the other components. CPU 102 executes an operating system, and various modules, as described below in greater detail. RAM 104 provides relatively responsive volatile storage to CPU 102. The input interface 106 enables an administrator or user to provide input via an input device, for example a keyboard and mouse. The output interface 108 outputs information to output devices, such as a display and/or speakers. The network interface 110 permits communication with other systems, such as other computing devices and servers remotely located from the system 100, such as for a typical cloud-based access model. Non-volatile storage 112 stores the operating system and programs, including computer-executable instructions for implementing the operating system and modules, as well as any data used by these services. Additional stored data, as described below, can be stored in a database 116. During operation of the system 100, the operating system, the modules, and the related data may be retrieved from the non-volatile storage 112 and placed in RAM 104 to facilitate execution.
  • In an embodiment, the system 100 further includes an analysis module 120 and a forecasting module 122. As described herein, to generate the forecast, the system 100 can use a machine learning model and/or statistical model to determine the prediction.
  • Forecasting is the process of obtaining a predicted future value for a subject using historical data. In many cases, forecasts are predicated on there being a plethora of data from which to generate one or more predictions. In these cases, machine learning techniques can rely on the plethora of historical data in order to train their models and thus produce reasonably accurate forecasts.
  • As an example, a system to predict sales of a SKU in a store may use time-series forecasting based on historical sales of that SKU in previously similar months or seasons. As a specific example, in the retail space, a system can be used to obtain the number of units of jam that will be sold in September 2017 using the historical sales for jam for that past 5 years.
  • However, in some cases, it can be problematic to generate forecasts when there is insufficient historical data to make a forecast of the future with a reasonable level of confidence. In the above example, insufficiency of historical data can become a problem if, for example, the SKU is brand new and has no history, the SKU is relatively new and there is only a limited period of historical data available (for example, was introduced within the last 6 months), the SKU has not been sold in that particular store, the SKU does not have sufficient variations, or the SKU has insufficient serviceable historical data for any other reason.
  • Accordingly, for the above scenarios with insufficient or sparse historical data, the embodiments described herein advantageously provide a technological approach to generate a forecast, for example for the SKU, with a practically useable degree of confidence. For example, generating forecasts where there are new SKUs, SKUs with insufficient history, SKUs with data sparsity issues, or the like. The embodiments described herein can also advantageously make predictions where there exists a certain feature type in the data history, but a new feature type is required for the prediction. For example, for forecasting the results of a promotion for a given SKU, the embodiments described herein can be used to generate forecasts where SKUs have only been on one type of promotion in its history but assigned a new promotion type in a future promotion.
  • In another intended advantage provided by the embodiments described herein, a system is provided that can automatically generate forecasts for both subjects with sufficient historical data and subjects with insufficient historical data.
  • In another intended advantage provided by the embodiments described herein, a system is provided that can automatically generate forecasts for a subject with varying maturity in terms of history.
  • In another intended advantage provided by the embodiments described herein, a system is provided that can automatically assign a weight specific to each subject, in each model in an ensemble, to denote model importance.
  • FIG. 3 illustrates a flowchart for a method 300 for hierarchical forecasts, according to an embodiment.
  • At block 302, the analysis module 120 receives a subject for forecasting and input parameters associated with the subject or the forecast via the input interface 106 or network interface 110.
  • At block 304, the analysis module 120 generates a hierarchical structure with the subject as a lowest-level descendant (or external node). In some cases, a trained machine learning model can be used to classify the subject and other nodes into a hierarchical structure. In other cases, the hierarchical structure can be received or retrieved by the analysis module 120 from the database 116, input interface 106, or network interface 110.
  • At block 306, the analysis module 120 receives or retrieves historical data associated with the subject for forecasting from the database 116, input interface 106, or network interface 110.
  • At block 308, the analysis module 120 analyzes the sufficiency of the historical data associated with the subject. The historical data will be deemed sufficient if there is enough historical data to form a trained machine learning model to a predetermined level of accuracy.
  • At block 310, if the analysis module 120 determines that there is sufficient historical data, the forecasting module 122 determines a forecast for the subject, based on the input parameters, using a machine learning model trained with the historical data, which is returned by the system 100.
  • At block 312, if the analysis module 120 determines that there is insufficient historical data, the analysis module 120 receives or retrieves historical data associated with a node of the hierarchy that is one level above the subject (the parent node of the subject) from the database 116, input interface 106, or network interface 110.
  • At block 314, the analysis module 120 determines if there is sufficient historical data at the parent node to generate a forecast.
  • At block 316, if the analysis module 120 determines that there is sufficient historical data at the parent node, the forecasting module 122 determines a forecast for the subject, based on the input parameters, using a machine learning model trained with the historical data associated with the parent node, which is returned by the system 100.
  • At block 318, if the analysis module 120 determines that there is insufficient historical data associated with the parent node, the analysis module 120 determines whether the parent node is a root node of the hierarchy (i.e., the top node with no parents). At block 320, if the parent node is the root node, the system 100 returns that there is insufficient data to form a forecast.
  • If the parent node is not the root node, the system 100 repeats block 312 on progressively higher levels of the hierarchy (progressive ancestor nodes) until the analysis module 120 determines that a node with sufficient historical data has been located. When such an ancestor node is located, at block 314, the forecasting module 122 determines a forecast for the subject, based on the input parameters, using a machine learning model trained with the historical data associated with the located ancestor node.
  • FIG. 4 illustrates a flowchart for a method 350 for hierarchical forecasts, according to another embodiment.
  • At block 352, the system 100 receives a subject for forecasting and parameters associated with the subject or the forecast from the input interface 106 or network interface 110.
  • At block 354, the analysis module 120 generates a categorical hierarchical structure with the subject as a lowest-level descendant (or external node). In other cases, the hierarchical structure can be received or retrieved by the analysis module 120 from the database 116, input interface 106, or network interface 110.
  • At block 356, the analysis module 120 receives or retrieves historical data associated with the subject for forecasting from the database 116, input interface 106, or network interface 110.
  • At block 358, the analysis module 120 analyzes the sufficiency of the historical data associated with the subject. The historical data will generally be deemed sufficient if there is enough historical data to build a machine learning model to a predetermined level of accuracy.
  • At block 360, if the analysis module 120 determines that there is sufficient historical data, the forecasting module 122 builds one or more machine learning models with the historical data associated with the subject. The one or more models can include both interpolation models (for example, Random Forest) and extrapolation models (for example, Linear Regression).
  • For the case where, while there is some historical data, the analysis module 120 determines that the historical data associated with the subject is insufficient to obtain reliable predictions using a machine learning model, the forecasting module 122 can increase reliability of the machine learning model by adjusting the model parameters. In this case, at block 362, the forecasting module 122 builds one or more machine learning models using parameters of machine learning models built at other higher levels of the hierarchy. In order to do so, the forecasting module 122 can extract parameters related to the subject from other layers of the hierarchy.
  • As an example, assuming there are n-number of model parameters used for prediction, the forecasting module 122 generates a machine learning model that is trained with a weight or importance assigned to each of the n-number of model parameters. When the historical data for the subject is sparse, the weighting or importance for the various model parameters may not be sufficiently reliable. However, as above, when the forecasting module 122 trains the machine learning model with historical data associated with one or more nodes at a higher level of the hierarchy, the forecasting module 122 can make use of more training data, and thus, can generate a more effective estimate of the weight or importance of the model parameters.
  • In an example, the forecasting module 122 can use parameters for models trained at higher levels of the hierarchy. For example, using regression models, one or more models can be trained at the higher level of the categorical hierarchy. Coefficients of the various features can be obtained at the higher level, and such coefficients can be used to obtain a better estimate for the model in the lower level in the categorical hierarchy.
  • At block 364, in some cases, if the analysis module 120 determines that there is no, or almost no, historical data associated with the subject, the forecasting module 122 can obtain historical data associated with comparable or similar subjects. This other historical data can then be used in training of the machine learning model. The similar subjects can be manually chosen by a user via the input interface 106 or can be automatically chosen by the forecasting module 122. For the latter case, the forecasting module 122 can define a metric of “similarity” between subjects using, for example, at least one of hierarchy (for example, other subjects sharing similar parent or ancestor nodes), history of relatedness, or other parameters or characteristics relating to similarity. In some cases, the forecasting module 122 can use a machine learning model to assess the similarities and generate a ranked or classified output of other similar subjects. The forecasting module 122 can then train the machine learning model using the historical data associated with one or more “similar” subjects. In various examples, machine learning methodologies, such as clustering subjects or vector representations of subjects, can be utilized to assess the similarities between one subject and the other subjects using one or more different dimensions (for example, hierarchy, metadata, parameters, descriptions, or the like). In some cases, such machine learning methodologies can also rank the similarities in each of the dimensions.
  • At block 366, in some cases of the present embodiment, the forecasting module 122 can pool historical data together associated with additional subjects having related ancestors to the subject. Such additional pooling can be used to supplement and increase the accuracy of machine learning models based on the historical data associated with the subject; even in circumstances where the historical data associated with the subject has been deemed sufficient.
  • In this way, the forecasting module 122 can estimate the effects of circumstances and parameters that have not been associated yet with the subject, and therefore are not reflected in its historical data.
  • At block 368, the forecasting module 122 generates a forecast for the subject based on the historical data and parameters for each of the trained machine learning models.
  • At block 370, the forecasting module 122 combines the outputs from the trained machine learning models, to generate an ensemble of models; for example, using statistical measures such as a median value or mean value. In other cases, the outputs can be combined by the forecasting module 122 using “stacking” by building another machine learning model, referred to as a meta-model, on the basis of the ensemble of models. The meta-model can also be trained using the outputs of each of the models in the ensemble models as features. In some cases, during the training phase, the meta-model can assign an “importance” to each of the models in the ensemble.
  • Advantageously, hierarchical grouping provides a grouping of subjects for forecasting at different levels of granularity.
  • In other cases, the analysis module 120 can determine if there is sufficient historical data at one or more nodes at the same level of the hierarchy as the subject or parent under analysis (sibling nodes). If so, the forecasting module 122 can determine a forecast for the subject, based on the parameters, using a machine learning model trained with the historical data associated with the one or more sibling nodes, which is returned by the system 100.
  • In some cases, the forecast, or the determination that that there is insufficient data to form a forecast, returned by the system 100 can be outputted to the output interface 108, stored in the database 116, or sent externally via the network interface 110. In some cases, for forecasts outputted to the output interface 108, the output interface 108 can generate a representation for the forecasts. In an example, the representation of the forecast may be in the form of, for example, graphs, text, charts, or the like.
  • In some cases, the forecasting module 122 can use a best fit model to generate the forecast of the subject based on the input parameters, such as through utilizing an evolutionary algorithm. In other cases, the forecasting module 122 may rely on machine learning and/or neural network analysis. Generally, the forecasting comprises a mapping of inputs to outputs, such as, for example, according to the function y=f(x). Based on a forecast y, and driven by a function for determining the forecast, the inputs x can be determined. Techniques employed in generating forecasts may include predictive modeling, sensitivity analysis, basket analysis, root cause analysis, and analysis of external factors. In some cases, the forecasting module 122 may model each subject or each subject type by using a regression analysis.
  • In some cases, the forecasting module 122 can be a set of data mining and machine learning building blocks, working in conjunction with the other modules, to generate predictive or explanatory scores of the outcomes of the promotion. The scores can be based on the historical data, as described above. Both supervised and unsupervised learning techniques can be used in generating the scores. These scores can then be used to determine the forecast.
  • In an example, a steady state of the forecasting module 122 can shift over to a reinforcement learning hybrid approach. As further data is collected by the system 100, at relevant levels of the hierarchy, the machine learning model can be re-trained and re-scored, and, as a result, new predictions can be made for the forecast. This reinforcement learning and feedback approach can be invoked repeatedly to further hone each of the machine learning models.
  • In some cases, the forecasting module 122 can change or re-train the machine learning models, at various levels of the hierarchy, with which the scores themselves are being calculated. In some cases, the forecasting module 122 can perform reinforcement learning “concurrently” with the receiving of outcome of prior predictions, enabling the forecasting module 122 to continue to learn the outcomes and adjust forecasts accordingly. Accordingly, the forecasting module 122 can be considered an artificially intelligent agent.
  • The historical data that the forecasting module 122 uses to train the machine learning model can be gathered from a variety of sources, including users and other computing devices.
  • In some cases, the forecasting module 122 uses the historical data to train one or more of the machine learning models of the hierarchy, such that the machine learning model can be used to make forecasts. In further cases, one or more of the machine learning models of the hierarchy may be a previously trained machine learning model retrieved by the system 100.
  • In an exemplary application of the system 100 and method 300, a forecast can be generated for sales of a SKU on a certain date; for example, as a result of a promotion. In this case, the SKU is the subject and the parameters are the date, the requirement for the output to be sales of the SKU, and the mechanics of the promotion.
  • In this example, as shown in FIG. 5 , a hierarchy 400 can be generated from the classifying structure of products. The hierarchy 400 may be a product hierarchy, such as a top-down classification of SKUs found in a store from the product department all the way down to individual SKUs. The subject of the forecast is one of the individual SKUs; in this example, a first SKU 402 a or a second SKU 402 b. The parent of the SKUs 402 is the product brand 404 of the SKU; in this example, a first product brand 404 a. The parent of the product brand 404 is the product subcategories 406; in this example, a first product subcategory 406 a. The parent of the product subcategories 406 is the product categories 408; in this example, a first product category 408 a. The parent of the product categories 408 is the product department 410, which is the root node; in this example, a root product department 410 a. In this way, an individual SKU, here the first SKU 402 a (as an example, a product like “Smith's face wash”) can be found at the lowest level of the hierarchy. The first SKU 402 a is associated with one of the brands, the first product brand 404 a (in this example, “Smith's”). The first product brand 404 a is associated with one of the subcategories 406 a, the first product subcategory (in this example, “face wash”). The first product subcategory 406 a is associated with one of the categories, the first product category 408 a (in this example, “personal wash”). Finally, the first product category 408 a is associated with the department 410 a (in this example, “cosmetic and toiletry”).
  • In this example, the system 100 takes as input the SKU 402 a (as the subject) and a date and sales price (as the parameters) for which a forecast is required, and generates as output, a forecast of the predicted sales. Advantageously, for forecasting a single SKU 402 a, the system 100 can build and use multiple different models, whereby the output from each of the models can then be combined to produce the final output.
  • As an example of the embodiments described herein, as shown in the diagram 500 of FIG. 6 , the forecasting module 122 can use different “layers”, each comprising one or more blocks, to generate the different models, along with a “layer” that combines the outputs from the individual models.
  • At a “forecasting input” layer 510, the forecasting module 122 receives the subject SKU and the date of forecast parameter, along with any other parameters.
  • At an “SKUs with history” layer 520 is used to build one or more machine learning models with the SKU-specific historical data. The one or more models can include both interpolation models (for example, Random Forest) and extrapolation models (for example, Linear Regression). At block 521, the forecasting module 122 can train one or more SKU models; for example different types of machine learning models can be trained using the same or similar historical data. In an intended advantage, different types of models can learn different patterns from the historical data, and so by combining such models, the system can be able to cover an entire space, or greater space, of patterns available in the data.
  • A “prior layer” 530 is used when the SKU has very limited historical data (in this example, such as less than 6 months of historical data). In this case, the historical data may be insufficient to obtain reliable estimates of model parameters using a machine learning model. At block 531, the analysis module 120 or forecasting module 122 can extract SKU related information from the hierarchy 400. At block 532, the forecasting module 122 can train a prior model on a chosen level (e.g., subcategory) of the hierarchy 400, as described herein.
  • At block 522, as part of the “SKUs with history layer” 520 and/or the “prior layer” 530, the system 100 can improve the reliability of the machine learning model parameters by adjusting the SKU level model parameters using parameters of machine learning models built at other higher levels of the product hierarchy. For example, the SKU level model estimates can be adjusted using a comparable machine learning model trained using historical data at the subcategory level.
  • A “new SKU” layer 540 can be used for SKUs with no historical data. In this case, at block 541, the forecasting module 122 can obtain historical data associated with comparable or “similar” SKUs from the hierarchy 400 that can be used in the training. The similar SKUs can be manually chosen by a user via the input interface 106 or can be automatically chosen by the forecasting module 122. For the latter case, the forecasting module 122 can define a metric of “similarity” between SKUs using, for example, at least one of product hierarchy (for example, SKUs that occur within the same subcategory or brand are likely similar), promotion history (SKUs that are promoted together are likely similar), or other SKU parameters or characteristics (for example, gender bias, mass, prestige, age bias, etc.). The forecasting module 122 can use a machine learning model to assess the similarities and generate an output of the top N-number of similar SKUs for a given input SKU. At block 542, the forecasting module 122 can train the SKU level models using the set of “similar” SKUs; for example different types of machine learning models can be trained using the same or similar historical data.
  • A “pooling” layer 550 can be used to pool historical data together. Any one SKU, even those with a large quantity of associated historical data, will most likely not have historical data associated with an entire breadth of different circumstances and parameters reflected in its history. Thus, for increased accuracy, it can be useful to “pool” historical data from other SKUs. In this way, the forecasting module 122 can estimate the effects of circumstances and parameters that have not been seen before for the subject SKU and therefore are not reflected in its historical data. In accordance with an embodiment herein, the analysis module 120 or forecasting module 122 can find other SKUs to pool with the subject SKU using the hierarchy 400. At block 551, the analysis module 120 or forecasting module 122 can extract SKU related information from the hierarchy 400. As an example, other SKUs in the same subcategory as the subject SKU are likely to have similar characteristics, such as sales trends; and hence, would be useful in estimating a forecast for the subject SKU using different parameters, such as promotion mechanics. Similar pooling can be used to build models at other levels of the hierarchy 400; for example, at the category level, department level, or the like. At block 552, the forecasting module 122 can build machine learning models using the extracted SKU related information from the other SKUs.
  • An “ensemble” layer 560 can be used to generate a forecast. In this case, the forecasting module 122 can use each of the models trained using any one or more of the layers described above, the pooling layer 550, the SKUs with history layer 520, the prior layer 530, or the new SKU layer 540, to generate a forecast for the subject SKU and date parameter. The predictions from the individual models are automatically combined by the forecasting module 122 using statistical measures (for example, using a median value) or using machine learning techniques (for example, stacking) to generate a resultant forecast.
  • A substantial intended advantage of the embodiments described herein is that the system 100 can use an ensemble of multiple different machine learning models for forecasting or predicting for a single subject (for example, a single SKU). In some cases, these multiple different machine learning models can be trained (built) at different hierarchical levels of the hierarchy (for example, at the department level, category level, subcategory level, brand level, or SKU level).
  • In the event of insufficient data, models trained (built) at higher levels (broader levels) of the hierarchy can be used by the system 100 to make predictions using models trained (built) at lower levels (more specific levels) of the hierarchy. In some cases, the higher level models can be used for parameter specific instances where models are insufficient with respect to those parameters at the lower level of the hierarchy. Advantageously, the output of each of the machine learning models can be automatically combined to output a resultant forecast.
  • Although the invention has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the spirit and scope of the invention as outlined in the claims appended hereto. The entire disclosures of all references recited above are incorporated herein by reference.

Claims (19)

1. A computer-implemented method for generation of an automated forecast for a subject based on one or more input parameters, the method executed on at least one processing unit, the subject associated with an end node of a categorical hierarchy, the method comprising:
receiving historical data associated with the subject;
determining the sufficiency of the historical data associated with the subject based on a feasibility of building at least one subject machine learning model to generate a forecast with a predetermined level of accuracy using the historical data associated with the subject;
where there is sufficient historical data associated with the subject, building the at least one subject machine learning model trained using the historical data associated with the subject;
where there is not sufficient historical data associated with the subject, building the at least one subject machine learning model trained using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with at least one ancestor node of the categorical hierarchy;
receiving the one or more input parameters;
generating a forecast for the subject using the at least one machine learning model provided with the one or more input parameters; and
outputting the forecast.
2. The method of claim 1, wherein the at least one ancestor node of the categorical hierarchy comprises the ancestor node in the level of the hierarchy directly above the end node associated with the subject.
3. The method of claim 2, further comprising:
determining the sufficiency of the historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, the sufficiency based on the feasibility of building the at least one subject machine learning model to generate a forecast with a predetermined level of accuracy;
where there is not sufficient historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, successively determining the sufficiency of the historical data associated with each higher ancestor node in the categorical hierarchy until there is sufficient historical data or the root node is reached, sufficiency determined by the feasibility of building the at least one subject machine learning model to generate the forecast with the predetermined level of accuracy using the historical data associated with the subject in combination with the historical data associated with the higher ancestor node and nodes in between the higher ancestor node and the subject node; and
building the at least one subject machine learning model using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with the at least one ancestor node of the categorical hierarchy.
4. The method of claim 3, where there is not sufficient historical data associated with the subject and all the ancestor nodes up to the root node, further comprising outputting that there is insufficient data to form the forecast.
5. The method of claim 1, further comprising, where there is not sufficient historical data associated with the subject, determining other similar nodes having a similarity to the subject, and wherein building at least one of the at least one subject machine learning model comprises using historical data associated with the similar nodes.
6. The method of claim 5, wherein the similar nodes are those nodes that share a parent node with the subject in the categorical hierarchy.
7. The method of claim 6, wherein the similar nodes are those nodes that share an ancestor with the subject in the categorical hierarchy.
8. The method of claim 5, wherein the at least one subject machine learning model comprises a plurality of machine learning models, and wherein building the at least one subject machine learning model comprises combining predictions from each of the machine learning models to generate the forecast.
9. The method of claim 8, wherein combining the predictions comprises stacking the plurality of machine learning models by building a meta-model to generate the forecast, the meta-model trained using the predictions from each of the machine learning models as features to the meta-model.
10. The method of claim 1, further comprising receiving the structure of the categorical hierarchy.
11. A system for generation of an automated forecast for a subject based on one or more input parameters, the subject associated with an end node of a categorical hierarchy, the system comprising at least one processing unit and a data storage, the at least one processing unit in communication with the data storage and configured to execute:
an analysis module to receive historical data associated with the subject, and determine the sufficiency of the historical data associated with the subject based on a feasibility of building at least one subject machine learning model to generate a forecast with a predetermined level of accuracy using the historical data associated with the subject; and
a forecasting module to:
where there is sufficient historical data associated with the subject, build the at least one subject machine learning model trained using the historical data associated with the subject;
where there is not sufficient historical data associated with the subject, build the at least one subject machine learning model trained using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with at least one ancestor node of the categorical hierarchy;
receive the one or more input parameters;
generate a forecast for the subject using the at least one machine learning model provided with the one or more input parameters; and
output the forecast.
12. The system of claim 11, wherein the at least one ancestor node of the categorical hierarchy comprises the ancestor node in the level of the hierarchy directly above the end node associated with the subject.
13. The system of claim 12, wherein the analysis module further determines the sufficiency of the historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, the sufficiency based on the feasibility of building the at least one subject machine learning model to generate a forecast with a predetermined level of accuracy, and where there is not sufficient historical data associated with the subject and the ancestor node in the level of the hierarchy directly above the end node associated with the subject, successively determines the sufficiency of the historical data associated with each higher ancestor node in the categorical hierarchy until there is sufficient historical data or the root node is reached, sufficiency determined by the feasibility of building the at least one subject machine learning model to generate the forecast with the predetermined level of accuracy using the historical data associated with the subject in combination with the historical data associated with the higher ancestor node and nodes in between the higher ancestor node and the subject node, and wherein the forecasting module further builds the at least one subject machine learning model using the historical data associated with the subject in combination with at least one of historical data and parameters of machine learning models associated with the at least one ancestor node of the categorical hierarchy.
14. The system of claim 13, wherein where there is not sufficient historical data associated with the subject and all the ancestor nodes up to the root node, the forecasting module outputs that there is insufficient data to form the forecast.
15. The system of claim 11, wherein where there is not sufficient historical data associated with the subject, the analysis module determines other similar nodes having a similarity to the subject, and wherein the forecasting module builds at least one of the at least one subject machine learning model using historical data associated with the similar nodes.
16. The system of claim 15, wherein the similar nodes are those nodes that share a parent node with the subject in the categorical hierarchy.
17. The system of claim 16, wherein the similar nodes are those nodes that share an ancestor with the subject in the categorical hierarchy.
18. The system of claim 15, wherein the at least one subject machine learning model comprises a plurality of machine learning models, and wherein building the at least one subject machine learning model comprises combining predictions from each of the machine learning models to generate the forecast.
19. The system of claim 18, wherein combining the predictions comprises stacking the plurality of machine learning models by building a meta-model to generate the forecast, the meta-model trained using the predictions from each of the machine learning models as features to the meta-model.
US18/428,604 2025-08-05 2025-08-05 Method and system for hierarchical forecasting Pending US20240177075A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/428,604 US20240177075A1 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762559911P 2025-08-05 2025-08-05
PCT/CA2018/051155 WO2019051615A1 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting
US202016647748A 2025-08-05 2025-08-05
US18/428,604 US20240177075A1 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
PCT/CA2018/051155 Continuation WO2019051615A1 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting
US16/647,748 Continuation US11928616B2 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting

Publications (1)

Publication Number Publication Date
US20240177075A1 true US20240177075A1 (en) 2025-08-05

Family

ID=65722333

Family Applications (2)

Application Number Title Priority Date Filing Date
US16/647,748 Active 2025-08-05 US11928616B2 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting
US18/428,604 Pending US20240177075A1 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US16/647,748 Active 2025-08-05 US11928616B2 (en) 2025-08-05 2025-08-05 Method and system for hierarchical forecasting

Country Status (2)

Country Link
US (2) US11928616B2 (en)
WO (1) WO2019051615A1 (en)

Families Citing this family (11)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US11481690B2 (en) 2025-08-05 2025-08-05 Foursquare Labs, Inc. Venue detection
US20210034712A1 (en) * 2025-08-05 2025-08-05 Intuit Inc. Diagnostics framework for large scale hierarchical time-series forecasting models
US12154013B2 (en) 2025-08-05 2025-08-05 Kinaxis Inc. Interactive machine learning
US11537825B2 (en) 2025-08-05 2025-08-05 Kinaxis Inc. Systems and methods for features engineering
US11886514B2 (en) * 2025-08-05 2025-08-05 Kinaxis Inc. Machine learning segmentation methods and systems
US12346921B2 (en) 2025-08-05 2025-08-05 Kinaxis Inc. Systems and methods for dynamic demand sensing and forecast adjustment
US11526899B2 (en) 2025-08-05 2025-08-05 Kinaxis Inc. Systems and methods for dynamic demand sensing
US12242954B2 (en) 2025-08-05 2025-08-05 Kinaxis Inc. Interactive machine learning
US11599562B2 (en) 2025-08-05 2025-08-05 Carrier Corporation System and a method for recommending feature sets for a plurality of equipment to a user
CN112131611B (en) * 2025-08-05 2025-08-05 北京锐安科技有限公司 Data correctness verification method, device, equipment, system and storage medium
CN112767056B (en) * 2025-08-05 2025-08-05 腾讯科技(深圳)有限公司 Service data prediction method, device, computer equipment and storage medium

Citations (18)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010110A1 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Systems and methods that facilitate data mining
US20080313596A1 (en) * 2025-08-05 2025-08-05 International Business Machines Corporation Method and system for evaluating multi-dimensional project plans for implementing packaged software applications
US20120303412A1 (en) * 2025-08-05 2025-08-05 Oren Etzioni Price and model prediction system and method
US20140079297A1 (en) * 2025-08-05 2025-08-05 Saied Tadayon Application of Z-Webs and Z-factors to Analytics, Search Engine, Learning, Recognition, Natural Language, and Other Utilities
US20140344013A1 (en) * 2025-08-05 2025-08-05 Affinnova, Inc. Method and apparatus for interactive evolutionary optimization of concepts
US20170235848A1 (en) * 2025-08-05 2025-08-05 Dennis Van Dusen System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20170323389A1 (en) * 2025-08-05 2025-08-05 Sensormatic Electronics, LLC Method and Apparatus for Evaluating Risk Based on Sensor Monitoring
US20180082172A1 (en) * 2025-08-05 2025-08-05 William Marsh Rice University Automated Compilation of Probabilistic Task Description into Executable Neural Network Specification
US9934126B1 (en) * 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Indexing a trace by insertion of reverse lookup data structures
US9977807B1 (en) * 2025-08-05 2025-08-05 Sas Institute Inc. Distributed data set indexing
US20180204111A1 (en) * 2025-08-05 2025-08-05 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
US20180284758A1 (en) * 2025-08-05 2025-08-05 StrongForce IoT Portfolio 2016, LLC Methods and systems for industrial internet of things data collection for equipment analysis in an upstream oil and gas environment
US20190066133A1 (en) * 2025-08-05 2025-08-05 Jpmorgan Chase Bank, N.A. System and method for providing data science as a service
US10339470B1 (en) * 2025-08-05 2025-08-05 Amazon Technologies, Inc. Techniques for generating machine learning training data
US20190205773A1 (en) * 2025-08-05 2025-08-05 Go Logic Decision Time, Llc Methods and systems of assertional simulation
US20200004825A1 (en) * 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Generating diverse smart replies using synonym hierarchy
US20200279650A1 (en) * 2025-08-05 2025-08-05 Tuomas W. Sandholm Medical treatment planning via sequential games
US11030631B1 (en) * 2025-08-05 2025-08-05 Intuit Inc. Method and system for generating user experience analytics models by unbiasing data samples to improve personalization of user experiences in a tax return preparation system

Family Cites Families (2)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US6128415A (en) 2025-08-05 2025-08-05 Polaroid Corporation Device profiles for use in a digital image processing system
US20170255888A1 (en) * 2025-08-05 2025-08-05 Newvoicemedia, Ltd. System and method for intelligent sales engagement

Patent Citations (21)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US7398268B2 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Systems and methods that facilitate data mining
US20060010110A1 (en) * 2025-08-05 2025-08-05 Microsoft Corporation Systems and methods that facilitate data mining
US20080313596A1 (en) * 2025-08-05 2025-08-05 International Business Machines Corporation Method and system for evaluating multi-dimensional project plans for implementing packaged software applications
US7971180B2 (en) * 2025-08-05 2025-08-05 International Business Machines Corporation Method and system for evaluating multi-dimensional project plans for implementing packaged software applications
US20120303412A1 (en) * 2025-08-05 2025-08-05 Oren Etzioni Price and model prediction system and method
US20200279650A1 (en) * 2025-08-05 2025-08-05 Tuomas W. Sandholm Medical treatment planning via sequential games
US20170235848A1 (en) * 2025-08-05 2025-08-05 Dennis Van Dusen System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US11080336B2 (en) * 2025-08-05 2025-08-05 Dennis Van Dusen System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20140079297A1 (en) * 2025-08-05 2025-08-05 Saied Tadayon Application of Z-Webs and Z-factors to Analytics, Search Engine, Learning, Recognition, Natural Language, and Other Utilities
US20180204111A1 (en) * 2025-08-05 2025-08-05 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
US20140344013A1 (en) * 2025-08-05 2025-08-05 Affinnova, Inc. Method and apparatus for interactive evolutionary optimization of concepts
US20180082172A1 (en) * 2025-08-05 2025-08-05 William Marsh Rice University Automated Compilation of Probabilistic Task Description into Executable Neural Network Specification
US10339470B1 (en) * 2025-08-05 2025-08-05 Amazon Technologies, Inc. Techniques for generating machine learning training data
US11030631B1 (en) * 2025-08-05 2025-08-05 Intuit Inc. Method and system for generating user experience analytics models by unbiasing data samples to improve personalization of user experiences in a tax return preparation system
US20170323389A1 (en) * 2025-08-05 2025-08-05 Sensormatic Electronics, LLC Method and Apparatus for Evaluating Risk Based on Sensor Monitoring
US20180284758A1 (en) * 2025-08-05 2025-08-05 StrongForce IoT Portfolio 2016, LLC Methods and systems for industrial internet of things data collection for equipment analysis in an upstream oil and gas environment
US20190066133A1 (en) * 2025-08-05 2025-08-05 Jpmorgan Chase Bank, N.A. System and method for providing data science as a service
US9977807B1 (en) * 2025-08-05 2025-08-05 Sas Institute Inc. Distributed data set indexing
US9934126B1 (en) * 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Indexing a trace by insertion of reverse lookup data structures
US20190205773A1 (en) * 2025-08-05 2025-08-05 Go Logic Decision Time, Llc Methods and systems of assertional simulation
US20200004825A1 (en) * 2025-08-05 2025-08-05 Microsoft Technology Licensing, Llc Generating diverse smart replies using synonym hierarchy

Non-Patent Citations (3)

* Cited by examiner, ? Cited by third party
Title
Caraviello, D. Z., et al. "Analysis of reproductive performance of lactating cows on large dairy farms using machine learning algorithms." Journal of dairy science 89.12 (2006): 4703-4722. (Year: 2006) *
Friedman, Jerome H. "Recent advances in predictive (machine) learning." Journal of classification 23.2 (2006): 175-197. (Year: 2006) *
Sun, Shiliang, Changshui Zhang, and Guoqiang Yu. "A Bayesian network approach to traffic flow forecasting." IEEE Transactions on intelligent transportation systems 7.1 (2006): 124-132. (Year: 2006) *

Also Published As

Publication number Publication date
WO2019051615A1 (en) 2025-08-05
US11928616B2 (en) 2025-08-05
US20200226504A1 (en) 2025-08-05

Similar Documents

Publication Publication Date Title
US20240177075A1 (en) Method and system for hierarchical forecasting
Shapi et al. Energy consumption prediction by using machine learning for smart building: Case study in Malaysia
Shastri et al. Stock Price Prediction using Artificial Neural Model: An Application of Big Data.
Maldonado et al. Advanced conjoint analysis using feature selection via support vector machines
US20200143252A1 (en) Finite rank deep kernel learning for robust time series forecasting and regression
CN111695024B (en) Method and system for predicting object evaluation value, and method and system for recommending object evaluation value
US11977978B2 (en) Finite rank deep kernel learning with linear computational complexity
US20230306505A1 (en) Extending finite rank deep kernel learning to forecasting over long time horizons
US20210125031A1 (en) Method and system for generating aspects associated with a future event for a subject
CN107862406A (en) Using deep learning and the method for the primary equipment risk profile for improving Apriori algorithm synthesis
Awad et al. Machine learning and knowledge discovery
Gandhmal et al. Wrapper-enabled feature selection and CPLM-based NARX model for stock market prediction
WO2021077227A1 (en) Method and system for generating aspects associated with a future event for a subject
Kliangkhlao et al. The design and development of a causal bayesian networks model for the explanation of agricultural supply chains
Sousa et al. Predicting demand for new products in fashion retailing using censored data
Huynh et al. Causal inference in econometrics
JP7549140B2 (en) A self-adaptive multi-model approach in representational feature space for tendencies towards actions
CN118967207A (en) Customer churn prediction system and method based on machine learning
US11042837B2 (en) System and method for predicting average inventory with new items
US20170046726A1 (en) Information processing device, information processing method, and program
Kumar et al. Machine learning based decision support system for resilient supplier selection
CA3059904A1 (en) Method and system for generating aspects associated with a future event for a subject
Gao et al. An Adaptive Pricing Framework for Real-Time AI Model Service Exchange
Thakur et al. Enhancing customer experience through ai-powered personalization: A data science perspective in e-commerce
Sukhanov et al. Collaborative Filtering Algorithm for Recommender Systems

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

AS Assignment

Owner name: KINAXIS INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PADMANABHAN, KANCHANA;KENG, BRIAN;SIGNING DATES FROM 20200612 TO 20200915;REEL/FRAME:070634/0520

前降支中段心肌桥什么意思 尿崩症是什么意思 羊肉不能和什么食物一起吃 什么马 教唆是什么意思
药师佛手里拿什么法器 走马灯是什么意思 为什么抽烟会上瘾 遗憾是什么 什么是丝状疣
下面有异味是什么原因 聚乙烯醇是什么材料 去医院检查是否怀孕挂什么科 草长莺飞是什么生肖 高铁列车长是什么级别
vae是什么意思 性生活时间短吃什么药 警察两杠一星是什么级别 绽开什么 nf是什么
hov是什么意思hcv9jop2ns0r.cn 肝回声密集是什么意思sanhestory.com 可吸收线是什么颜色hcv8jop3ns9r.cn jay什么意思hcv9jop5ns7r.cn 支原体感染用什么药bjhyzcsm.com
布丁是用什么做的bjcbxg.com 什么是PC出轨hcv8jop3ns8r.cn 孕吐喝什么水可以缓解hcv8jop4ns0r.cn 3.14什么星座hcv8jop0ns2r.cn 国企混改是什么意思hcv8jop8ns8r.cn
什么是犹太人hcv9jop5ns3r.cn gps是什么意思hcv8jop8ns6r.cn 94狗跟什么属相配最好jingluanji.com 荷花是什么季节onlinewuye.com 菱形脸适合什么刘海hcv9jop2ns7r.cn
感冒喝什么药hcv8jop3ns7r.cn 千年修炼是什么生肖hcv8jop9ns5r.cn 新生儿便秘吃什么好hcv7jop9ns9r.cn 幽门螺旋杆菌感染有什么症状hcv9jop3ns7r.cn 坐地能吸土是什么意思hcv8jop4ns4r.cn
百度