PADAWAN CODER
  • BLOG
  • BOOKSHELF
  • MOVEMENTS
  • PROJECTS
  • ABOUT
  • BLOG
  • BOOKSHELF
  • MOVEMENTS
  • PROJECTS
  • ABOUT
← PROJECTS INDEPENDENT PROJECT · NOT AFFILIATED WITH TRANSLINK

GTFS-REALTIME / METRO VANCOUVER / SINCE APRIL 2026

TransLink
Bayes

“Every 5 minutes, I poll TransLink's live GTFS feed and save its arrival guess for every bus. Then I measure how those guesses change as the bus gets closer.”

A small home server does the polling, around the clock, across all of Metro Vancouver. The goal is simple: know how much to trust the number on your bus app.

BUILDING TOWARDS

01 / TRUST BANDS
“A plain band for every arrival estimate: how far it usually moves before the bus shows up.”
02 / ROUTE ATLAS
“A map of which routes and directions run steady, hour by hour.”
03 / EVENTS VS. NOISE
“Telling a big event night apart from an ordinary bad day.”

BY THE NUMBERS

  • 242 million arrival estimates saved, every one the feed published at every poll
  • Every 5 min since August, 99.8% of polls landed within 20 seconds of the beat
  • 1,527 buses reporting on one ordinary Thursday, running 22,916 trips
  • 14× more arrival estimates in the feed at 4 pm than at 3 am
  • 74 s how much later an estimate made 10–20 minutes out typically ends up
  • 1 in 6 trips have a stop whose estimate sits “under 10 minutes away” for 15+ minutes
  • 85% of buses that finish a trip late, with under 5 minutes of layover, are still estimated late at the start of the next
  • UTC−7 for good: BC stopped changing its clocks, and the project's tests caught it before November did

Counts as of 25 Oct 2026. The 74 s, 1 in 6 and 85% figures come from samples of trips on complete collection days.

A DAY IN THE FEED

Arrival estimates in the feed at each 5-minute poll, by hour of day (average of 10 weekdays in October).

1,629
23,614
0003060912151821
HOUR OF DAY (PACIFIC) · ESTIMATES PER POLL

LIMITATION Everything here is about the estimates the feed publishes, never observed arrivals. If I ever get historical actual arrival times, even for one route, the trust bands could be checked against what actually happened, not just against the feed's own later guesses. That would turn “how the guesses change” into “how good the guesses are”.

Data provided by permission of TransLink. An independent personal project, not affiliated with TransLink.

COURSE ARCHIVE ↗
© 2026 PADAWAN CODER