BusyBot – Helping customers get a seat on the right train


When I participated in Hack Train a few months back, the big hackathon for the rail industry, the challenge was to improve customer comfort within 2 days (while travelling on a train without a proper internet connection!).



Once we formed teams, each team decided what to focus on. My team used the data from the National Rail passenger survey 2015 to identify the problem to focus on. Some key customer problems which came up were overcrowding, delays and toilet facilities. Both first and second prizes were won by overcrowding solutions, something every train commuter faces on a regular basis.

First prize was one by a team which used CCTV to decide how overcrowded a station was.  This wasn’t my team, but I’m happy to say that we came in second!

We wanted to show the customer how busy a train is and let him or her make an informed decision on whether s/he wants to get on that train. We aggregated passenger feedback for a train to create a “busyness score” for that train.

To do this, we created an Android app using a nodeJS backend to solve this during the hackathon over the course of two days. Fuelled by Red Bull and pizza, we hacked a small prototype of BusyBot. Our team of 4 was heavily lacking in UI design skills and the end result was something out of UI designer’s nightmare. But as they say: “All’s well that ends well”.


After coming back to office, the idea was well received by pretty much everyone and we started discussing getting this integrated inside Trainline and exploring other things that BusyBot could do.

In February, we created the first MVP product for BusyBot in Android which was later rolled out to iOS as well. The mission statement had evolved: “Helping customers get a seat on the right train without sweat.”

We started showing users reservation levels to help them know how reserved a particular train is. We also were now showing a train layout so that passenger can get to his seat with least effort. The passenger feedback was still being collected and was now ready to be use as a data science training set.


We have been collecting passenger feedback for the last few months on Android and iOS and have seen a huge increase in feedback over that time:


Trainline has been expanding in data science/engineering space and BusyBot has become the natural first product. Using passenger feedback, in conjunction with all the other industry data, our Data Science team is creating models to predict train busyness.

I also moved to the data engineering team to support this and future data science developments. As I write this blog, we are going to start exposing this feature to customers and they will soon be able to compare their journeys and stations based on the BusyBot index. Watch this space!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s