User Interface Tool for Polytope Analysis

A system and method are disclosed for autonomously performing a polytope analysis. The method further includes autonomously identifying input for use in the polytope analysis using natural language processing techniques, performing a polytope analysis using the identified input, generating response plans based on the performed polytope analysis, displaying the generated response plans, and executing at least one of the generated response plans. The method includes where the identified input comprises assumptions, goals, and levers for a polytope analysis. The method further includes providing a GUI that is configured to perform altering, adding and removing assumptions, goals and levers. The method further includes displaying assumption data associated with the polytope analysis, where the assumption data comprises type, priority, one dates, confidence, description and scope.

TECHNICAL FIELD

The present disclosure relates generally to supply chain planning and more specifically to user interfaces for supply chain planning.

BACKGROUND

Supply chain planning, such as sales and operations planning, demand planning, and inventory planning, may require significant investments in scenario modeling to generate supply chain models that represent actual supply chain features and quantities and to generate and evaluate one or more what-if supply chain scenarios. Existing supply chain planning systems require multiple planners to work in sequence considering possible what-if supply chain scenarios in turn, with many decision points and meetings involved throughout, resulting in lengthy, manpower-intensive, and inefficient supply chain planning. Further, in existing supply chain planning systems, what-if supply chain scenarios are considered only on planner initiative, which may lead to missing important scenarios and overlooking the best options for future plans. As a result, existing supply chain planning systems are inefficient, error-prone, and may lead to suboptimal supply chain decisions, all of which are undesirable.

DETAILED DESCRIPTION

Aspects and applications of the invention presented herein are described below in the drawings and detailed description of the invention. Unless specifically noted, it is intended that the words and phrases in the specification and the claims be given their plain, ordinary, and accustomed meaning to those of ordinary skill in the applicable arts.

As described in more detail below, embodiments of the following disclosure provide systems and methods for generating and utilizing one or more assumption system objects to store hierarchical relationships of potential supply chain scenarios and to prepare for potential future contingencies and scenarios using assumptions. Embodiments generate one or more assumptions, which may be defined for the purposes of this disclosure as explicit data objects used to capture scope, impact, and optional mitigation actions related to internal or external influencing factors that affect one or more supply chain entities within a supply chain network. Systems and methods described herein may store the assumptions and generate hierarchical assumption variants, while also modeling the scope and potential impact the assumption variants may have on the supply chain network. Embodiments further generate mitigation options for assumption variants, build response plans, and deliver recommendations that may be executed in response to events that are associated with the assumptions and/or assumption variants.

Embodiments of the following disclosure generate and display one or more graphical user interfaces (GUIs) that enable supply chain planners to generate assumptions for use in assumption-based planning, choose and adjust the priority and order of goals for assumption-based planning, select and adjust various levers or parameters for assumption-based planning, view the results of assumption-based planning, and select one or more response plans. Use of embodiments enable autonomous assumption-based planning to model and prepare actions for various event outcomes and what-if scenarios.

FIG.1illustrates supply chain network100, in accordance with a first embodiment. Supply chain network100comprises autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, one or more computers150, network160, and one or more communication links162-170. Although a single autonomous polytope system110, a single archiving system120, a single planning and execution system130, one or more supply chain entities140, one or more computers150, a single network160, and one or more communication links162-170are illustrated and described, embodiments contemplate any number of autonomous polytope systems, archiving systems, planning and execution system, supply chain entities, computers, networks, or communication links, according to particular needs.

In one embodiment, autonomous polytope system110comprises server112and database114. Although autonomous polytope system110is illustrated inFIG.1as comprising a single server112and a single database114, embodiments contemplate autonomous polytope system110including any suitable number of servers, databases, serverless computing options, or data stores internal to, or externally coupled with, autonomous polytope system110, according to particular needs. As explained in more detail below, autonomous polytope system110uses assumptions and generated hierarchies of assumption variants to model a scope and potential impact that the assumption variants may have on supply chain network100. According to embodiments, autonomous polytope system110displays one or more graphic user interfaces (GUIs) to monitor input from a user, such as a supply chain planner, to identify input for an assumption-based planning process and autonomously perform an assumption-based or a polytope analysis based on the identified input. Autonomous polytope system110may also display one or more GUIs that enable the user to review output and response plans generated via the assumption-based planning process, re-run the assumption-based planning process with modified input parameters, and/or select and automatically implement a response plan. Autonomous polytope system110may, for example, utilize one or more pieces of automated machinery of one or more supply chain entities140, as described in further detail below to automatically implement a response plan.

Archiving system120comprises server122and database124. Although archiving system120is illustrated as comprising single server122and single database124, embodiments contemplate any suitable number of servers or databases internal to, or externally coupled with, archiving system120. Server122of archiving system120may support one or more processes for receiving and storing data from planning and execution system130, one or more supply chain entities140, and/or one or more computers150of supply chain network100. According to some embodiments, archiving system120comprises an archive of data received from planning and execution system130, one or more supply chain entities140, and/or one or more computers150of supply chain network100and provides archived data to autonomous polytope system110and/or planning and execution system130to, for example, generate assumptions and assumption variants, perform polytope analyses, and the like. Server122may store the received data in database124, which may comprise one or more databases or other data storage arrangements at one or more locations local to, or remote from, server122.

According to an embodiment, planning and execution system130comprises server132and database134. Supply chain planning and execution is typically performed by several distinct and dissimilar processes, including, for example, strategic assortment planning, demand forecasting, planning, operations planning, production planning, supply planning, distribution planning, execution, pricing, forecasting, transportation management, warehouse management, inventory management, fulfillment, procurement, and the like. Server132of planning and execution system130comprises one or more modules, such as, for example, a sourcing module, a scheduling module, and/or a pick-pack-ship module for performing one or more order fulfillment processes. Server132stores and retrieves data from database134or one or more locations in supply chain network100. In addition, planning and execution system130operates on one or more computers150that are integral to, or separate from, the hardware and/or software that support archiving system120and autonomous polytope system110.

One or more supply chain entities140may represent one or more suppliers, one or more manufacturers, one or more distribution centers, and one or more retailers in supply chain network100, including one or more enterprises. One or more suppliers may be any suitable entity that offers to sell or otherwise provides one or more items or components to one or more manufacturers or buyers. One or more suppliers may, for example, receive an item from a first supply chain entity of one or more supply chain entities140in supply chain network100and provide the item to another supply chain entity of one or more supply chain entities140, which in some embodiments may be a buyer, a customer, or an end user. Items may comprise, for example, components, materials, products, parts, supplies, or other items that may be used to produce products. In addition, or as an alternative, an item may comprise a supply or resource that is used to manufacture the item but does not become a part of the item. In embodiments, items may comprise a service, such as an installation service. One or more suppliers may comprise automated distribution systems that automatically transport items to one or more manufacturers based, at least in part, on a supply chain plan having fair-shared items or resources, a material or capacity reallocation, current and projected inventory levels, and/or one or more additional factors described herein.

A manufacturer may be any suitable entity that manufactures at least one product. A manufacturer may use one or more items during the manufacturing process to produce any manufactured, fabricated, assembled, or otherwise processed item, material, component, good, or product. In one embodiment, a product represents an item ready to be supplied to, for example, another supply chain entity of one or more supply chain entities140, such as a supplier, an item that needs further processing, or any other item. A manufacturer may, for example, produce and sell a product to a supplier, another manufacturer, a distribution center, a retailer, a customer, or any other suitable person or an entity. Such manufacturers may comprise automated robotic production machinery that produce products based, at least in part, on a supply chain plan having fair-shared items or resources, a material or capacity reallocation, current and projected inventory levels, and/or one or more additional factors described herein.

One or more distribution centers may be any suitable entity that offers to sell or otherwise distributes at least one product to one or more retailers and/or customers. Distribution centers may, for example, receive a product from a first supply chain entity of one or more supply chain entities140in supply chain network100and store and transport the product for a second supply chain entity of one or more supply chain entities140. Such distribution centers may comprise automated warehousing systems that automatically transport products to one or more retailers or customers and/or automatically remove an item from, or place an item into, inventory based, at least in part, on a supply chain plan having fair-shared items or resources, a material or capacity reallocation, current and projected inventory levels, and/or one or more additional factors described herein.

One or more retailers may be any suitable entity that obtains one or more products to sell to one or more customers. In addition, one or more retailers may sell, store, and supply one or more components and/or repair a product with one or more components. One or more retailers may comprise any online or brick and mortar location, including locations with shelving systems. Shelving systems may comprise, for example, various racks, fixtures, brackets, notches, grooves, slots, or other attachment devices for fixing shelves in various configurations. These configurations may comprise shelving with adjustable lengths, heights, and other arrangements, which may be adjusted by an employee of one or more retailers based on computer-generated instructions or automatically by machinery to place products in a desired location.

The same supply chain entity may simultaneously act as any one or more suppliers, manufacturers, distribution centers, and retailers. For example, one or more supply chain entities140acting as a manufacturer may produce a product, and the same entity may act as a supplier to supply a product to another supply chain entity of one or more supply chain entities140. Although one example of supply chain network100is illustrated and described, embodiments contemplate any configuration of supply chain network100without departing from the scope of the present disclosure.

