There is a lot of data related to several stores available in the NCR API. The data consists of details regarding the store's transactions through which we can obtain the details for each transaction. We plan on using this data in order to identify particular trends for any particular store.
What it does
We plan on developing a visualization tool that can identify the details of a particular store's state by using touchpoint ID as well as location as a parameter for scraping the data. Based on a particular touch-point ID which we obtain for a given machine at a particular store or using the location ID of the store. We find out the timeline of purchases made at the store. Using this information we fit a linear regression model which predicts if the shop is undergoing losses or profit (if the slope of the regression plot is negative - loss, if it is positive - profit). Apart from this, we also identify whether if the number of purchases was affected by any discounts being made to the customers over a given time duration identifying whether if frequent discounts or discounts at a particular time of the year give more purchases at the given store. Lastly, we identify the frequency of sales of individual products at the store so that we can identify which products hold higher value at a particular region so the supply could be increased or decreased based on the statistics.
All of these things can be done for all stores that are available in the API using a simple GUI for identification of the store touchpoint ID or the store location ID. Using these methods, we can optimize each store as per their demographics predicting their statistics and finding optimal solutions for solving them.
How we built it
We used the NCR API as well as streamlit for the dataset generation and GUI. We use scikit-learn to fit the linear regression model and pandas as numpy for carrying out the data processing and parsing.
Challenges we ran into
Accessing the NCR API was one of the biggest challenges for us and we weren't able to extract larger number of data samples which could've made each regression model for each store based on store touchpoint ID more accurate in predicting their losses and profits. We spent almost 1 and a half day trying to fetch larger data samples. We were also facing a lot of bugs related to strealit and converting the json output from the NCR API into interpretable terms.
Accomplishments that we're proud of
- Accessing the NCR data from the API and creating the UI for visualization of the same
- Completing the project and being able to implement the regression model for predictive analysis of NCR data.
What we learned
- Retail store demographics
- Dependency of store's sales with different locations as well as the time period of discounts.
- Differences in different product sales across different locations
- Prediction of profit or loss at a particular store based on the number of transactions made.
What's next for Finding Demographics for small businesses
- Implementing the same code on the full NCR API dataset would yield better results for the identification of stores that are undergoing loss and profit and identification of products that could be inflated at a higher price and products that could be discounted so as to make retailer profitable.
- Inverse study i.e. using product analysis across different stores i.e. comparing a single product's price and sales across different stores.
- Adding more complex models over the larger dataset.