Context
Vancouver's short-term rental market is fragmented - pricing varies by neighborhood, property type, and season. Investors make decisions based on gut feel rather than data. Without structured analysis, it's impossible to compare ROI across areas, identify underserved markets, or assess competitive positioning.
Technical Approach
Investment Grading System
Properties are scored across multiple dimensions and classified into grades:
- Excellent: High occupancy + above-median price + low competition density
- Good: Strong on 2 of 3 dimensions
- Fair: Average across dimensions
- Poor: Below-median on multiple dimensions
KMeans Clustering for Competitive Intelligence
I used KMeans (k=5, chosen via elbow method on inertia) to segment properties into competitive clusters based on: price, number of reviews (proxy for bookings), availability, and location. This reveals market segments - e.g., "premium downtown" vs. "budget suburban" - and identifies properties that are mispriced relative to their cluster.
Revenue Forecasting
Estimated annual revenue = (nightly price) x (365 - availability_365) x occupancy_adjustment. This is a simplified model but provides a useful first-order estimate for investment comparison.
Key Features
- Interactive Folium maps with property locations and metrics
- ROI analysis with automated grading
- Market saturation analysis (oversaturated vs. opportunity-rich areas)
- Neighborhood-level performance rankings
- Deployed and publicly accessible
Technologies
Python · Streamlit · Scikit-learn · Plotly · Folium · GeoPandas · Pandas