Inspiration
We wanted to work on an idea that tackled a real life issue. The QSRSoft challenge was one that sparked our interest, as we saw a lot of opportunities to integrate ML in this vertical.
We combed through the QSRSoft page and other restaurant providers' pages and identified existing products and solutions, and using that, we concluded that inventory is a tough problem for restaurants to optimize for, and that the consequent waste can be harmful to both the restaurant's margins and the environment. In September 2015, the USDA and EPA announced the first-ever national target to reduce food waste across the United States, calling for a 50% reduction by 2030, and franchises and restaurants are committed to achieving this goal.
What it does
We trained a neural network to predict the amount of inventory by a franchise restaurant, given its location and a date in the future. It involves generating schema and mock data, creating a PyTorch/TensorFlow model, and deploying this model as an API. This prediction helps optimize inventory control and reduce wastage.
How we built it
QRSSoft allowed us to make assumptions about the data that we would have. We assumed that we would have data that reflected, for each franchise, the amount of inventory purchased and used for each item, the date purchased, and how much it costs. We put this data into a neural network using Pytorch, with a simple GNU and linear layer, and then trained it, resulting in a model that could could predict for each given location, the amount of inventory used in the future. We then deployed this model on Flask, and then invoked this endpoint in a front-end built on React, where we added a layer of authentication, as franchises most likely do not want others to access their sales and inventory data.
Challenges we ran into
Data Generation: Imagining what the set of data from QRSSoft may look like. We have never worked in the restaurant business before, so it was difficult to get creative and imagine what data would be accessible.
Neural Network Training: Training the model was difficult, as this was our first foray into neural networks. We found it difficult to decrease the loss function and it still is a bit higher than we anticipated.
Deployment Complexity: Hosting and deploying the model. We initially spent a day trying to get it to work with AWS SageMaker, but it was too complicated.
Accomplishments that we're proud of
Model Creation and Deployment: Successfully designing, training, and deploying a predictive model for restaurant inventory optimization.
User Interface: Building an aesthetically pleasing front-end that allows users to interact with the model and receive inventory predictions.
Learning Curve: Overcoming challenges related to data, neural networks, and deployment, despite being newcomers to these aspects.
What we learned
Since it was our first experiencing working with neural networks, we learned to train a model and how to deploy a model.
Neural Network Fundamentals: Acquiring fundamental knowledge of neural networks, including training and architecture design.
Deployment Techniques: Exploring deployment options, understanding their complexities, and implementing Flask for API creation.
Dataset Importance: Recognizing the significance of dataset diversity for enhancing model predictions.
What's next for QSRSoft Inventory Planner
If we had more time, we would explore how to better do predictions. We learned that a dataset with more fields yields better predictions, so we would take more time to explore how to add in these fields. Training a neural net was also quite time consuming, and we only used our laptops as hardware. If we could utilize a better processor, we could more quickly tune the weights and configure the layers.

Log in or sign up for Devpost to join the conversation.