Brussels open-data lakehouse
Is STIB on time?
Every 5 minutes this page's pipeline records when the next metro, tram and bus will arrive at about 900 Brussels stops, and compares that with the official timetable.
Right now
–
Hour by hour
Each bar is one hour. Taller bar = longer extra wait. Bars below the line mean vehicles came sooner than scheduled.
Metro
Tram
Bus
When in the day is it worst?
All lines together, by hour of the day (Brussels time), over every day collected so far.
Where is it worst?
Every dot is a stop, coloured by its typical extra wait. Pick a line on the right to see only its stops.
Which lines?
Typical extra wait per line. Click a line to see which of its stops are late.
Most behind schedule
Closest to schedule
Stops, most delayed first
Click a stop to find it on the map. A stop listed twice has one platform per direction.
Air quality in Brussels
Pollution in µg/m³, average of 13 measuring stations. Below the dashed line is within the WHO daily guideline for NO₂.
Electricity use in Belgium
Total power demand on the national grid, in megawatts. Elia publishes it about a day late.
All the numbers
Every hour collected so far: extra wait, typical wait, air quality and grid load.
About this project
An open-data pipeline that checks how well Brussels public transport keeps to its timetable, built on Azure with dbt. Everything here comes from public sources and is recomputed every hour.
What "extra wait" means
If you walk up to a stop at a random moment, how long until the next vehicle? We measure that from STIB's live data, work out the same thing from the official timetable, and show the difference. Transport for London uses this measure ("excess wait time") for frequent services.
How it works
- Every 5 minutes an Azure Function saves STIB's live waiting times for about 900 stops. Air quality (IRCEL) and grid load (Elia) are saved every 15 minutes.
- The raw files land untouched in an Azure data lake.
- dbt cleans them and builds hourly tables, with data tests on every model.
- Every hour GitHub Actions rebuilds this page.
Limits
- Arrival times are STIB's own predictions, not measured arrivals.
- About a quarter of stops can't be matched to the timetable and are left out, as are Noctis night buses.
- STIB keeps no history, so the record starts when this pipeline did.
Data: STIB-MIVB, IRCEL-CELINE, Elia, map © OpenStreetMap contributors · Source code on GitHub