As illustrated inFIG.1, supply chain network100comprising autonomous polytope system110, archiving system120, planning and execution system130, and one or more supply chain entities140may operate on one or more computers150that are integral to, or separate from, the hardware and/or software that support autonomous polytope system110, archiving system120, planning and execution system130, and one or more supply chain entities140. One or more computers150may include any suitable input device152, such as a keypad, mouse, touch screen, microphone, or other device to input information, and one or more output devices154, including, but not limited to, monitors and/or speakers, to output information associated with the operation of supply chain network100, such as, for example, digital or analog data, visual information, or audio information. One or more computers150may include fixed or removable computer-readable storage media, including a non-transitory computer-readable medium, magnetic computer disks, flash drives, CD-ROM, in-memory device, or other suitable media to receive output from and provide input to supply chain network100.

One or more computers150may further include one or more processors156and associated memory to execute instructions and manipulate information according to the operation of supply chain network100and any of the methods described herein. In addition, or as an alternative, embodiments contemplate executing the instructions on one or more computers150that cause one or more computers150to perform functions of the methods. An apparatus implementing special purpose logic circuitry, such as, for example, one or more field-programmable gate arrays (FPGA) or application-specific integrated circuits (ASIC), may perform functions of the methods described herein. Further examples may also include articles of manufacture, including tangible non-transitory computer-readable media that have computer-readable instructions encoded thereon, and the instructions may comprise instructions to perform functions of the methods described herein.

In addition, or as an alternative, supply chain network100may comprise a cloud-based computing system having processing and storage devices at one or more locations local to, or remote from, autonomous polytope system110, archiving system120, planning and execution system130, and one or more supply chain entities140. In addition, each of one or more computers150may be a workstation, personal computer (PC), network computer, notebook computer, tablet, personal digital assistant (PDA), cell phone, telephone, smartphone, wireless data port, augmented or virtual reality headset, or any other suitable computing device. In an embodiment, one or more users may be associated with autonomous polytope system110and archiving system120. In the same or another embodiment, one or more users may be associated with planning and execution system130and one or more supply chain entities140.

In one embodiment, autonomous polytope system110may be coupled with network160using more communication link162, which may be any wireline, wireless, or other link suitable to support data communications between autonomous polytope system110and network160during operation of supply chain network100. Archiving system120may be coupled with network160using communication link164, which may be any wireline, wireless, or other link suitable to support data communications between archiving system120and network160during operation of supply chain network100. Planning and execution system130may be coupled with network160using communication link166, which may be any wireline, wireless, or other link suitable to support data communications between planning and execution system130and network160during operation of supply chain network100. One or more supply chain entities140may be coupled with network160using communication link168, which may be any wireline, wireless, or other link suitable to support data communications between one or more supply chain entities140and network160during operation of supply chain network100. One or more computers150may be coupled with network160using communication link170, which may be any wireline, wireless, or other link suitable to support data communications between one or more computers150and network160during operation of supply chain network100. Although communication links162-170are illustrated as generally coupling autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150to network160, any of autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150may communicate directly with each other, according to particular needs.

In another embodiment, network160includes the Internet and any appropriate local area networks (LANs), metropolitan area networks (MANs), or wide area networks (WANs) coupling autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150. For example, data may be maintained locally to, or externally of, autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150and made available to one or more associated users of autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150using network160or in any other appropriate manner. For example, data may be maintained in a cloud database at one or more locations external to autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150and made available to one or more associated users of autonomous polytope system110, archiving system120, planning and execution system130, one or more supply chain entities140, and one or more computers150using the cloud or in any other appropriate manner. Those skilled in the art will recognize that the complete structure and operation of network160and other components within supply chain network100are not depicted or described. Embodiments may be employed in conjunction with known communications networks and other components. Although the disclosed systems and methods are described below primarily in connection with retail demand forecasting solely for the sake of clarity, the systems and methods herein are applicable to other one or more supply chain entities140.

FIG.2illustrates autonomous polytope system110, archiving system120, and planning and execution system130ofFIG.1in greater detail, in accordance with an embodiment. Autonomous polytope system110may comprise server112and database114, as described above. Although autonomous polytope system110is illustrated as comprising a single server112and a single database114, embodiments contemplate autonomous polytope system110comprising any suitable number of servers, databases, serverless computing options, or data stores internal to, or externally coupled with, autonomous polytope system110.

Server112of autonomous polytope system110comprises data preparation module202, user interface module204, polytope analysis module206, autonomous analysis module208, and plan execution module210. Although server112is illustrated and described as comprising a single data preparation module202, a single user interface module204, a single polytope analysis module206, a single autonomous analysis module208, and a single plan execution module210, embodiments contemplate any suitable number or combination of these located at one or more locations local to, or remote from, autonomous polytope system110, such as on multiple servers or one or more computers150at one or more locations in supply chain network100.

In an embodiment, data preparation module202receives data from archiving system120, planning and execution systems130, one or more supply chain entities140, one or more computers150, or one or more data storage locations local to, or remote from, supply chain network100and autonomous polytope system110, and prepares the data for use by autonomous polytope system110, such as by checking the received data for errors and transforming the received data. In embodiments, data preparation module202checks received data for errors in range, sign, and/or value and performs statistical analysis to check the quality or the correctness of the received data. Data preparation module202may also normalize the received data, drop or delete null values, corrupted values, or blank values within the received data, and/or otherwise prepare the received data for use by autonomous polytope system110. According to embodiments, data preparation module202transforms the received data to normalize, aggregate, and/or rescale the received data to enable direct comparison of received data from different systems within supply chain network100.

User interface module204generates and displays a user interface (UI), such as, for example, a GUI, to display data to users of autonomous polytope system110and/or collect input data from users of autonomous polytope system110, such as data defining assumptions, goals, levers, response plans, or any other data of autonomous polytope system110. In embodiments, user interface module204displays polytope analysis data226, response plan data228, or any other data of autonomous polytope system110in charts, graphs, histograms, or any other visual representations. In addition, or as an alternative, user interface module204may generate non-visual interfaces, such as voice-based virtual assistants, email messages, or other text-based messages, and present data to users of autonomous polytope system110and/or collect input data from users of autonomous polytope system110over such non-visual interfaces. According to embodiments, user interface module204generates and displays one or more GUIs comprising interactive graphical elements for inputting data for use in a polytope or assumption-based analysis. For example, user interface module204may display a first GUI configured to enable a user to define an assumption for a particular planning scenario, and upon receiving data defining the assumption from the user, may display a second GUI configured to enable the user to select and prioritize goals for use in the polytope analysis. Continuing the example, user interface module204may further generate and display a third GUI configured to enable the user to select one or more levers and adjust parameters of the levers. When user interface module204receives the user selection of one or more levers and adjustments of the parameters of the levers from the user, user interface module204may generate and display a fourth GUI that includes results of a polytope analysis performed using the data received from the user and that is configured to enable the user to select one or more response plans generated based on the polytope analysis. In embodiments, user interface module204may configure GUIs to enable the user to return to a previous screen and adjust previously entered data, as well as change or update any data entered previously on any GUI or screen. Example GUIs that user interface module204may generate and display are illustrated and described in further detail below with respect toFIGS.5-11andFIGS.13-15B.

Polytope analysis module206performs a polytope analysis or an assumption-based analysis based, at least in part, on one or more assumptions provided by a user. In embodiments, polytope analysis module206also utilizes one or more goals and one or more levers to perform the polytope analysis or assumption-based analysis. As described in further detail below, polytope analysis module206may bundle one or more assumptions into one or more perspectives associated with a provided assumption. Polytope analysis module206may further enumerate all assumption objects and update probabilities associated with assumptions, as well as track the accuracy of the probability, scope, and impact by comparing the actual status of the condition and actual impact with the assumed reality. Although particular examples of assumption validation actions are provided, embodiments contemplate polytope analysis module206performing other assumption validation actions throughout autonomous polytope system110, according to particular needs. In embodiments, during polytope analysis, polytope analysis module206generates one or more assumption variants and associated probability coefficients using hierarchical scenario structures of assumption variants. In addition, or as an alternative, polytope analysis module206may model the scope and impact of one or more assumption variants. Based, at least in part, on the results of the polytope analysis or the assumption based analysis, polytope analysis module206may generate one or more mitigation options for assumption variants and use the one or more mitigation options to build a response plan with recommendations for responding to each of the one or more assumption variants.

