Logo Lanfrica

layhadarries/Cape-Town-Suburb-Energy-Vulnerability-Index

Domaine:

environment and energygeospatial

Type de record:

dataset
Créateur:
lay
Hôte:
A data pipeline to extract dam level and electricity/ loadshedding data from EskomSePush and Cape Town Open Data API. Output is a Google Data Studio report, providing insight into the current loadshedding schedule and dam levels across South Africa. # Cape Town Suburb Energy Vulnerability Index A data engineering pipeline that scores Cape Town suburbs by how exposed they are to load shedding — combining actual outage hours with property value, commercial/zoning density, and public facility density — to answer a genuinely useful question: **which suburbs get hit hardest by load shedding, relative to what's actually at stake there?** Two suburbs can have identical loadshedding stages and hours, but if one has three clinics and a commercially-zoned business strip and the other is mostly low-density residential, the real-world impact is completely different. This project builds a composite index that captures that difference, not just raw outage hours. ## The question this answers > For each suburb: how many hours of load shedding does it actually experience, and how much economic/civic activity sits behind that suburb (property value, commercial zoning density, public facilities)? Combine both into a single comparable score. ## Architecture ``` ┌─────────────────────┐ ┌────────────────────────────┐ │ EskomSePush API │ │ CT Open Data Portal │ │ (outage hours per │ │ (property valuations, │ │ tracked suburb) │ │ zoning, civic facilities)│ └──────────┬──────────┘ └─────────────┬──────────────┘ │ │ └───────────────┬────────────┘ ▼ AWS S3 (raw landing zone) │ ▼ AWS RDS Postgres (warehouse) dim_suburb + fact tables │ ▼ dbt (build vulnerability index mart, normalize, weight, test) │ ▼ Looker Studio (suburb map + ranked score table) All of the above (except Looker Studio) is orchestrated by Apache Airflow, running in Docker. ``` ## Tech stack | Layer | Tool | |---|---| | Language | Python 3 | | Extraction | `requests` (CT Open Data), custom EskomSePush client | | Raw storage | AWS S3 | | Warehouse | AWS RDS (Postgres) | | Transformation | dbt-core (`dbt-postgres`) | | Orchestration | Apache Airflow (Docker Compose) | | Visualization | Looker Studio | | …