Home » Case Studies » Retail Sales Performance Analytics
Retail Sales
Performance Analytics
data in a single platform
USA
Industry: Retail
Key Technology: Python, NodeJS, VueJS
Nobody in the retail organization has complete insight into what is happening across multiple hierarchies – of course, everyone has a general overview of one side – but not in-depth. We solved this problem by bringing all the data to one single platform, warehousing it, running certain analyses over the data, and generating insights.
Overview
Solution Offered : Product Development, Web Development, Data Analytics & AI
Technologies used : MySQL, SMSGatewayHub, AWS Server, SES
Technologies Used :
Python
NodeJS
VueJS
Docker
Laravel
AWS EC2
AWS S3
AWS SES
4
Full Stack
Software Engineers
1
Architect
1
Data
Analyst
1
Quality
Analyst
1
Product
Owner
9
Months of
Collaboration
Key Features
There was a robust system in place that allows the analysis of data, even if the data changes. All the user needs to do is upload the file in the respective placeholder/upload box. Data is processed automatically from there.
The structure of input files change every month. To tackle this, various master and data dictionaries were created which can be ingested into the system. Once the data dictionaries and masters are ingested, it can change the way a given file is processed. This made the system much more robust and decreased the need for changes.
Entire organization has a snapshot of what they want to see organized neatly in form of snapshots and graphs covering all the KPIs.
For people who need detailed data for analysis, they can see the computed and raw data in one view, and then they can create charts on it, analyze or highlight it as per their use case.
Challenges
The data was huge. Considering that a single store generates 20 sales a day and if there are 250 stores – there are 500 sales/day and over 15000 sales each month. However, each sale is broken up into multiple sale items/rows – one per item. For example, a device, accessory, rate plan, and insurance would be considered separately. We had to make sure that aggregation happens on live time and it doesn’t even take too much time.
There were too many files and processes to run, and multiple files were depending on each other. We were processing over 30 different types of files (XLSX or CSV) daily and generating over 60 tables by combining and processing all the files. Other than this, the data that was being ingested was in month-to-date format, i.e. we have to update the data as well as the subsequent files and store it. Organizations were required to store the historical data for both safekeeping, compliance, and analytical purposes.
The input format and data structure tended to change every month – even the computation that we do was changing every other month.
Solution
We used a multiple tech approach that was being run on top of a docker container. Vue + Node combination was being used on the web to serve the data and python was used along with scheduled cron jobs to clean, warehouse, process and analyze the data. Once the data is analyzed, the basic non-aggregated results are stored in the warehouse too.
The MySQL database was used in the web portal to be displayed to the end customer. We used grids, charting, and month-on-month views in the front. The filters were allowed to be dynamic and the entire dashboard allowed users to drill down the hierarchy, apply certain filters, and download raw or visible data as per their convenience. Danfo and tensors were used in the backend to make sure all the data-related operations were snappy fast.
We developed the computation engine to be dynamic in such a way that certain master or controller excel files can be defined and those files can be uploaded on the portal to define the computational flow – hence making it a low code platform for the business owners who want to tweak workflows.
Related
Case Studies
From fraud detection softwares to social media applications, our team has delivered exceptional results reepatedly. Here are some of our most coveted projects
Have a question?
We’d love to hear from you!
Drop us a line and we'll have a specialist get in touch shortly to explore options.