An end-to-end Data Analytics + Machine Learning project that analyzes customer support tickets and predicts customer satisfaction using AI.
This project combines EDA, visualization, ML modeling, and a professional interactive dashboard built with Streamlit.
Customer satisfaction directly impacts customer retention and brand reputation.
This project predicts customer satisfaction levels using Machine Learning and visualizes insights through Power BI and a Python-based dashboard.
The project demonstrates a complete analytics lifecycle: Data → ML Model → Predictions → Business Dashboards
- Analyze customer support ticket data
- Predict customer satisfaction ratings
- Identify customers at risk of dissatisfaction
- Monitor data quality and model performance
- Present insights using Power BI and Python dashboards
Customer-Satisfaction-Prediction/
│
├── app/
│ └── app.py # Streamlit Dashboard
│
├── data/
│ ├── customer_support_tickets.csv
│ └── eda_clean.csv
│
├── notebook/
│ ├── 01_EDA.ipynb # Data analysis & visualization
│ └── 02_ML_Model.ipynb # Model training
│
├── outputs/
│ ├── figures/ # EDA graphs
│ ├── ml_figures/ # Model performance plots
│ ├── ml_metrics.csv
│ └── predictions.csv
│
├── powerbi_dashboard/
| ├── Customer_Satisfaction_Dashboard.pbix
│ ├── Overview.png
│ ├── Tickets.png
│ ├── Voice Of Customer.png
| ├──Data health.png
│ ├── ML Performance.png
│ └── Prediction.png
│
├── check_model.py
├── requirements.txt
└── README.md
- Missing values analysis
- Ticket distribution and trends
- Satisfaction patterns by channel and priority
- Text analysis for customer feedback
- Feature preprocessing
- Classification model training
- Model evaluation using:
- Accuracy
- F1-score
- Recall
- ROC Curve
Final predictions saved in outputs/predictions.csv Best trained model saved as best_model.pkl
⚠️ The trained model filebest_model.pklis not uploaded to GitHub because the file size is too large for GitHub’s upload limits.- 👉 All outputs, graphs, metrics, and prediction files are included in the repository.
- If needed, the model can be recreated by running the ML notebook.
git clone https://github.com/aparna190417/Customer-Satisfaction-Prediction.git cd Customer-Satisfaction-Prediction
pip install -r requirements.txt
cd app streamlit run app.py
python check_model.py
- Executive KPI Snapshot
- Ticket trends & satisfaction analysis
- Voice of Customer (WordCloud)
- Model performance visuals
- Live AI satisfaction prediction
- Download prediction results as CSV
The Power BI dashboard converts raw data and ML outputs into business-friendly insights.
Dashboard Pages:
- Overview
- Tickets Analysis
- ML Performance
- Data Health
- Prediction
- Voice of Customer
📌 Note: The .pbix file must be opened using Power BI Desktop.
- Python
- Pandas, NumPy
- Matplotlib, Seaborn
- Scikit-learn
- NLP (Text features)
- Streamlit
- Power BI
- Identified customers likely to be dissatisfied
- Highlighted critical ticket channels and priorities
- Improved visibility into data quality and ML performance
- Enabled proactive customer support strategies
- Supports data-driven customer experience decisions
- Helps reduce customer churn
- Bridges the gap between Machine Learning and business users
Aparna Patel