Project 11
Automatically predicting the responsible department for 500,000+ Calgary 311 service requests using NLP and multi-label classification across 15 department classes
Streamlit application
Four pages covering request analytics, text-based NLP analysis, automated routing predictions, and department workload distribution.
Dashboard
Volume trends, resolution time distributions, and service type breakdowns across communities
NLP analysis
Text feature extraction, service type frequency encoding, and temporal pattern analysis
Router
Enter a service request description and get predicted department routing with confidence scores
Workload
Department workload balance, resolution time benchmarks, and capacity utilization metrics
Key results
Weighted F1
0.79
Gradient Boosting classifier across 15 department classes
Accuracy
0.80
Overall classification accuracy on holdout test set
Requests
500K
Historical 311 service requests from Calgary Open Data
Methodology
Fetched 311 service request data from Calgary Open Data. Parsed timestamps, computed resolution times, and extracted temporal features. Engineered community-level aggregates and service type frequency encoding. Compared Logistic Regression, Decision Tree, Random Forest, and Gradient Boosting classifiers, evaluating with accuracy, weighted F1, and macro F1.