Autonomous analysis module208monitors user communications, such as private messages (e.g., comments or messages between users), public messages (e.g., posts to a public topic or message board), or any other public or private text-based data, to capture and identify assumptions, goals, levers, and/or any other input for use in a polytope analysis. To analyze text-based natural language data, autonomous analysis module208may use various natural language processing (NLP) techniques or models, such as support vector machines (SVMs), term frequency (TF) models, term frequency inverse document frequency (TF-IDF) models, bag-of-words models, logistic regression models, Naïve Bayes models, decision trees, hidden Markov models, convolutional neural networks (CNNs), recurrent neural networks, auto-encoder models, or NLP transformers. Although particular examples of NLP techniques are provided, autonomous analysis module208may use other NLP techniques, according to particular needs. For example, when one user sends a message to another user of “I believe demand for this product will increase by at least 5% over the next quarter,” autonomous analysis module208may identify “demand for product increase by 5% over next quarter” as an assumption to use in a polytope analysis and may prompt the user with an option to run a polytope analysis based on the identified assumption. In some embodiments, autonomous analysis module208may pass the captured input to polytope analysis module206, which may automatically perform a polytope analysis using the captured input. In other embodiments, autonomous analysis module208may prompt a user to perform a polytope analysis with identified or captured input and pass the captured input to polytope analysis module206to perform a polytope analysis upon receiving additional user input. In still other embodiments, autonomous analysis module208may determine whether to pass the captured input to polytope analysis module206to perform a polytope analysis automatically based on a threshold, such as, for example, a confidence threshold based on a level of confidence that the captured input has been correctly identified or a resource threshold based on the estimation of time or computing resources needed to complete the polytope analysis.

Plan execution module210executes the response plan generated by polytope analysis module206. According to embodiments, polytope analysis module206may generate multiple response plans, which user interface module204may present to the user to enable the user to select one or more response plans for plan execution module210to execute. For example, user interface module204may detect input from the user selecting a response plan corresponding to a particular polytope analysis, upon which plan execution module210executes various operations to automatically execute the response plan selected by the user. In embodiments, the operations that plan execution module210executes include, for example, pushing execution instructions to one or more supply chain entities140, transmitting the response plan to one or more assigned persons, activating one or more parked assumption objects, altering one or more data values associated with an assumption object condition, creating one or more new supply chain planning scenarios, and/or applying a mitigation response to one or more sets of planning data. Plan execution module210may utilize one or more pieces of automated machinery, as described in greater detail above, to perform the various operations to execute the response plan.

Database114of autonomous polytope system110may comprise one or more databases or other data storage arrangements at one or more locations local to, or remote from, server112. In an embodiment, database114of autonomous polytope system110comprises assumptions data220, goals data222, levers data224, polytope analysis data226, and response plan data228. Although database114of autonomous polytope system110is illustrated and described as comprising assumptions data220, goals data222, levers data224, polytope analysis data226, and response plan data228, embodiments contemplate any suitable number or combination of these located at one or more locations local to, or remote from, autonomous polytope system110, according to particular needs.

In an embodiment, assumptions data220comprises data related to or defining one or more assumptions. For the purposes of this disclosure, assumptions may comprise one or more explicit data objects used to capture scope, impact, and one or more optional mitigation actions related to internal or external influencing factors that affect one or more supply chain entities140within supply chain network100. Assumptions may, for example, represent business strategies, contractual agreements, risk, or opportunity, and may originate from various sources where human experts, stakeholders, or digital assistants inform one or more supply chain planners about one or more potential influencing factors. In embodiments, autonomous analysis module208automatically identifies assumptions by utilizing one or more NLP techniques on user input, as described in greater detail above. By way of example only and not by way of limitation, creation of an assumption within autonomous polytope system110may include a regional planner storing information about expected market growth of a specific product in that region, an account manager informing a supply chain planner that there is a risk of losing a key account, a supplier informing a planner that the supplier must complete a major turnover over a summer break, and a digital assistant component discovering a trend in sales data for a specific product category in a specific region and delivering the trend to a supply chain planner as an analytical insight with a recommendation on the predicted impact (e.g. unexpected growth rate), among other scenarios. Assumptions data220may further comprise complex assumptions, such as groups of assumptions that are combined, bundled, clustered, or otherwise aggregated. According to embodiments, user interface module204generates and displays a GUI that enables a user to search assumptions data220for all assumptions that relate to or partially relate to a particular context, matter, one or more supply chain entities140, or other supply chain variable. For example, when assumptions data220includes an assumption describing an impending large deal closure for a customer in a specific region related to a specific product, searches of assumptions data220for the product, the region, and/or the customer may return the assumption describing the impending large deal closure. While an assumption of assumptions data220may initially comprise a simple statement or text phrase, autonomous polytope system110may modify an assumption over time to include an assumption type (e.g., risk, opportunity, strategy, etc.), confidence level, scope (e.g., what products, regions, customer, network nodes, etc. are impacted), expected timeframe, impact (e.g., what metrics or figures are impacted and by how much), and mitigation (e.g., action plan to resolve constraints or undesirable outcomes), according to various inputs to and outputs of autonomous polytope system110.

In embodiments, each assumption stored in assumptions data220comprises associated description data, scope data, impact data, and mitigation data. Description data may describe the assumption using a short text phrase, such as, for example, “decreased win rate in deals related to product XYZ in Europe due to the entry of a new European competitor.” Scope data may comprise one or more tagged assumptions and/or discrete values selected from dimensions, such as product, region, customer, nodes in supply chain network100, and the like, to define the locality of the impact associated with the assumption with relation to one or more timeframes and/or time windows. One scope data dimension may be tagged as primary (e.g. product XYZ) while other dimensions serve as boundaries (e.g., the specific region of Europe). According to embodiments, scope data may be modeled as a scenario in a multi-dimensional planning book (MDAP) without having any changes implied. Scope data for assumptions may be retrieved from customer-specific master data and stored as assumptions data220by data preparation module202. Impact data may comprise data related to the expected impact of one or more assumptions. For example, impact data may specify the impact according to one or more measures, metrics, and/or business figures from a MDAP, and may specify the relative impact (e.g., percent increase, percent decrease, etc.) and/or the absolute impact (e.g., “zero capacity of Supplier X as Supplier X shuts down for a turn-over”). In embodiments, autonomous polytope system110stores impact data as one or more child scenarios diverging from a master scenario. Mitigation data may comprise data simulating the assumption impact for a selected time window and scope and return issues or constraints to be resolved. In some embodiments, autonomous polytope system110may define one or more mitigation actions to maintain a range for one or more key process indicators (KPIs) or to resolve constraints. Autonomous polytope system110may store each mitigation action plan as a hierarchical child scenario of the impact scenario.

According to embodiments, autonomous polytope system110alters assumptions data220in response to one or more user inputs via user interface module204, enabling the user to create different assumptions or assumption variants differing in one or more aspects from the original assumption. In one example, a trend in one region may be an indication for a global trend, in which a worst case scenario may be that the scope affects the entirety of Europe and not specific to one country, but the modeled impact is the same. In another example in which the scope is established, autonomous polytope system110may model different assumption variants for impact or alternative mitigation plans. Depending on the aspect of an assumption that is changed or inherited, autonomous polytope system110may automatically create new main scenario assumptions or child scenario assumption variants. In embodiments, to review an assumption, the user may list all assumptions for a selected business context (product, region, customer, date, etc.), re-evaluate the confidence level, receive feedback regarding accuracy of the impact model for a long running assumption, resolve new constraints, and/or completely void the assumption when the condition no longer exists (e.g. deal not lost, customer signed renewal).

In embodiments, the life cycle of an assumption may be independent of a specific planning cycle. Autonomous polytope system110may park, activate, re-use, continue, disable, and/or archive one or more assumptions, thereby enabling boundaryless planning. When the condition of an assumption is defined as an executable condition, autonomous polytope system110may automatically adjust the confidence level (e.g., set the confidence level to 100%) when the condition occurs or does not occur within a certain time window. In some embodiments, the condition of an assumption may be expressed as a machine-executable logical expression which may be monitored and re-evaluated by autonomous polytope system110. In such embodiments, autonomous polytope system110may distribute re-evaluated condition statements to the original author or stakeholders to be verified on a regular basis.

Goals data222comprises data related to or defining one or more goals for use in a polytope analysis. Goals data222may be based on user input captured by user interface module204while initiating or refining a polytope analysis or an assumption-based analysis. In embodiments, autonomous analysis module208automatically identifies goals by utilizing one or more NLP techniques on user input. As disclosed above, polytope analysis module206may perform a polytope analysis to generate response plans that optimally maximize or minimize the selected goals. By way of example only and not by way of limitation, possible goals may include minimizing carbon footprint of supply chain plans, minimizing cost to serve for one or more items and/or one or more supply chain entities140of supply chain network100, maximizing demand for one or more items of supply chain network100, maximizing gross profit margin for supply chain network100, minimizing on-hand inventory for one or more items of supply chain network100, maximizing margin for supply chain network100, maximizing service level agreement performance for supply chain network100, and minimizing stock violations for supply chain network100. Although particular examples of goals are provided, embodiments contemplate autonomous polytope system110using or defining other goals, according to particular needs of particular scenarios or assumptions.

