The open data sets are in turn being populated by a script we (Firebase) operates that pulls data from the NextBus API. It is live, real-time data, though the API does have inaccurate data from time-to-time.
Thanks. Though if you are able to actually check the routes on the ground, I believe that you will find that it's lying somewhere in SF, most of the time.
Why would something that was pulling data from buses only lie from time-to-time? The answer is that it's not live, I'm afraid. It's freaking.
Lie is a strong word. What you are seeing likely the result of lost connectivity to the bus, which NextBus compensates for with dead reckoning. Busses also deviate from planned routes to deal with construction, head to depots, or other random things.
That doesn't explain the ones that are continually leave the station, with the prediction constantly resetting as the bus doesn't leave. Or the ones that don't show up, and then the next one does, right on time.
If you don't know where something is, you don't know where it is. To give a number anyway is disengenuous, and breaks trust. To do it all the time, and call your data 'real-time' without caveat - lying may be a strong word for it, but it's still appropriate.
NextBus always uses a straight-line estimate for the vehicle position within a few stops from the terminal. This is based on the departure times in the Muni published schedule. However, Muni operators and dispatchers do not adhere to this schedule in any way, so the estimates that NextBus gives near the beginning of Muni lines are pure fabrications. Lies, you might say.
The open data sets are in turn being populated by a script we (Firebase) operates that pulls data from the NextBus API. It is live, real-time data, though the API does have inaccurate data from time-to-time.