Inspiration

It's 11 AM. The morning shift just ended for Caribou Coffee and only two are left to staff as a huge rush of customers line up outside the door. Restaurants, retailers, & small business owners alike have all experienced the difficulty of finding a balance of staffing enough that demand is met but not too much that the time & resources of the company are wasted.

What it does

Resight takes the guesswork out of staffing prediction models, using historical trends from transaction data provided by NCR APIs and combines it with contextual information on stores, such as weather trends, geographic information, and historical trends. Resight uses these data sets combined with Azure's host of machine learning toolboxes to provide model predictions on customer demand and use this to provide the most optimized staffing models.

How we built it

Resight was built in the frontend with Angular and on the backend with Flask, both deployed on Microsoft Azure. Data is pulled in from both the NCR Transaction API with training data sourced from a restaurant but also from the Dark Sky and Meteostat APIs to provide historical weather trends which affect customer turnout. Model training & prediction was performed with Juypter Notebooks on Azure's compute platform, combined with sklearn and Facebook's Prophet libraries to provide model inference.

Challenges we ran into

Data. Lack there of, having to mangle with, missing fields, etc, etc. NCR's API was limited to a single location for only a years worth of data. To simulate multiple locations in a single city, their data was partitioned into four separate subgroups, however this made market prediction, especially long term (3+ month) prediction particularly challenging, since only a single years' worth of market trends could be captured. On top of that, the data we used had lots of missing fields, null values, or values that didn't necessarily make sense that had to be handled ad hoc.

Accomplishments that we're proud of

We're really proud of the fact that we were able to produce working models, both through sklearn to develop an ARIMA model but also with Facebook Prophet, which we learned for the first time and got working during the hackathon. Additionally, we spent a good amount of work making a beautiful UI and UX, and we really feel like we've achieved that goal.

What we learned

Exposure to new technology (deployment on Azure), new machine learning libraries (prophet), UI components in Angular. Timeseries forecasting & modeling, modeling with limited amounts of data, data generation & synthesis.

What's next for ReSight

Looking to expand our timeseries forecasting models with enhanced datasets, pull in more geographic information & additional factors such as neighborhood demographics and Census Data.

Built With

Share this project:

Updates