Levers data224comprises data related to or defining one or more levers for use in a polytope analysis. Levers data224may be based on user input captured by user interface module204while initiating or refining a polytope analysis or an assumption-based analysis. In embodiments, autonomous analysis module208automatically identifies levers by utilizing one or more NLP techniques on user input. As disclosed above, polytope analysis module206may perform a polytope analysis to generate response plans where levers specify certain options to consider or not consider. Possible levers may include, for example, changing a price for one or more items of supply chain network100, changing an advertisement spending amount for one or more items of supply chain network100, changing a target for supply chain network100, scaling sales forecast for one or more items of supply chain network100, adding or removing transfer lanes within supply chain network100, adding or reducing capacity at one or more supply chain entities140, and adding or removing export or import sources. Although particular examples of levers are provided, embodiments contemplate autonomous polytope system110using or defining other levers, according to particular needs of particular scenarios or assumptions.

Polytope analysis data226comprises data used by polytope analysis module206in performing a polytope analysis or an assumption-based analysis. In embodiments, polytope analysis data226includes supply chain domain and entity specific features data, levels of granularity, horizon data, and/or other data accumulated and stored during the process of carrying out actions within supply chain network100and/or generating one or more assumptions. Polytope analysis data226may also include data of one or more perspectives generated by bundling individual assumptions and data of one or more assumption variants generated during polytope analysis, including a scope and anticipated impacts for each assumption variant. According to embodiments, polytope analysis data226further includes data of one or more mitigation options generated by polytope analysis module206.

Response plan data228comprises data related to or defining one or more response plans generated by polytope analysis module206during a polytope analysis or an assumption-based analysis. For example, response plan data228may include instructions for human employees or users, including employees or users that are designated as responsible for implementation of a response plan at one or more supply chain entities140, as well as automated commands for one or more computers150or other machinery to automatically move, mark, or otherwise alter equipment, inventory, resources, and the like of supply chain network100to implement a response plan. In embodiments, plan execution module210uses response plan data228to automatically implement a response plan within supply chain network100.

As discussed above, archiving system120comprises server122and database124. Although archiving system120is illustrated as comprising a single server122and a single database124, embodiments contemplate any suitable number of servers or databases internal to, or externally coupled with, archiving system120.

Server122of archiving system120comprises data retrieval module230. Although server122is illustrated and described as comprising a single data retrieval module230, embodiments contemplate any suitable number or combination of data retrieval modules located at one or more locations local to, or remote from, archiving system120, such as on multiple servers or one or more computers150at one or more locations in supply chain network100.

In one embodiment, data retrieval module230of archiving system120receives historical supply chain data240from planning and execution system130and one or more supply chain entities140and stores received historical supply chain data240in archiving system120database124. According to one embodiment, data retrieval module230may prepare historical supply chain data240for use as training data by checking historical supply chain data240for errors and transforming historical supply chain data240to normalize, aggregate, and/or rescale historical supply chain data240to enable direct comparison of data received from planning and execution system130, one or more supply chain entities140, and/or one or more other locations local to, or remote from, archiving system120. According to embodiments, data retrieval module230may receive data from one or more sources external to supply chain network100, such as, for example, weather data, special events data, social media data, calendar data, and the like, and store the received data as historical supply chain data240.

Database124of archiving system120may comprise one or more databases or other data storage arrangements at one or more locations local to, or remote from, server122. Database124of archiving system120comprises, for example, historical supply chain data240. Although database124of archiving system120is illustrated and described as comprising historical supply chain data240, embodiments contemplate any suitable number or combination of data located at one or more locations local to, or remote from, archiving system120, according to particular needs.

Historical supply chain data240comprises historical data received from autonomous polytope system110, planning and execution system130, one or more supply chain entities140, and/or one or more computers150. Historical supply chain data240may comprise, for example, weather data, special events data, social media data, calendar data, and the like. In an embodiment, historical supply chain data240may comprise, for example, historic sales patterns, prices, promotions, weather conditions, and other factors influencing future demand of the number of one or more items sold in one or more stores over a time period, such as, for example, one or more days, weeks, months, or years, including, for example, a day of the week, a day of the month, a day of the year, a week of the month, a week of the year, a month of the year, special events, paydays, and the like.

As discussed above, planning and execution system130comprises server132and database134. Although planning and execution system130is illustrated as comprising a single server132and a single database134, embodiments contemplate any suitable number of servers or databases internal to, or externally coupled with, planning and execution system130.

In embodiments, server132of planning and execution system130comprises planning module250and prediction module252. Although server132is illustrated and described as comprising a single planning module250and a single prediction module252, embodiments contemplate any suitable number or combination of planning modules and prediction modules located at one or more locations local to, or remote from, planning and execution system130, such as on multiple servers or one or more computers150at one or more locations in supply chain network100.

Planning module250of planning and execution system130works in connection with prediction module252to generate a plan based on one or more predicted retail volumes, classifications, or other predictions. By way of example and not of limitation, planning module250may comprise a demand planner that generates a demand forecast for one or more supply chain entities140. Planning module250may generate the demand forecast, at least in part, from predictions and calculated factor values for one or more causal factors received from prediction module252. By way of a further example, planning module250may comprise an assortment planner and/or a segmentation planner that generates product assortments that match causal effects calculated for one or more customers or products by prediction module252, which may provide for increased customer satisfaction and sales, as well as reduce costs for shipping and stocking products at stores where they are unlikely to sell.

Prediction module252of planning and execution system130applies samples of transaction data260, supply chain data262, product data264, inventory data266, capacity data268, store data270, customer data272, demand forecasts274, and other data to prediction models278to generate predictions and calculated factor values for one or more causal factors. Prediction module252of planning and execution system130may predict a volume Y (target) from a set of causal factors X along with causal factors strengths that describe the strength of each causal factor variable contributing to the predicted volume. According to some embodiments, prediction module252generates predictions at daily intervals. However, embodiments contemplate longer and shorter prediction phases that may be performed, for example, weekly, twice a week, twice a day, hourly, or the like.

Database134of planning and execution system130may comprise one or more databases or other data storage arrangements at one or more locations local to, or remote from, server132. Database134of planning and execution system130comprises, for example, transaction data260, supply chain data262, product data264, inventory data266, capacity data268, store data270, customer data272, demand forecasts274, supply chain models276, and prediction models278. Although database134of planning and execution system130is illustrated and described as comprising transaction data260, supply chain data262, product data264, inventory data266, capacity data268, store data270, customer data272, demand forecasts274, supply chain models276, and prediction models278, embodiments contemplate any suitable number or combination of data located at one or more locations local to, or remote from, planning and execution system130, according to particular needs.

Transaction data260of planning and execution system130may comprise recorded sales and returns transactions and related data, including, for example, a transaction identification, time and date stamp, channel identification (such as stores or online touchpoints), product identification, actual cost, selling price, sales volume, customer identification, promotions, and/or the like. In addition, transaction data260is represented by any suitable combination of values and dimensions, aggregated or disaggregated, such as, for example, sales per week, sales per week per location, sales per day, sales per day per season, or the like.

Supply chain data262may comprise any data of one or more supply chain entities140including, for example, item data, identifiers, metadata (comprising dimensions, hierarchies, levels, members, attributes, cluster information, and member attribute values), fact data (comprising measure values for combinations of members), business constraints, goals, and objectives of one or more supply chain entities140.

Product data264of database134may comprise products identified by, for example, a product identifier (such as a Stock Keeping Unit (SKU), Universal Product Code (UPC), or the like) and one or more attributes and attribute types associated with the product ID. Product data264may comprise data about one or more products organized and sortable by, for example, product attributes, attribute values, product identification, product components, sales volume, demand forecast, or any stored category or dimension. Attributes of one or more products may be, for example, any categorical characteristic, structural characteristic, or quality of a product, and an attribute value may be a specific value or identity for the one or more products according to the categorical characteristic or quality, including, for example, physical parameters (such as, for example, size, weight, dimensions, color, and the like).

Inventory data266of database134may comprise any data relating to current or projected inventory quantities or states, order rules, or the like. For example, inventory data266may comprise the current level of inventory for each item at one or more stocking points across supply chain network100. In addition, inventory data266may comprise order rules that describe one or more rules or limits on setting an inventory policy, including, but not limited to, a minimum order volume, a maximum order volume, a discount, and a step-size order volume, and batch quantity rules. According to some embodiments, planning and execution system130accesses and stores inventory data266in database134, which may be used by planning and execution system130to place orders, set inventory levels at one or more stocking points, initiate manufacturing of one or more components, or the like.

In embodiments, inventory data266may also comprise one or more inventory policies. The inventory policies may comprise any suitable inventory policy describing the reorder point and target quantity, or other inventory policy parameters that set rules for planning and execution system130to manage and reorder inventory. The inventory policies may be based on target service level, demand, cost, fill rate, or the like. According to embodiments, the inventory policies comprise target service levels that ensure that a service level of one or more supply chain entities140is met with a set probability. For example, one or more supply chain entities140may set a service level at 95%, meaning one or more supply chain entities140sets the desired inventory stock level at a level that meets demand 95% of the time. Although a particular service level target and percentage is described, embodiments contemplate any service target or level, such as, for example, a service level of approximately 99% through 90%, a 75% service level, or any suitable service level, according to particular needs. Other types of service levels associated with inventory quantity or order quantity may comprise, but are not limited to, a maximum expected backlog and a fulfillment level. Once the service level is set, planning and execution system130may determine a replenishment order according to one or more replenishment rules, which, among other things, indicates to one or more supply chain entities140to determine or receive inventory to replace the depleted inventory. By way of example only and not by way of limitation, an inventory policy for non-perishable goods with linear holding and shorting costs comprises a min./max. (s,S) inventory policy. Other inventory policies may be used for perishable goods, such as fruit, vegetables, dairy, and fresh meat, as well as electronics, fashion, and similar items for which demand drops significantly after a next generation of electronic devices or a new season of fashion is released.

Capacity data268of database134may comprise any data relating to current or projected resource capacity values or states, order rules, or the like. For example, capacity data268may comprise the current level of capacity for each task at one or more locations across supply chain network100. In addition, capacity data268may comprise order rules that describe one or more rules or limits on setting a capacity policy, including, but not limited to, a minimum order capacity, a maximum order capacity, a discount, a step-size order capacity, and batch quantity rules. According to some embodiments, planning and execution system130accesses and stores capacity data268in database134, which may be used by planning and execution system130to place orders, set capacity levels at one or more locations in supply chain network100, initiate manufacturing of one or more components, or the like.

In embodiments, capacity data268may include one or more capacity policies. The capacity policies may comprise any suitable capacity policy describing the reorder point and target quantity, or other capacity policy parameters that set rules for planning and execution system130to manage capacity. The capacity policies may be based on target service level, demand, cost, or the like. According to embodiments, the capacity policies comprise target service levels that ensure that a service level of one or more supply chain entities140is met with a set probability. For example, one or more supply chain entities140may set a service level at 95%, meaning one or more supply chain entities140sets the desired capacity level at a level that meets demand 95% of the time.

Store data270may comprise data describing the stores of one or more retailers and related store information. Store data270may comprise, for example, a store ID, store description, store location details, store location climate, store type, store opening date, lifestyle, store area (expressed in, for example, square feet, square meters, or other suitable measurement), latitude, longitude, and other similar data.

Customer data272of planning and execution system130may comprise customer identity information, including, for example, customer relationship management data, loyalty programs, and mappings between product purchases and one or more customers so that a customer associated with a transaction may be identified. Customer data272may further comprise data relating customer purchases to one or more products, geographical regions, store locations, or other types of dimensions. In an embodiment, customer data272may also comprise customer profile information, including demographic information and preferences, as well as product browsing data, customer service interaction data, and UI analytics data of customers.

Demand forecasts274of database134may indicate expected future demand based on, for example, any data relating to past sales, past demand, purchase data, promotions, events, or the like of one or more supply chain entities140. Demand forecasts274may cover a time interval such as, for example, by the minute, by the hour, daily, weekly, monthly, quarterly, yearly, or any other suitable time interval, including substantially in real time. In some embodiments, demand may be modeled as a negative binomial or Poisson-Gamma distribution. According to other embodiments, the model also takes into account shelf-life of perishable goods (which may range from days (e.g., fresh fish or meat) to weeks (e.g., butter) or even months, before any unsold items have to be written off as waste) as well as influences from promotions, price changes, rebates, coupons, and even cannibalization effects within an assortment range. In addition, customer behavior is not uniform but varies throughout the week and is influenced by seasonal effects and the local weather, as well as many other contributing factors. Accordingly, even when demand generally follows a Poisson-Gamma model, the exact values of the parameters of the model may be specific to a single product to be sold on a specific day in a specific location or sales channel and may depend on a wide range of frequently changing influencing causal factors. By way of example only and not by way of limitation, an exemplary supermarket may stock twenty thousand items at one thousand locations. When each location of this exemplary supermarket is open every day of the year, planning and execution system130needs to calculate approximately 2×10 {circumflex over ( )}10 demand forecasts274each day to derive the optimal order volume for the next delivery cycle (e.g., three days).

Supply chain models276of database134comprise characteristics of a supply chain setup to deliver the customer expectations of a particular customer business model. These characteristics may comprise differentiating factors, such as, for example, MTO (Make-to-Order), ETO (Engineer-to-Order), or MTS (Make-to-Stock). However, supply chain models276may also comprise characteristics that specify the supply chain structure in even more detail, including, for example, specifying the type of collaboration with the customer (e.g., Vendor-Managed Inventory (VMI)), from where products may be sourced, and how products may be allocated, shipped, or paid for by particular customers. Each of these characteristics may lead to a different supply chain model. Prediction models278comprise one or more of the trained models used by planning and execution system130for predicting, among other variables, pricing, targeting, or retail volume, such as, for example, a forecasted demand volume for one or more products at one or more stores of one or more retailers based on the prices of the one or more products.

FIG.3illustrates method300for executing mitigation strategies based on generated assumptions, in accordance with an embodiment. Method300may be performed by an autonomous polytope system, such as autonomous polytope system110ofFIG.1. Method300proceeds by one or more activities, which although described in a particular order, may be performed in one or more permutations, combinations, orders, or repetitions, according to particular needs.

At activity302, user interface module204of autonomous polytope system110receives one or more assumptions via a GUI displayed by, for example, one or more output devices154of one or more computers150. In embodiments, autonomous analysis module208of autonomous polytope system110monitors user input to the GUI to capture and identify the one or more assumptions, and stores the received one or more assumptions as assumptions data220of autonomous polytope system110. As disclosed above, autonomous analysis module208may utilize one or more NLP techniques or models to specify any configuration of assumptions and any data associated with each assumption stored in assumptions data220, including, but not limited to, description data, scope data, impact data, and/or mitigation data for each assumption.

At activity304, data preparation module202of autonomous polytope system110bundles the one or more assumptions received at activity302into one or more perspectives. In embodiments, a perspective, comprising a combination of assumptions, assembles a point of view of a subject, matter, scenario, supply chain entity, and/or other variable that comprises multiple situations, possibilities, and/or perspectives. In one example, data preparation module202may combine all risks into a pessimistic perspective and all opportunities into an optimistic perspective, providing for planning boundaries according to pessimistic or optimistic outcomes. In another example, data preparation module202may bundle all contractual agreements with a large retailer into one perspective managed as one package of assumptions. Data preparation module202may model and park perspectives and/or component assumptions to prepare for potential business scenarios such as pandemics, regional disasters, or international trade issues. As described in further detail below, upon meeting a condition triggering the activation of the perspective, polytope analysis module206of autonomous polytope system110may activate a large set of assumptions, which may trigger one or more mitigation plans. By way of example only and not by way of limitation, when an assumption comprises an impact and mitigation model, polytope analysis module206may re-evaluate the accuracy of the impact model and notify one or more supply chain planners when the assumed impact does not match reality, which may enable more accurate review of actual performance as a result of reviewing the underlying assumptions instead of the planning numbers that are the result of the assumptions. As an alternative, method300may proceed from activity302directly to activity306when data preparation module202does not bundle one or more assumptions into one or more perspectives.

At activity306, polytope analysis module206creates one or more assumption variants. According to embodiments, polytope analysis module206generates one or more assumption variants based off an assumption stored in assumptions data220. For example, when an assumption is that a particular customer (Customer X) is going to order 10,000 units of a particular product (Product Y) during the summer of 2021, assumption variants based on the assumption may include separate variants in which Customer X orders 5,000 units, 10,000, units or 15,000 units of Product Y during the summer of 2021. For each assumption and/or perspective, polytope analysis module206may generate a hierarchical scenario structure of multiple assumption variants, wherein each assumption variant is a child scenario of the original assumption on which each variant is based. In embodiments, polytope analysis module206also generates one or more probability coefficients for each assumption variant, which specify an estimated likelihood of occurrence of each assumption variant. Continuing with the previous example, polytope analysis module206may assign a probability coefficient of 0.05 (indicating a 5% chance) of Customer X ordering 5,000 units during the summer of 2021, a probability coefficient of 0.5 (indicating a 50% chance) of Customer X ordering 10,000 units, and a probability coefficient of 0.45 (indicating a 45% chance) of Customer X ordering 15,000 units.

At activity308, polytope analysis module206models the scope and impact of each assumption variant. Based, at least in part, on the assumption variants and hierarchical scenario structures created at activity306, polytope analysis module206may model the scope of one or more products, one or more supply chain entities140, and/or one or more other supply chain variables that may be affected by each assumption variant, and may generate one or more impact scenarios for each assumption variant according to the modeled scope. Continuing with the example of Customer X above, polytope analysis module206may derive the impact of Customer X ordering 15,000 units of Product Y (5,000 units in excess of the original assumption of ordering 10,000 units), which may include completely depleting stocks of Product Y throughout supply chain network100and may require one or more supply chain entities140to manufacture, ship, and stock additional Product Y units to avoid a potential shortfall and lost sales.

At activity310, polytope analysis module206generates one or more mitigation options for each assumption variant. Using the assumption variants and hierarchical scenarios created at activity306and the anticipated impacts of each assumption variant modeled at activity308, polytope analysis module206generates one or more mitigation options to resolve negative anticipated impacts and/or to take advantage of positive anticipated impacts. Continuing the previous example, for the assumption variant that predicts Customer X ordering 15,000 of Product Y during the summer of 2021, a mitigation option to accommodate the order of 15,000 units may include ramping up production of Product Y throughout supply chain network100to accommodate the order without shortfalls or lost sales.

