Microsoft Build 2020
Our digital event is over, but you can learn, connect, and code with your community anytime, with our on-demand videos.

Asgard Systems uses ML.NET to reduce food waste

Customer
Asgard Systems

Products & services
ML.NET
SQL Server
Azure SQL

Industry
Software & Consultancy

Organization Size
Small (1-100 employees)

Country
Romania

Asgard Systems is a software and consulting company focused on collaborating with partners across verticals to generate competitive advantages through high-end software platforms and processes. Asgard Systems is using ML.NET to forecast demand for groceries at a grocery store chain in Romania.

Business problem

Grocery stores must place orders for perishables before they know how much they will sell on a given day. What this means in practice is that millions of pounds of meat produce go to waste each year across the food retail industry because stores overestimate and order more than they can sell on a given day. Asgard Systems' clients need a way to intelligently predict how much demand they will see for a given item before it's time to order that item.

Why ML.NET?

"ML.NET just works. We used beta versions (way before version 1) in production running thousands of training cycles per day with zero problems. Using ML.NET outperformed other solutions we used in both efficiency and scalability. The fact that ML fits like a glove in the .NET Framework I am sure took a lot of effort from Microsoft, but the result is the most straightforward, efficient and scalable solution on the market. We actually had cases when data scientists, not developers, who worked solely in Python/R, learned to train models using ML.NET just because it was more efficient."

Mihai Mihaiescu, System Architect Asgard Systems

Impact of ML.NET

Every pound of fresh food that the store can avoid wasting represents multiple pounds of greenhouse gas emissions that are never emitted, as growing food is quite energy intensive. For example, consider the greenhouse gas emissions associated with some common fresh food items:

"We have achieved greater than 24 million pounds of CO2 emissions in yearly savings already and by the end of 2020 /early 2021 we will have yearly savings of about 240 million pounds of CO2 emissions. That is the equivalent of ~24,000 people being carbon neutral every year. Imagine that all the people who work for the retailer are now carbon neutral without compromising on turnover or profit. We achieved impressive results without trying to influence the consumer to eat less meat or fruits or change their eating habits in any way."

Mihai Mihaiescu, System Architect Asgard Systems

Solution architecture

Asgard trains an ML.NET forecasting model for each product at the store in order to predict demand. These models are integrated into a .NET Framework desktop application. A single training cycle runs on ~ 600MB of raw data, consisting of ~ 500,000 rows with more than 100 features each.

ML.NET has integrated well with their existing solutions leveraging SQL Server and Azure SQL, while also providing significant performance gains relative to Python. Training time compared to Python implementations of the same models is 20% to 50% faster. Additionally, inference with ML.NET works in under a second, where before it took multiple seconds in Python. Operationalization is more reliable and Asgard's solution using ML.NET increased the scalability at least 10x compared to their now legacy Python implementation.

The ML.NET model displays impressive accuracy. Consider the following chart showing the ML.NET model's predictions of demand overlaid with actual demand from the store over a few days:

Asgard Systems was able to leverage their existing knowledge of Microsoft technologies to frictionlessly deploy an ML.NET solution for forecasting grocery demand. Not only was this model more performant than Python for large datasets in their solution, but this model also helped the client save money while also averting hundreds of millions of pounds of CO2 emissions.

Ready to Get Started?

Our step-by-step tutorial will help you get ML.NET running on your computer.

Supported on Windows, Linux, and macOS

Get Started