Project 05

Shelter occupancy predictor

Calgary's emergency shelters operate near capacity, making resource planning difficult. This project forecasts daily shelter occupancy rates using 83K+ records, enabling proactive capacity planning and early warnings when demand is underestimated.

XGBoost Forecasting Rolling averages Calgary open data 83K records
0.88 R-squared (XGBoost)

Streamlit dashboard pages

Occupancy

Current and historical occupancy rates across Calgary emergency shelters with daily breakdowns

Forecast

Multi-day ahead occupancy predictions with confidence bands and seasonal adjustments

03

Capacity alerts

Automated 90% capacity warnings with shelter-level monitoring and trend indicators

04

Trends

Seasonal patterns, day-of-week effects, and long-term occupancy trend analysis

Key results

0.88
R-squared
XGBoost regressor
~0.04
Mean absolute error
Occupancy rate scale
83K+
Shelter records
Daily occupancy data

Methodology

Fetched daily shelter occupancy data from Calgary Open Data. Engineered temporal features, 7-day and 30-day rolling averages, and lag features per shelter. Trained Random Forest, Gradient Boosting, and XGBoost regressors. Used a temporal train/test split (80/20) to prevent data leakage. Generated multi-day-ahead forecasts with 90% capacity alerts.

01 Fetch 83K daily shelter records
02 Engineer rolling and lag features
03 Temporal train/test split
04 Train three regression models
05 Generate multi-day forecasts
06 Deploy Streamlit dashboard