Recommendation data generation
A method and engine using environment and extrinsic data to predict actions that optimize operational parameters address the limitations of existing systems by integrating external factors, improving operational efficiency and effectiveness.
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- ORDERLY LTD
- Filing Date
- 2024-05-09
- Publication Date
- 2026-04-22
AI Technical Summary
Existing operations management systems rely on narrow data sets collected from within an operational environment, lacking a holistic perspective and failing to integrate external factors, which can significantly impact operational efficiency.
A computer-implemented method and engine that utilize environment telemetry data and extrinsic data to predict actions that optimize predetermined operating parameters by training a model to consider both local and external conditions and events.
Enables adaptive and systematic optimization of operations by suggesting actions based on both local and external factors, enhancing efficiency and effectiveness in various environments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field The present invention relates to techniques for predicting actions which, when undertaken, will optimise predetermined operating parameters associated operations undertaken within an environment. Background In commercial operations, a variety of operations management systems are employed to enhance efficiency, manage costs, and improve customer experience. These systems typically focus on areas such as inventory management, monitoring of customer flow, and resource scheduling, among others. However, a notable limitation of existing systems is their reliance on a relatively narrow set of data, mostly collected from within an operational environment itself. This data often pertains to immediate operational metrics, such as sales figures, inventory levels, and customer presence. While useful, this approach to data collection does not capture the full spectrum of factors that can influence commercial operations. Furthermore, the processing of collected data tends to lack a holistic perspective. Many systems operate independently, focusing on specific operational aspects without integrating data from other areas. This segmented approach to data analysis means that broader trends and potential correlations, which could significantly impact operational efficiency, often go unnoticed. For instance, the influence of external factors like weather conditions or local events on shopping patterns might not be considered in inventory decisions or scheduling staff breaks. Summary of the Invention In accordance with a first aspect of the invention, there is provided a computer implemented method of generating recommendation data indicative of actions for optimising predetermined operating parameters associated with operations undertaken within an environment. The method comprises the steps of: receiving environment telemetry data associated with events and conditions within the environment; receiving extrinsic data indicative of events and conditions external to the environment; inputting the environment telemetry data and extrinsic data into a recommendation engine comprising a model; predicting, by the model, one or more actions, which, based on the input environment telemetry data and extrinsic data, will optimise one or more predetermined operating parameters associated with the operations undertaken in the environment; generating, by the recommendation engine, recommendation data indicative of the one or more predicted actions; communicating the recommendation data from the recommendation engine to at least one user device in the environment, and conveying the recommendation data to a user via the user device. The model is configured through training to predict actions, based on input environment telemetry data and extrinsic data, that will optimise the one or more predetermined operating parameters. Optionally, the method further comprises receiving recommendation constraint data associated with certain types of actions, wherein if the model predicts one or more actions which are associated with the recommendation constraint data, said method further comprises processing the recommendation data in accordance with a constraint defined in the recommendation constraint data before communication to the at least one user device in the environment. Optionally, the constraint defined in the recommendation constraint data specifies certain types of action should not be communicated to the at least one user device, processing the recommendation data in accordance with the recommendation constraint data comprises discarding the recommendation data preventing communication of the recommendation data to the at least one user device. Optionally, if the constraint defined in the recommendation constraint data specifies certain types of action should be modified prior to communication to the at least one user device, processing the recommendation data in accordance with the recommendation constraint data comprises modifying the recommendation data in accordance with the recommendation constraint data prior to communication to the at least one user device. Optionally, the method further comprises, subsequent to communicating the recommendation data, receiving operating parameter data associated with a measurement of the predetermined operating parameters, and storing the predetermined operating parameter data for retraining and / or analysing a performance of the model. Optionally, the method further comprises storing the generated recommendation data in conjunction with the operating parameter data. Optionally, the environment telemetry data is received from one or more sensors located within the environment. Optionally, the extrinsic data is received from one or more data servers hosting dynamically updated extrinsic data. Optionally, one or more of the predetermined operating parameters comprises a parameter associated with waste reduction. Optionally, conveying the recommendation data via the user device further comprises displaying the recommendation data on a graphical display of the user device. In accordance with a second aspect of the invention, there is provided a computer implemented recommendation engine for generating recommendation data indicative of actions for optimising predetermined operating parameters associated with operations undertaken within an environment. The recommendation engine comprises a prediction model configured through training to predict actions that will optimise the one or more predetermined operating parameters. In use, the recommendation engine is configured to receive environment telemetry data associated with events and conditions within the environment; receive extrinsic data indicative of events and conditions external to the environment; input the environment telemetry data and extrinsic data into the prediction model, whereupon the model is configured to: predict one or more actions, which, given the events and conditions within the environment indicated by the input environment telemetry data and given the events and conditions external to the environment indicated by the extrinsic data, will optimise one or more predetermined operating parameters associated with the operations undertaken in the environment. The recommendation engine is further configured to generate recommendation data indicative of the one or more predicted actions, and communicate the recommendation data from the recommendation engine to at least one user device in the environment for conveying the recommendation data to a user via the user device. Optionally, the recommendation engine is further configured to receive recommendation constraint data associated with certain types of actions, and if the model predicts one or more actions which are associated with the recommendation constraint data, the recommendation engine is configured to process the recommendation data in accordance with a constraint defined in the recommendation constraint data before communication to the at least one user device in the environment. Optionally, if the constraint defined in the recommendation constraint data specifies certain types of action should not be communicated to the at least one user device, the recommendation engine is configured to process the recommendation data in accordance with the recommendation constraint data by discarding the recommendation data preventing communication of the recommendation data to the at least one user device. Optionally, if the constraint defined in the recommendation constraint data specifies certain types of action should be modified prior to communication to the at least one user device, the recommendation engine is configured to process the recommendation data in accordance with the recommendation constraint data by modifying the recommendation data in accordance with the recommendation constraint data prior to communication to the at least one user device. Optionally, subsequent to communicating the recommendation data, the recommendation engine is configured to receive operating parameter data associated with a measurement of the predetermined operating parameters, and communicate the predetermined operating parameter data to data storage for retraining and / or analysing a performance of the model. Optionally, the recommendation engine is further configured to communicate to the data storage the generated recommendation data in conjunction with the operating parameter data in the data storage. Optionally, the environment telemetry data is received by the recommendation engine from one or more sensors located within the environment. Optionally, the extrinsic data is received by the recommendation engine from one or more data servers hosting dynamically updated extrinsic data. Optionally, one or more of the predetermined operating parameters comprises a parameter associated with waste reduction. In accordance with a third aspect of the invention, there is provided a computer program comprising computer executable instructions which when executed on a computing system control the computing system to implement a method according to the first aspect. In accordance with certain embodiments of the invention, a technique is provided for adaptively predicting which actions will optimise certain parameters associated with operations within environment. Once these predictions are made, recommendations to implement the actions are conveyed to one or more users, enabling those users to undertake the actions and thereby optimise operations within the environment. The predictions are made by a specially trained model and are based on telemetry data relating to local events and conditions within the environment, and extrinsic data relating to events and conditions outside the environment. In this way actions can be suggested adaptively based both on local conditions and events and external conditions and events in a systematic manner. Various further features and aspects of the invention are defined in the claims. Brief Description of the Drawings Embodiments of the present invention will now be described by way of example only with reference to the accompanying drawings where like parts are provided with corresponding reference numerals and in which: 5 Figure 1 provides a simplified schematic diagram depicting a system arranged in accordance with certain examples of the invention; Figure 2 provides a simplified schematic diagram depicting a system arranged in accordance 10 with an example of the invention; Figure 3 provides a simplified schematic diagram depicting a recommendation interface displayed on the user device in accordance with certain embodiments of the invention, and 15 Figure 4 provides a flow chart showing steps performed by system arranged in accordance with certain embodiments the invention. Detailed Description Figure 1 provides a simplified schematic diagram depicting a system 101 for predicting actions that will optimise certain operating parameters within an environment, and for conveying recommendation data for performing the actions to one or more users. The system 101 comprises an environment management system 102 which comprises a recommendation engine 103. The recommendation engine 103 itself comprises a prediction model 104. Software implementing the environment management system 102 and recommendation engine 103 can be hosted on one or more suitable application servers. The prediction model 104 can be implemented using any suitable trained Al model, including but not limited to artificial neural networks (ANNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), deep reinforcement learning models, support vector machines (SVMs), decision trees, random forests, gradient boosting machines (GBMs), and Bayesian networks. The system further comprises a plurality of environment telemetry data collection devices 105, a plurality of operating parameter data collection devices 106 and one or more user devices 107, all of which are located within an environment 108. The plurality of environment telemetry data collection devices 105 can be provided by any suitable devices capable of detecting conditions and events locally within the environment. Depending on the nature of the environment, these devices can be provided by any appropriate measurement instrument, sensor detection unit, monitoring system, data acquisition hardware, or collections thereof. The plurality of operating parameter data collection devices 106 can be provided by any suitable devices capable of collecting parameter data associated with the parameters being optimised. Depending on the nature of the environment, and the operating parameters subject to optimisation, such devices can be provided by any appropriate control and measurement units, data loggers and recorders, instrumentation and control systems, performance monitoring tools, or feedback mechanisms. Each of the one or more user devices 107 includes a recommendation interface via which, as described in more detail below, recommendation data can be displayed or otherwise conveyed to a user. The user devices of the one or more user devices 107 can be provided by any suitable device capable of receiving the recommendation data and conveying this to a user via the recommendation interface, such as personal computing devices like tablets, smartphones, laptops, and desktop computers; smart watches and other wearable technology; smart displays and smart speakers with screens; as well as gaming consoles and entertainment systems. Additionally, augmented reality devices such as headsets, glasses, and earpieces, along with traditional screens and projectors, can also serve as user devices. Furthermore, the user device could be provided by a suitably adapted point-of-sale (POS) terminal or similar device. The system 101 further comprises a plurality of extrinsic data sources 109 and a further computing system 110. The further computing system 110 includes a management interface via which, as explained in more detail below, recommendation constraint data can be entered. The plurality of extrinsic data sources 109 can be provided by any suitable computing devices or systems which host data indicative of real-time, near real-time or non real-time events and conditions external to the environment. Typically, this data is dynamically updated overtime. In other words, this extrinsic data is typically continually revised as new information becomes available, ensuring it remains current and accurate over time. Such data sources can be provided by any suitable systems such as cloud-based storage and computing platforms, dedicated servers and data centres, API services, public and private databases, social media platforms and forums, news aggregators and content delivery networks, remote sensing platforms such as CCTV systems or satellite observation based systems, and so on. The further computing system 110 can be provided by any suitable computing device such as a personal computer, a server, or a network of personal computers and servers, typically found in centralised control environments like corporate head offices. This encompasses data processing units, enterprise servers, or cloud-based computing resources, all configured to oversee and process data across an organisation's network. Via a suitable data connection (typically a data network provided by the internet which, for clarity, is not shown in Figure 1), the plurality of environment telemetry data collection devices 105 are configured to generate environment telemetry data associated with events and conditions within the environment 108 and communicate this data to the recommendation engine 103 of the environment management system 102. Similarly, again, via a suitable data connection, the plurality of extrinsic data sources 109 are configured to communicate extrinsic data indicative of events and conditions external to the environment 108 to the recommendation engine 103. As can be seen from Figure 1, the recommendation engine 103 further comprises a data preprocessing module 111 and a recommendation data generation module 112. The environment management system 102 also includes a data collection database 113 which can be provided by any suitable form of data storage as is known in the art, for example relational databases like PostgreSQL and MySQL, or NoSQL databases such as MongoDB and Cassandra The data from the plurality of environment telemetry data collection devices 105 and plurality of extrinsic data sources 109 is received by the data pre-processing module 111 which is configured to process this data to convert it to a format appropriate for input to the prediction model 104. This pre-processed data is then input to the prediction model 104. The output of the prediction model 104 is output data indicative of certain actions. These are actions which, given the events and conditions suggested by the environment telemetry data and extrinsic data, the prediction model 104 predicts (infers) should be taken to optimise one or more predetermined operating parameters associated with operations undertaken within the environment 108. The prediction model 104 is trained using training data which is indicative of how certain operating parameters associated with operations within the environment, change in response to certain actions, given differing local events and conditions and differing external events and conditions. This training data typically comprises historical operational data gathered during operations previously conducted within the environment, or similar operational environments. The prediction data generated by the prediction model 104 is then input to the recommendation data generation module 112. The recommendation data generation module 112 is configured to convert the output prediction data to recommendation data which is indicative of the predicted actions and communicate this recommendation data, via a suitable data network, to the one or more user devices 107. Each of the one or more user devices 107 is then operable to present this recommendation data on the recommendation interface such that an operative is informed of actions that can be taken that the prediction model 104 predicts will optimise the one or more predetermined parameters associated with operations undertaken within the environment 108. The recommendation interface can be provided by any suitable means, such as a web interface served to user devices from appropriate functionality on the environment management system 102. Other suitable examples include, but are not limited to a standalone application installed on the devices, a mobile app for access on smartphones or tablets, a comprehensive dashboard for centralised monitoring, voice-activated systems for hands-free operation, augmented reality interfaces for an immersive experience, or through direct notifications such as email alerts, SMS messages, push notifications on mobile and desktop devices, or even automated voice calls. The management interface running on the further computing system 110 provides a means by which an operative can input recommendation constraint instructions which are communicated as recommendation constraint data, via a suitable data network (e.g. the internet) to the recommendation engine 103. The management interface can be provided by any suitable means, for example, as standalone software, which could be part of a larger system such as an ERP system provided by the environment management system 102, or by a web interface (for example served by suitable functionality from the environment management system 102). This recommendation constraint data is input to the recommendation data generation module 112. If the prediction model 104 generates prediction data associated with an action identified in the recommendation constraint data, the recommendation data generation module 112 processes the recommendation in accordance with a constraint identified in the recommendation constraint data. For example, the constraint data could indicate ways in which certain types of recommendation data should be modified, for example to prevent exceeding safety limits or to avoid financial losses. In a retail setting, for instance, constraint data might adjust discount recommendations to ensure they do not reduce the profit margin below a certain threshold, safeguarding profitability while still encouraging sales. In a manufacturing context, recommendations to increase production speed could be modified by constraint data to prevent exceeding safe operational limits, protecting machinery from undue wear and ensuring worker safety. For entertainment venues, recommendations to lower heating to save energy might be modified by constraint data to maintain a comfortable environment, balancing cost savings with visitor satisfaction. Additionally, constraint data could dictate that certain types of recommendations should never be communicated to user devices or only communicated under certain circumstances. For example, in a retail setting, recommendations for price reductions on products with slim margins might be permanently withheld to prevent financial losses, whereas recommendations to activate certain highly discounted offers might be sent only during times of low footfall to effectively manage store capacity. In manufacturing, recommendations that could compromise product quality or worker safety might be entirely restricted to ensure standards are maintained, but recommendation to conduct optional maintenance tasks could be communicated during scheduled downtime to avoid disrupting production. Similarly, within entertainment venues, proposals that could potentially violate noise or safety regulations might be suppressed to ensure public safety and prevent legal issues, while recommendations to organise outdoor events or activities might be conditionally communicated based on favourable weather forecasts. The plurality of operating parameter data collection devices 106 are configured to collect operating parameter data associated with the parameters that the actions are predicted to optimise. The plurality of operating parameter data collection devices 106 are configured to communicate this as operating parameter feedback data back to the environment management system 102 (again, via a suitable data connection provided, for example, by the internet) for storage in the data collection database 113. The operating parameter feedback data is stored in conjunction with prediction data generated by the prediction model 104 and / or the recommendation data generated by the recommendation data generation module 112. As will be understood, usefully, this data can be used for subsequent training (or retraining) of the prediction model 104 or other related models and / or for analysing the performance of the model or similar models. Systems of the type described in Figure 1 can be implemented to optimise operating parameters associated with operations undertaken in many different environments, for example, but not limited to, retail environments (shops, restaurants, cafes, etc), manufacturing settings (factories, production lines, etc), logistics facilities (warehouses, distribution centres, etc), healthcare facilities (hospitals, clinics, laboratories, etc), educational institutions (schools, universities, learning centres, etc), and entertainment venues (theatres, cinemas, concert halls, etc). To illustrate an example of this, Figure 2 provides a simplified schematic diagram depicting a system 201 in which a recommendation engine is implemented for optimising operating parameters associated with a retail space environment, in this example, a coffee shop 202. In this illustrative example, the operating parameters associated with operations within the retail environment to be optimised are quantity of food waste (e.g. volume of spoiled milk and number of stale pastries) and sales revenue. The quantity of food waste operating parameter is optimised by being minimised, and the sales revenue operating parameter is optimised by being maximised. As can be seen from Figure 2, located within the coffee shop 202 are a plurality of groups of tables and chairs, a coffee preparation station 203 where coffee drinks are prepared, a sales counter on which is located a POS terminal 204, an item cabinet 205, and stock storage 206 where stock items are stored. Located throughout the coffee shop 202 are a plurality of environment telemetry data collection devices, specifically a plurality of sensors. These include a temperature sensor 207, a camera 208, a customer counter 209, and a stock level sensor 210. Each of these sensors are wireless and are configured to communicate data to a wireless data transceiver 211 also located within the coffee shop 202. Located within the coffee shop 202 are also two operating parameter data collection devices. A first operating parameter data collection device is provided by the POS terminal 204 itself which is configured to collect sales revenue data and communicate corresponding sales revenue parameter data to the wireless data transceiver 211. A second operating parameter data collection device is provided by a waste monitoring device 212 which incorporates a sensor for measuring the quantity of waste produced by operations of the coffee shop 202. The waste monitoring device 212 (comprising, for example, a load cell incorporated in a trash receptacle) is configured to generate waste-amount data indicative of the quantity of waste and communicate this, via a suitable wireless transceiver, as waste amount parameter data to the wireless data transceiver 211. An operative 213, for example, a coffee shop manager oversees operations in the coffee shop 202 and operates a user device 214, such as a tablet. The wireless data transceiver 211 is connected to a data network 215, typically the internet. The system 201 further comprises a further computing device 216, located in a further environment 217, such as a “head office” associated, for example, with an organisation that runs the coffee shop 202. The system 201 comprises a recommendation engine application server 218 on which is running environment management software which includes a recommendation engine of the type described with reference to Figure 1. As described above, the recommendation engine includes a prediction model. In this example, the prediction model is configured to receive as input environment telemetry data associated with conditions and events in the coffee shop 202, along with extrinsic data associated with local traffic conditions, weather conditions and mass-participation events. The prediction model is configured to output data indicative of actions which can be performed at the coffee shop 202 to minimise food waste and maximise sales revenue given the conditions and events within the coffee shop 202, and the local traffic conditions, weather conditions and factors relating to mass-participation events external to the coffee shop 202. Typically, the model is trained on datasets comprising historical operational data associated with the operations of an environment matching or similar to the coffee shop 202. In this example, this would comprise operational data indicative of how the impact of different actions within the shop on the size of sales revenue and quantity of food waste changes depending on varying conditions and events in the coffee shop 202 (detected by the sensors) and varying extrinsic conditions associated with events and conditions external to the coffee shop 202. For example, this operational training data may be indicative of the action of applying a discount to the price of a coffee, has a low impact on the size of sales revenue in times of high footfall, but a higher impact on the size of sales revenue during times of higher footfall. In this instance, the environment management software could be an integrated software system for managing operations of the coffee shop 202 including aspects such as staffing, stock management, accounting etc, or a standalone software system for generating recommendation data. The system 201 further comprises a plurality of extrinsic data sources. In this example, these are a traffic data web server 219 which provides traffic data associated with traffic conditions, including traffic conditions within a vicinity of the coffee shop 202; a weather data web server 220 which provides weather data associated with weather conditions, including weather conditions within a vicinity of the coffee shop 202, and an events data web server 221 which provides events data associated with events (for example football matches, music concerts, theatre events and so on), including events within a vicinity of the coffee shop 202. As can be seen from Figure 2, in this illustrative example, a milk jug 222 has been left on the customer counter 209 and a table 223 near an entrance of the coffee shop 202 has used items on it because it has not been cleared. In use, the system operates as follows: sensor data from the temperature sensor 207, camera 208, customer counter 209 and stock level sensor 210 which together form environment telemetry data relating to events and conditions within the coffee shop 202, are communicated to the recommendation engine application server 218 via the wireless data transceiver 211 and data network 215. Concurrently the environment management software running on the recommendation engine application server 218 requests and receives: traffic data from the traffic data web server 219 relating to traffic conditions in the vicinity of the coffee shop 202; weather data from the weather data web server 220 relating to weather conditions in the vicinity of the coffee shop 202; and event data from the events data web server 221 relating to events occurring in the vicinity of the coffee shop 202. The traffic data, weather data and event data together form extrinsic data relating to events and conditions external to the coffee shop 202. Any necessary pre-processing is undertaken on the environment telemetry data and extrinsic data for example, normalising numerical data for scale uniformity, extracting key features to highlight relevant information, converting categorical variables through data encoding, and structuring data into a format compatible with the model) and then this data is input to the prediction model. The prediction model outputs prediction data, based on the received extrinsic data (derived from the traffic data, weather data and events data) and the received environment telemetry data (derived from the sensor data from the temperature sensor 207, camera 208, customer counter 209 and stock level sensor 210) indicative of actions that if undertaken are predicted to minimise the amount of food waste and maximise sales revenue. In an illustrative example, the prediction data may comprise: 1. First prediction data indicative of an action to move the milk jug 222 from the customer counter 209 to a refrigerator. This may be based on sensor data from the camera 208 indicating a condition where milk has been left out and training of the prediction model on training data that suggests that in the event of such a condition, the quantity of food waste is reduced by the action of returning the milk to the refrigerator; 2. Second prediction data indicative of an action to clear the table 223 by the door of waste. This may be based on sensor data from the camera 208 indicating a condition where the coffee shop is untidy, and training of the prediction model on training data that suggests that in the event of such a condition, the action of tidying the interior of the coffee shop 202 increases sales revenue; 3. Third prediction data indicative of an action to place further stock items from the stock storage 206 in the item cabinet 205. This may be based on the extrinsic event data from the events data web server 221 indicating the event of a nearby concert recently finishing and training of the prediction model on training data that indicates that when such an event occurs (leading to a substantial increase in customers passing the shop), the action of ensuring the item cabinet 205 is fully stocked increases sales revenue. This prediction data is then converted into recommendation data. In this illustrative example, the first prediction data is converted into text data comprising a first prompt: “Consider putting milk in the refrigerator”; the second prediction data is converted into text data comprising a second prompt: “Consider ensuring all tables are cleared”, and the third prediction data is converted into text data comprising a third prompt: “Consider restocking the item cabinet”. This recommendation data is then communicated from the recommendation engine application server 216 via the data network 213 and the wireless data transceiver 211 to the user device 212 and displayed on an interface of the user device 212. An example of this is shown in Figure 3. Figure 3 provides a simplified schematic diagram depicting a view of the user device 212 which shows a display screen 301 of the user device 212 on which is displayed a recommendation interface in the form of a store management app 302. A first graphical element 303 displayed on the store management app 302 displays text data of the first prompt; a second graphical element 304 displayed on the store management app 302 displays text data of the second prompt, and a third graphical element 305 displayed on the store management app 302 displays text data of the third prompt. In this way, recommended actions can be conveyed to the operative 211 providing suggestions of actions which when performed are predicted to minimise the quantity of food waste and maximise sales revenue within the coffee shop 202. Returning to Figure 2, the further computing device 216 has running thereon software that provides a management interface. This management interface can be accessed by an operative such as a general manager based in the further environment 217 responsible for several further coffee shops similar to the coffee shop 202 depicted in Figure 2. The management interface may provide a means by which data associated with operations undertaken in the coffee shop 202 can be monitored. The management interface also provides a means by which an operative of the further computing device 214 can input recommendation constraint instructions via which constraints can be applied to the actions recommended to the operative 213 via the user device 214. For example, in certain circumstances, the prediction model running on the recommendation engine may generate prediction data indicative of the action of turning air conditioning on. This may be, for example, responsive to sensor data indicating a temperature condition in the coffee shop is quite high and the prediction model has been trained on the basis that this may lead to customers leaving the coffee shop 202 thereby reducing sales revenue. However, to reduce energy consumption, it may be preferred to avoid using air conditioning irrespective of the output of the prediction model. In such an example, an operative of the further computing device 214 may input recommendation constraint instructions specifying that recommendation data to activate air-conditioning should not be sent to user devices. Corresponding recommendation constraint data is then communicated via the data network 213 to the environment management software running on the recommendation engine application server 216 which is then ensures that any prediction data generated by the prediction model to activate air conditioning, is discarded and not communicated as recommendation data to the user device 212. As described above, the POS terminal 204 is configured to generate sales revenue parameter data and communicate this to the environment management software running on the recommendation engine application server 218 via the wireless data transceiver 211 and the data network 215. Similarly, the user device 212 is configured to generate waste-amount data indicative of the quantity of waste and communicate this to the environment management software running on the recommendation engine application server 218 via the wireless data transceiver 211 and the data network 215. On receipt of this data, a data storage function running on the environment management software is configured to store this data, typically in conjunction with recommendation data that was communicated to the user device 214, thereby forming data which can be used for subsequent training of the prediction model and / or for analysis of the performance of the prediction model. Figure 4 provides a diagram depicting a flow chart comprising steps for generating recommendation data that can be performed by a system of the type described with reference to Figure 1. At a preliminary configuration step, S400, recommendation constraint data is entered into the further computing system 110 and communicated to the environment management system 102 where it is input to the recommendation data generation module 112 of the recommendation engine 103. As described above, this data defines one or more constraints to be applied to recommendation data generated from the prediction model 104 before it is communicated to the one or more user devices 107. Subsequently, at a first operational step S401, environment telemetry data is communicated from the plurality of environment telemetry data collection devices 105 to the environment management system 102 where it is input to the data pre-processing module 111 of the recommendation engine 103. Similarly, at a second step S402, extrinsic data from the plurality of extrinsic data sources 109 is communicated to the environment management system 102 where it is input to the data pre-processing module 111 of the recommendation engine 103. At a fourth step, S404 the processed environment telemetry data and extrinsic data is input to the prediction model 104, and at a fifth step S405, the prediction model 104 outputs prediction data corresponding to one or more actions, which, based on the input environment telemetry data and extrinsic data, are predicted to optimise one or more predetermined operating parameters associated with the operations undertaken in the environment in question. At a sixth step, S406 it is determined whether or not the prediction data is associated with a constraint of the received constraint data, and if so, the constraint is applied. At a seventh step S407, recommendation data is generated from the prediction data by the recommendation data generation module 112 and at an eight step S408 this is communicated from the environment management system 102 to the one or more user devices 107. At a ninth step S409, the recommendation data is displayed on the one or more user devices 107. Once the recommendation data has been communicated in this way, at a tenth step S410, the plurality of operating parameter data collection devices 106 collect operating parameter data which is communicated back to the environment management system 102 and stored in the data collection database 113. The examples described above have been described in terms of a recommendation engine implemented as part of a larger environment management system. In alternative embodiments, recommendation engines in accordance with examples of the invention can be implemented in alternative ways, for example as standalone software applications, or incorporated as part of different types of larger software systems, depending on the setting. For example, in a setting where the operating parameters relate to a manufacturing environment such as a factory, a recommendation engine in accordance with embodiments of the invention could be implemented within a larger software system for implementing factory management tasks; or in a setting where the operating parameters relate to a logistics environment such as a warehouse, a recommendation engine in accordance with embodiments of the invention could be implemented within a larger software system for implementing logistics management tasks. In the example described with reference to Figure 1, the prediction model is shown incorporated within the recommendation engine. However, as the skilled person will understand, in alternative embodiments, certain elements of the recommendation engine (for example, the data pre-processing module 111 and recommendation data generation module 112) may be hosted separately from the prediction model itself, which may, for example, be hosted on a computing system specially adapted for running such models. As the skilled person will understand, the recommendation engine and prediction model can be hosted on any suitable hardware arrangement using any suitable techniques as are known in the art. For example, they can be implemented on a single server, distributed across multiple servers, deployed on cloud infrastructure (public, private, or hybrid cloud). It can utilise edge computing closer to data sources or end-users, be containerised using solutions like Docker containers, architected in a serverless fashion, or through a hybrid model combining different approaches. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and / or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and / or steps are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features. The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed. With respect to the use of substantially any plural and / or singular terms herein, those having skill in the art can translate from the plural to the singular and / or from the singular to the plural as is appropriate to the context and / or application. The various singular / plural permutations may be expressly set forth herein for sake of clarity. It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" (e.g., “a” and / or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the 5 recited number (e.g., the bare recitation of "two recitations," without other modifiers, means at least two recitations, or two or more recitations). It will be appreciated that various embodiments of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without 10 departing from the scope of the present disclosure. Accordingly, the various embodiments disclosed herein are not intended to be limiting, with the true scope being indicated by the following claims.
Claims
1. A computer implemented method of generating recommendation data indicative of actions for optimising predetermined operating parameters associated with operations undertaken within an environment, said method comprising the steps of:receiving environment telemetry data associated with events and conditions within the environment;receiving extrinsic data indicative of events and conditions external to the environment;inputting the environment telemetry data and extrinsic data into a recommendation engine comprising a model;predicting, by the model, one or more actions, which, based on the input environment telemetry data and extrinsic data, will optimise one or more predetermined operating parameters associated with the operations undertaken in the environment;generating, by the recommendation engine, recommendation data indicative of the one or more predicted actions;communicating the recommendation data from the recommendation engine to at least one user device in the environment, andconveying the recommendation data to a user via the user device, whereinsaid model is configured through training to predict actions, based on input environment telemetry data and extrinsic data, that will optimise the one or more predetermined operating parameters.
2. A method according to claim 1, further comprising:receiving recommendation constraint data associated with certain types of actions, whereinif the model predicts one or more actions which are associated with the recommendation constraint data, said method further comprises processing the recommendation data in accordance with a constraint defined in the recommendation constraint data before communication to the at least one user device in the environment.
3. A method according to claim 2, wherein if the constraint defined in the recommendation constraint data specifies certain types of action should not be communicated to the at least one user device, processing the recommendation data in accordance with the recommendation constraint data comprises discarding the recommendation data preventing communication of the recommendation data to the at least one user device.
4. A method according to claim 2 or 3, wherein if the constraint defined in the recommendation constraint data specifies certain types of action should be modified prior to communication to the at least one user device, processing the recommendation data in accordance with the recommendation constraint data comprises modifying the recommendation data in accordance with the recommendation constraint data prior to communication to the at least one user device.
5. A method according to any previous claim, further comprising: subsequent to communicating the recommendation data, receiving operating parameter data associated with a measurement of the predetermined operating parameters, andstoring the predetermined operating parameter data for retraining and / or analysing a performance of the model.
6. A method according to claim 5, further comprising storing the generated recommendation data in conjunction with the operating parameter data.
7. A method according to any previous claim, wherein the environment telemetry data is received from one or more sensors located within the environment.
8. A method according to any previous claim, wherein the extrinsic data is received from one or more data servers hosting dynamically updated extrinsic data.
9. A method according to any previous claim, wherein one or more of the predetermined operating parameters comprises a parameter associated with waste reduction.
10. A method according to any previous claim, wherein conveying the recommendation data via the user device further comprises displaying the recommendation data on a graphical display of the user device.
11. A computer implemented recommendation engine for generating recommendation data indicative of actions for optimising predetermined operating parameters associated with operations undertaken within an environment, said recommendation engine comprising a prediction model configured through training to predict actions that will optimise the one or more predetermined operating parameters, wherein, in use, the recommendation engine is configured to:receive environment telemetry data associated with events and conditions within the environment;receive extrinsic data indicative of events and conditions external to the environment;input the environment telemetry data and extrinsic data into the prediction model, whereupon the model is configured to:predict one or more actions, which, given the events and conditions within the environment indicated by the input environment telemetry data and given the events and conditions external to the environment indicated by the extrinsic data, will optimise one or more predetermined operating parameters associated with the operations undertaken in the environment, wherein said recommendation engine is further configured to:generate recommendation data indicative of the one or more predicted actions, and communicate the recommendation data from the recommendation engine to at least one user device in the environment for conveying the recommendation data to a user via the user device.
12. A computer implemented recommendation engine according to claim 11, wherein the recommendation engine is further configured to receive recommendation constraint data associated with certain types of actions, and if the model predicts one or more actions which are associated with the recommendation constraint data, the recommendation engine is configured to process the recommendation data in accordance with a constraint defined in the recommendation constraint data before communication to the at least one user device in the environment.
13. A computer implemented recommendation engine according to claim 12, wherein if the constraint defined in the recommendation constraint data specifies certain types of action should not be communicated to the at least one user device, the recommendation engine is configured to process the recommendation data in accordance with the recommendation constraint data by discarding the recommendation data preventing communication of the recommendation data to the at least one user device.
14. A computer implemented recommendation engine according to claim 12 or 13, wherein if the constraint defined in the recommendation constraint data specifies certain types of action should be modified prior to communication to the at least one user device, the recommendation engine is configured to process the recommendation data in accordance with the recommendation constraint data by modifying the recommendation data in accordancewith the recommendation constraint data prior to communication to the at least one user device.
15. A computer implemented recommendation engine according to any of claims 11 to 14, wherein subsequent to communicating the recommendation data, the recommendation engine is configured to receive operating parameter data associated with a measurement of the predetermined operating parameters, andcommunicate the predetermined operating parameter data to data storage for retraining and / or analysing a performance of the model.
16. A computer implemented recommendation engine according to claim 15, wherein the recommendation engine is further configured to communicate to the data storage the generated recommendation data in conjunction with the operating parameter data in the data storage.
17. A computer implemented recommendation engine according to claim 16, wherein the environment telemetry data is received by the recommendation engine from one or more sensors located within the environment.
18. A computer implemented recommendation engine according to claim 17, wherein the extrinsic data is received by the recommendation engine from one or more data servers hosting dynamically updated extrinsic data.
19. A computer implemented recommendation engine according to any of claims 11 to 18, wherein one or more of the predetermined operating parameters comprises a parameter associated with waste reduction.
20. A computer program comprising computer executable instructions which when executed on a computing system control the computing system to implement a method according to any of claims 1 to 10.