At activity312, polytope analysis module206builds one or more response plans with one or more recommendations. Polytope analysis module206may build the one or more response plans to execute the one or more mitigation options within supply chain network100, such as via specific instructions to one or more supply chain entities140, based on the one or more mitigation options generated at activity310. Continuing the example above, for the assumption variant that predicts Customer X ordering 15,000 units of Product Y during the summer of 2021, polytope analysis module206may build a response plan in which manufacturers throughout supply chain network100order additional upstream components required to produce Product Y and increase the production of Product Y, such that supply chain network100may accommodate the order for 15,000 units of Product Y during the summer of 2021.

At activity314, user interface module204displays the one or more assumptions and associated assumptions data220, including, for example, perspectives, assumption variants, hierarchical scenario structures, scope, impact, mitigation options, and response plans. In embodiments, user interface module204accesses any data stored within database114of autonomous polytope system110and displays the data on one or more output device154of one or more computers150.

At activity316, plan execution module210of autonomous polytope system110executes one or more response plans. According to embodiments, plan execution module210executes the one or more response plans automatically in response to, for example, one or more triggers for action defined in response plan data228of autonomous polytope system110, and pushes the one or more response plans to relevant persons, one or more supply chain entities140, and/or systems within supply chain network100to carry out the actions of the one or more response plans. To activate and implement the one or more response plans in response to one or more observed events, plan execution module210may utilize a probabilistic event condition act model. Although a particular method of creating and utilizing assumption objects is described herein, embodiments contemplate autonomous polytope system110creating and utilizing assumptions according to any method within any assumption lifecycle methodologies or ecosystems, according to particular needs.

FIG.4illustrates method400for performing assumption-based planning, in accordance with an embodiment. Method400may be performed by an autonomous polytope system, such as autonomous polytope system110ofFIG.1. Method400proceeds by one or more activities, which although described in a particular order, may be performed in one or more permutations, combinations, orders, or repetitions, according to particular needs.

At activity402, user interface module204of autonomous polytope system110generates and displays an assumption creation GUI configured to enable a user to create an assumption for use in a polytope analysis. In embodiments, the assumption creation GUI also enables the user to collaborate and discuss possible assumptions for supply chain planning with one or more other users. For example, the assumption creation GUI may enable the user to send messages, images, or other data to other users to discuss assumptions and goals to use in a polytope analysis. By way of further illustration, an example assumption creation GUI is illustrated, and discussed below, with respect toFIG.5. At activity404, user interface module204generates and displays a polytope analysis launch GUI configured to enable the user to select various options and parameters for the polytope analysis. By way of example only and not by way of limitation, the polytope analysis launch GUI may enable the user to view selected goals and levers corresponding to an assumption.

At activity406, user interface module204generates and displays a goal selection GUI configured to enable the user to choose goals to use in assumption-based or polytope supply chain planning. For example, the goal selection GUI may enable a user to select and define various goals for polytope analysis. By way of further illustration, an example goal selection GUI is illustrated, and discussed below, with respect toFIG.6. At activity408, user interface module204updates the goal selection GUI upon receiving input of a selection of one or more goals. User interface module204may further enable the user to adjust the order of priority of selected goals and may update the goal selection GUI to reflect received adjustments.

At activity410, user interface module204generates and displays a lever selection GUI configured to enable the user to choose levers to use in assumption-based or polytope supply chain planning. As an example, the lever selection GUI may enable the user to select and define various levers for polytope analysis. By way of further illustration, an example lever selection GUI is illustrated, and discussed below, with respect toFIG.7. At activity412, user interface module204updates the lever selection GUI upon receiving input of a selection of one or more levers. User interface module204may further enable the user to adjust the parameters of selected levers and may update the lever selection GUI to reflect received adjustments.

At activity414, user interface module204generates and displays an input adjustment GUI configured to display selected levers and to enable users to toggle the selected levers on or off. At activity416, polytope analysis module206of autonomous polytope system110performs a polytope analysis using the selected goals and levers. Upon completion of the polytope analysis, user interface module204may display new GUI or update a previous GUI, such as the input adjustment GUI, to indicate the completion of the polytope analysis to the user. In embodiments, user interface module204may enable the user to select and define new levers and/or goals, or deselect or remove existing levers and/or goals for use in one or more additional polytope analyses via input to the input adjustment GUI. By way of further illustration, example input adjustment GUIs are illustrated, and discussed below, with respect toFIGS.8A-8B.

At activity418, user interface module204generates and displays a polytope analysis summary GUI configured to display a summary of the input to the performed polytope analysis. In embodiments, the polytope analysis summary GUI includes the selected goals and selected levers used in performing the polytope analysis. By way of further illustration, an example analysis summary GUI is illustrated, and discussed below, with respect toFIG.9.

At activity420, user interface module204generates and displays a response plan GUI configured to display a possible response plan. According to embodiments, polytope analysis module206generates one or more response plans when performing the polytope analysis, as discussed in greater detail above. Along with the possible response plan, user interface module204may include a summary of the output from the polytope analysis in the response plan GUI. By way of further illustration, an example response plan GUI is illustrated, and discussed below, with respect toFIG.10. At activity422, user interface module204generates and displays an evaluation GUI configured to display in-depth analysis of the output from the polytope analysis and possible response plan. In embodiments, the evaluation GUI includes various visualizations or graphs of data of autonomous polytope system110, such as, for example, polytope analysis data226, response plan data228, or any other data of database114. By way of further illustration, an example evaluation GUI is illustrated, and discussed below, with respect toFIG.11.

FIG.5illustrates assumption creation GUI500, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate assumption creation GUI500in response to user input and may display assumption creation GUI500via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. As illustrated, assumption creation GUI500comprises summary pane502and collaboration pane504corresponding to an assumption within supply chain network100defined by a user of autonomous polytope system110. Summary pane502comprises various assumption data210associated with the assumption, including type (or perspective), priority, relevant dates, creation and sharing data, confidence, description of the assumption, and scope. In this example, the assumption is an opportunity to sell additional volume of a particular product sold within supply chain network100, “Item A,” which has medium priority and a high level of confidence in the assumption. The assumption further has a regional scope of North America and includes the details of the organizational units within supply chain network100where the assumption originated and organizations units with which the assumption may be shared. Collaboration pane504enables users to comment on various aspects or possibilities of the assumption via, for example, text-based messages, as well as upload files relevant to the assumption or the planning process and make decisions.

FIG.6illustrates goal selection GUI600, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate goal selection GUI600in response to receiving user input and may display goal selection GUI600via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. As illustrated, goal selection GUI600comprises goals pane602, goal selection pop-out window604, and levers pane606. In embodiments, goals pane602enables a user to view, select, define, and prioritize goals for an assumption. To add and/or select one or more goals, goals pane602may comprise a selectable element configured to display goal selection pop-out window604upon user interaction, which enables the user to select existing goal templates, individually select or deselect various goals, and add new goals that are not defined within autonomous polytope system110. In this example, existing goals configured within autonomous polytope system110include minimizing carbon footprint of supply chain plans, minimizing cost to serve for one or more items of supply chain network100, maximizing demand for one or more items of supply chain network100, maximizing gross profit margin for supply chain network100, minimizing inventory for one or more items of supply chain network100, maximizing margin for supply chain network100, maximizing service level agreement performance for supply chain network100, and minimizing stock violations for supply chain network100. In the example illustrated byFIG.6, the user has selected goals of minimizing carbon footprint, maximizing margins, and maximizing service level agreement performance. Levers pane606enables the user to select one or more levers and view selected levers, as described in further detail with respect toFIG.7.

FIG.7illustrates lever selection GUI700, in accordance with an embodiment. In embodiments, user interface module204of autonomous polytope system110generates lever selection GUI700in response to user interaction with lever pane606ofFIG.6and displays lever selection GUI700via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. As illustrated, lever selection GUI700comprises lever selection pop-up window702over updated goals pane710and levers pane606, which enables the user to select one or more lever templates to add levers to a polytope analysis via selectable elements704a-704dincluding a lever template to add a change price lever via selectable element704a, a lever template to add an ad spend lever via selectable element704b, a lever template to add a sales target lever via selectable element704c, and a lever template to add a sales forecast lever via selectable element704d. Selectable element706of selection pop-up window702enables the user to provide or define other templates, such as, for example, levers based on various metrics, levers to scale prices, levers to add lanes, levers to add capacity, levers to add new supply sources, and levers to add promotions, among various other levers. Updated goals pane710displays selected goals to the user, which in this example include margin, service level, and carbon footprint goals, corresponding to the goals selected in goal selection pop-out window604ofFIG.6.

