Methodology
Data Collection
Our automated data pipeline fetches building permit data from the City of London Open Data Portal on a daily basis. The pipeline downloads raw datasets in CSV and GeoJSON formats.
Data Normalization
We process the raw data through several normalization steps:
- Date parsing: All dates are converted to ISO 8601 format (YYYY-MM-DD).
- Currency values: Declared construction values are parsed and stored as whole dollar amounts (CAD). Dollar signs, commas, and other formatting are stripped.
- Ward assignment: If the source data includes ward numbers, we use those directly. Ward names are normalized to "Ward N" format.
- Permit types: Permit type categories are preserved as provided by the City. Unknown types are labeled "Unknown."
- Addresses: Addresses are kept as provided in the source data. We do not perform additional geocoding.
Aggregation
After normalization, we compute monthly aggregates grouped by ward and permit type. These aggregates power the trend charts and leaderboard tables across the site.
Data Storage
All data is stored in a SQLite database that is queried at build time to generate static HTML pages. No database queries happen at runtime — the site is fully pre-rendered.
Definitions
- Declared Value
- The estimated cost of construction as stated on the building permit application. Actual costs may differ.
- Permit Count
- The number of individual building permits issued in a given time period.
- Ward
- A municipal electoral district. London, Ontario currently has 14 wards, each represented by a city councillor.
- Permit Type
- The category of construction work (e.g., Residential, Commercial, Industrial, Institutional, Demolition).
Limitations
- Data may be delayed compared to the City's records.
- Not all permits may be included if the open data portal has filtering or limits.
- Declared values are estimates and may not reflect actual construction costs.
- Historical data availability depends on what the City publishes.
Open Source
The data pipeline and website code are open source. See our About page for more information.