📊 Customer Satisfaction Prediction
This project predicts customer satisfaction ratings based on support ticket data using Machine Learning. It includes a Streamlit web application for batch predictions and visualization.
✅ Project Overview
The goal of this project is to analyze historical customer support data and build a predictive model that estimates customer satisfaction (1-5).
The app allows users to: ✔ Upload a CSV file of support tickets ✔ Predict satisfaction ratings using a trained ML model ✔ Visualize satisfaction distribution ✔ Download predictions as CSV
🗂 Dataset
The dataset consists of customer support ticket details such as:
Ticket ID
Customer Age & Gender
Product Purchased
Ticket Type & Description
Ticket Status & Priority
First Response Time & Resolution Time
Customer Satisfaction Rating (Target)
⚙ Tech Stack
Python 3.10+
Streamlit – Web application
scikit-learn – Machine learning
pandas, numpy – Data processing
matplotlib – Visualization
joblib – Model serialization
🚀 How to Run
-
Clone Repository git clone https://github.com//customer-satisfaction-prediction.git cd customer-satisfaction-prediction
-
Install Dependencies pip install -r requirements.txt
-
Run Streamlit App streamlit run app.py
📂 Project Structure customer-satisfaction-prediction/ │ ├── app.py # Streamlit application ├── customer_sat_model.pkl # Trained ML model ├── requirements.txt # Required Python packages ├── README.md # Project documentation ├── sample_upload.csv # Sample CSV for testing └── .gitignore # Ignore unnecessary files
📸 App Features
Upload CSV → Upload new ticket data
Predict → Predict satisfaction ratings
Visualize → See satisfaction distribution
Download → Download results as CSV
✅ Example Output Ticket ID Product Purchased Ticket Type Predicted_Satisfaction 101 Laptop Technical 5 102 Software Billing 3
🛡 License
This project is licensed under the MIT License.