FIGS.8A-8Billustrate input adjustment GUIs800a-800b, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate input adjustment GUI800ain response to user interaction with lever selection pop-up window702ofFIG.7and may display input adjustment GUI800avia one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. In this example, input adjustment GUI800acomprises updated goals pane710, updated levers pane802, and analysis pane804. Updated levers pane802includes four levers selected for use in a polytope analysis based on a particular assumption. In this case, the assumption is in increase in demand for a particular product sold within supply chain network100, and the levers are changing the price of the product from one hundred dollars to one hundred fifty dollars in ten-dollar steps, adding inter-region transfer lanes of road and air, adding capacity for the product of one to four shifts in one-shift steps, and adding new export sources of ocean and air. Although particular examples of levers are provided, embodiments contemplate using various other levers in the polytope analysis, according to particular needs.

Analysis pane804comprises various selectable elements that enable the user to generate, view, and filter a polytope analysis generated by polytope analysis module206using the selected goals and levers. In this example, analysis pane804illustrates that using the selected levers for the polytope analysis results in one thousand possible permutations or variants of the assumption and response plans. In embodiments, user interface module204enables the user to select a number of total permutations or variants to view out of the total permutations generated, such as, for example, a top 10% or top 5% of permutations, although any absolute or percentage value of permutations may be selected. Analysis pane804further enables the user to save the goals and levers used in the current polytope analysis, generate the polytope analysis, and view the polytope analysis. According to embodiments, input adjustment GUI800aenables the user to toggle use of levers via updated levers pane802, upon which user interface module204may generate and display a new GUI according to the particular user interactions, such as, for example, input adjustment GUI800b.

Input adjustment GUI800bofFIG.8Bcomprises updated goals pane806, updated levers pane808, and analysis pane804, although in other examples input adjustment GUI800bmay comprise an updated analysis pane in the place of analysis pane804if user changes to goals and/or levers have resulted in a change to analysis pane804. In embodiments, user interface module204generates input adjustment GUI800bupon receiving user input modifying the goals and levers illustrated in input adjustment GUI800aofFIG.8Aand displays input adjustment GUI800bvia one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. In particular, compared toFIG.8A, the user has changed the order of the selected goals, illustrated by updated goals pane806, to prioritize maximation of service level agreement performance above maximization of margin. The user has also deselected the add new export source lever, illustrated by updated levers pane808. Analysis pane804enables the user to generate a new polytope analysis via polytope analysis module206using the modified goals and levers. Upon interacting with analysis pane804of input adjustment GUI800aor input adjustment GUI800bto view the results of a polytope analysis, user interface module204may generate one or more analysis summary GUIs, such as analysis summary GUI900ofFIG.9.

FIG.9illustrates analysis summary GUI900, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate analysis summary GUI900in response to user interaction with input adjustment GUI800aofFIG.8aand may display analysis summary GUI900via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. As illustrated, analysis summary GUI900comprises input summary pane902, which includes an overview of all input selected by the user for the polytope analysis, such as the goals and levers, as well as navigation pane904, which enables the user to navigate to one or more other GUIs generated by user interface module204in response to the completion of the polytope analysis. In the example illustrated inFIG.9, the goals displayed in input summary pane902include maximizing margin, maximizing service level agreement performance, and minimizing carbon footprint in the order of maximizing margin first, maximizing service level agreement performance second, and minimizing carbon footprint third, corresponding to the selections illustrated in updated goals pane710ofFIG.8A. Further, the levers displayed in input summary pane902include changing price of the product sold in retail from one hundred dollars to one hundred fifty dollars in ten-dollar steps, adding an inter-region transfer lane of the product from Dallas to Los Angeles and New York via road and air transportation, adding packaging capacity at Facility 1 from one shift to four shifts in single-shift increments, and adding an import/export source from Amsterdam and Osaka to New York, Los Angeles, and Dallas via ocean and air transportation, corresponding to the selections illustrated in updated levers pane802ofFIG.8A. Navigation pane904comprises various selectable elements to navigate to other GUIs, such as, for example, response plan GUI1000ofFIG.10and evaluation GUI1100ofFIG.11.

FIG.10illustrates response plan GUI1000, in accordance with an embodiment. In embodiments, user interface module204of autonomous polytope system110generates response plan GUI1000in response to user interaction with navigation pane904ofFIG.9orFIG.11and displays response plan GUI1000via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. Response plan GUI1000ofFIG.10comprises updated goals pane710, navigation pane904, and response plan pane1002. As illustrated, response plan pane1002includes the top three scenarios out of one hundred eighty-six scenarios considered by polytope analysis module206for the particular assumption used in the polytope analysis, as well as forecasted metrics for each scenario and a current plan and lever values for each scenario. In this example, the forecasted metrics include demand, revenue, gross profit margin, cost to serve, service level, inventory, and carbon footprint. Although particular metrics are provided as examples, embodiments contemplate autonomous polytope system110using any metrics when generating polytope analyses, according to particular needs. In embodiments, response plan GUI1000enables the user to review the forecasts and data of the polytope analysis and select a response plan or scenario to implement in response to the assumption, which plan execution module210may automatically implement, as described in greater detail above.

FIG.11illustrates evaluation GUI1100, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate evaluation GUI1100in response to user interaction with navigation pane904ofFIG.9orFIG.10and may display evaluation GUI1100via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. As illustrated, evaluation GUI1100comprises navigation pane904, views pane1102, and evaluation pane1104. Views pane1102enables the user to select various visualizations of comparisons of scenarios generated as results of the polytope analysis to display. In this example, the views include a KPI comparison, a demand-supply analysis, and a resource analysis. Although particular examples of views are illustrated and described with respect toFIG.11, embodiments contemplate autonomous polytope system110providing for any visualizations of comparisons of metrics and other data associated with generated scenarios, according to particular needs. In embodiments, evaluation pane1104displays charts, graphs, tables, histograms, and/or other visualizations that enable the user to directly compare scenarios generated by polytope analysis module206according to the view selected in views pane1102. In the example illustrated byFIG.11, evaluation pane1104comprises resource analyses of each of the three scenarios ofFIG.10, corresponding to the selection of the resource analysis view in views pane1102. The resource analyses include measures of capacity, overtime, load, and utilization for two plants, which enables the user to compare the impact of each scenario on production of Item A. According to embodiments, evaluation pane1104further enables the user to toggle various filters and leave comments for collaboration with other users.

FIG.12illustrates method1200for autonomously performing a polytope analysis, in accordance with an embodiment. Method1200may be performed by an autonomous polytope system, such as autonomous polytope system110ofFIG.1. Method1200proceeds by one or more activities, which although described in a particular order, may be performed in one or more permutations, combinations, orders, or repetitions, according to particular needs.

At activity1202, autonomous analysis module208of autonomous polytope system110autonomously identifies input for use in a polytope analysis using one or more NLP techniques. The input may include, for example, assumptions, goals, and/or levers for a polytope analysis, as described in greater detail above. In embodiments, autonomous analysis module208continuously monitors text-based communications from or between users of autonomous polytope system110, planning and execution system130, or any other systems or entities of supply chain network100to identify input for use in the polytope analysis. By way of example only and not by way of limitation, autonomous analysis module208may monitor communications between supply chain planners to determine one or more assumptions, goals, or levers that the supply chain planners may wish to use in a polytope supply chain planning analysis.

At activity1204, polytope analysis module206of autonomous polytope system110performs a polytope analysis using the input identified at activity1202. In some embodiments, polytope analysis module206may perform the polytope analysis without user input, though in other embodiments, polytope analysis module206may prompt a user to confirm whether to perform the polytope analysis with the identified input. User interface module204of autonomous polytope system110may provide a GUI that enables the user to modify captured input, including altering, adding, or removing assumptions, goals, or levers as necessary. According to embodiments, polytope analysis module206performs activities304-310of method300(or activities similar to those of activities304-310of method300) described above with respect toFIG.3to perform the polytope analysis using the input autonomously-identified at activity1202.

At activity1206, polytope analysis module206generates one or more response plans based on the polytope analysis performed at activity1204. To generate the one or more response plans, polytope analysis module206may access assumption variants and hierarchical scenarios, as well as anticipated impacts of each assumption variant. In embodiments, polytope analysis module206generates the one or more response plans to resolve negative anticipated impacts and/or to take advantage of one or more positive anticipated impacts by altering resources, inventory, entities, resources or any other aspect of supply chain network100, such as adding, transferring, or removing equipment, inventory, raw materials, workers, or any other actions to update, change, or modify aspects of supply chain network100. For example, when an assumption of the polytope analysis includes increased demand within a region for a product sold by supply chain network100, response plans may include transferring inventory of the product from one or more supply chain entities140outside the region to one or more supply chain entities140inside the region, purchasing additional inventory of the product, or increasing production of the product, among other actions.

At activity1208, user interface module204displays the response plans generated at activity1206to a user of autonomous polytope system110. For example, user interface module204may generate one or more GUIs configured to display the response plans to the user, such as a response plan GUI, and display the one or more GUIs on a device associated with the user or on any other output device of supply chain network100. In embodiments, user interface module204accesses any data stored within database114of autonomous polytope system110and displays the accessed data alongside the response plans on one or more output devices within supply chain network100. The accessed data may include, for example, associated perspectives, assumption variants and hierarchical scenario structures, scope, impact, mitigation options, and response plans.

At activity1210, plan execution module210of autonomous polytope system110executes a response plan generated at activity1206and displayed at activity1208. Plan execution module210may execute the response plan according to user selection of the one or more response plans displayed at activity1208. In embodiments, plan execution module210executes the response plan via one or more pieces of automated machinery, as described in greater detail above, and may perform various actions to execute the response plan, including pushing execution instructions to one or more supply chain entities140, transmitting the response plan to one or more assigned persons, activating one or more parked assumption objects, altering one or more data values associated with an assumption object condition, creating one or more new supply chain planning scenarios, and applying a mitigation response to one or more sets of planning data.

FIG.13illustrates autonomous input GUI1300, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate and display autonomous input GUI1300for a user of autonomous polytope system110via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. As illustrated, autonomous input GUI1300comprises summary pane1302and collaboration pane1304corresponding to an assumption within supply chain network100defined by a user of autonomous polytope system110. Summary pane1302includes various assumption data210associated with the assumption, such as type (or perspective), priority, relevant dates, creation and sharing data, confidence, description of the assumption, and scope. In this example, the assumption is an opportunity to sell additional volume of a particular product sold within supply chain network100, “Item A,” which has medium priority and a high level of confidence in the assumption. The assumption further has a regional scope of North America, and includes the details of the organizational units within supply chain network100where the assumption originated and organizations units with which the assumption may be shared.

Collaboration pane1304of autonomous input GUI1300enables users to comment on various aspects or possibilities of the assumption via, for example, text-based messages. User interface module204may also send natural language messages to users automatically generated by autonomous analysis module208of autonomous polytope system110via a digital assistant, which, in this example, are marked as messages from “BY Orchestrator” in collaboration pane1304. In embodiments, autonomous analysis module208performs an NLP analysis of the comments sent by users via collaboration pane1304to identify input for a polytope analysis. As illustrated, autonomous analysis module208has analyzed the message “With high confidence, we can sell from 1 to 1.3 m bottles of Item A in Italy and France” to identify an assumption of increased sales for the “Item A” product. In response, autonomous analysis module208has generated and transmitted a message to the user of “I can run a simulation on this assumption. Any specific levers and goals to consider?” Upon displaying the message via collaboration pane1304, user interface module204may update collaboration pane1304to enable the user to provide input in response to the message, such as asking to run the simulation or providing levers or goals to use in the simulation. Further, autonomous analysis module208has also analyzed the message “I foresee to cover this demand from Brewery A and Brewery B” to identify levers of increased supply from the identified sources, and has analyzed the message “A finance guy speaking here, please make sure to maximize the margin!” to identify a goal of maximizing margin. As illustrated, in response to these identifications, autonomous analysis module208has generated and transmitted a message to the user prompting the user to run a polytope analysis using the identified assumption, levers, and goals.

FIG.14illustrates autonomous analysis GUI1400, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate autonomous analysis GUI1400in response to user interaction with autonomous input GUI1300ofFIG.13and may display autonomous analysis GUI1400via one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. For example, user interface module204may generate and display autonomous analysis GUI1400in response to the user inputting instructions for autonomous polytope system110to run a simulation with the automatically identified assumption, levers, and goals via collaboration pane1304. In another example, user interface module204may generate and display autonomous analysis GUI1400upon autonomous analysis module208identifying the assumption, levers, and goals without additional user interaction or instructions. As illustrated, autonomous analysis GUI1400comprises summary pane1302and updated collaboration panes1402a-1402b.

Updated collaboration panes1402a-1402bcomprise results of a polytope analysis generated by polytope analysis module206of autonomous polytope system110using the identified assumption, levers, and goals. In this example, updated collaboration pane1402adisplays the information within a docked pane, and updated collaboration pane1402bdisplays the information in an expanded pop-out pane. Although updated collaboration panes1402a-1402bare illustrated as being displayed within the same GUI, embodiments contemplate user interface module204displaying collaboration panes1402a-1402bin any other configuration, including on separate GUIs or on separate devices, according to particular needs. In this example, user interface module204has displayed the polytope analysis results in response to a user request in natural language via the digital assistant, which is illustrated in updated collaboration pane1402bby the message “@BY Orchestrator Run a simulation for this assumption with above mentioned levers and goals.” In this message, the phrase “@BY Orchestrator” informs autonomous polytope system110that a response is requested, and the assumption, levers, and goals of the message refer to the assumption, the levers, and the goals identified as described above with respect toFIG.13. Updated collaboration pane1402bfurther displays results of four metrics from the polytope analysis, which include forecasted changes in revenue, gross profit margin, cost to serve, and service level percentage when one or more levers are selected as a response plan. In this case, the one or more levers include adding a new supply source, adding intra-supply chain network transfer lanes, and increasing overtime capacity for one supply chain entity, as illustrated in both of updated collaboration panes1402a-1402b.

FIGS.15A-15Billustrates trade-off GUIs1500a-1500b, in accordance with an embodiment. User interface module204of autonomous polytope system110may generate trade-off GUIs1500a-1500bin response to user interaction with autonomous analysis GUI1400and may display trade-off GUIs1500a-1500bvia one or more output devices associated with supply chain network100, such as one or more output devices154of one or more computers150. For example, user interface module204may generate and display trade-off GUIs1500a-1500bin response to the user providing input, such as natural language input or interaction with a button or selectable element, via updated collaboration pane1402aor updated collaboration pane1402bof autonomous analysis GUI1400to view results of the polytope analysis. As illustrated, trade-off GUI1500aofFIG.15Acomprises planning pane1502and digital assistant pane1504. Planning pane1502includes various information of sales and margins planning for a product sold in supply chain network100, which in this case is “Item A” as illustrated inFIGS.13-14, including predicted measure performance across two organizations for a fiscal year.

Digital assistant pane1504comprises natural language messages generated by autonomous analysis module208of autonomous polytope system110and displayed by user interface module204to assist the user in planning. In the example ofFIG.15A, digital assistant pane1504includes a message generated and displayed following an analysis of supply chain metrics, which summarizes the results of the polytope analysis performed with two levers (increasing retail target by 25% and setting average price with maximum 40% promotion). The polytope analysis comprises an analysis of forty scenarios with the top two scenarios illustrated in detail via a table that summarizes the predicted sales for a current plan, a 20% promotion response plan, and a 40% promotion response plan broken into regions of US, Canada, EMEA, and APAC. Digital assistant pane1504also includes table details button1510and show polytope analysis button1512. When user interface module204detects that the user selects show polytope analysis button1512, user interface module204may update the display to include results of the polytope analysis, such as by generating and displaying an analysis summary GUI similar to analysis summary GUI900ofFIG.9, generating and displaying a response plan GUI similar to response plan GUI1000ofFIG.10, or generating and displaying an evaluation GUI similar to evaluation GUI1100ofFIG.11. Digital assistant pane1504further enables the user to respond via natural language input, as illustrated inFIG.15Aby a message asking which scenario the user wants to apply and a text input box. For example, the user may utilize the text input box to send messages to autonomous polytope system110, such as messages selecting one or more scenarios, providing additional input for polytope analysis, or asking questions about messages sent by autonomous polytope system110or any other data. In response to the user selecting table details button1510, user interface module204may display additional information of the polytope analysis via a pop-up window, as illustrated byFIG.15B.

Trade-off GUI1500bofFIG.15Bcomprises planning pane1502, digital assistant pane1504, and scenario pop-up window1506. In some embodiments, user interface module204may generate and display scenario pop-up window1506in response to the user selecting table details button1510ofFIG.15A, though in other embodiments user interface module204may generate and display scenario windows or other table details or trade-off displays in response to any user input with a derived meaning or intention of displaying such information, such as via text, UI interactions, voice communications, or any other user input. In this example, scenario pop-up window1506includes predicted metrics for Item A across the top two scenarios and the current base plan. In this example, the predicted metrics include sale units, retail sale units, gross margin, gross margin percentage, and average unit retail (AUR). The scenarios of scenario pop-up window1506include the current base plan, the response plan including a 20% promotion, and the response plan including a 40% promotion, as described in digital assistant pane1504. Although particular metrics are illustrated and described inFIG.15B, embodiments contemplate user interface module204displaying any relevant metrics, according to particular needs of particular scenarios. Scenario pop-up window1506also includes show polytope analysis button1512. As disclosed above, upon selection of show polytope analysis button1512, user interface module204may update the display results of the polytope analysis, such as by generating and displaying an analysis summary GUI similar to the analysis summary GUI900ofFIG.9, by generating and displaying a response plan GUI similar to the response plan GUI1000ofFIG.10, or by generating and displaying an evaluation GUI similar to evaluation GUI1100ofFIG.11.

Reference in the foregoing specification to “one embodiment”, “an embodiment”, or “some embodiments” means that a particular factor, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

While the exemplary embodiments have been illustrated and described, it will be understood that various changes and modifications to the foregoing embodiments may become apparent to those skilled in the art without departing from the spirit and scope of the present invention.