Solution Approach - Fleet-Analytics-Dashboard/Application GitHub Wiki
The solution was build based on CRISP-DM. Not only the data, but also the business and user goals were evaluated during the "Evaluation" stage.
1. Busines and Data Understanding
- Research users: for identifying the business needs, user needs, competitors the respective target groups
- Research data foundation: evaluate different data sets and choosen the best fit for our business and user goals
- Create design concept: create information architecture and design mockup using Balsamiq
2. Data Preparation and Modeling
- Data Preperation: batch processing of the telematic automotive fleet data with Pandas
- Data Modeling: create conceptual data models for the data to be stored in the database
- With the prepared data, create CSV files based on the data models for the Dash visualizations
3. Data Preparation and MVP
A minimum viable product is build with just enough features to satisfy early customers, provide feedback for the future solution
- Familiarizing with the functionalities and possibitilies of the Dash framework on the basis of the official documentation
- Familiarize with Data science libaries Pandas and Numpy
- Setting up initial Dash project: setup the dashboard and using the CSV files to create the first data visualizationsx
4. Setup Deployable Solution
- Prepare application for application: Setup up a Gunicorn HTTP Server in the app.yaml, creating requirements.txt with necessary dependencies, as well as optimizing the main.py for deployment
- Setup Dash application on Virtual Machine of the Google Cloud Compute Engine see app.yaml and app.main in repository
- Deploy application: based on instructions
5. Create Dash views with a PostgreSQL database connection
- Setup PostgreSQL database on Google CLoud SQL
- Stimulate needed data points: due to the need of additional data for visualizations, data points were simulated using NumPy's random functions
- Create tables with adequate attributes based on the data models
- Creating maintenance prediction using XGBoost: based on simulated sensor data, the team predicted the time left until next maintenance
- Create Dash views based on Design Mockup: Home, Downtimes, and Vehcile Overview pages were created, which consist of data visualizations for the respective target groups (fleet managers, controllers, and financial officers). The necessary data were shifted from the CSV files to a connection with the tables of the PostgreSQL database.
- Deploy new version of the dashboard: based on instructions