London Bus Pal

Just how accurate is TfL’s countdown system?

Just how accurate is TfL‘s countdown system

When I started developing London Bus Pal, the one thing that was always going to be completely out of my control was going to be the actual prediction data. I did some investigation as to how it all works and it’s really interesting, but probably worth a blog post of it’s own (so watch this space)!

There are a number of bus routes which I take frequently and I have definitely noted a pattern of “lateness” compared to the estimated times for specific buses at specific times.

I decided to take a small sample of buses and compare their estimated arrival times in 30 minutes to how it changed after 15 minutes and then to when they actually arrived.  The results were interesting (but not a big enough sample to draw any conclusions):

  • 341 to Angel Road Superstores.
    • First estimate: 28 minutes
    • After 15 minutes: 28 minutes
    • Final time to destination: 30 minutes (2 minutes later than initially predicted)
  • 19 to Finsbury Park Station
    • First estimate: 27 minutes
    • After 15 minutes: 27 minutes
    • Final time to destination: 27 minutes (exactly the time it estimated 27 minutes before)
  • 152 to Pollards Hill
    • First estimate: 29 minutes
    • After 15 minutes: 32 minutes
    • Final time to destination: 37 minutes (8 minutes later than initially predicted)
  • 55 to Bakers Arms
    • First estimate: 29 minutes
    • After 15 minutes: 30 minutes
    • Final time to destination: 35 minutes (6 minutes later than initially predicted)
  • 3 to Oxford Circus
    • First estimate: 28 minutes
    • After 15 minutes: 28 minutes
    • Final time to destination: 25 minutes (actually arrived 3 minutes earlier than initially predicted)

The times measured for the 341, 19 and 55 were all on parts of their route through central London.  The 152 and 3 were both for parts outside central London.

Obviously, when measuring and estimating bus times, there are loads of variables.  My experience in general however, is that the estimation is quite accurate up to about 20 minutes.

When I put together the above list, several things sprung to mind as to why some buses are seemingly more accurate than others.  Traffic, bus spacing (time between two buses on the same route) and route controllers are in my top list of what could affect it.  For instance, the 152 might have been made deliberately late because of another bus running late to maintain an even spacing (or it could just have been stuck in traffic).  I have a theory that it’s probably easier to predict bus times for high frequency routes compared to lower frequency routes, but I will probably have to prove that later!

I used London Bus Pal to compile the above data.  It’s an Android application  and has access to all the bus time prediction information for all London buses.  You can download it here:

London Bus Pal

London Bus Pal launched – the ideas


My first Android application was launched on 6 September 2013.  It’s called London Bus Pal.

I’ve had the idea for quite some time, but just never got around to doing it.  Finally, over the summer, I sat down and gave it a go.

The idea was for a bus time predication application which you could just open and it would know what you were looking for without complicated set ups.  It should just load it up and it show you what’s nearby.

I went off and built much of the application which can be seen today.  You could see all stops near you and then drill through items to see specific buses, stops and even routes (the route functionality only came later).

One issue I had, which took a while to sort out, was that the way in which I calculated distance, did not take into account roads, so in my case at home, my nearest bus stop, wasn’t the quickest one to walk to.  So I decided to calculate the walking route for each stop near me and then show the closest ones to me in that way.  Unfortunately, this ended up being a really slow process and I actually had to remove this feature.  It was definitely going to add to the cool factor for this application, but sometimes you just have to make a call and say, it’s not worth it!

So what did we end up with:

  • Stops near me – when you open the application or tap on the home button, the application tries to find your location and shows you all the bus stops in the area with all of their arrival times in the next 30 minutes.  (This does not work if your location could not be determined – there are many reasons for this).  You can expand and collapse all the stops and if you tap on a bus, you get taken to the bus view (see below).
  • Specific bus view – when you tap on a bus in the stops near me or bus stop view, you get taken to the specific bus view which will show you the route details and bus registration number at the top.  You then get a view of the expected time of arrival at all the stops for the next 30 minutes.  This is a useful view for me to keep open and refresh from time to time once I am on the bus, just to check progress.  (A slightly hidden feature is when you see a bit of a thicker line between two stops – this means that the bus changed direction between these stops and it will be heading back to where it came from).
  • Bus stop view – this is similar to the stops near me view, except you only see a single bus stop.  It simply shows you the next buses for any stops for the next 30 minutes.
  • Bus route view – this is a fairly unique view which I haven’t seen available on many other applications.  First, to access it, tap on the bus route details on the top of the specific bus view or enter a route number in search.  This gives you an overview of all the stops on the route, in route order and it shows you when the next bus is due at each of the stops.  It’s quick to see if there is a gap in the service anywhere between stops using this view!
  • Search functionality – this acts as a “short-cut” to many of the views mentioned above.  By entering a post code, or GPS co-ordinates, you will get the stops near me view (but for the entered location), enter a bus stop number (which you can see on the side of the bus stop) for the bus stop view of that bus, enter a bus route number for the bus route view and enter the bus registration number to find a specific bus (I have to point out that this does not work on customised number plates and I believe that some of the New Buses for London have custom number plates).

I decided to stick with this core feature set for now and get the application out there.  There are still many features which I think would make the application truly great, but these will have to wait a while as I only have ten fingers to type with!  As it stands, the feature set is very usable and I use this application constantly and very seldom use any of my competitor applications.

Some of the features I will be working on in the coming weeks and months include (if you are reading this in the future, be sure to check out the latest feature set of the application as this would hopefully not always be work in progress):

  • Bus stop notifications – sometimes TfL puts out alerts or notifications for specific bus stops or routes.  London Bus Pal doesn’t currently display these, so it’s difficult to know if there are any issues affecting your local stop.
  • Map view – being able to see bus stops on a map, especially for the stops near me feature would really add great value to the application.  Sometimes I am also on a bus and I wonder if I could get off early or I am just on a strange route and I want to see which stop I should use.  Being able to see that on a map would be a lifesaver!
  • Strip-maps (maybe) – this would just be a cool feature to have – to see buses on a strip map.  I’ve got some really cool ideas for this.
  • Bookmarks or favourites – most applications have this and they tend to be useful.  We all have our favourite stops and it’s always great to have these ready.  Hopefully the “stops near me” facility partly fulfils the requirement for this feature until it is actually implemented.

If you came across this blog and don’t know what I am talking about, you live in London (or sometimes travel to London) and you have an Android phone, then why not download London Bus Pal:

Looking forward to loads of downloads 🙂