Scalable software tool with customizable machine predictions
By loading trained machine learning models and multi-dimensional data models in the software system, combined with customized interfaces, the customized needs in complex data planning and forecasting are solved, efficient, flexible and secure data prediction is achieved, and complex systems are met. need.
Patent Information
- Application Number
- CN201980008701.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-11-27
- Filing Date
- 2019-10-14
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2039-10-14
AI Technical Summary
Existing software systems have difficulty providing efficient and customized machine prediction solutions in complex data planning and forecasting tasks, especially in multi-department environments, and traditional methods cannot effectively utilize advanced algorithms and models and cannot maintain confidentiality.
By providing scalable software tools, it supports the loading and use of trained machine learning models, combining multidimensional data models and customized interfaces, realizes unlimited customized data prediction of advanced algorithms and models, avoids exposing confidential data, and uses external confidential data to train models Make predictions.
It realizes efficient and customized data prediction and forecasting, improves resource utilization, meets the flexibility and robustness of complex systems, and maintains the security of confidential data.
Smart Images

Figure CN111630491B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to extensible software tools with customizable machine predictions. Background Art
[0002] Data planning, analysis and processing for entities and / or scenarios generate tangible benefits for organizations. For example, enhancements in planning and forecasting can improve supply and / or logistics efficiency and can make better use of resources. Implementing such data planning, analysis and processing can be challenging, especially when the entity includes a large number of different departments and sub-departments with many dependencies between them. This situation requires complex data storage and modeling, retrieval, analysis and display techniques to achieve the desired planning and forecasting results. In addition, planning, forecasting and / or data prediction can be achieved by using a variety of different algorithms or forecasting models, thereby adding additional complexity to the entire software system. A system that efficiently and effectively implements various forecasting models within such a complex software system can provide greater flexibility while maintaining a robust planning and forecasting solution. Summary of the invention
[0003] Embodiments of the present disclosure are generally directed to systems and methods for performing customizable machine prediction using extensible software tools that provide substantial improvements over the prior art.
[0004] A specification including at least features of a trained machine learning model may be received. An interface for the trained machine learning model may be generated based on the received specification. The trained machine learning model may be loaded using the generated interface, the trained machine learning model comprising a binary file configured to receive data as input and generate predicted data as output. Predictions may be generated using observed data stored according to a multidimensional data model, wherein a portion of the observed data is input into the loaded trained machine learning model to generate a first data prediction, and a portion of the observed data is used by a general forecasting model to generate a second data prediction. The first data prediction and the second data prediction may be displayed in a user interface configured to display an intersection of the multidimensional data model.
[0005] Features and advantages of the embodiments are set forth in the description which follows, or may be obvious from the description, or may be learned through practice of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Further embodiments, details, advantages and modifications will become apparent from the following detailed description of preferred embodiments taken in conjunction with the accompanying drawings.
[0007] Figure 1 A system for performing customizable machine prediction using an extensible software tool is illustrated according to an example embodiment.
[0008] Figure 2 A block diagram of a computing device operably coupled to a system is illustrated according to an example embodiment.
[0009] Figure 3A-3B A hierarchical dimension of a multidimensional data model according to an example embodiment is illustrated.
[0010] Figure 4 Illustrated is a user interface for displaying customizable machine predictions using an extensible software tool in a graphical user interface according to an example embodiment.
[0011] Figure 5 Illustrated is a user interface for displaying customizable machine predictions for intersections of multi-dimensional data in a graphical user interface according to an example embodiment.
[0012] Figure 6 A flow chart for performing customizable machine prediction using an extensible software tool is illustrated according to an example embodiment.
[0013] Figure 7 Illustrated is a flow diagram for training and uploading a customizable machine learning module for use with an extensible software tool to perform machine predictions according to an example embodiment.
[0014] Figure 8 An integrated supplier, inventory, and logistics system including improved planning and supply actions as disclosed herein is illustrated according to an example embodiment. DETAILED DESCRIPTION
[0015] Embodiments use extensible software tools to perform customizable machine predictions. In some embodiments, a prediction model such as a trained machine learning model can be uploaded to a software tool to perform customizable machine predictions. For example, a software tool can use a built-in prediction model such as linear regression to perform data prediction or forecasting. Embodiments provide an interface for loading customizable trained models such as neural network models, support vector machine models, specialized regression models (e.g., Deming regression, ridge regression, Lasso regression, etc.), random forest models, etc. that can be used to perform customizable data predictions.
[0016] In some embodiments, a software tool (e.g., planning software and / or inventory system software) can perform data analysis on data stored according to a multidimensional data model. For example, a multidimensional data model can include multiple dimensions of data (e.g., organized in a hierarchy), where a data element can represent an intersection of multiple dimensions. Based on the stored data (e.g., data generated and stored based on observations over a period of time), a machine forecast for future data can be performed. In an example, the stored data can be sales data for a given product over a period of time, and the machine forecast can be a demand forecast for the product over a future period of time.
[0017] In some embodiments, machine prediction can be implemented using built-in models (such as linear regression) with the software tool or using loaded prediction models from external sources (such as external clients). For example, the loaded prediction models can include various types of models (e.g., neural networks, support vector machines, specialized regressions, etc.) and can be trained using any data available to the external source. In some embodiments, the external source has access to confidential data that can be used to train prediction models that are not available to the software tool.
[0018] For example, an external source may be a retail entity that sells products, and the retail entity may store confidential data about products, sales, or other sensitive information that is not available to others. In this example, the software tool does not have access to this confidential data and therefore cannot use this confidential data to train any predictive models built into the software tool. On the other hand, embodiments provide predictive models that can be trained using this confidential data (in addition to other data) and loaded into the software tool. In these embodiments, the software tool will gain the ability to perform data predictions based on machine-learned insights or trends from the confidential data without exposing the confidential data to any other entity.
[0019] In some embodiments, shipments may be performed based on machine predictions. For example, in some embodiments, the machine prediction may be a demand forecast for one or more products, and based on the forecast, shipments may be performed between warehouses and stores. When data forecasts are performed by a predictive model trained with confidential data, the forecasts may more accurately reflect real-world scenarios, and thus supply shipments may be performed in a manner that improves resource utilization.
[0020] Embodiments provide many improvements over traditional approaches. For example, traditionally, retailers use internally built systems or off-the-shelf commercial solutions (e.g., from software vendors) to generate data forecasts, such as demand forecasts. For the former case, retailers may not have dedicated resources to develop complex systems or may not have the technical expertise to develop robust software tools. For the latter case, commercial solutions may be too general to adapt to the unique situation of each retailer, especially when there are problems with advanced algorithms and / or models.
[0021] Some software vendors allow a certain degree of customization, but this is often limited in scope, particularly with respect to the algorithms / modeling that can be used within the tool. For example, customization is more prevalent in the usability and / or workflow capabilities of the software tool. Even if the software vendor allows for analytical customization, the retailer will be required to share its algorithm / classification data to enable the vendor to implement the customization. In many cases, retailers require confidentiality for their proprietary algorithms and classification data and are therefore reluctant to share this information with software vendors. Thus, conventional approaches fail to provide a customizable solution that also maintains confidentiality.
[0022] Embodiments use extensible software tools to perform customizable machine predictions by providing an interface to a predictive model (e.g., a previously trained machine learning model) that can be loaded into a software framework of a complex software tool. For example, an embodiment can display various data predictions, where the first part of the prediction uses a built-in predictive model to generate a forecast, while the second part of the prediction uses a loaded model that has been customized to generate a forecast. In some embodiments, the software tool generates predictions based on various cross-sections of the data stored in the multidimensional data model. These embodiments achieve a high degree of customization based on the uploaded predictive model and the complex data storage, analysis, and processing of the complex software tool.
[0023] Advantages of embodiments include unlimited customization of advanced algorithms / models that can be used to generate forecasts. Furthermore, for software vendors, algorithms / models that cover most or normal use cases (e.g., 60%, 70%, 80%, 90%, etc.) can be implemented within a software tool without using excessive resources on niche use cases for specific entities. Additionally, entities that require confidentiality can avoid exposing any algorithmic or confidential information when incorporating customization. Finally, since a customization interface is generated for the generated model, entities can efficiently continuously or periodically update the customized model.
[0024] Reference will now be made in detail to embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. In the following detailed description, many specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one of ordinary skill in the art that the present disclosure may be practiced without these specific details. In other cases, well-known methods, processes, components, and circuits are not described in detail to avoid unnecessarily obscuring aspects of the embodiments. Whenever possible, the same reference numerals will be used for the same elements.
[0025] Figure 1 A system for performing customizable machine prediction using an extensible software tool according to an example embodiment is illustrated. System 100 includes a user interface 102, an application 104, an application data store 106, a raw data store 108, a cloud server 110, a software service 120, and an external client 122. In some embodiments, user interface 102 may include multiple user interfaces for interacting with one or more applications (e.g., cloud applications) and / or software services.
[0026] For example, the applications 104 may include cloud applications, locally stored applications, web applications, applets, etc. For example, the applications 102 may include Retail Demand Forecast (“RDF”), Retail Prediction Application Server ("RPAS") and other suitable framework / service components (and user interface 102 may include components for RDF, For example, application 104 may provide planning and forecasting software services to an entity (e.g., a retail entity). In some embodiments, data specific to application 104 may be stored in application data storage 106, and raw data may be stored in raw data storage 108. For example, application data storage 106 may include an organizational scheme (e.g., a database such as database), while the raw data storage device 108 can store unstructured (or less structured) data.
[0027] In some embodiments, the application 104, the application data store 106, and / or the raw data store 108 may be implemented in a cloud architecture based on a cloud server 110. In some embodiments, the application 104, the application data store 106, the raw data store 108, and the cloud server 110 may be part of a software service 120 (e.g., software as a service, platform as a service, architecture as a service, etc.).
[0028] Embodiments provide customizable prediction models that can be loaded into software services to provide enhanced functionality. In some embodiments, external clients 122 can be external to software service 120 (e.g., separate from software service 120), where external clients 122 can load customizable prediction models into software service 120. For example, application 104 and / or application data storage device 106 can be loaded with customizable prediction models. Functions 112, 114, 116, and 118 can be executed to design, train, and load customizable prediction models, and interact with the resulting predictions.
[0029] For example, at 112, a predictive model can be designed and developed. The design of the predictive model can include any suitable machine learning model components (e.g., neural networks, support vector state machines, specialized regression models (such as Deming regression, ridge regression, or Lasso regression), random forest models, etc.). At 114, the predictive model can be trained, for example, using training data (e.g., confidential data and non-confidential data). In some embodiments, 112 and 114 can be combined, rearranged, and / or iterated so that the predictive model can be adjusted and a specification defining the predictive model can be generated.
[0030] At 116, the trained model may be uploaded, for example, to a software service 120. Once uploaded, the application 104 may perform custom data predictions or forecasts using the uploaded predictive model, and may display the data predictions, for example, using the user interface 102. At 118, the results of the loaded predictive model may be interacted with by an external client 122.
[0031] Figure 2 is a block diagram of a computer server / system 200 according to an embodiment. All or part of the system 200 may be used to implement Figure 1 Any element shown in Figure 2 As shown in , the system 200 may include a bus device 212 and / or (one or more) other communication mechanisms configured to transmit information between various components of the system 200, such as a processor 222 and a memory 214. In addition, the communication device 220 may enable connectivity between the processor 222 and other devices by encoding data to be sent from the processor 222 to another device over a network (not shown) and decoding data intended for the processor 222 received from another system over a network.
[0032] For example, the communication device 220 may include a network interface card configured to provide wireless network communications. Various wireless communication technologies may be used, including infrared, radio, Bluetooth Wi-Fi and / or cellular communications. Alternatively, the communication device 220 may be configured to provide a wired network connection(s), such as an Ethernet connection.
[0033] Processor 222 may include one or more general or special purpose processors to perform computational and control functions of system 200. Processor 222 may include a single integrated circuit (such as a microprocessing device), or may include multiple integrated circuit devices and / or circuit boards that work together to perform the functions of processor 222. In addition, processor 222 may execute computer programs stored in memory 214, such as operating system 215, prediction module 216, and other applications 218.
[0034] The system 200 may include a memory 214 for storing information and instructions executed by the processor 222. The memory 214 may contain various components for retrieving, presenting, modifying, and storing data. For example, the memory 214 may store software modules that provide functions when executed by the processor 222. The module may include an operating system 215 that provides operating system functions for the system 200. The module may include an operating system 215, a prediction module 216 configured to perform enterprise planning and forecasting functions, and other application modules 218. The operating system 215 provides operating system functions for the system 200. In some cases, the prediction module 216 may be implemented as a configuration in the memory. In some embodiments, when the system 200 performs the functions of the prediction module 216, it implements an unconventional special-purpose computer system that performs the functions disclosed herein.
[0035] The non-transitory memory 214 may include various computer-readable media that may be accessed by the processor 222. For example, the memory 214 may include any combination of random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read-only memory ("ROM"), flash memory, cache memory, and / or any other type of non-transitory computer-readable media. The processor 222 is also coupled to a display 224, such as a liquid crystal display ("LCD"), via the bus 212. A keyboard 226 and a cursor control device 228, such as a computer mouse, are also coupled to the communication device 212 to enable a user to interface with the system 200.
[0036] In some embodiments, the system 200 may be part of a larger system. Therefore, the system 200 may include one or more additional functional modules 218 to include additional functionality. Other application modules 218 may include, for example, Cloud infrastructure, Cloud Platform, Various modules of cloud applications. Prediction module 216, other application modules 218, and any other suitable components of system 200 may include Retail Demand Forecast (“RDF”), Various modules of the Retail Prediction Application Server ("RPAS") and other suitable frameworks / services.
[0037] A database 217 is coupled to bus 212 to provide centralized storage for modules 216 and 218 and to store data received, for example, from prediction module 216 or other data sources. Database 217 may store data in an integrated collection of logically related records or files. Database 217 may be an operational database, an analytical database, a data warehouse, a distributed database, an end-user database, an external database, a navigational database, an in-memory database, a document-oriented database, a real-time database, a relational database, an object-oriented database, a non-relational database, a NoSQL database, Distributed File System ("HFDS") or any other database known in the art.
[0038] Although shown as a single system, the functionality of system 200 may be implemented as a distributed system. For example, memory 214 and processor 222 may be distributed across multiple different computers that collectively represent system 200. In one embodiment, system 200 may be part of a device (e.g., a smartphone, tablet, computer, etc.). In an embodiment, system 200 may be separate from the device and the disclosed functionality may be provided to the device remotely. Additionally, one or more components of system 200 may not be included. For example, for functionality as a user or consumer device, system 200 may be a smartphone, or may be a computer that includes a processor, memory, and display, but does not include a processor, memory, and display. Figure 2 One or more other components shown in, and including Figure 2 Other wireless devices including additional components not shown (such as antennas, transceivers, or any other suitable wireless device components). Additionally, when implemented to perform the functions disclosed herein, system 200 is a special purpose computer specifically adapted for providing demand forecasts.
[0039] Return to reference Figure 1In some embodiments, the application 104 may provide enterprise planning and forecasting functionality. For example, a multidimensional data model may be implemented to provide a robust, flexible, and efficient framework for generating one or more plans and / or forecasts for an entity (e.g., a retail entity). The multidimensional data model may be represented by a cube, wherein each side of the cube represents a different dimension of data (e.g., a metric, product, plan, time period, channel, etc.). An example metric dimension may include metric members of an enterprise or retail entity, such as revenue, profit, expense, inventory, sales volume, etc., wherein each metric member may also include sub-metric members (e.g., sub-members). An example planning dimension may include planning members representing various plans of an enterprise or retail entity, such as a work plan, a previous plan, a current plan, a future plan, etc. An example channel dimension may include members representing a channel (such as in-store, direct to consumer, third party, etc.) used to perform a portion of a customer transaction.
[0040] Some embodiments include hierarchical multidimensional data models in which members of a dimension also have child members. For example, a product member of a product dimension may include child members, such as a product line featuring various products within the product line. In this example, the product line member may be considered a parent member, and the various product members within the product line may be considered child members of the parent member. In some embodiments, the member hierarchy may include multiple levels, such as three (e.g., grandparent, parent, child), four, or more. Figure 3A Hierarchical dimensions of a multidimensional data model according to an example embodiment are illustrated. Dimension 302 illustrates an example product dimension with hierarchical levels division, group, department, category, subcategory, style, and stock keeping unit ("SKU") number.
[0041] In some embodiments, a cross section of data may be retrieved as part of the generation and / or display of enterprise or retail planning and forecasting data. For example, a selection of a cross section of multidimensional data for display involving various combinations or intersections of data may be received. An example cross section of data may include a combination of a given plan (e.g., a specific member of a plan dimension), a product (e.g., a specific member of a product dimension), and a metric (e.g., a specific member of a metric dimension).
[0042] In some embodiments, an intersection represents a specific combination of dimensions / members of data. For example, inventory data for a specific sweater within a specific product line may be represented by the intersection of the inventory member of the metric dimension and the specific sweater member (e.g., under the specific product line member of the product dimension). As further described herein, a workbook and / or worksheet may display data elements representing a specific intersection of data. In some embodiments, a cross-section of data includes multiple data intersections defined by the specific dimensions / members participating in the cross-section.
[0043] In some embodiments, users of planning and forecasting software can use workbooks / worksheets to complete multiple planning and forecasting tasks. In an example, a workbook can be a user-defined subset of data (e.g., a subset of data from a database storing enterprise or retail data), or one or more cross-sections of data including selected dimensions (e.g., dimensions and / or specific dimension members). A workbook can be viewed as a local copy of the data recorded in a domain that a user can easily view and manipulate. Its multidimensional framework can be used to perform specific functions, such as generating sales forecasts and building commodity financial planning. In order to present data, a workbook can contain multidimensional worksheets as well as graphical charts and related reports. For example, these workbooks can include views and graphical charts for planning, viewing, and analyzing enterprise or retail data (including predicted data or forecast data).
[0044] Embodiments may include an example structure with the following elements: product level and members, such as department, category, and subcategory for the men's sweater department; period level and members, such as half-month, month, and week for the spring quarter of 2019; channel level and members that can reflect multiple channels within the organization at their summary level, such as total in-store division, catalog, or e-commerce (e.g., direct to consumer); planning versions, such as working plan, original plan, current plan, and last year; metrics and corresponding business rules, such as sales, receipts, inventory, etc. In some embodiments, workbooks can be built automatically through a batch process or manually using a software wizard. Once the workbook framework and its specific properties have been defined and established, the structure can be saved as a workbook template, which allows new data sets to be imported, manipulated, and presented in a standardized format on demand. The data in the workbook can be viewed at a detailed level or a summary level.
[0045] In some embodiments, a worksheet may be a multi-dimensional, expandable, and dynamic spreadsheet that provides a user with a view of the data contained in the workbook. RPAS and / or RDF may include built-in worksheets that support industry standard business processes. Rotation, pivoting, and formatting capabilities allow users to create individual views within a worksheet. Data can be viewed at a very high level of detail, or data values can be quickly summarized and viewed at a summary level. Users can display information in a variety of formats in a worksheet, such as by rotating, changing data summaries, showing and hiding metrics, drilling up or down, etc. Figure 4 and Figure 5 The user interface shown in may be a worksheet, graph, or chart that is part of an example workbook.
[0046] In some embodiments, users can edit data at many levels of each dimension / member hierarchy (product, location, calendar). If data is modified at a summary level (a level with one or more lower levels below it), the modifications can be distributed to the lower levels within the hierarchy, a process known as spreading. If data is modified at a level with higher levels above it (parents), the data changes can be reflected in these higher levels, a process known as aggregating. Default aggregation and spreading behaviors can be assigned to metrics. The aggregation method of a metric can determine how data is calculated at a summary level of the hierarchy (such as month or department). The spreading method of a metric can determine how data is spread to lower levels of the hierarchy when a user enters data at a summary level.
[0047] Figure 3B 304 illustrates an example product dimension with hierarchical levels of product category, style, color, and SKU. In the example, if the sales data for the hierarchy 304 is in the form of a planning worksheet, the quantities can be viewed at the lowest level in the hierarchy (style / color / size or SKU level). They can also be viewed at any higher level in the hierarchy.
[0048] Consider a scenario where exactly five of each SKU item in this hierarchy are sold in a given period of time. When the items at the SKU level are aggregated to the style / color level, 15 white round neck shirts (5 small + 5 medium + 5 large) will be shown as sold. A further aggregation will show that a total of 30 round neck shirts (15 white round neck shirts + 15 gray round neck shirts) were sold. If this paradigm is extended to the product category level, the aggregation will show that 60 shirts (30 round necks + 30 pocket t-shirts) were sold. Data can be aggregated along many possible hierarchical paths. For example, SKUs can be summarized into styles, product lines, product categories, and ultimately product partitions. These same SKUs can also be summarized along different hierarchical paths to the level products of suppliers providing products or consigned sales. Any of these different aggregation paths can be defined in various embodiments.
[0049] Scattering (as opposed to summarizing) allows the user to view data at a more detailed level. When scattering, the totals at a higher level dimension are assigned to a lower level dimension based on the relationship of the lower level to the totals. In some examples, the data at the lowest level in the hierarchy may be too sparse to create a meaningful forecast, however, the same data can be useful in determining the percentage contribution each location in the lower level makes to the higher level. For example, a category / store forecast at the summary level may predict that 50 shirts will be sold in store #001 in a given time period. A forecast at a lower SKU / store level may determine that red shirts account for 40% of the demand, blue shirts account for 30%, white shirts account for 20%, and black shirts account for 10%. These percentages can be used to scatter the total of 50 shirts back to the lower color levels. In another example, a category / store forecast at the summary level may predict that 50 shirts will be sold in store #001 in a given time period. A forecast at a lower SKU / store level may also determine that red shirts account for 40% of the demand, blue shirts account for 30%, white shirts account for 20%, and black shirts account for 10%. These percentages can also be used to spread the total of 50 shirts back to the lower color levels. In some examples, the forecast is run on lower levels in the hierarchy to determine the percentages to use when spreading the forecast data from the higher levels. The forecast data at the lower levels may be sufficient to generate reliable overall percentage information, but in some cases, the forecast quantities are more robust when generated at the aggregate level.
[0050] Embodiments can make full use of planning software functions and multidimensional data models to complete forecasts. For example, OracleRDF is a statistical forecasting solution that uses modeling techniques to generate forecasts. As described herein, forecast information is often useful for items at the lowest level in a hierarchy (e.g., a product hierarchy). Problems may arise when the historical sales data for these items is sparse and / or noisy, so it may be challenging to identify sales patterns for these commodities. In such cases, as described herein, after generating forecasts at a higher level, the resulting data can be distributed (dispersed) back to a lower level.
[0051] In a multidimensional data model, forecast data can be predicted for a specific intersection of data (e.g., a cross section of multiple dimensions of data). Example parameters for data forecasting can be as follows:
[0052] · Intersection - the hierarchical dimension that defines the forecast level;
[0053] Source data - Source data are the measurements used as input data to generate the forecast;
[0054] Periodicity - Periodicity is the number of periods within the calendar dimension that is defined in the forecast level intersection. For example, if the intersection is defined in terms of Week / Item / Store, then the Periodicity value would be 52 (since there are 52 weeks in a year);
[0055] Forecast Method - the forecast generation method (or model) that can be defined for the forecast level;
[0056] Planning data - detailed information on the expected shape and size of item sales patterns, which can be used by forecasting methods;
[0057] Seasonality Profile - Expected seasonality of item sales patterns, which can be generated or loaded and can also be used by the forecast method. The value in this parameter is the metric name. The intersection of seasonality profile metrics can be the same as the intersection of forecast levels.
[0058] • Dispersion Profile - used to spread the source level forecast up to the final forecast level.
[0059] In some embodiments, the forecasting method may implement one or more forecasting models. Example built-in forecasting methods may include average, moving average, intermittent, trend, additive seasonal, multiplicative seasonal, etc. In some embodiments, the built-in forecasting method may implement one or more built-in forecasting models, such as linear regression or ridge regression. Example models or demand models for these include: Y≈β0+β1X1+β2X2+…+β p X p , where “Y” represents a forecast (e.g., demand forecast) and β represents the distribution of the different demand variables / features (X1, X2, …X p ) (such as price discount, brand, promotion, size, color, package size, supplier, etc.).
[0060] In some embodiments, the list of built-in forecast methods may be extensible, and an external source (e.g., an external client) may add one or more additional forecast methods based on a loaded prediction model (e.g., a trained machine learning model). Figure 1 , the external client 122 may include a network device (such as a computer) that can upload a predictive model to the software service 120 (which may include a planning and forecasting software tool). In some embodiments, the external client 122 may be a retail entity that uses the software service 120 for planning and forecasting. However, the external client 122 may have an external predictive model that is trained outside of the software service 120 for use with the service's planning and forecasting tools. This predictive model may be loaded into the software service 120 using an interface generated by the service.
[0061] In some embodiments, the generation, loading and interaction of the prediction model can follow Figure 1 112, 114, 116 and 118. For example, at 112, a prediction model can be designed and developed. The design of the prediction model can include any suitable machine learning model component (e.g., a neural network, a support vector machine, a specialized regression model (such as Deming regression, ridge regression or Lasso regression), a random forest model, etc.). For example, a neural network can be implemented with a given cost function (for training purposes). The neural network can include any number of hidden layers (e.g., 0, 1, 2, 3 or more), and can include a feedforward neural network, a recursive neural network, a convolutional neural network, a modular neural network, and any other suitable type of neural network. In some embodiments, the neural network can be configured for deep learning, for example, based on the number of hidden layers implemented. In some examples, a Bayesian network or other type of supervised learning model can be similarly implemented.
[0062] In other examples, in some cases, unsupervised learning models, such as support vector machines, can be implemented with one or more kernels (e.g., Gaussian kernels, linear kernels, etc.). In some embodiments, the designed prediction model can be a stack of multiple prediction models, for example, where the output of a first model feeds the input of a second model. Some embodiments may include multiple layers of prediction models. In some embodiments, features of the prediction model can also be determined. For example, feature engineering can be used to generate a set of features implemented by one or more prediction models.
[0063] At 114, a predictive model may be trained, for example, using training data (e.g., confidential data and non-confidential data). For example, external client 122 may be an entity (e.g., a retail entity) that keeps certain data confidential (e.g., does not wish to share this data with software service 120, which may be an unrelated third-party vendor in a cloud-based or software-as-a-service ("SaaS") implementation). In some embodiments, this confidential data may include types of sales data, projected product selections, profit data (revenue-cost), credit card data, etc. Other data may not be confidential, such as other types of sales data, past product selections, types of expenses (e.g., costs), etc. Non-confidential data may be shared with software service 120 and some other entities.
[0064] In some embodiments, the prediction model may be trained with both confidential data and non-confidential data. For example, because the prediction model is not trained by the software service 120, confidential data may also be used for training purposes. Training may include iterating over the data set and adjusting the weights of the prediction model until the cost function is optimized (or until the generated prediction is within the error range of the validation data set). Other types of prediction model training may also be implemented.
[0065] In some embodiments, confidential data may be stored in Figure 1 For example, the external client 122 (e.g., an external retail entity) may include a secure data repository that stores confidential data with access restrictions. In other words, confidential data may also be considered as data stored in a secure data repository that cannot be accessed by the application 104 due to access restrictions.
[0066] In some embodiments, the design of the prediction model can be adjusted during training. For example, the adjustment can include adjusting the number of hidden layers in the neural network, adjusting the kernel calculations used to implement the support vector machine, etc. The adjustment can also include adjusting / selecting features used by the prediction model. Embodiments include implementing various adjustment configurations (e.g., different versions of the prediction model and features) while training in order to obtain a configuration for the prediction model that achieves the desired performance (e.g., performs predictions with a desired level of accuracy) when trained.
[0067] In some embodiments, 112 and 114 can be combined, rearranged and / or iterated so that the prediction model can be adjusted, and a specification defining the prediction model can be generated. For example, once the configuration of the prediction model is selected and the model is trained, the specification of the model can be generated. The specification can define the features used by the prediction model (e.g., the input of the prediction model), the size of the generated prediction model (e.g., the size of the binary file), the framework of the prediction model (e.g., PyTorch, TensorFlow, etc.), the function or operator of the prediction model, and other suitable parameters of the prediction model. In some embodiments, the model (e.g., the generated binary file) can include multiple operators or functions, such as operator A for calculating predictions and operator B for calculating prediction errors. The operator name can be used to specify which operator performs the prediction. In addition, in an embodiment with verification, the specified operator can be verified, for example, by verifying the existence of the specified operator and its input and output.
[0068] In some embodiments, once the specification is generated, it may be sent to software service 120. Based on the parameters for the predictive model defined in the specification, software service 120 may generate a custom interface (e.g., an application programming interface (“API”)) for the predictive model. The custom interface may be used to load the predictive model into software service 120 so that the predictive model may be used with planning and forecasting software tools to expand the forecasting methods available in the tools.
[0069] In some embodiments, the custom interface is a special expression in RDF, whose input can be parameters such as a path to a binary file (e.g., a prediction model), a metric name of a feature, etc. For example, a feature can include data loaded into a multidimensional data model (e.g., an intersection of data). Examples of special expressions in API or RDF are as follows:
[0070] ML_OUTPUT:c_mlbaselinear,ML_OUTPUT_MSG:c_mlmsglinear<-RdfMLForecastExpr(RUN_MASK:c_mlrunmask1,ML_CHKPT_PATH:c_ml pathlinear,
[0071] ML_FEATURE1:c_mlfeature1,ML_FEATURE2:c_mlfeature2,ML_FEATURE3:c_mlfeature3,ML_FEATURE4:c_mlfeature4,ML_FEATURE5:c_mlfeature 5,ML_FEATURE6:c_mlfeature6,ML_FEATURE7:c_mlfeature7,ML_FEATU RE8:c_mlfeature8,ML_FEATURE9:c_mlfeature9,ML_FEATURE10:c_mlfeature10,
[0072] ML_OPERATOR:c_mlopsname,ML_INPUT_PLACEHOLDER:c_mlinputna me)
[0073] At 116, the trained model can be uploaded to, for example, a software service 120. In some embodiments, the trained model is uploaded using a custom interface generated for the model. Embodiments also include a validation function to verify that the trained model is compatible with the planning and forecasting software tools and the defined specifications. For example, the validation function may include one or more of the following: verifying that the model is loadable, such as verifying that the uploaded binary file can be used by the software tool when forecasting; verifying that the number of features (e.g., defined in the specification and / or defined by the custom API) matches the loaded model; and verifying that the calculation operators (e.g., defined in the API and / or specification) match the loaded model.
[0074] Once loaded and verified, the application 104 can use the uploaded prediction model to perform custom data prediction or forecasting, and the data forecast can be displayed, for example, using the user interface 102. At 118, the results of the loaded prediction model can be interacted with by the external client 122. For example, data prediction can be performed using the loaded prediction model and the stored multidimensional data. The loaded prediction model can receive input from the multidimensional data (e.g., as defined in the specification for the prediction model) and generate forecast data for a period of time in the future. In some embodiments, the forecast data can be presented in a workbook or one or more multidimensional worksheets. Thus, as disclosed herein, a user (e.g., a user associated with the external client 122) can interact with the forecast data using the dynamic functionality of the workbook / multidimensional worksheet.
[0075] Figure 4 A user interface for displaying customizable machine predictions using an extensible software tool in a graphical user interface according to an example embodiment is illustrated. User interface 402 displays a chart of the intersection of multidimensional data that can be predicted using a loaded prediction model. For example, the forecast can be forecast data for the intersection of a product (or product line), a scenario (e.g., a specific plan), a metric (e.g., forecast revenue), and a time period (e.g., a future time period). The forecast can be predicted based on observation data (or other forecast data, such as sales forecasts in similar time periods) input to the loaded prediction model (as defined in the specification), where the model can make full use of its previous training (e.g., configured links and weights) to generate forecast data for the forecast. As shown, the chart can plot the forecast data according to intervals (e.g., weekly, biweekly, monthly, quarterly, etc.).
[0076] Figure 5 A user interface for displaying customizable machine predictions for intersections of multidimensional data in a graphical user interface according to an example embodiment is illustrated. The user interface 502 displays a multidimensional worksheet including multiple intersections of multidimensional data that can be predicted using a loaded prediction model. Figure 4Similarly, each intersection can be forecast data for the intersection of a product (or product line), a scenario (eg, a specific plan), a metric (eg, forecast revenue), and a time period (eg, a future time period).
[0077] In the illustrated embodiment, the multidimensional work table shows an intersection including multiple metrics and plans. For example, intersections 504, 506, and 508 can include the same cross-section of multidimensional data except for the metric dimension (e.g., location, product, time period, and plan), where intersection 504 includes a sales metric, intersection 506 includes a net sales metric, and intersection 508 includes a markdown metric. Similarly, intersections 504 and 510 can include the same cross-section of multidimensional data except for the plan dimension (e.g., location, product, time period, metric), where intersection 504 includes a "Wp" plan, and intersection 510 includes a "Cp" plan.
[0078] Referring to the intersection of user interface 502, a portion of the forecast may be predicted based on observed data (or other predictive data, such as sales forecasts over similar time periods) input into a loaded predictive model (as defined in the specification), where the model may leverage its prior training (e.g., configured links and weights) to generate predictive data for the forecast. Additionally, a portion of the forecast may be predicted based on observed data (or other predictive data, such as sales forecasts over similar time periods) input into a built-in predictive model to generate predictive data. Thus, in some embodiments, a portion of the forecast displayed in the worksheet may be predicted using a customizable and loaded predictive model, while a portion of the forecast displayed in the worksheet may be predicted using a built-in predictive model.
[0079] For example, a loaded predictive model can be used to forecast data for one or more planning scenarios, for a portion of a metric, and the like, while a built-in predictive model can be used for other planning or metrics. In other embodiments, a loaded predictive model can be used to forecast some products or product lines, while other products or product lines can be forecasted using a built-in predictive model. For example, a trained Bayesian network can provide insights from sparse training data that other predictive models may not be able to determine. Therefore, using customized predictive models (e.g., predictive models other than the built-in predictive models of the planning and forecasting tools), some intersections of multidimensional data can achieve improved results. For example, some products (such as at the fine-grained end of the product dimension hierarchy) may only have sparse data available for forecasting, and forecasts of intersections with these products can benefit from predictive models that are specifically configured for sparse data.
[0080] In some embodiments, the aggregation behavior can also involve some data predicted using built-in forecasting models and other data predicted using loaded forecasting models. For example, a parent value (such as the forecasted inventory of a product line) can be calculated based on an aggregation of values predicted for multiple child values (such as the forecasted inventory of multiple products under the product line). In an illustrative example, the first product under the product line can use one of the built-in forecasting models to predict product demand, while the second product under the product line can use the loaded forecasting model to predict product demand. The aggregation can then be used to determine the predicted product demand for the product line, which can be the sum of the predicted demand for the first product and the second product. Thus, the predicted value for the intersection of the data can include components predicted using the built-in forecasting model and components predicted using the loaded forecasting model.
[0081] Various situations may influence which forecasting model is used for which product. In the example above, the second product may be a new product offering, and therefore, the built-in forecasting model may not be well suited to provide an accurate forecast. For example, an external client (e.g., a retail entity) may keep some data confidential, which may increase the accuracy of the demand forecast for the second product. Thus, a loaded forecasting model previously trained with confidential data may result in more accurate forecasts and improve resource efficiency. Other situations may similarly benefit from such capabilities.
[0082] In some embodiments, the external client 122 may continuously (or periodically) update a previously loaded prediction model. In such cases, the updated specification may be sent to the software service 120, and the custom API may be updated based on any changes to the specification (e.g., feature changes, binary file changes, etc.). The updated API may then be used to upload the adjusted prediction model (e.g., updated binary file), and subsequent validation may be performed, after which the updated prediction model may be made available to the planning and forecasting software tool.
[0083] Figure 6 A flow chart for performing customizable machine prediction using an extensible software tool according to an example embodiment is illustrated. In one embodiment, the following Figure 6 and Figure 7 The functions of are implemented by software stored in a memory or other computer-readable or tangible medium and executed by a processor. In other embodiments, each function may be performed by hardware (e.g., by using an application specific integrated circuit (“ASIC”), a programmable gate array (“PGA”), a field programmable gate array (“FPGA”), etc.) or by any combination of hardware and software. In an embodiment, Figure 6 and Figure 7 The function can be Figure 2 The system 200 may be implemented by one or more elements of the system 200.
[0084] At 602, a specification including at least features of a trained machine learning model can be received. For example, a machine learning model can be developed and trained, and the specification can define features used by the trained machine learning model (e.g., inputs to the prediction model) and the size of the generated prediction model (e.g., the size of the binary file), the framework of the prediction model (e.g., PyTorch, TensorFlow, etc.), operators of the prediction model, and other suitable parameters of the prediction model.
[0085] At 604, an interface for the trained machine learning model can be generated based on the received specification. For example, based on the parameters of the machine learning model defined in the specification, a custom interface (e.g., an application programming interface ("API")) can be generated for the machine learning model.
[0086] At 606, the trained machine learning model can be loaded using the generated interface. In some embodiments, the trained machine learning model can be a binary file configured to receive data as input and generate predicted data as output. Figure 7 Further disclosure is provided regarding trained machine learning models that can be loaded. In some embodiments, the generated custom interface can be used to load the machine learning model so that the machine learning model can be used to generate forecasts and data predictions.
[0087] At 608, the loaded trained machine learning model can be validated against the received specification. For example, the validation function can include one or more of the following: verifying that the model is loadable, such as verifying that the uploaded binary file can be used by the software tool at forecast time; verifying that the number of features (e.g., defined in the specification and / or defined by the custom API) matches the loaded model; and verifying that the computation operators (e.g., defined in the API and / or specification) match the loaded model.
[0088] At 610, a forecast can be generated using observed data stored according to a multidimensional data model. For example, as disclosed herein, multidimensional data (e.g., enterprise or retail data) can be stored in a database. In some embodiments, the multidimensional data can be hierarchical, including multiple members in product, metric, time period, and / or planning dimensions, one or more of which include hierarchical members. Other dimensions and / or members (e.g., hierarchical members) can be implemented in various embodiments.
[0089] In some embodiments, a portion of the observed data may be input into a loaded trained machine learning model to generate a first data prediction, and a portion of the observed data may be used by a general forecasting model to generate a second data prediction. For example, the general forecasting model may include built-in forecasting methods for planning and forecasting data tools, and the trained machine learning model may be an extension of these built-in forecasting methods. For example, the general forecasting model is a linear regression model, and the loaded trained machine learning model may include a trained neural network or a trained support vector machine.
[0090] At 612, the first data forecast and the second data forecast can be displayed in a user interface configured to display the intersection of the multidimensional data model. For example, as described herein, the user interface can include one or more charts and graphs, multidimensional workbooks / worksheets, or a combination of these.
[0091] Figure 7 A flow chart for training and uploading a customizable machine learning module for use with an extensible software tool to perform machine predictions is illustrated according to an example embodiment. For example, Figure 6 The function can be used with Figure 7 functions together.
[0092] At 702, a framework can be used to tune and train a machine learning model. For example, the design of the machine learning model can include any suitable machine learning model components (e.g., a neural network, a support vector state machine, a specialized regression model (such as Deming regression, ridge regression, or Lasso regression), a random forest model, etc.).
[0093] In some embodiments, training may include iterating over the data set and adjusting the weights of the machine learning model until the cost function is optimized (or until the generated predictions are within the error range of the validation data set). Other types of machine learning model training may also be implemented. In some embodiments, the machine learning model may be trained using both confidential data and non-confidential data. For example, because the predictive model is not trained by a third-party software service, confidential data may be used for training purposes.
[0094] In some embodiments, the design of the machine learning model can be adjusted during training. For example, the adjustment can include adjusting the number of hidden layers in the neural network, adjusting the kernel calculations used to implement the support vector machine, etc. The adjustment can also include adjusting / selecting features used by the machine learning model. Embodiments include implementing various adjustment configurations (e.g., different versions of the prediction model and features) while training in order to obtain a configuration for the prediction model that achieves the desired performance (e.g., performs predictions with a desired level of accuracy) when trained.
[0095] At 704, a specification for the trained machine learning model can be defined. For example, once a configuration for a prediction model is selected and the model is trained, a specification for the model can be generated. The specification can define features used by the prediction model (e.g., inputs to the prediction model), as well as the size of the generated prediction model (e.g., the size of the binary file), the framework of the prediction model (e.g., PyTorch, TensorFlow, etc.), functions or operators of the prediction model, and other suitable parameters of the prediction model.
[0096] At 706, the trained machine learning model can be uploaded using an interface. For example, as disclosed herein, the software service can generate a custom interface for the machine learning model based on the generated specification. The custom interface can be used to load the trained machine learning model.
[0097] At 708, a prediction of the intersection of the multidimensional data may be received based in part on the uploaded machine learning model. For example, data prediction may be performed using the loaded machine learning model and the stored multidimensional data. The loaded machine learning model may receive input from the multidimensional data (e.g., as defined in the specification of the model) and generate forecast data for a future period of time. In some embodiments, the forecast data may be presented in a workbook or one or more multidimensional worksheets. Thus, as disclosed herein, a user may interact with the forecast data using the dynamic functionality of the workbook / multidimensional worksheet.
[0098] Embodiments can improve conventional methods for forecasting solutions by providing enterprises (e.g., retailers) with a mechanism to improve the forecast accuracy of demand forecasts using customized algorithms / models. In many cases, demand forecasts are the driving force of the supply chain, and if the demand forecast is inaccurate, the execution of allocation, planning, and replenishment is poor, resulting in inefficient use of resources. Generally speaking, if the forecast is high, items will remain unsold; they need to be sold at a discount, or waste will increase. If the forecast is low, demand cannot be met and retailers will suffer sales losses and low customer satisfaction. Both situations will result in inefficient use of resources. The present embodiment provides a technique for achieving reliable demand forecasts and thereby improving resource utilization efficiency in the supply chain and throughout the enterprise.
[0099] Figure 8 An integrated supplier, inventory, and logistics system including inventory management as disclosed herein is illustrated according to an example embodiment. Figure 8As shown in , system 800 may include an enterprise business system 870 that executes code to manage product inventory at enterprise locations 801-804 using warehouses 880 and to ship products directly to consumers from warehouses 880. Enterprise business system 870 communicates with one or more inventory systems 820 via a cloud network 850 or other type of communication network. In some embodiments, planning and forecasting software of enterprise business system 870 may generate forecasts that provide forecasted inventory levels for various products. Inventory system 820 and warehouses 880 may perform shipments to and from enterprise locations 801-804 based on these forecasted inventory levels. In some embodiments, the use of customized and trained forecasting models may provide improvements to these forecasted inventory levels, thereby generating a more efficient shipping process.
[0100] Inventory system 820 stores inventory and provides transportation logistics to deliver items to business locations 801-804 and consumer locations (e.g., consumer residences) using trucks 810-813 or some other transportation mechanism. In one embodiment, inventory system 820 implements an enterprise resource planning ("ERP") dedicated computer system or dedicated inventory control system that uses input from enterprise business system 810 (such as seasonal plans generated by planning and forecasting software) to determine inventory levels and the quantity and time of delivery of products to business locations 801-804.
[0101] Warehouse 880 may be a fulfillment warehouse that supplies one or more products to enterprise locations 801-804 based on inventory system 820 and ships the products to consumer locations (e.g., consumer residences). In one embodiment, warehouse 880 implements an ERP-specific computer system or a dedicated supplier system that uses input from enterprise business system 810 (such as a seasonal plan generated by planning and forecasting software) to determine quantities and times for product shipments to inventory system 820 and / or enterprise locations 801-804. In some embodiments, warehouse 880 may receive shipments from enterprise locations, e.g., based on returns to enterprise locations 801-804, to, for example, ensure that the enterprise locations are not oversupplied and have sufficient product variety.
[0102] Embodiments use extensible software tools to perform customizable machine predictions. In some embodiments, a prediction model such as a trained machine learning model can be uploaded to a software tool to perform customizable machine predictions. For example, a software tool can use a built-in prediction model such as linear regression to perform data prediction or forecasting. Embodiments provide an interface for loading customizable trained models (such as neural network models, support vector state machine models, specialized regression models (e.g., Deming regression, ridge regression, Lasso regression, etc.), random forest models, etc.) that can be used to perform customizable data predictions.
[0103] In some embodiments, a software tool (e.g., planning software and / or inventory system software) can perform data analysis on data stored according to a multidimensional data model. For example, a multidimensional data model can include multiple dimensions of data (e.g., organized in a hierarchy), where a data element can represent an intersection of multiple dimensions. Based on the stored data (e.g., data generated and stored based on observations over a period of time), a machine forecast for future data can be performed. In an example, the stored data can be sales data for a given product over a period of time, and the machine forecast can be a demand forecast for the product over a future period of time.
[0104] In some embodiments, machine prediction can be implemented using built-in models (such as linear regression) with the software tool or using loaded prediction models from external sources (such as external clients). For example, the loaded prediction models can include various types of models (e.g., neural networks, support vector machines, specialized regressions, etc.) and can be trained using any data available to the external source. In some embodiments, the external source has access to confidential data that can be used to train the prediction model that is not available to the software tool.
[0105] For example, the external source may be a retail entity that sells products, and the retail entity may store confidential data about products, sales, or other sensitive information that is not available to others. In this example, the software tool does not have access to this confidential data, and therefore cannot use this confidential data to train any predictive models built into the software tool. On the other hand, embodiments provide predictive models that can be trained using this confidential data (in addition to other data) and loaded into the software tool. In these embodiments, the software tool will gain the ability to perform data predictions based on machine-learned insights or trends from the confidential data without exposing the confidential data to any other entity.
[0106] In some embodiments, shipments may be performed based on machine predictions. For example, in some embodiments, the machine prediction may be a demand forecast for one or more products, and based on the forecast, shipments may be performed between warehouses and stores. When data forecasts are performed by a predictive model trained with confidential data, the forecasts may more accurately reflect real-world scenarios, and thus supply shipments may be performed in a manner that improves resource utilization.
[0107] The features, structures, or characteristics of the present disclosure described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, throughout this specification, the use of "one embodiment", "some embodiments", "a certain embodiment", "certain embodiments", or other similar language refers to the fact that a particular feature, structure, or characteristic described in conjunction with an embodiment may be included in at least one embodiment of the present disclosure. Therefore, the phrases "one embodiment", "some embodiments", "a certain embodiment", "certain embodiments", or other similar language appearing throughout this specification do not necessarily all refer to the same set of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0108] Those of ordinary skill in the art will readily appreciate that the embodiments discussed above may be practiced with steps in different orders and / or in configurations utilizing elements different from those disclosed. Therefore, while the disclosure contemplates the embodiments outlined, it will be apparent to those skilled in the art that certain modifications, variations, and alternative configurations will be apparent while remaining within the spirit and scope of the disclosure. Therefore, in order to determine the scope and limits of the disclosure, reference should be made to the appended claims.
Claims
1. A method for performing customizable machine prediction using an extensible software tool, the method comprising: receiving a specification including at least features of a trained machine learning model; Generate an application programming interface API for the trained machine learning model based on the received specification; loading a trained machine learning model into the extensible tool using the generated API, the trained machine learning model comprising a binary file configured to receive data as input and generate predicted data as output; generating predictions using observation data stored according to the multidimensional data model, wherein a portion of the observation data is input to a trained machine learning model that has been loaded into the extensible tool via an API to generate a first data prediction, and a portion of the observation data is used by a built-in general forecasting model of the extensible tool to generate a second data prediction; as well as The first data prediction and the second data prediction are displayed in a user interface configured to display an intersection of the multidimensional data model. 2 . The method of claim 1 , wherein the first data prediction and the second data prediction comprise an intersection within a multidimensional data model.
3. The method of claim 2, wherein the API is configured to load a trained machine learning model according to a received specification.
4. The method of claim 3, further comprising: Validates the loaded trained machine learning model against the received specification.
5. The method of claim 3, further comprising: A machine learning framework is defined for a scalable data modeling system, wherein a trained machine learning model is built based on the defined machine learning framework.
6. The method of claim 3, wherein the observed data comprises retail data, and the first data prediction and the second data prediction comprise demand predictions for one or more retail items at a future point in time.
7. The method of claim 6, wherein the demand forecast for the one or more retail items comprises at least a predicted quantity of the one or more retail items required, the method further comprising: Based on the demand forecast for the one or more retail items, the quantity of the one or more retail items is caused to be shipped to the retail location.
8. The method of claim 3, wherein the general prediction model comprises a linear regression model, and the loaded trained machine learning model comprises a trained neural network or a trained support vector machine.
9. The method of claim 3, wherein the trained machine learning model is trained using observation data stored according to the multidimensional data model and confidential data that is not included in the observation data and stored according to the multidimensional data model.
10. A non-transitory computer readable medium having stored thereon instructions that, when executed by a processor, cause the processor to perform customizable machine prediction using an extensible software tool, wherein the instructions, when executed, cause the processor to: receiving a specification including at least features of a trained machine learning model; Generate an application programming interface API for the trained machine learning model based on the received specification; loading a trained machine learning model into the extensible tool using the generated API, the trained machine learning model comprising a binary file configured to receive data as input and generate predicted data as output; generating predictions using observation data stored according to the multidimensional data model, wherein a portion of the observation data is input to a trained machine learning model that has been loaded into the extensible tool via an API to generate a first data prediction, and a portion of the observation data is used by a built-in general forecasting model of the extensible tool to generate a second data prediction; as well as The first data prediction and the second data prediction are displayed in a user interface configured to display an intersection of the multidimensional data model.
11. The non-transitory computer readable medium of claim 10, wherein the first data prediction and the second data prediction comprise an intersection within a multidimensional data model.
12. The non-transitory computer-readable medium of claim 11, wherein the API is configured to load a trained machine learning model according to a received specification.
13. The non-transitory computer readable medium of claim 12, wherein the instructions, when executed, further cause the processor to: Validates the loaded trained machine learning model against the received specification.
14. The non-transitory computer readable medium of claim 12, wherein the observed data comprises retail data, and the first data forecast and the second data forecast comprise demand forecasts for one or more retail items at a future point in time.
15. The non-transitory computer readable medium of claim 14, wherein the demand forecast for the one or more retail items comprises at least a predicted quantity of the one or more retail items required, wherein the instructions, when executed, further cause the processor to: Based on the demand forecast for the one or more retail items, the quantity of the one or more retail items is caused to be shipped to the retail location.
16. The non-transitory computer-readable medium of claim 12, wherein the trained machine learning model is trained using observation data stored according to the multidimensional data model and confidential data that is not included in the observation data and stored according to the multidimensional data model.
17. A system for performing customizable machine prediction using an extensible software tool, the system comprising: processor; as well as A memory storing instructions for execution by the processor, wherein the instructions configure the processor to perform the following operations: receiving a specification including at least features of a trained machine learning model; Generate an application programming interface API for the trained machine learning model based on the received specification; loading a trained machine learning model into the extensible tool using the generated API, the trained machine learning model comprising a binary file configured to receive data as input and generate predicted data as output; generating predictions using observation data stored according to the multidimensional data model, wherein a portion of the observation data is input to a trained machine learning model that has been loaded into the extensible tool via an API to generate a first data prediction, and a portion of the observation data is used by a built-in general forecasting model of the extensible tool to generate a second data prediction; as well as The first data prediction and the second data prediction are displayed in a user interface configured to display an intersection of the multidimensional data model.
18. The system of claim 17, wherein the first data prediction and the second data prediction comprise an intersection within a multidimensional data model.
19. The system of claim 18, wherein the API is configured to load a trained machine learning model according to a received specification.
20. The system of claim 19, wherein the trained machine learning model is trained using observation data stored according to the multidimensional data model and confidential data that is not included in the observation data and stored according to the multidimensional data model.
21. An apparatus comprising means for performing the method of any one of claims 1 to 9.
Citation Information
Patent Citations
Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US20060015805A1
Hosting predictive models
US8364613B1
