System for configuring a simulated virtual environment based on changes to the environment
The system addresses inefficiencies in physical environment configurations by using simulation platforms to create virtual replications and analyze production data, optimizing store layouts and operations for enhanced throughput and performance.
Patent Information
- Application Number
- JP2024527623
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-11-12
- Filing Date
- 2022-11-09
- Publication Date
- 2024-12-17
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing systems for configuring physical environments, such as stores, buildings, or offices, often result in reduced throughput and efficiency due to individual decision-making changes that are not optimized, leading to suboptimal performance compared to the original configuration.
A system that generates a virtual environment based on a physical environment, using simulation platforms to create virtual replications and compare production data with virtual production data, allowing for optimized modifications and adjustments to improve efficiency and performance.
The system enhances throughput and efficiency by dynamically monitoring and adjusting store configurations based on real-time data analysis, recommending optimized layouts, worker assignments, and inventory management, thereby improving service speed and overall performance.
Smart Images

Figure 2024546033000001_ABST
Abstract
Description
[Technical field]
[0001] SUMMARY The present disclosure generally relates to a system for generating a virtual environment based on a physical environment and simulating a modified virtual environment.
[0002] background A physical environment (e.g., a store, building, office, factory, enterprise, etc.) may be configured based on a collection of standard designs, layouts, etc. The environment configurations may be available in the environment and may be initially set when the environment is constructed. For example, an environment may be constructed with an initial layout based on the environment configuration. The environment configurations may be generated by a user and may be based on the user's knowledge or experience. For example, if a user is associated with multiple environments, the user may design an environment configuration based on each environment configuration.
[0003] After an initial environment configuration, a user may change the environment configuration. For example, a user may change the layout of the environment, the machine (e.g., equipment) assignment, or the worker assignment. However, changing the environment configuration may be an individual decision based on a particular environment. Changing the environment configuration may result in reduced throughput, efficiency (e.g., computing system efficiency), performance (e.g., computing system performance), etc., as compared to a different configuration of the environment and may result in reduced throughput, efficiency, performance, etc., as compared to the original configuration of the environment. [Brief description of the drawings]
[0004] [Figure 1]FIG. 1 is a block diagram illustrating an example environment in which a virtual store management system can manage a virtual replication of one or more stores. [Diagram 2] FIG. 1 is a block diagram illustrating an example environment in which a virtual store management system can manage a virtual replication of one or more stores. [Figure 3A] FIG. 2 is a flow diagram illustrating an example interaction for generating a virtual replication of a store. [Figure 3B] FIG. 2 is a flow diagram illustrating an example interaction for generating a virtual replication of a store. [Figure 4] FIG. 1 illustrates an exemplary user interface showing a virtual replication of a store. [Diagram 5] 4 is a flow chart illustrating an exemplary routine for generating a virtual replication of a store and generating an output. [Figure 6] A general architecture for a computing device that provides a virtual store management system for managing a virtual replication of one or more stores is shown.
[0005] Various embodiments are shown in the accompanying drawings for illustrative purposes and should not be construed as limiting the scope of the embodiments. Furthermore, various features of the various disclosed embodiments can be combined to form additional embodiments, which are also part of this disclosure.
[0006] Description of the embodiments 1 is a block diagram of an example operating environment 100 in which a management system 102 (e.g., a computing system associated with a physical environment) and a simulation computing system 108 (e.g., a computing system implementing a simulation platform that generates virtualizations associated with the physical environment) can interact with a virtual management system 112 over a network 110. For example, the virtualizations may include virtual replications, virtual physical environments, virtual models, simulations, and the like.
[0007] Although the following disclosure describes a particular physical environment (eg, a store), it should be understood that the following disclosure can be implemented with respect to any physical environment (eg, a store, a building, an office, a factory, a business, etc.).
[0008] The store control system 102, the simulation computing system 108, and the virtual store control system 112 may be a closed loop system. By way of example, the store control system 102 may include various types of computing devices and / or computing systems capable of communicating with the virtual store control system 112, including desktop computers, laptops, and mobile phones. In general, the store control system may be any computing device, such as a desktop, laptop or tablet computer, a personal computer, a wearable computer, a server, a personal digital assistant (PDA), a hybrid PDA / mobile phone, a mobile phone, an e-reader, a set-top box, a voice command device, a camera, a digital media player, and the like.
[0009] By way of further example, the simulation computing system 108 may include various types of computing devices and / or computing systems implementing a simulation platform, including servers, desktop computers, laptop computers, mobile phones, etc. In general, the simulation computing system 108 may be any computing device implementing a simulation platform and capable of communicating with the virtual store management system 112 to receive store data and generate a virtual replica of a store based on the store data. In some embodiments, the simulation computing system 108 may include a general-purpose computing device hosting specific software implementing a simulation platform. Thus, the simulation computing system 108 may be any computing device implementing a simulation platform for building a virtual replica of a store.
[0010] The virtual store management system 112 can route the store data to the simulation computing system 108 and can receive and compare production data associated with a virtual replication of the store. The virtual store management system 112 can provide an output to the store management system 102 or any other computing device based on the comparison. The virtual store management system 112 can provide the store management system 102 (or any other computing device) with one or more user interfaces, command line interfaces (CLIs), application programming interfaces (APIs), and / or other interfaces (e.g., as part of a computer display) that display one or more outputs based on the comparison. Although one or more embodiments are described herein as using a user interface, it should be understood that such embodiments can additionally or alternatively use any CLI, API, or other interface.
[0011] network The store control system 102, the simulation computing system 108, and the virtual store control system 112 can communicate over a network 110, which may include any wired network, wireless network, or combination thereof. For example, the network 110 may be a personal area network, a local area network, a wide area network, an air interface broadcast network (e.g., for radio or television), a cable network, a satellite network, a cellular phone network, or combinations thereof. As a further example, the network 110 may be a publicly accessible network, such as the Internet, consisting of multiple linked networks potentially operated by various individual parties. In some embodiments, the network 110 may be a private or semi-private network, such as a corporate or university intranet. The network 110 may include one or more wireless networks, such as a Global System for Mobile Communication (GSM) network, a Code Division Multiple Access (CDMA) network, a Long Term Evolution (LTE) network, or any other type of wireless network. The network 110 may use protocols and components for communicating over the Internet or any other type of network as described above. For example, protocols used by network 110 may include HyperText Transfer Protocol (HTTP), HTTP Secure (HTTPS), Message Queuing Telemetry Transport (MQTT), Constrained Application Protocol (CoAP), etc. Protocols and components for communicating over the Internet or any other type of communication network mentioned above are well known to those skilled in the art and will not be further described herein.In some embodiments, one or more of the store control system 102, the simulation computing system 108, and the virtual store control system 112 may communicate with the inventory control computing system 106 and / or the production computing system 104 via the network 110.
[0012] Inventory Management System The inventory management computing system 106 may be implemented directly in hardware or in software executed by a hardware device, and may include, for example, one or more physical or virtual servers implemented on physical computer hardware configured to execute computer-executable instructions to perform various functions described herein.
[0013] The inventory management computing system 106 can receive inventory data from one or more sensors and / or one or more data stores. For example, the inventory management computing system 106 can identify inventory (e.g., products, equipment, items, etc.) that is assigned to or associated with a particular store. For example, the inventory can include food products (e.g., sandwiches, eggs, sugar, artificial sweeteners, etc.), beverage products (e.g., coffee, tea bags, milk, cream, etc.), non-food or non-beverage products (e.g., nitrogen, cutlery, napkins, straws, etc.), or any other products associated with the store. Additionally, the inventory management computing system 106 can identify inventory data associated with (e.g., delivered to) a particular store. For example, the inventory management computing system 106 can be in communication with and / or include one or more sensors (e.g., cameras) to monitor the delivery of inventory. Additionally, the inventory management computing system 106 can manage the supply of inventory. The inventory management computing system 106 may be in communication with and / or include one or more sensors to manage previously delivered inventory. For example, the inventory management computing system 106 may include one or more sensors to manage inventory stored in a storeroom. In some embodiments, the inventory management computing system 106 may identify inventory data based on operator feedback (e.g., robotic operator feedback or human operator feedback). The operator feedback may include an indication of dispensation of inventory (e.g., dispensation to a customer). Furthermore, based on receiving the operator feedback, the inventory management computing system 106 may verify the accuracy of the operator feedback. For example, the inventory management computing system 106 may calculate inventory amounts based on the operator feedback and verify the inventory amounts (e.g., by checking the amount of inventory provided to a customer or the amount of inventory remaining in the store).In some embodiments, the inventory management computing system 106 can identify inventory data based on tracking purchases. For example, the inventory management computing system 106 can identify a base amount of inventory and change the base amount of inventory based on tracking purchases.
[0014] The inventory control computing system 106 may provide the inventory data to the store management system 102 on a periodic or non-periodical basis. For example, the inventory control computing system 106 may provide the inventory data to the store management system 102 hourly, daily, etc. In some embodiments, the inventory control computing system 106 may provide the inventory data to the store management system 102 based on a request from the store management system 102.
[0015] Productive Computing Systems The production computing system 104 may be implemented directly in hardware or in software executed by a hardware device, and may include, for example, one or more physical or virtual servers implemented on physical computer hardware configured to execute computer-executable instructions to perform various functions described herein.
[0016] As described below, the production computing system 104 can receive performance data from one or more sensors and / or one or more data stores. Performance data is data that can identify how one or more components (e.g., workers, equipment, etc.) are performing. The production computing system 104 can include one or more computing systems that identify performance data associated with a store. In some embodiments, the production computing system 104 can include computing systems (e.g., vision systems) that monitor worker activity and worker utilization. For example, the production computing system 104 can be in communication with and / or include multiple sensors located at various locations throughout the store. The production computing system 104 can utilize such sensors to identify workers and assign tasks to the workers. Based on the tasks assigned to the workers, the production computing system 104 can determine the efficiency associated with a particular task or a particular worker, the timing associated with a particular task or a particular worker, etc. In some embodiments, the production computing system 104 can include computing systems that monitor machine utilization and / or performance. For example, production computing system 104 may be in communication with and / or include a plurality of machines (e.g., sensors associated with each machine or machine) to identify machine timing and / or machine efficiency. The plurality of machines may include refrigerators, freezers, water filtration systems, heating, ventilation and air conditioning systems, ovens, coffee machines, espresso machines, food display cases, refrigerated food display cases, blenders, specialty coffee machines, etc. Additionally, the plurality of machines may include multiple machines of the same type (e.g., the plurality of machines here may include multiple blenders).Each of the multiple machines may be in communication with a production computing system over a network (e.g., network 110). In some embodiments, production computing system 104 may include a computing system that monitors overall performance (e.g., order timing, order history, order efficiency, store capacity, drive-thru capacity, etc.). For example, production computing system 104 may monitor the number of orders being taken in-store, the number of orders being taken through the drive-thru, wait times associated with in-store and / or drive-thru orders, etc.
[0017] The production computing system 104 may provide the performance data to the store management system 102 on a periodic or non-periodical basis. For example, the production computing system 104 may provide the performance data to the store management system 102 hourly, daily, etc. In some embodiments, the production computing system 104 may provide the performance data to the store management system 102 based on a request from the store management system 102.
[0018] Store Management System To manage data related to a particular store, the store management system 102 may receive a plurality of data from the production computing system 104, the inventory management computing system 106, and / or any other computing system. The store management system 102 may analyze the plurality of data to generate production data. For example, the store management system 102 may analyze (e.g., filter, modify, etc.) the plurality of data to identify production data associated with a particular store. For example, the store management system 102 may filter a plurality of data associated with a particular time period (e.g., a particular day), a particular store, a particular location within the store (e.g., a particular machine), a particular worker associated with the store, etc. Thus, the store management system 102 may filter the plurality of data to identify particular production data. In an exemplary embodiment, the store management system 102 is a user computing device, allowing a user to identify or select particular data. For example, a user may designate particular data (e.g., data associated with a particular machine, a particular inventory, a particular worker, etc.) as production data. The store management system 102 may include various components that enable interaction between itself and a user. For example, the store management system 102 may include a display system (e.g., a user interface) through which information is displayed, and in one embodiment, the display may be provided by an additional computing system.
[0019] The store management system 102 may further identify store data associated with the store. Store data is data that allows a store configuration to be identified. For example, a store configuration may include store layout, store design, employee assignments, machine assignments, machine layouts, store operation parameters, order parameters, or any other data associated with a store configuration. Such store data may identify the physical layout of the store. For example, the store data may identify the location, type, and quantity of tables, chairs, registers, machines, products, etc. Additionally, the store data may identify whether the store includes a drive-thru and / or walk-in portion. The store data may also identify employees assigned to the store. For example, the store data may identify the number, title, and / or type of employee (e.g., management, years or experience level, etc.) assigned to the store. Additionally, the store data may identify how orders are processed and served by store personnel. For example, whether orders are linked to the first available worker, or whether certain orders are linked together, etc. The store data may also identify menu options. For example, the store data may identify food and / or beverage options available for purchase at a particular store (e.g., some stores may not offer certain products such as cold brew coffee). The store management system 102 may identify the store data based on user input (e.g., via a user computing device) and / or via one or more sensors (e.g., one or more cameras that capture images of the store configuration). Thus, the store management system 102 may identify production data representative of the production of the store and store data representative of the store configuration.
[0020] Simulation Computing System The store management system 102 can route the store data to the virtual store management system 112, which can route the store data to the simulation computing system 108. In some embodiments, the simulation computing system 108 can receive the store data directly from the store management system 102. The simulation computing system 108 can implement a simulation platform that receives the store data and generates a virtual replica of the store based on the store data. The simulation platform can perform modeling (e.g., store modeling) to build a virtual replica of the store based on the store configuration. Furthermore, the virtual replica of the store built by the simulation platform can generate virtual production data that is identical or similar to the production data generated by the store. For example, the simulation platform can be trained based on a known mapping from store data to production data, such that the simulation platform can generate a virtual replica of the store that generates virtual production data that tracks the production data generated by the store.
[0021] The simulation computing system 108 may further generate virtual replications of multiple modified stores by modifying all or a portion of the store data associated with the stores. For example, the simulation computing system 108 may generate a virtual replication of a first modified store by adding or removing a particular machine, a virtual replication of a second modified store by adding or removing an in-store ordering option, a virtual replication of a third modified store by adding or removing a particular option from a menu, etc.
[0022] To determine the production data associated with each store's virtual replication, the simulation computing system 108 can simulate the store's virtual replication to determine the production data for each store's virtual replication. In simulating the store's virtual replication, the simulation computing system 108 can feed the store's virtual replication with various production and / or labor scenarios and simulate how the store's virtual replication reacts to each scenario based on the store data. Additionally, the simulation computing system 108 can obtain various timing data associated with a particular order (e.g., a particular product) and / or a particular task (e.g., cleaning equipment, making a particular beverage, etc.). Thus, the simulation computing system 108 can identify the virtual production data associated with each store's virtual replication.
[0023] Virtual store management system To generate the outputs associated with the store, the virtual store management system 112 can receive production data associated with the store from the store management system 102 and virtual production data associated with each of the virtual replicas of the store from the simulation computing system 108. The virtual store management system 112 can include one or more components that compare the production data and the virtual production data. In some embodiments, the virtual store management system 112 can include a machine learning model (e.g., a neural network) that is trained to identify a specific optimized store data set (e.g., a store configuration) based on the production data and the virtual production data. Additionally, the virtual store management system 112 can compare the production data and the virtual production data to determine whether a difference (e.g., a statistically significant difference) exists between the production data and the virtual production data. The virtual store management system 112 can then determine whether the difference between the production data and the virtual production data exceeds a specific threshold (e.g., a threshold set by a user via a user computing device).
[0024] The virtual store management system 112 can generate output associated with the store based on identifying differences between the particular virtual production data set and the production data. The virtual store management system 112 can display the output via a user computing device (e.g., the store management system 102). In some embodiments, the virtual store management system 112 can perform automatic implementation of particular store data. For example, the virtual store management system 112 can automatically adjust how orders are processed and assigned to workers based on identifying improvements in service speed, worker efficiency, machine efficiency, etc. that are tied to the adjustments.
[0025] Layout Data Store The virtual store management system 112 may include a layout data store 118. The layout data store 118 may identify one or more layouts available for a particular store. For example, the layout data store 118 may identify layouts previously associated with the store, layouts associated with similar stores, layouts derived from the current layout of the store (e.g., by modifying the particular store data associated with the current store data). The layouts identified by the layout data store 118 may be indicative of the physical layout of the store. For example, the layouts may indicate the physical layout of machines, tables and / or chairs, merchandise and / or merchandise stands, restrooms, and / or any other physical components in the store. The layouts may further identify the size and / or shape of the store (e.g., via a floor plan associated with the store). By identifying the layouts, the virtual store management system 112 may dynamically monitor and identify potential layouts for the store. Additionally, the virtual store management system 112 may provide the potential layouts to the simulation computing system 108 to generate a virtual replication of the store. In some embodiments, the virtual store management system 112 may also store the current layout of the store in the layout data store 118.
[0026] Worker and inventory data store Additionally, the virtual store management system 112 may include a worker and inventory data store 120. The worker and inventory data store 120 may identify worker and / or inventory data (e.g., potential worker assignments and / or potential inventory assignments) for a particular store. For example, the worker and inventory data store 120 may identify the number of workers (e.g., 5 workers), the worker job types (e.g., supervisory, non-supervisory, etc.), the number of workers at a particular station (e.g., 2 workers assigned to the espresso machines), the experience levels of the workers (e.g., 5 years experience, no experience, in training, etc.), the schedules of the workers, or any other worker data for the assignment of workers to the store. Additionally, the worker and inventory data store 120 may identify the amount of inventory, the type of inventory, the location of the inventory, the inventory delivery schedule, the amount of inventory to be ordered, the product mix, or any other inventory data for the assignment of inventory to the store. The virtual store management system 112 may dynamically monitor and identify potential worker and / or inventory assignments to the store. In addition, the virtual store management system 112 may provide potential worker and / or inventory assignments to the simulation computing system 108 to generate a virtual replication of the store. In some embodiments, the virtual store management system 112 may store the current worker and / or inventory assignments for the store in the worker and inventory data store 120.
[0027] Channel Data Store The virtual store management system 112 may include a channel data store 122. The channel data store 122 may identify one or more potential channel mixes (e.g., traffic channel mixes) for a particular store. Additionally, the channel mixes identified by the channel data store 122 may indicate physical traffic channels for the store. For example, the channel data store 122 may identify in-store traffic, drive-thru traffic, curbside traffic, mobile order (e.g., orders placed via a customer's computing device) traffic, or any potential traffic channel mix to the store. Additionally, the channel data store 122 may identify different potential mixes of different traffic channels. For example, a first mix may include 90% of the traffic being in-store traffic and 10% of the traffic being drive-thru traffic, a second mix may include 59% of the traffic being mobile order traffic, 21% of the traffic being curbside traffic, 20% of the traffic being in-store traffic, etc. It should be understood that a channel mix may include any combination of different traffic channels. By identifying the channel mix, the virtual store management system 112 can dynamically monitor and identify potential channel mixes for the store. Additionally, the virtual store management system 112 can feed the potential channel mix to the simulation computing system 108 to generate a virtual replication of the store. In some embodiments, the virtual store management system 112 can also store the current store's channel mix in the channel data store 122.
[0028] It should be understood that many of the components described with reference to FIG. 1 are optional, and that components may be combined or rearranged in embodiments of the disclosure. Additionally, embodiments of the disclosure may include fewer, different, or more components. Additionally, these components need not be separate or discrete. For example, the virtual store management system 112 may be represented as a single physical device, or alternatively may be divided into multiple physical devices.
[0029] Production Data FIG. 2 is a block diagram of an exemplary operating environment 200 in which the store management system 102 (shown in FIG. 1), the production computing system 104 (shown in FIG. 1), and the inventory management computing system 106 (shown in FIG. 1) can interact to provide production data associated with a particular store. Each of the store management system 102, the production computing system 104, and the inventory management computing system 106 can communicate via a network 210. In some embodiments, the network 110 and the network 210 can be the same network. In other embodiments, the network 210 can be a local network, although the network may be a non-local network. The production computing system 104 and the inventory management computing system 106 can be associated with one or more stores. In some embodiments, each of the production computing system 104 and the inventory management computing system 106 can provide performance data and / or inventory data associated with multiple stores. Additionally, each of the production computing system 104 and the inventory management computing system 106 can include one or more systems that identify and / or obtain performance data and / or inventory data. 2, the production computing system 104 can include an overall performance detection system 202, a machine utilization detection system 204, and a worker utilization detection system 206, and the inventory control computing system 106 can include an inventory detection system 208. It should be understood that each of the production computing system 104 and the inventory control computing system can include more, fewer, or different components. Based on the operation of the overall performance detection system 202, the machine utilization detection system 204, the worker utilization detection system 206, and / or the inventory detection system 208, the store management system 102 can receive and store production data in various data stores.For example, the store management system may store inventory data in an inventory data store 211, overall performance data in an overall performance data store 212, machine data in a machine data store 214, and worker data in a worker data store 216.
[0030] Inventory Data The inventory management computing system 106 may include an inventory detection system 208 that obtains and / or generates inventory data. The inventory detection system 208 may include one or more sensors to monitor a particular inventory. For example, the inventory detection system 208 may include one or more cameras to monitor a particular inventory and track the usage of the inventory. Additionally, the inventory detection system 208 may track the inventory based on the daily changes in the inventory. For example, the inventory detection system 208 may track the amount of inventory present at the beginning of a day and the amount of inventory present at the end of the day. Based on the inventory tracking, the inventory detection system 208 may determine the amount of inventory used each day. Additionally, the inventory detection system 208 may determine the amount of inventory used each day based on the order history. For example, if 30 chicken sandwiches were ordered on a given day, the inventory detection system 208 may determine that 30 chicken sandwiches were removed from the inventory. In some embodiments, the inventory detection system 208 may determine the amount of inventory used each day based on operator and / or user feedback. For example, an operator may input the amount of inventory used each day into the inventory detection system 208 and / or another computing system. In some embodiments, the inventory detection system 208 may track whether any inventory has been completely depleted. For example, the inventory detection system 208 may determine whether any subset of inventory (e.g., an inventory subset associated with a particular product) has been completely depleted, such that the store no longer has access to the associated inventory. Additionally, the inventory detection system 208 may determine whether any orders have been received for a particular product that has not been replenished based on the inventory not including the particular product. The inventory detection system 208 may monitor the inventory to determine whether the inventory is in an adequate amount to meet demand. In some embodiments, the inventory detection system 208 may receive inventory data from a data store.Thus, the inventory control computing system 106 may obtain and / or generate inventory data using the inventory detection system 208.
[0031] The inventory detection system 208 can provide inventory data to the inventory control computing system 106. In addition, the inventory control computing system 106 can provide the inventory data to the store management system 102. The inventory control computing system 106 can provide the inventory data on a periodic or non-periodic basis. In addition, the inventory control computing system 106 can store the inventory data in an inventory data store 211 for analysis, filtering, combining, transformation, etc., and provide it to the simulation computing system as production data.
[0032] Overall Performance Data The production computing system 104 may include an overall performance detection system 202 to obtain and / or generate overall performance data. The overall performance detection system 202 may include one or more sensors (e.g., cameras) for monitoring overall performance data of the store. For example, the overall performance detection system 202 may include sensors for monitoring and identifying when a customer enters the store (or enters the drive-thru), when a customer places an order, when production of a product begins, when production of a product is completed, when a customer arrives at a drive-thru window to receive a product, and / or when an order is completed. Furthermore, the overall performance detection system 202 may communicate with one or more computing devices to receive data and may generate overall performance data based on the received data. For example, the overall performance detection system 202 may communicate with one or more computing devices associated with a register and may receive data from the one or more computing devices to determine order timing, order history, refund history, etc. In some embodiments, the overall performance detection system 202 can receive overall performance data from one or more sensors monitoring store capacity, drive-thru capacity, etc., and thus the overall performance data can include data representative of the number of orders received in-store, the number of orders received through the drive-thru, the wait times associated with in-store and / or drive-thru orders, the number of customers occupying seats in the store, or any other overall performance data representative of the overall performance of the store. In some embodiments, the overall performance detection system 202 can obtain the overall performance data from a data store. Thus, the production computing system 104 can obtain the overall performance data via the overall performance detection system 202.
[0033] The overall performance detection system 202 can provide the overall performance data to the production computing system 104. In addition, the production computing system 104 can provide the overall performance data to the store management system 102. The production computing system 104 can provide the overall performance data on a regular or non-regular basis. In addition, the production computing system 104 can store the overall performance data in an overall performance data store 212 for analysis, filtering, combining, transforming, etc., and provide it to the simulation computing system as production data.
[0034] Machine Data The production computing system 104 may include a machine utilization detection system 204 that obtains and / or generates machine data. The machine utilization detection system 204 may include one or more sensors (e.g., machine sensors) that monitor the performance (e.g., efficiency, accuracy, etc.) of one or more machines (e.g., each machine in a store). Additionally, the machine utilization detection system 204 may communicate with one or more sensors to receive data and may generate machine data based on the received data. For example, the machine utilization detection system 204 may receive data indicative of the use of a particular machine (e.g., when an espresso machine was activated). Based on the received data, the machine utilization detection system 204 may generate machine data that identifies how a particular machine was used and identifies the use. For example, the machine utilization detection system 204 may generate machine data that identifies the performance of an isolated machine (e.g., based on the machine's previous performance, a threshold or specified performance (via a specification) for the machine, etc.) and / or machine data that identifies the performance of the machine compared to other machines (e.g., other machines in the store, other similar machines, etc.). In some embodiments, the machine utilization detection system 204 can receive machine data from one or more sensors and / or one or more computing devices. For example, a particular machine can be equipped with a particular sensor and / or a particular computing device that monitors the machine and generates machine data identifying the performance of the machine. Furthermore, the machine data can include one or more of machine efficiency, machine usage, machine performance, machine repair time, problems associated with the machine, machine downtime, and the like. In some embodiments, the machine utilization detection system 204 can obtain the machine data from a data store. Thus, the production computing system 104 can obtain the machine data via the machine utilization detection system 204.
[0035] The machine utilization detection system 204 can provide the machine data to the production computing system 104, which in turn can provide the machine data to the store management system 102. The production computing system 104 can provide the machine data on a periodic or non-periodical basis. The production computing system 104 can also store the machine data in a machine data store 214 for analysis, filtering, combining, transformation, etc., and provide it to the simulation computing system as production data.
[0036] Worker Data The production computing system 104 may include a worker utilization detection system 206 that acquires and / or generates worker data. The worker utilization detection system 206 may include one or more sensors (e.g., cameras) for monitoring the performance (e.g., efficiency, accuracy, etc.) of one or more workers (e.g., workers associated with a store). Additionally, the worker utilization detection system 206 may communicate with one or more sensors to receive data and may generate worker data based on the received data. Worker data is data that allows identification of worker utilization data (e.g., data representing an amount of time a worker is utilized). For example, the sensor may determine that an order has been placed (e.g., via mobile ordering, a register, a drive-thru, etc.). Additionally, the sensor may determine that a label has been formed for the order and that the worker has begun preparing the order. The sensor may determine the amount of time the worker is present at a particular station associated with the order (e.g., if the order is an espresso, the sensor may determine the amount of time the worker is at the espresso machine station). Further, the sensor may determine that the worker has handed the order to the customer. Based on determining that the worker has handed the order to the customer, the sensor and / or the worker utilization detection system 206 may determine that the order is complete. Further, the worker utilization detection system 206 may identify worker utilization. For example, the worker utilization detection system 206 may classify portions of time required to prepare an order for a particular product. Further, the worker utilization detection system 206 may classify time actively preparing an order as a worker's "active time." The worker utilization detection system 206 may further classify time it takes for an order to be prepared by a machine and / or time when an order is not actively being prepared as a worker's "idle time."Additionally, the worker utilization detection system 206 may further classify the time that the worker walks between stations (e.g., to further prepare the order, to hand over the order, etc.) as the worker's "walking time." It should be understood that the worker utilization detection system 206 may classify the worker's time into more classes, fewer classes, or different classes. Additionally, the worker utilization detection system 206 may use the classified time to determine worker data (e.g., efficiency, utilization, etc. of a particular worker). For example, the worker utilization detection system 206 may compare the worker's active time to the overall time spent preparing the order to determine the utilization and / or efficiency of the worker. In some embodiments, the worker utilization detection system 206 may retrieve the worker data from a data store. Thus, the production computing system 104 may retrieve the worker data via the worker utilization detection system 206.
[0037] The worker utilization detection system 206 can provide the worker data to the production computing system 104. In addition, the production computing system 104 can provide the worker data to the store management system 102. The production computing system 104 can provide the worker data on a regular or non-regular basis. In addition, the production computing system 104 can store the worker data in the worker data store 216 for analysis, filtering, combining, transformation, etc., and provide it to the simulation computing system as production data. Thus, the store management system 102 can receive inventory data, overall performance data, machine data, and / or worker data as production data and provide the production data to the simulation computing system. In some embodiments, the store management system 102 can transform (e.g., aggregate) one or more of the inventory data, overall performance data, machine data, and / or worker data to generate production data.
[0038] Based on the received data, the store management system 102 can generate production data. For example, the production data can identify one or more of service speed, product queue time, customer queue time, order production time, product production time, window time, stack length, queue length, worker efficiency and / or utilization, machine efficiency and / or utilization, product purchase quantity and / or quality, throughput, balk rate, customer wait time, and the like. For example, the service speed can be the time from when a customer enters the store (or enters the drive-thru line) to when a worker handles the ordered product, and the throughput can be the number of products produced in a given time window (e.g., a 30-minute time window). The product queue time can be the time from when a product is ordered to when a worker is assigned the product and / or when a label for the product is printed, and the customer queue time can be the time from when a customer enters the store (or enters the drive-thru line) to when the customer places the order. The order production time can be the time from when an order is placed to when a worker handles the ordered product, and the product production time can be the time from when production of the product starts to when production of the product is completed. Additionally, window time may be the time from when a vehicle arrives at a drive-thru window to when a customer associated with that vehicle receives the ordered product, queue length may be the number of customers in the in-store line waiting for an order (e.g., not including customers who previously placed orders), and stack length may be the number of vehicles in the drive-thru line (e.g., including vehicles serving customers who previously placed orders).
[0039] The process of generating a virtual replica of a store To further illustrate how the simulation computing system 108 can generate a virtual replication of a store and provide associated virtual replication data to a virtual store management system, FIG. 3A illustrates an exemplary interaction 300A in identifying store data, generating a virtual replication of the store based on the store data, and providing virtual production data based on the virtual replication of the store. The interaction 300A in FIG. 3A can occur, for example, while the store is operational and / or in response to a prompt from a user. Additionally, the interaction 300A can occur after an initial configuration of the store.
[0040] The interaction of FIG. 3A begins at (1), where the store management system 102 identifies store data for a store. The store management system 102 may identify the store data based on a store identifier associated with a particular store (e.g., a store identifier assigned and / or provided to the store management system). The store management system 102 may receive the store data through a registration process of the store with the store management system. Additionally, the store management system 102 may receive the store data as batch store data or streaming store data (e.g., store data received in real time). In some embodiments, the store management system 102 may receive the store data from a user computing device, one or more sensors, and / or any other device. Additionally, the store management system 102 may identify the store data by analyzing the operation of the store (e.g., to determine a store configuration). The store management system 102 may store the identified store data and may subsequently update the stored store data based on the identified store data.
[0041] Store data can include data describing a store configuration. For example, store data can include data describing a time to produce a particular product and / or a particular order (e.g., a duration to complete a particular order manually or by machine, etc.). Additionally, store data can include data describing a duration for a particular task (e.g., a time required to complete a particular task). Store data can also include store layout data, worker assignment data, product mix data, channel mix data, order data, etc. For example, store data can identify a schematic and / or floor plan of the store, a production engine layout of the store, a physical layout of the store, a physical layout of the machines in the store, a physical layout of the drive-thru, a physical layout of the fixtures in the store, a quantity, type and / or quality of machines in the store, a traffic channel mix associated with the store, a product mix associated with the store, worker assignments, order history, etc. A product mix associated with a store can identify a mix of product types and / or numbers of products per order (e.g., 40% of orders include at least two items, 40% of orders include an Americano, etc.). Additionally, the channel mix can identify the traffic channel mix (e.g., 30% of the orders are placed through the drive-thru, 20% of the orders are placed dine-in, 10% of the orders are placed through mobile ordering, etc.). The order history can identify the progression of orders over the course of a day (e.g., the order history can identify peak ordering windows, off-peak ordering windows, etc.). Thus, the store management system 102 can identify store data for a store.
[0042] Based on the identification of the store data, at (2), the store management system 102 provides the store data to the virtual store management system 112. The store management system 102 may analyze the store data and provide a store data subset to the virtual store management system 112. In some embodiments, the store management system 102 may provide the store data to a store data store. For example, the store management system 102 may store the store data in the store data store along with a store identifier associated with the store data. The virtual store management system 112 may retrieve the store data from the data store based on the store identifier associated with the store data. Thus, the store management system 102 may provide the store data to the virtual store management system 112.
[0043] Based on receiving the store data, at (3), the virtual store management system 112 provides the store data to the simulation computing system 108 for generating a virtual replication of the store. The virtual store management system 112 may provide the store data obtained from the simulation computing system 108, or a subset of the store data obtained from the simulation computing system 108, to the simulation computing system. Additionally, the virtual store management system 112 may provide the store data along with a request to generate a virtual replication of the store. Additionally, the virtual store management system 112 may indicate how the simulation computing system 108 would generate a replication of one or more stores based on the store data. Thus, the store data may be provided to the simulation computing system 108 by the virtual store management system 112.
[0044] To identify the modified store version, in (4), the simulation computing system 108 generates a virtual replication of the one or more stores. To generate the virtual replication of the one or more stores, the simulation computing system can provide input data to the simulation platform. In some embodiments, the input data can be a script for generating the virtual replication of the one or more stores. The input data can include one or more base inputs associated with the store (or stores). For example, the base inputs can include inputs or parameters (e.g., timing data associated with the stores). The input data can also include one or more customization inputs associated with the store. The customization inputs can include store data. Based on the provided input data, the simulation computing system 108 can generate a virtual replication of the store. Furthermore, the simulation computing system 108 can modify one or more inputs or parameters of the input data to generate a virtual replication of the modified store. The virtual replication of the modified store can identify how the store will be operated if one or more parameters are modified. For example, a virtual replication of a modified store can identify how store operations change if the store layout is modified (e.g., if an in-store ordering option is removed). The simulation computing system 108 can generate virtual replications of multiple modified stores. Thus, the simulation computing system 108 can generate virtual replications of one or more stores.
[0045] Based on the virtual replication of the one or more stores, the simulation computing system 108 provides virtual production data to the virtual store management system 112 at (5). The simulation computing system 108 can generate virtual replications of the one or more stores and simulate the operation of the virtual replications of the one or more stores. Based on the simulation of the operation of the one or more virtual replications, the simulation computing system can identify virtual production data associated with the one or more virtual replications. For example, each of the one or more virtual replications can generate virtual replication data representative of the operation of the corresponding virtual replication. In some embodiments, the simulation computing system 108 and / or the virtual store management system 112 can identify key performance indicators based on the virtual production data. For example, the key performance indicators can include service speed (e.g., per item, per store, per queue length, etc.), worker utilization and / or efficiency (e.g., per worker), throughput (e.g., per machine, per store station, etc.), etc. based on the virtual production data. Thus, the simulation computing system 108 can provide the virtual production data to the virtual store management system 112.
[0046] To further illustrate how the virtual store management system 112 can generate a virtual replication of a store, FIG. 3B illustrates an example interaction 300B in generating a virtual replication of a store, including a comparison of production data to virtual production data. The interaction 300B in FIG. 3B can occur, for example, after the simulation computing system 108 has simulated the performance of the virtual replication of one or more stores to identify the virtual production data. Additionally, the interaction 300B can occur after an initial configuration of the store. In some embodiments, the interaction 300B can occur subsequent to the interaction 300A in FIG. 3A.
[0047] The interaction of FIG. 3B begins at (1), where the store management system 102 identifies production data for a store. The store management system 102 may identify the production data based on a store identifier associated with a particular store (e.g., a store identifier assigned and / or provided to the store management system). The production data may identify the performance of the store, which may be based at least in part on a store configuration identified by the store. Additionally, the production data may identify how the store is being operated based on the store data. For example, the store management system 102 may analyze the production data to identify key performance indicators (e.g., service speed, worker utilization data, machine utilization data, efficiency, etc.). The store management system 102 may receive the production data as the store is operating. For example, the store management system 102 may receive the production data representing worker data, machine data, overall performance data, inventory data, etc., periodically or non-periodically. Additionally, one or more computing devices may periodically report the production data to the store management system 102. The store management system 102 may receive the production data as batch production data or streaming production data (e.g., production data received in real time). As described above, the store management system 102 may receive the production data from user computing devices, one or more sensors, and / or any other device. Thus, the store management system 102 may identify production data for the store.
[0048] Based on the identification of the production data, at (2), the store management system 102 provides the production data to the virtual store management system 112. The store management system 102 can analyze the production data and provide a production data subset to the virtual store management system 112. The store management system 102 can provide the production data to the virtual store management system 112 following or during or after the simulation of the virtual replication of the store by the simulation computing system 108 to generate virtual production data. In some embodiments, the store management system 102 can provide the production data to a production data store. For example, the store management system 102 can store the production data in the production data store along with a store identifier associated with the production data. The virtual store management system 112 can retrieve the production data from the data store based on the store identifier associated with the production data. Thus, the store management system 102 can provide the production data to the virtual store management system 112.
[0049] Based on receiving the production data from the store management system 102 and the virtual production data from the simulation computing system 108, the virtual store management system 112 compares the production data to the virtual production data at (3). The virtual store management system 112 can compare the production data to the virtual production data to identify a particular store data set (e.g., a particular store configuration). For example, the virtual store management system 112 can compare the production data to the virtual production data to identify store data associated with maximum service speed, maximum worker utilization, maximum machine utilization, and the like. Additionally, the comparison of the production data to the virtual production data can be based on one or more user goals. The one or more user goals can be associated with a user of the virtual store management system 112 and can be indicative of the user's preferences or goals. For example, the one or more user goals can identify preferences for increased service speed, increased worker utilization, increased machine utilization, and the like. Based on the one or more user goals, the virtual store management system 112 can compare a particular component of the production data to the virtual production data. At a first time point (e.g., afternoon), a user may be associated with a first user goal (e.g., increase throughput), and at a second time point (e.g., nighttime), a user may be associated with a different second user goal (e.g., increase service speed). In some embodiments, the virtual store management system 112 may compare the production data to a plurality of virtual production data associated with virtual replications of a plurality of stores. Thus, the virtual store management system 112 performs a comparison of the production data to the virtual production data.
[0050] Based on the comparison of the production data to the virtual production data, at (4), the virtual store management system 112 generates an output. The virtual store management system 112 can generate an output (or multiple outputs) based at least in part on the comparison of the production data, the virtual production data, and the user's goals. For example, the virtual store management system 112 can generate an output based on determining whether a difference between the production data and the virtual production data exceeds a threshold (e.g., a user threshold, a system threshold, etc.). If the difference between the production data and the virtual production data exceeds the threshold, the virtual store management system 112 can generate an output including a virtual replication of a modified store with a modified store configuration based on store data associated with the virtual production data. If the difference between the production data and the virtual production data does not exceed the threshold, the virtual store management system 112 can generate an output including a virtual replication of a store with a current store configuration (e.g., based on a user preference to maintain the current store configuration). For example, the output may identify a modified store configuration including discontinuation of in-store orders, discontinued products (e.g., Americanos), in-store dining opening, etc. based on the virtual replication of the store associated with the change. Additionally, the output may include reordering of multiple received orders and / or orders including multiple products. For example, a store may receive a first order for a first product, a second order for a second product and a third product, and a third order for a fourth product. The output may include a worker schedule for allocating and starting production of the first product, allocating and completing production of the third product, allocating and starting production of the second product, allocating and completing production of the fourth product, and completing production of the first product and the second product. Thus, the output may be generated by the virtual store management system 112.
[0051] Based on the output here, at (6), the virtual store control system 112 provides an output to the user to the store control system 102 associated with the user. Further, the store control system 102 can route the output here to a user computing device associated with the user.
[0052] In response to receiving the output, the user computing device may display the output. For example, the user computing device may display the output via an interface (e.g., an API, a CLI, or any other interface). Additionally, the user computing device may display the output via a web page, a mobile API, a voice interface, or any other interface for the user computing device.
[0053] Exemplary Simulation User Interface 4 illustrates an exemplary user interface 400 through which a user computing device can provide information related to the virtual replication of a store. The virtual store management system 112 and / or the simulation computing system 108 can present and / or display the user interface 400. The user interface 400 can further include a prompt that recommends that the user change the store configuration based on the configuration of the virtual replication of the store. The virtual store management system 112 and / or the simulation computing system 108 can further cause the user interface 400 to be displayed based on receiving a prompt from the user computing device or identifying an action associated with the user computing device (e.g., navigation to a particular API). The virtual replication of the store can identify specific information associated with the store. For example, information associated with a store may include information associated with order types (e.g., mobile order ("MOP"), drive-thru orders (e.g., orders outside the window ("OTW"), etc.), the physical layout of the store (e.g., store drive-thru ("DT"), store cold beverage station ("CBS"), store hot beverage station, etc.), and / or store machines (e.g., store espresso machines ("ESP"), etc.).
[0054] User interface 400 includes multiple portions. For example, user interface 400 includes a first portion 402, a second portion 404, a third portion 406, a fourth portion 408, and a fifth portion 410. It should be understood that user interface 400 may include more, fewer, or different portions. Additionally, each portion of user interface 400 may be configured to be interactive such that interaction with user interface 400 results in the display of additional information associated with the virtual replication of the store.
[0055] The user interface 400 may identify a virtual replication of a store. Additionally, a first portion 402 of the user interface 400 may identify a physical layout of the virtual replication of the store. For example, the first portion 402 of the user interface 400 may identify a physical arrangement of workers, machines, fixtures, registers, etc. Additionally, the first portion 402 may identify a traffic channel associated with the store. In the example of FIG. 4, a virtual replication of a store is identified in the first portion 402, including one "Cafe Channel", four "Curbside Spots" and one "OTW Channel". From the first portion 402, a store identifier and a number of workers associated with the store may be identified. In the example of FIG. 4, from the first portion, the number of workers is identified as four "Partners" and the store identification information is identified as "Store 19475 Curb" and "DT / Cafe / Curbside".
[0056] In the second portion 404 of the user interface 400, machines associated with the virtual replication of the store may be identified. For example, the second portion 404 may identify machines located within the virtual replication of the store. In some embodiments, the second portion 404 may identify where each machine is located within the virtual replication of the store. In the example of FIG. 4, the second portion 404 identifies the machines associated with the virtual replication as “Brew”, “CBS”, “EPS CAFE”, “EPS DT”, “Oven 1”, and “Oven 2”.
[0057] From the third portion 406 of the user interface 400, information associated with the drive-thru of the store may be identified. For example, from the third portion 406, the number of vehicles (e.g., the average number of vehicles) in the drive-thru line may be determined each time a drive-thru order is placed in the virtual replication of the store. In some embodiments, the number of vehicles may include vehicles corresponding to prior orders. Additionally, from the third portion 406, the number of vehicles ahead of the order point (e.g., the number of vehicles corresponding to customers waiting to place an order) and the number of vehicles ahead of the delivery point (e.g., the number of vehicles corresponding to customers who have placed an order and are waiting to receive their order) may be identified. In the example of FIG. 4, from the third portion 406, the “DT Stacks” for the virtual replication of the store, including “Stack Size to Order Point 5” and “Stack Size to Window 4” are identified.
[0058] A fourth portion 408 of the user interface 400 may identify a product mix and / or channel mix associated with the virtual replication of the store. For example, the fourth portion 408 may identify how traffic to the store is split among different channels and / or how orders are split among different products. In the example of FIG. 4, the fourth portion 408 identifies a product mix that includes “35%” of “WARMED FOOD”, “18%” of “HOT ESPRESSO”, “16%” of “ICED COFFEE”, “10%” of “SHAKEN” and “9%” of “ICED ESPRESSSO”. The fourth portion 408 further identifies a channel mix that includes “46%” of OTW, “20%” of in-store pickup mobile orders and “20%” of in-store orders.
[0059] A fifth portion 410 of the user interface 400 may identify worker assignments. For example, the fifth portion 410 may identify each worker and each worker's location and / or assignment associated with the virtual replication of the store. For example, each worker may be assigned to a particular station. In the example of FIG. 4, the fifth portion 410 identifies that worker "A" is assigned to "Drive Thru Order Routine" and "Drive Thru Register Routine," worker "B" is assigned to "Brewed Coffee Routine," "Cafe Order Routine," and "Warmed Food Routine," worker "C" is assigned to "Curbside" and "Customer Support Cycle," and worker "D" is assigned to "Beverage Routine" and "Blended Beverage Routine." It should be understood that the user interface 400 may include more, less, or different information. Additionally, it should be appreciated that the virtual replication of a store may be associated with more, fewer or different machines, channels, workers, configurations, and the like.
[0060] It should be understood that FIG. 4 is provided as an example, and that the disclosure is not limited to a particular user interface or interfaces. Furthermore, it should be understood that the user interfaces can be combined, divided, or rearranged with other user interfaces within the scope of the disclosure. For example, portion 402 of user interface 400 and portion 408 of user interface 400 can be divided into separate user interfaces, which can be implemented to display a virtual replication of the store and the store's product mix and / or channel mix. In some embodiments, separate user interfaces can be displayed that represent recommended changes for customer interactions, worker assignments, machine assignments, layout changes, etc. Thus, it should be understood that FIG. 4 is exemplary and not limiting.
[0061] With reference to FIG. 5, an exemplary routine 500 for generating a virtual replication of a store is described. The routine 500 can be implemented, for example, by the virtual store management system 112 of FIG. 1. The routine 500 begins at block 502, where the virtual store management system 112 identifies a plurality of store data associated with the store. For example, the plurality of store data can be associated with the operation of the store. In some cases, the virtual store management system 112 can identify a plurality of environmental data associated with a physical environment (e.g., a store, a building, an office, a factory, a business, etc.). The plurality of store data can include at least one of inventory data, store configuration data, labor allocation data, store layout data, and / or machine allocation data (e.g., equipment allocation data). The labor allocation allows for identification of one or more workers (e.g., robotic workers or human workers) associated with the store.
[0062] At block 504, the virtual store management system 112 generates a virtual replication of the store. For example, the virtual replication of the store may be a virtual store, a virtual model, etc. In some cases, the virtual store management system 112 may generate a virtual environment (e.g., a virtual store) that models a physical environment (e.g., a store). The virtual store management system 112 may access a simulation platform to generate the virtual replication of the store. The simulation platform may generate the virtual replication of the store based on multiple store data. To generate the virtual replication of the store, the simulation platform may run multiple simulations and compare the outputs of each of the multiple simulations to validate the virtual replication.
[0063] In block 506, the virtual store management system 112 identifies a plurality of production data associated with the store. The virtual store management system 112 can identify the plurality of production data based on the virtual replication of the store. For example, the plurality of production data can include at least one of sensor data, machine data (e.g., equipment data), order data, inventory data, and / or order processing data. Furthermore, the virtual store management system 112 can receive the plurality of production data from another computing system (e.g., the store management system 102). For example, the virtual store management system 112 can obtain the plurality of production data in real time from one or more sensors. Furthermore, the virtual store management system 112 can also obtain the plurality of production data in real time from a store computing system associated with the store. The store computing system can monitor workers associated with the store and, based on the monitoring of the workers, identify worker utilization data associated with the workers. Furthermore, the plurality of production data can include worker utilization data. The worker utilization data can identify a status of the worker at a particular time (e.g., active, idle, walking, etc.). Additionally, the store computing system can monitor machines (e.g., specific equipment) associated with the store and, based on the monitoring of the machines, identify machine utilization data associated with the machines. The plurality of production data can include the machine utilization data. Based on the plurality of production data, the virtual store management system 112 can determine a service rate, throughput, and / or labor usage associated with the store.
[0064] In some cases, the virtual store management system 112 can use the production data to test (e.g., in real time) the virtual replication of the store. For example, the virtual store management system 112 can compare the production data associated with the store to the production data associated with the virtual replication of the store to align the data stream associated with the store to the data stream associated with the virtual replication of the store. The virtual store management system 112 can compare the production data associated with the store to the production data associated with the virtual replication of the store to verify whether the virtual replication of the store models the store. For example, the virtual store management system 112 can verify whether the production data associated with the store matches the production data associated with the virtual replication of the store within a predetermined accuracy (e.g., 90%, 95%, 97%, etc.). In some cases, the accuracy can be a system-generated or user-generated accuracy. If the virtual store management system 112 determines that the production data associated with a store does not match the production data associated with the virtual replica of the store within a predetermined accuracy, the virtual store management system 112 may adjust (e.g., in real-time) one or more values associated with the virtual replica of the store and retest the store. For example, the virtual store management system 112 may change one or more values associated with a particular sensor, a particular piece of equipment, an operator, etc. The virtual store management system 112 may adjust and retest the virtual replica of the store any number of times.
[0065] The virtual store management system 112 modifies one or more values of the plurality of store data to generate a plurality of modified store data at block 508. The virtual store management system 112 may modify one or more values of the plurality of store data to generate a plurality of modified store data based on the identification of the plurality of production data associated with the store.
[0066] In some cases, the virtual store management system 112, a separate system, and / or a user (via a user computing device) can define modifiable values for a plurality of store data. The virtual store management system 112, a separate system, and / or a user can indicate that values associated with one or more of partner number, partner type, store size, equipment number, equipment type, waste volume, drive-thru, mobile order, etc. can be modifiable or non-modifiable. For example, a user can indicate that values related to equipment number, equipment type, drive-thru, and mobile order can be modifiable, and that values associated with partner number, partner type, store size, and waste volume cannot be modifiable. Additionally, the virtual store management system 112, a separate system, and / or a user can provide value parameters (e.g., range, maximum, minimum, average, median, etc.) for one or more values. For example, a user can indicate that a value associated with the number of workers cannot be modified to more than 10 workers. The virtual store management system 112 can generate a plurality of modified store data based on the modifiable values and / or parameters.
[0067] In block 510, the virtual store management system 112 generates a virtual replication of the modified store. The virtual store management system 112 may access a simulation platform to generate the virtual replication of the modified store. The simulation platform may generate the virtual replication of the modified store based on the plurality of modified store data. As described above, to generate the virtual replication of the modified store, the simulation platform may run a plurality of simulations and compare outputs of each of the plurality of simulations to validate the modified virtual replication. Additionally, the simulation platform may map a plurality of store data sets including a plurality of store data to a plurality of virtual production data sets including a plurality of production data to determine how to simulate the modified virtual replication.
[0068] Based on the virtual replication and the modified virtual replication, in block 512, the virtual store management system 112 performs a comparison between the modified virtual replication of the store and the virtual replication of the store. The comparison between the modified virtual replication of the store and the virtual replication of the store may be performed based on a plurality of production data. Furthermore, to compare the modified virtual replication of the store and the virtual replication of the store, the virtual store management system 112 may compare the production data associated with the modified virtual replication and the production data associated with the store. In some embodiments, the virtual store management system 112 may compare the plurality of modified virtual replications of the store (including the modified virtual replication of the store) with the virtual replication of the store based on a plurality of production data. Furthermore, the virtual store management system 112 may further determine one or more user goals, where the user goals may correspond to one or more of service speeds, throughput, and / or labor usage. The comparison between the modified virtual replication and the virtual replication may be performed based on the one or more user goals. In some embodiments, each of the user goals may be associated with a particular condition, and the comparison between the modified virtual replication and the virtual replication may be performed based on the particular condition.
[0069] To determine a store configuration for the store, in block 514, the virtual store management system 112 outputs a virtual replication of the modified store. The output of the virtual replication of the modified store may be based on comparing the virtual replication of the modified store to the virtual replication of the store. In some embodiments, the output of the virtual replication of the modified store may be based on comparing a plurality of the modified virtual replications to the virtual replication. The output may include data associated with the virtual replication of the modified store. For example, the output may include a modified store layout associated with the store, a modified worker assignment associated with the store, or a modified machine (e.g., equipment) assignment associated with the store. Additionally, the output may include a worker schedule, where the worker schedule may be dynamically defined by the scheduling system.
[0070] In some embodiments, the virtual store control system 112 may display the output via a display of a user computing device associated with the user.
[0071] The virtual store management system 112 can output the virtual replication of the modified store as a recommendation for the user (e.g., a recommended layout of the store). In some cases, to generate the recommendation, the virtual store management system 112 can compare the virtual replication of the modified store to the virtual replication of the store based on the cost of implementing the recommendation, savings based on implementing the recommendation, productivity based on implementing the recommendation, etc. For example, the virtual store management system 112 can recommend the virtual replication of the modified store based on determining that the savings based on implementing the recommendation exceed the cost of implementing the recommendation by a particular amount (e.g., 10%, 20%, etc.).
[0072] In some cases, the virtual store management system 112 can identify production data subsets associated with one or more store sensors. For example, the virtual store management system 112 can identify a first production data subset associated with a motion sensor associated with a drive-thru window, a second production data subset associated with a proximity sensor associated with a register, a third production data subset associated with a sensor associated with an espresso machine, etc. The virtual store management system 112 can identify the production data subsets based on a technique for analyzing the production data. For example, a user (via a user computing device) can identify an analysis technique for the production data to identify a production data subset associated with a particular sensor. In some cases, a user can update the analysis technique for the production data periodically or non-periodically. For example, a user can add a sensor to a store and define an analysis technique for the production data to identify a production data subset associated with the sensor, and / or a user can update and / or add an analysis technique for the production data to identify a production data subset associated with a previously added sensor.
[0073] Additionally, the virtual store management system 112 can define a virtual sensor in the virtual replication of the store that corresponds to the sensor. The virtual store management system 112 can define a virtual production data subset associated with the virtual replication of the store associated with the virtual store. Based on the virtual production data subset and the production data subset, the virtual store management system 112 can compare the store to the virtual replication of the store. Because the virtual store management system 112 can dynamically identify and / or define the data subset associated with a particular sensor, the virtual store management system 112 can dynamically adjust the granularity of the comparison of the store to the virtual replication of the store. This can enable the virtual store management system 112 to correlate the virtual replication of the store to the store (e.g., based on the individual sensors associated with the store) with dynamic granularity. In some cases, the virtual store management system 112 can adjust the virtual replication of the store and / or a particular virtual sensor of the virtual replication of the store based on the comparison of the store to the virtual replication of the store using the virtual production data subset and the production data subset. In other cases, the virtual store management system 112 can replace the virtual replication of the store based on a comparison of the store using the virtual production data subset and the virtual replication of the store using the production data subset. Additionally, the virtual store management system 112 can utilize the defined virtual production data subset to compare the virtual replication of the modified store to the virtual replication of the store (e.g., using the virtual production data subset and the modified virtual production data subset).
[0074] In various embodiments, the execution routine 500 may include more, fewer, different, or different combinations of blocks than those shown in Figure 5. For example, the routine 500 may include a display of a virtual replication in some embodiments. As a further example, blocks 504 and 508 may be combined and the routine 500 may access a simulation platform to simultaneously generate the virtual replication and the modified virtual replication. Thus, it should be understood that the routine 500 shown in Figure 5 is illustrative and not limiting.
[0075] A general architecture of a virtual store control system 112, including an arrangement of computer hardware and software components that can be used to implement aspects of the present disclosure, is shown in Figure 6. The virtual store control system 112 may include more (or fewer) elements than are shown in Figure 6, although not all of these elements need to be shown to provide an enabling disclosure.
[0076] As shown, the virtual store control system 112 includes a processor 602, an input / output device 604, a network interface 606, and a data store 608, all of which are in communication with each other via a communication bus 610. The network interface 606 may provide a connection to one or more networks (e.g., the network 110 shown in FIG. 1) or computing systems, thereby enabling the virtual store control system 112 to receive and send information and instructions to other computing systems or services, such as the simulation computing system 108 and / or the store control system 102 shown in FIG. 1. In some embodiments, the virtual store control system 112 may process prompts received from the simulation computing system 108 and / or the store control system 102.
[0077] The processor 602 can also be in communication with a memory 620. The memory 620 can include computer program instructions (grouped in some embodiments as modules or components) executable by the processor 602 to implement one or more embodiments. The memory 620 typically includes RAM, ROM, and / or other persistent, secondary, or non-transitory computer readable media. The memory 620 can include an operating system 622 that provides computer program instructions used by the processor 602 in the overall management and operation of the virtual store management system 112. The memory 620 can also include specific computer executable instructions and other information (which may be referred to herein as "modules") for implementing aspects of the disclosure. For example, the memory 620 can include machine data 624, worker data 626, inventory data 628, and / or overall performance data 630. In some embodiments, machine data 624, worker data 626, inventory data 628, and / or overall performance data 630 may be obtained from and / or stored in internal or external data stores, either directly or via network 110.
[0078] It will be appreciated that many of the components illustrated in FIG. 6 are optional and that embodiments of the virtual store management system 112 may include combinations of components or not. Additionally, the components need not be separate or discrete. Components may also be rearranged. For example, the virtual store management system 112 may be represented by a single physical device or may alternatively be divided into multiple physical devices. In some embodiments, components illustrated as part of the virtual store management system 112 may additionally or alternatively be included in other computing devices (e.g., the store management system 102 of FIG. 1 ) such that some aspects of the disclosure may be performed by the virtual store management system 112 but other aspects may be performed by other computing devices.
[0079] It is to be understood that not necessarily all objectives or advantages can be achieved in accordance with any particular embodiment described herein: For example, one skilled in the art will recognize that a particular embodiment can be configured to operate in a manner that achieves or optimizes any advantage or advantages taught herein, without necessarily achieving other objectives or advantages taught or suggested herein.
[0080] All processes described herein can be implemented as software code modules that include one or more specific computer executable instructions executed by a computing system, and can be fully automated through the software code modules. The computing system can include one or more computers or processors. The code modules can be stored in any kind of non-transitory computer readable medium or other computer storage device. Part or all of the method can be executed in dedicated computer hardware.
[0081] Many variations beyond those described herein will be apparent from this disclosure. For example, depending on the embodiment, any acts, events, or functions of any algorithm described herein may be performed in a different order, and may be added, combined, or omitted entirely (e.g., not all acts or events described are necessary for an algorithm to execute). Furthermore, in some embodiments, acts or events may be performed simultaneously, rather than sequentially, for example, by multithreading or interrupt processing, or by multiple processors or processor cores, or on other parallel architectures. Furthermore, different tasks or processes may be performed by different machines and / or computing systems capable of cooperating.
[0082] Furthermore, although each component and operation has been shown in the figures or described herein in a particular arrangement or order, it is not necessary that such components and operations be arranged or performed in the particular arrangement and order described, or in the particular sequence, to achieve desirable results, nor is it necessary to include all of the components and operations. Other components and operations not shown or described may be incorporated into the embodiments and examples. For example, one or more additional operations may be performed before, after, simultaneously with, or during any of the operations described. Furthermore, in other implementations, the location or order of operations may be rearranged. Additionally, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the components and systems described may generally be integrated into a single product or packaged into multiple products.
[0083] The various example logic blocks and modules described in connection with the embodiments disclosed herein can be implemented or executed by a machine, e.g., a processing unit or processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processor may be a microprocessor, but may alternatively be a controller, a microcontroller, a state machine, or any combination thereof. The processor may include electrical circuitry configured to process computer-executable instructions. In another embodiment, the processor includes an FPGA or other programmable device that performs logical operations without processing computer-executable instructions. The processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and one or more microprocessors, one or more microprocessors in combination with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, the processor may include primarily analog components. The computing environment may include any type of computer system, including, by way of example and not limitation, a computer system based on a computational engine within a microprocessor, mainframe computer, digital signal processor, portable computing device, device controller or appliance.
[0084] In particular, conditional words such as "can," "can," "may," "could," and the like are understood in the context in which they are used to generally imply that certain embodiments include certain features, elements, and / or steps, while other embodiments do not, unless specifically stated otherwise. Thus, such conditional words are generally not intended to imply that features, elements, and / or steps are essential for one or more embodiments, and do not necessarily include logic that determines that such features, elements, and / or steps are included or performed in any particular embodiment, with or without user input or prompting.
[0085] Disjunctive phrases, such as the phrase "at least one of X, Y, or Z," are generally understood in the context in which they are used to indicate that an item, concept, etc. may be either X, Y, or Z, or any combination thereof (e.g., X, Y and / or Z), unless otherwise indicated. Thus, such disjunctive phrases are generally not intended to and do not suggest that an embodiment requires at least one X, at least one Y, or at least one Z, respectively, to be present.
[0086] Any process illustrations, elements or blocks in the flow diagrams described herein and / or illustrated in the accompanying figures should be understood as potentially representing modules, segments or portions of code that include one or more executable instructions for implementing a particular logical function or logical element in the process. Alternative implementations are also included within the scope of the embodiments described herein, where, as will be appreciated by those skilled in the art, depending on the functionality involved, elements or functions may be omitted, performed in a different order than illustrated or described, or substantially simultaneously, or in the reverse order.
[0087] Unless expressly stated otherwise, articles such as "a" and "an" should generally be construed to include one or more of the described items. Thus, the phrase "a device configured to..." is intended to include one or more of the referred to devices. Such one or more devices referred to herein may be generically configured to perform the declared things. For example, "a processor configured to perform things A, B, and C" may include a first processor configured to perform thing A and a second processor configured to cooperate with it to perform things B and C.
[0088] In summary, although various exemplary embodiments and examples have been disclosed and systems and methods have been disclosed in the context of these embodiments and examples, the disclosure extends beyond the specifically disclosed embodiments to other alternative embodiments and / or other uses of the embodiments and modifications thereof in specific forms and their equivalents. The disclosure expressly contemplates that various features and aspects of the disclosed embodiments can be combined with or substituted for each other. Thus, the scope of the disclosure should not be limited by the specific disclosed embodiments described above, but should be determined only by proper interpretation of the following claims and all of their equivalents.
[0089] Various exemplary embodiments of the present disclosure can be described by the following clauses. [Clause 1] 1. A system for outputting data associated with a modified virtual environment, comprising: The system comprises: a data store configured to store computer-executable instructions; at least one processor in communication with the data store; Equipped with The computer-executable instructions, when executed by the at least one processor, cause the at least one processor to: Identifying environmental data associated with the physical environment; generating a virtual environment based at least in part on said environmental data; identifying production data associated with said physical environment; modifying one or more values of the environmental data based at least in part on identifying production data associated with the physical environment to generate modified environmental data; generating a modified virtual environment based at least in part on the modified environment data; comparing the modified virtual environment to the virtual environment based at least in part on the production data; outputting data associated with the modified virtual environment based at least in part on comparing the modified virtual environment to the virtual environment; This is for the system. [Clause 2] The system of claim 1, wherein the environmental data includes at least one of inventory data, environmental configuration data, workforce allocation data, environmental layout data, or machine allocation data. [Clause 3] The system of any one of clauses 1 to 2, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to acquire the production data in real time from one or more sensors to identify the production data. [Article 4] To identify the production data, the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to obtain the production data in real time from a computing system associated with the physical environment; The computing system associated with the physical environment, monitoring a worker associated with the physical environment; Identifying worker utilization data associated with the worker based at least in part on the monitoring of the worker. wherein the production data includes the worker utilization status data. 3. A system according to any one of clauses 1 to 3. [Article 5] 5. The system of claim 4, wherein the worker is a robotic worker or a human worker. [Article 6] 6. The system of claim 4 or 5, wherein the worker utilization data is data for identifying a status of the worker at a particular point in time, the worker status including at least one of active, idle or walking. [Article 7] To identify the production data, the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to obtain the production data in real time from a computing system associated with the physical environment; The computing system associated with the physical environment, monitoring machines associated with said physical environment; Identifying machine utilization data associated with the machine based at least in part on the monitoring of the machine. wherein the production data includes the machine utilization data. 10. A system according to any one of clauses 1 to 6. [Article 8] 8. The system of any one of clauses 1 to 7, wherein the production data includes at least one of sensor data, machine data, order data, inventory data or order processing data. [Article 9] the production data includes at least one of sensor data, machine data, order data, inventory data, or order processing data; The computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: determining, based at least in part on the production data, one or more of a service rate associated with the physical environment, a throughput associated with the physical environment, or a labor usage associated with the physical environment; 9. The system according to any one of clauses 1 to 8, [Article 10] the production data includes at least one of sensor data, machine data, order data, inventory data, or order processing data; The computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: determining, based at least in part on the production data, one or more of a service rate associated with the physical environment, a throughput associated with the physical environment, or a labor usage associated with the physical environment; determining one or more user goals associated with a user corresponding to one or more of said service speed, said throughput, or said labor usage; wherein comparing the modified virtual environment to the virtual environment is further based at least in part on the one or more user goals. 10. A system according to any one of clauses 1 to 9. [Article 11] The system of claim 10, wherein a first one of the one or more user goals is associated with a first condition and a second one of the one or more user goals is associated with a second condition, and comparing the modified virtual environment with the virtual environment is further performed based at least in part on the first condition and the second condition. [Article 12] 12. The system of any one of clauses 1 to 11, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to compare production data associated with the physical environment and virtual production data associated with the modified virtual environment in order to compare the modified virtual environment with the virtual environment. [Article 13] 13. The system of any one of clauses 1 to 12, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to generate the virtual environment using a simulation platform to generate the virtual environment based at least in part on the environmental data. [Article 14] The computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: comparing the virtual environment to a plurality of modified virtual environments including the modified virtual environment based at least in part on the production data; selecting the modified virtual environment from the plurality of modified virtual environments based at least in part on comparing the virtual environment to the plurality of modified virtual environments. wherein outputting data associated with the modified virtual environment is based at least in part on selecting the modified virtual environment. 14. A system according to any one of clauses 1 to 13. [Article 15] 15. The system of any one of clauses 1 to 14, wherein the environmental data is further associated with the operation of the physical environment. [Article 16] 16. The system of any one of clauses 1 to 15, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to output a worker schedule that is dynamically defined by a scheduling system. [Article 17] To generate the virtual environment based at least in part on the environmental data, the computer executable instructions, when executed by the at least one processor, further cause the at least one processor to generate the virtual environment using a simulation platform that maps a plurality of environmental datasets to a plurality of virtual production datasets; wherein the plurality of environmental data sets includes the environmental data, and the plurality of production data sets includes the production data. 17. A system according to any one of clauses 1 to 16. [Article 18] To generate the virtual environment based at least in part on the environmental data, the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to generate the virtual environment using a simulation platform; The simulation platform includes: running a plurality of simulations to generate the modified virtual environment; Comparing outputs of each of the plurality of simulations to validate the modified virtual environment. 18. The system of any one of clauses 1 to 17, configured to [Article 19] 19. The system of any one of clauses 1 to 18, wherein the physical environment includes a store and the virtual environment includes a virtual store. [Article 20] 20. The system of any one of clauses 1 to 19, wherein the virtual environment includes a virtual replication of a store. [Article 21] 21. The system of any one of clauses 1 to 20, wherein the virtual environment includes a model of the physical environment. [Article 22] 1. A computer-implemented method comprising: Identifying environmental data associated with a physical environment; generating a virtual environment based at least in part on the environmental data; identifying production data associated with the physical environment; modifying one or more values of the environmental data based at least in part on identifying production data associated with the physical environment to generate modified environmental data; generating a modified virtual environment based at least in part on the modified environment data; comparing the modified virtual environment to the virtual environment based at least in part on the production data; outputting data associated with the modified virtual environment based at least in part on comparing the modified virtual environment to the virtual environment; 4. A computer-implemented method comprising: [Article 23] A non-transitory computer-readable medium having computer-executable instructions stored thereon, comprising: The computer-executable instructions, when executed by at least one processor, cause the at least one processor to: Identifying environmental data associated with the physical environment; generating a virtual environment based at least in part on said environmental data; identifying production data associated with said physical environment; modifying one or more values of the environmental data based at least in part on identifying production data associated with the physical environment to generate modified environmental data; generating a modified virtual environment based at least in part on the modified environment data; comparing the modified virtual environment to the virtual environment based at least in part on the production data; outputting data associated with the modified virtual environment based at least in part on comparing the modified virtual environment to the virtual environment; A non-transitory computer-readable medium configured to:
Claims
1. 1. A system for outputting data associated with a modified virtual environment, the system comprising: a data store configured to store computer-executable instructions; at least one processor in communication with the data store; Equipped with The computer-executable instructions, when executed by the at least one processor, cause the at least one processor to: Identifying environmental data associated with the physical environment; generating a virtual environment based at least in part on said environmental data; identifying production data associated with said physical environment; modifying one or more values of the environmental data based at least in part on identifying production data associated with the physical environment to generate modified environmental data; generating a modified virtual environment based at least in part on the modified environment data; comparing the modified virtual environment to the virtual environment based at least in part on the production data; outputting data associated with the modified virtual environment based at least in part on comparing the modified virtual environment to the virtual environment; system.
2. The system of claim 1 , wherein the environmental data comprises at least one of inventory data, environmental configuration data, workforce allocation data, environmental layout data, or machine allocation data.
3. 3. The system of claim 1 or 2, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to acquire the production data in real time from one or more sensors to identify the production data.
4. To identify the production data, the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to obtain the production data in real time from a computing system associated with the physical environment; The computing system associated with the physical environment, monitoring a worker associated with the physical environment; Identifying worker utilization data associated with the worker based at least in part on the monitoring of the worker. It is structured as follows: The production data includes the worker utilization status data. A system according to any one of claims 1 to 3.
5. The system of claim 4 , wherein the operator is a robotic operator or a human operator.
6. 6. The system of claim 4, wherein the worker utilization data is data for identifying a status of the worker at a particular point in time, the status of the worker including at least one of active, idle, or walking.
7. To identify the production data, the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to obtain the production data in real time from a computing system associated with the physical environment; The computing system associated with the physical environment, monitoring machines associated with said physical environment; Identifying machine utilization data associated with the machine based at least in part on the monitoring of the machine. It is structured as follows: the production data includes the machine utilization data; A system according to any one of claims 1 to 6.
8. The system of claim 1 , wherein the production data comprises at least one of sensor data, machine data, order data, inventory data, or order processing data.
9. the production data includes at least one of sensor data, machine data, order data, inventory data, or order processing data; The computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: determining, based at least in part on the production data, one or more of a service rate associated with the physical environment, a throughput associated with the physical environment, or a labor usage associated with the physical environment; A system according to any one of claims 1 to 8.
10. The production data includes at least one of sensor data, machine data, order data, inventory data, or order processing data, and the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: determining, based at least in part on the production data, one or more of a service rate associated with the physical environment, a throughput associated with the physical environment, or a labor usage associated with the physical environment; determining one or more user goals associated with a user corresponding to one or more of said service speed, said throughput, or said labor usage; comparing the modified virtual environment to the virtual environment is further performed based at least in part on the one or more user goals. A system according to any one of claims 1 to 9.
11. 11. The system of claim 10, wherein a first one of the one or more user goals is associated with a first condition and a second one of the one or more user goals is associated with a second condition, and wherein comparing the modified virtual environment to the virtual environment is further performed based at least in part on the first condition and the second condition.
12. 12. The system of claim 1, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to compare production data associated with the physical environment and virtual production data associated with the modified virtual environment in order to compare the modified virtual environment with the virtual environment.
13. 13. The system of claim 1, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to generate the virtual environment based at least in part on the environmental data.
14. The computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to: comparing the virtual environment to a plurality of modified virtual environments including the modified virtual environment based at least in part on the production data; selecting the modified virtual environment from the plurality of modified virtual environments based at least in part on comparing the plurality of modified virtual environments to the virtual environment; outputting data associated with the modified virtual environment based at least in part on selecting the modified virtual environment. A system according to any one of claims 1 to 13.
15. The system of claim 1 , wherein the environmental data is further associated with the operation of the physical environment.
16. 16. The system of claim 1, wherein the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to output a worker schedule that is dynamically defined by a scheduling system.
17. To generate the virtual environment based at least in part on the environmental data, the computer executable instructions, when executed by the at least one processor, further cause the at least one processor to generate the virtual environment using a simulation platform that maps a plurality of environmental datasets to a plurality of virtual production datasets; the plurality of environmental data sets includes the environmental data, and the plurality of production data sets includes the production data; A system according to any one of claims 1 to 16.
18. To generate the virtual environment based at least in part on the environmental data, the computer-executable instructions, when executed by the at least one processor, further cause the at least one processor to generate the virtual environment using a simulation platform; The simulation platform includes: running a plurality of simulations to generate the modified virtual environment; Comparing outputs of each of the plurality of simulations to validate the modified virtual environment. It is configured as follows: A system according to any one of claims 1 to 17.
19. 19. The system of claim 1, wherein the physical environment comprises a store and the virtual environment comprises a virtual store.
20. 20. The system of claim 1, wherein the virtual environment includes a virtual replication of a store.
21. The system of claim 1 , wherein the virtual environment includes a model of the physical environment.
22. 1. A computer-implemented method, comprising: Identifying environmental data associated with a physical environment; generating a virtual environment based at least in part on the environmental data; identifying production data associated with the physical environment; modifying one or more values of the environmental data based at least in part on identifying production data associated with the physical environment to generate modified environmental data; generating a modified virtual environment based at least in part on the modified environment data; comparing the modified virtual environment to the virtual environment based at least in part on the production data; outputting data associated with the modified virtual environment based at least in part on comparing the modified virtual environment to the virtual environment; 4. A computer-implemented method comprising:
23. A non-transitory computer-readable medium having computer-executable instructions stored thereon, comprising: The computer-executable instructions, when executed by at least one processor, cause the at least one processor to: Identifying environmental data associated with the physical environment; generating a virtual environment based at least in part on said environmental data; identifying production data associated with said physical environment; modifying one or more values of the environmental data based at least in part on identifying production data associated with the physical environment to generate modified environmental data; generating a modified virtual environment based at least in part on the modified environment data; comparing the modified virtual environment to the virtual environment based at least in part on the production data; outputting data associated with the modified virtual environment based at least in part on comparing the modified virtual environment to the virtual environment; A non-transitory computer-readable medium configured to:
