Retail Machine Learning
An innovative solution for temperature reading on cooling equipment using Machine Learning.
In practically every grocery store, there are cooling or freezing devices to store food. Until now, the employee of a store or chain of stores, controlled the temperature by checking it occasionally. Unfortunately, it happened that before the employee noticed the failure of a refrigerator or freezer, the goods were already to be thrown away, or there was a risk of spoilage. In such a situation a store cannot afford to sell goods e.g. partially defrosted. Usually such a batch of goods was a loss.
In order to avoid such situations, for one of the largest grocery store chains in Poland we have created an application that reads temperature on cooling devices and reports the data to the system. Thanks to this, grocery stores prevent goods from thawing or storing food in inappropriate conditions. In addition to the safety of shoppers, the company has another benefit. It minimizes the risk of losses connected with wasting food.
In grocery store chains, there are procedures that require cyclic temperature reporting from cooling devices e.g. every two hours. A store employee launches a mobile application and, using his device's camera, scans the temperature and code of the refrigerator or freezer. The temperature is reported to the system.
When the temperature deviates from normal, the system administrator initiates emergency procedures so that the food stored in the fridge can be saved. If the store employee responsible for scanning temperatures has not taken the appropriate readings, he or she receives a PUSH notification with a reminder. He also receives these notifications when he has scanned e.g. 9 out of 10 devices in the facility. Then the PUSH message also contains information about the missing reading with the indication of the specific device e.g. missing reading from device no. 123, make it within 5 minutes.
The goal of the project was to implement a temperature reporting procedure on refrigeration equipment. Thanks to the application, the grocery store chain wanted to have regular temperature readings and to react as quickly as possible to emergencies. The goal was achieved by using OCR (optical character recognition) and a sequence of reminders to employees for necessary readings.
The application solves 3 problems:
- It introduces and systematizes a procedure for temperature readings. The procedure is easy, intuitive and minimizes the risk of human error - scanning the temperature simultaneously with the device code. The application automatically assigns the temperature to the device and reports it to the system.
- Reduces the risk of spoiling goods by refrigeration equipment failure by responding with alarm procedures at an early stage
- With PUSH reminders sent to the employees responsible for temperature readings, the grocery chain gets regular readings. The app also makes sure that no device is missed. Scanning the device code eliminates the possibility of entering the temperature without checking it.
The biggest challenge of the project was "training" the character recognition algorithm using Machine Learning. The challenge was that there are dozens of models of thermometers in the grocery store chain, with different sizes and locations. Some are frosted, some are foggy, and with some, the cover was scratched, making it difficult to read properly. It took both machine and human learning to find an integrated database along with matching the right solution.
We began developing the mobile application by estimating the number of data points needed to create a valuable solution for the core of the application based on Machine Learning. We spent a long time "training" the algorithm to maximize the precision and efficiency of the readings. We had to adapt the algorithm not only to a large number of thermometer models, but also to poor lighting conditions or older smartphone models. Thanks to this approach, the algorithm is able to recognize characters almost flawlessly. Errors or inability to read occurred where the human eye also failed.
We conducted tests of the application on different devices, i.e. with Android and iOS operating systems, different smartphone manufacturers (there were no models of a single manufacturer in the network) and on older models of smartphones. The tests covered all devices available in the grocery store chain. We conducted test temperature readings in real stores of the chain, which allowed to eliminate possible errors:
- poor lighting
- frost or moisture
- scratched covers
The whole work carried out can be divided into three stages:
- Workshops: Before starting the project, we conducted a workshop in which we created a list of functional requirements (FRD), in response to business requirements (BRD). At this stage, we also defined the scope of the system architecture (TRD). In this way, we aligned the scope of requirements with the client's needs. We better understood the objectives and figured out how to achieve them.
- Testing Phase: We tested the algorithm under various conditions to adapt the application to the changing usage patterns of the employees.
Implementation: Preparation and implementation of the final solution that met our client's business expectations.
An app developed for a grocery store chain solves problems and generates savings.
Breakdowns of refrigeration equipment happen and will continue to happen. Only a sufficiently fast reaction to the situation allows to reduce or even avoid losses related to failures. The application we have created solves the problem with regularity of readings, shortens the time from noticing the problem to reacting and prevents food waste.
Thanks to the app and the introduction of the procedure, the food in the stores that we buy every day is under control.
Their way of working is extremely transparent; we can easily see what they are currently working on and how long it takes them.