Data Flows – redBus

Database as they say holds the truth. So, it is quite important that it gets the right respect while architecting and designing applications. At redBus, we use a mixture of SQL, NoSQL databases to solve different kinds of problems. In this blog, we will try to go over some of the generic use cases we are solving and the database of choice.

Some background of redBus to set the context:

 

This is at a broad level – redBus architecture. As you see there are multitude of systems and we have been generating a whole lot of data at every layer. Application logs, transaction logs, workflow logs .. all these are captured by the individual systems.

Now, let us analyse them:

  1. MySQL – A traditional RDBMS used by tons of organisations. We use this for all our OLTP applications. Payments, Transactions, User Profiles etc.. all are saved in MySQL during the transaction flow. As we are hosted on AWS, we used the RDS variant.
  2. Cassandra – We use this in 2 places
    1. The inventory data we collect from vendors in real time are first saved in our Cassandra system. We cannot afford to lose the data that is stored in this system and we need a highly fault tolerant system. This is one of the main reason we went with Cassandra (more on this from throughput needed etc). It is a columnar store and suits our Data Model precisely as we store a lot of the vendor in real time such as Service Info, Seat Layout, Availability etc..
    2. Our Fraud engine is also running of Cassandra. We make use of an important feature in Cassandra which is Row TTL. It basically ensures there is an automatic deletion of this row post some TTL configuration provided.
  3. Google Big Query – We use BigQuery for a bunch of things. Primarily we import our Google Analytics, AdWords data into BigQuery using their connector. This is quite powerful as we have the entire raw data from GA imported in to BigQuery. Now, from other data sources like Transactions etc .. we are able to correlate the data sources as needed by the business.
  4. MongoDB – This is currently used as a generic purpose document storage where in specific application logs, configurations etc are stored. We do not do direct analysis on this.
  5. REDIS – This is our distributed cache. We make use of the AWS Elastic Cache here. It is one of our primary data stores used in many of our use cases :
    1. Inventory systems stores almost the entire inventory in REDIS. As we need high throughput, this is a good choice.
    2. The payment transactions in transit are stored here for look-up etc.. by various systems. We make use of the pub-sub model of REDIS too to handle lost HTTP calls.
  6. CouchBase – We are using this in quite a few use cases. Primarily for its clustering and out of the box API support – it is a strong choice. This is a cusp between MongoDB and REDIS as it supports key-value look up but at the same time, enables querying on the document. The throughput of CouchDB is quite impressive.
  7. REDSHIFT – This is our data warehouse plus analytics platform. This houses a ton of data from various data sources – both structured and non-structured. The columnar store is insanely good on performance to crunch data (really large amount) in seconds. Some of the use cases are
    1. Inventory Analysis – we look at the overall Bus Inventory which comprises of close to 1Million seats per DOJ (Date of Journey) which is available. We try to segment this data to get a better understanding of the market.
    2. Seller Analytics – we provide a whole lot of data to our sellers (Bus Operators) so that they understand how they are performing.

There are various pros and cons when we compare REDSHIFT Vs. BigQuery. We will address in a separate blog. Technically for most of our use cases both REDSHIFT and BigQuery are good candidates. Due to certain strategies adopted by vendor (BigQuery <> GA connector by Google, REDSHIFT <> S3, REDSHIFT <> RDS by Amazon), it becomes quite easy to do the necessary ETL and persist the data without much technical overhead.

Apart from these databases, we also use couple of other databases for our m-web and Android applications.

  1. Firebase – This is the latest entrant in our ecosystem. Primarily we are using 2 components of Firebase
    1. Real Time DB – We use this to store our voice notes (support calls) and later on sync with our back-end systems. We are also using to show case some personalised cards (trips) to users based on their profile. These cards are populated by an outside job which observes a ton of other data points and builds the necessary models.
    2. Remote Config – Configuration Management and A/B testing.
  2. IndexDB – As a part of PWA efforts on m-web we store the relevant cache data in IndexDB.
  3. SnappyDB – This is a simple key-value datastore. We use this to store a lot of the data that needs to reside on the Apps (Android) for the user like TicketDetails, RecentTrips, ShortListed hotels etc.. The main advantage is it helps in storing the actual document as is from the API signature. Also, upgrades are quite simple when the data model changes.

In the next series of this blog post, we will be doing a deep dive on some of these and provide a better insight in to the mechanics.

Read More

How redBus scaled mobile web – PWA and other optimisations

Mobile Web  has been an important growth medium for redBus and we get a whole lot of new users everyday from this channel. With this in mind, we wanted to provide a simple and elegant experience to our new customers plus serve/engage with our existing mobile web users efficiently.

This however required us to handle the 3 common challenges dogging mobile web applications

  • Network drops
  • Different types of browsers and devices.
  • Time spent for rendering on to the browser

In addition to the above, we also wanted to ensure that the application scales well for our geographic expansion efforts taking in to consideration – language, templates, timezone, different types of payment etc ..

Our Old Stack

More or less, our mobile web had this stack (above). We were doing well even here, but had problems specifically around

  1. TTFB – Time for first byte

  2. Page Speed Score

  3. Time spent on rendering on to the browser

Looking at the various stack available out there, we zeroed on ReactJS <> NodeJS stack.  We decided with ReactJS for the scalable component model and fast rendering and NodeJS for its performance. Another important aspect of ReactJS is its Isomorphic rendering of pages – this makes it SEO friendly as well.

Our New Tech Stack of Mobile Web Platform

  • ReactJS – JS Library for the App.

  • Dust.js – Streaming views .

  • NodeJs – Application Backend.

  • Webpack – JS/CSS Module Bundler.

  • Gulp – For Build and deployment process.

  • ES6/Babel – ES6 to ES5 conversion.

  • Livereload – Ease of development with automated build process.

Preview – https://m.redbus.in , https://m.redbus.in/hotels, https://m.redbus.sg, https://m.redbus.my

While we improved and revamped our Tech Stack, we also put in a few innovations to improve usage experience especially on slow networks / devices. These include :

  • Canvas-sing the Seat Layout
  • Solr-izing city suggestions
  • Progressive Web Apps [PWA]

Canvas-sing the Seat Layout – Accelerated rendering 

We converted our DOM based Seat Layout to a HTML5 Canvas model  for Mobile customers. Canvas  improved the rendering performance because the hardware acceleration makes canvas drawing  really fast, as the rendering  is using the GPU rather than CPU. Also this view is more adaptable for both Horizontal, Vertical and can scale for different dimensions. We also keep a snapshot of customer seat selection from canvas for the future reference.

Seat Layout on Desktop

Seat Layout on Mobile Web

Solr-izing City Suggestions – What you need, right on top

We have enabled location based search in some geographies – with this the customer can search by the actual Boarding Point / Dropping Point (we call this as BP-DP enabled search). Obviously the response time of city suggestions should be really fast and should keep track of the context (geo-location and from parameters).

Solr was a no-brainer here and our auto suggestion is built on top of this. Based on the popularity of the selections, we score the entires and thus ensured there are few minimal clicks required.

As an example

[Che] : Chennai city comes as the first result as it is more popular and frequently used by customers.

 Progressive Web Apps (PWA)

There has been a lot of work done in the industry on this front. PWA as stated by Google tries to get the same experience of a native App on to the mobile web. Service Worker is the underlying technology for caching,  provides an LRU cache used in our app for storing previous visited pages and search results on the browse page. With Service Workers, we can intercept every network request and serve a response from cache even when the user is offline.

The salient features adopted in redBus part of PWA effort are:

  • Add to Home screen – User will be able add Brand icon to device home screen, which is shortcut to access Mobile Web App.

  • Splash Screen – Will give an App like experience during the Mobile Web App load.

  • Full Screen experience –  Hide the browser’s address bar, to show more App content.

  • Caching App shell and Data offline for the visited pages – Customer can view the Home, SRP, Upcoming tickets etc. in offline mode as well. All the API calls will look for the recent updated content in cache first and call the network only if data is not available in cache.

Lighthouse  is one of the powerful tool introduced by Google for  auditing PWA features. This tool is evolving as we speak and is a good benchmark to see how we perform.

We scored a 100

Our efforts got us a 100/100 in the Lighthouse score, no mean effort!

Displaying

A little on how we did PWA

Progressive web apps tends to be architected around the concept of an App Shell.

  • Migration to Single Page Application(SPA) for Caching the App shell and the static assets helped in improving the funnel throughput.
  • To reduce page load time we asynchronously prefetch the static assets (stored on our CDN) of upcoming pages in the booking funnel.
  • For further optimisation, on our bus results page we have implemented an infinite scrolling technique which recycles the below fold content. We used this to achieve infinite scrolling.
  • Offline – Background SYNC – https://developers.google.com/web/updates/2015/12/background-sync – When our customers do not have network connectivity, the below message is shown to them. Automatically when they are back in the network the notification is shown to them even if the browser is closed.

The Impact

Overall Mobile Web for Bus/Hotels experienced an excellent growth. Some of the KPIs are :

  • Session duration has increased by 18%

  • Returning users have increased by 16%

  • Reduced ~20% load on servers due to cached API Calls  

  • Render time decreased from 310ms to 16ms search results page with >400 results

  • Home page render time decreased from 38ms to 1.2ms when SSR with react was removed

  • Overall first load HTML size is a tiny 11kb

Render performance improvement of search page after moving to react-infinite as the renderer. Measured using react-perf tools.

 Before

After

Overall we feel the mobile browser is getting stronger and evolving every day. All this effort would not have been possible without some smart folks at redBus who take a lot of pride in their development.

 

Read More

Introducing BHIM Payments on redBus!

Five Reasons to Pay with BHIM on redBus

redBus launches online payments through BHIM (UPI-based digital payments launched by Govt. of India in collaboration with NPCI) to simplify bus booking experience for its customers.

Here are five reasons why you should install BHIM on your mobile app and start using it!

  1. Simple and easy interface:

You will simply love the BHIM interface! The app offers its three features straightforward: send money, receive money and Scan&Pay. You can pay with a single click in less than 10 seconds using BHIM on redBus app.

Download and install the BHIM app from Playstore (watch the video here for registration) before proceeding towards “BHIM” option on redBus. If you already have the BHIM app on mobile, here is a short tutorial on how to pay using BHIM on redBus.

BHIM-Updated-infographic
Pay with BHIM on redBus
  1. No need to remember bank account details:

You don’t need to search for your debit/credit card details or remember your internet banking login credentials anymore. Your bank account will be linked and verified only once on BHIM and you can create a virtual payment address: Phonenumber@UPI or Yourname@UPI as per the availability of this name (similar to availability of an email ID when you register on Gmail).

BHIM also works across all banks and you do not need to download different apps in case you have multiple accounts in different banks.

BHIM Virtual Payment Address - VPA
BHIM Virtual Payment Address – VPA
  1. No need to add money into any prepaid instrument:

You do not need to add money into any wallet for payment because BHIM is directly linked to your bank account. Also many of us assume that mPin for bank account needs to be enabled for BHIM payments but the PIN prompted by the BHIM app during registration is a new four digit code which you can set at that instant.

Multiple-Bank-Accounts
Payment with BHIM
  1. Security & Reliabity:

Launched by NPCI, BHIM is powered by Govt. of India, which impresses upon a strong trust on the app compared to any other payment instrument. BHIM communicates to your bank account directly and doesn’t not store your card details anywhere. 

The app sets three levels of authentication to keep your bank account details absolutely safe and secure

    • The mPin you set during app registration locks your app to the device. So any device theft will not compromise on your bank details as mPin is required to open the app
    • The UPI pin locks the bank account to BHIM app. In a situation where your mPin is hacked by someone, UPI pin is required to access your bank account
    • The device-finger-printing locks the phone to the bank account, so SIM theft will not compromise on your security as entire registration process will be triggered, validating your mPin and UPin all over again.
SecurePaymentsBHIM
Secure Payments

5. Faster Refunds

BHIM ensures processing of refunds instantly with IMPS transfer, with a maximum turnaround time of 24 hours. The average time for the refund-money to be credited in your bank account is around 5-7 working days for payments through credit/debit cards or internet banking.

So, go ahead! Pay on redBus using the fastest and most secure payment mode, new BHIM app.

Cashless India
Cashless India

Read More

Now Book Pilgrimage Packages on redBus!

redBus has been into bus ticketing for more than 10 years and from last year, we have been aggressively expanding into new categories like Hotel Booking and Bus Hire. We also experimented with few other categories like Holiday packages as well as Bus+Hotels and our focus has been to build businesses that cater to the needs of a bus traveler. During our experimentation on holiday packages, we realized that majority of Indians travel to pilgrimage destinations even for leisure purpose. In fact, research suggests that over 75% of leisure travel in India is to pilgrimage places. And yet we could not find any reliable online service provider catering to the needs of a pilgrimage traveler!

Temple

This was also validated when we experimented with this category by launching a beta product. Besides popular pilgrimages places like Tirupati, Shirdi, Vaishno Devi and Char Dham, people were also interested in traveling to other popular regional pilgrimage destinations like Kollur, Guruvayur, Palani etc. Customers who booked these packages gave thumbs up to the entire experience and were keen to travel other destinations also with us.

Pilgrimages - Beta

We thus kick-started building the end-to-end flow for this category in Jan 2017. We interviewed many users to understand their needs for a pilgrimage trip. We went to the drawing board multiple times, brainstorming and iterating on the flow that suited a pilgrimage traveler. This entire exercise was exciting and we would be sharing more details about this in our upcoming posts.

Over the last 3 months, we built the entire booking and fulfillment flow from scratch and launched it today! The booking flow is different from the usual holiday package booking flow. Users can choose the Darshan Experience, combine it with suitable Buses and Hotel and also add extra services like booking a Pooja, buying extra Prasad or going for quick sightseeing!

Pilgrimages - New

 

We have launched pilgrimage packages for Tirupati, Shirdi, Vaishno Devi, Palani, Rameshwaram and Tiruchendur. We will be adding more destinations soon!

If you are planning for a religious sojourn to any of these destinations, then don’t wait and book now as we are offering a FLAT 25% OFF across all packages ! This is a limited period offer, so, hurry!

Read More

Tamil Nadu – Pongal 2017 – Update

As part of our constant endeavor to improve the quality and safety of bus travel, time-to-time we weed-out those bus operators from redBus who do not meet certain quality and service standards leading to passenger dissatisfaction and poor customer ratings for these operators. Some of the operators who have not been able to meet these standards and hence been discontinued from our system have been recently indulging in false propaganda about bus operators not honoring redBus tickets. We would like to re-assure our users and reaffirm that ALL bus operators would honor tickets booked through redBus through the Pongal period and beyond. redBus continues to strive to improve the ecosystem of Bus travel for both bus operators and passengers.

redBus is a valued partner for us. All tickets sold on redBus would be honored by bus operators. And we support the initiatives taken by redBus in this instance to improve the quality of bus travel.” Mr. Afzal, President – TN Omni Bus operators association

We would also like to clarify that as an online marketplace for bus tickets, redBus does not set the prices for tickets and only displays the ticket fare set by bus operators. During festival season, there is a cap on maximum fares that is advised by the TN Omni Bus Operators Association in consultation with the Govt. of TN, which redBus strictly adheres to. In such cases, redBus does not display those bus operators whose fares are higher than the prescribed maximum.

Coverage in dailies: New Indian Express Dina Malar Daily Thanthi

Read More

Security Update

On 17th October, we were made aware of a report that suggested redBus has suffered a data breach affecting the email addresses of some of our customers.

Based on our initial investigations, we have not been able to conclusively establish this data breach. We suspect though that a server storing logs may have been compromised, which contained some email addresses. We have not discovered any loss of password information at this time. Further, all our customers’ passwords are hashed and stored securely behind firewalls. We do not store payment details on any of our systems.

Even this server has recently been moved to a private network to strengthen its security.

redBus is committed to the highest level of security for all user information on all platforms. We have engaged security consultants to investigate this incident further. Purely as a precautionary measure, we recommend that our users change their passwords on their redBus accounts. We are very sorry for the inconvenience caused.

 

– Team redBus

Read More

Project Bus Score

 “Customers often know more about your products than you do. Use them as a source of inspiration and ideas for product development.” – David J. Greer

Voice of the Customer

Every facet of every business decision taken in redBus is based on improving customer service. This is what keeps the party alive. The search results page, is our 2nd most important page, next only to our home page. This being our most prized real-estate – we place high emphasis on every detail: The loading speed, the caching methodology, the filter options, the design, the colour, the ease of use, the content format, the text size – All of these have evolved based on customer feedback and user studies. It is only natural that we show similar diligence in our sorting order.

The Sorting Hat of redBus

There are multiple ways to sort the search results and we give the customers the ability to sort the listings in the way they want to:

Filter by bus types | Sort by Departure Time | Sort by Price | Filter by Boarding Points | Filter by Offers Given | Filter by BO names | Filter by Amenities

Filters

The customer has the control to sort and filter as per his/her wish. This blog, though, is dedicated to discuss ‘Project Bus Score’.Sorting Hat

Bus Score is redBus’ effort to reflect the customer requirements in the default sort order of the search results.

What should be the default sort order for our search results:

By departure time?

By Price?

By Customer Ratings?

By Number of Customer Ratings?

By Time Taken?

 

Bus Score is intended to help in the sorting order, it is a comprehensive mix of the top 6 parameters our customers have highlighted to us.

For the sake of abbreviations we call this the 6 ‘R’s that constitute Bus Score:

Bus Score 6Rs

Parameter 1: Ratings (Provided by Customers)Customer Ratings

  1. This is the top attribute in Bus Score
  2. How have passengers rated that particular bus service?
  3. How many passengers have rated a service?
  4. How has the daily average rating for a service been?
  5. Why not just sort it by Average Rating?
  6. Which is better? A service with Average Rating 4.5/5 with 5 Reviews Vs. Average Rating 4.4/5 with 100 Reviews?

Parameter 2: Reliability of the Services

  1. How reliable is this service?
  2. Have there been cases of cancelling the service previously?
  3. Have there been complaints of passengers being stranded at the boarding point?
  4. Is the software integration with the Bus Operator stable so that there are no booking issues?

Parameter 3: ReasonabilityCancellation Policy

  1. How many days in advance is the chart opened?
  2. How customer friendly is the cancellation policy?
  3. Have there been cases of Duplicate listing? Thereby leading to customers not getting their chosen seat

Parameter 4: Responsiveness of the Bus Operator

  1. How has the bus operator responded to customer reviews/complaints?
  2. Has the Bus Operator launched any special offers for our customers?

Operator Offers - Top

Operator Offers - Detail

Parameter 5: Rates (Pricing)

  1. Is the service reasonably priced?
  2. For the given amenities, type of bus and time of departure, is the particular service overpriced or on par

Parameter 6: Resources (Amenities)Amenities-Top

  1. What are the amenities that the bus has?
  2. Does it have a ‘Track My Bus’ feature?
  3. Does it have a charging point? A blanket? Personalized TV? Snacks?
  4. Which are the most sought after amenities?

 

The idea is to showcase the best service upfront. As you can see, all the parameters are direct manifestations of customer service. This is what we have learned over multiple customer calls, customer feedback, user flow discussions and our most used features. Here is an example:

Sorting only on the basis of Ratings

Same Listing Sorted by Bus Score

 Ratings Sort  Bus Score Sort

Bus Score is a more balanced approach to customer requirements. Having a high average rating from only 10 ratings is easier compared to maintaining the same service quality over an extended period. You can see how the first listing has average of 4.7/5 from 6 reviews, whereas in Bus Score it is a service with 4.3/5 from 215 reviews!

The idea is to get the best service on the top and hence the sorting algorithm has to be comprehensive. All parameters captured in Bus Score calculation stem from the customer centricity of the Bus Service.

Forward and Further. Together.

This is a two way street. We need good bus operators to provide top quality service to our customers. We funnel this back to our Bus Operators: We tell them where they rank, what they can do better to improve their services. The intent is to pull-up the service standards of the entire industry.

What next?

Since the time we implemented Bus Score sorting, we’ve seen customers spend lesser time on choosing a service and proceeding to seat selection – A validation that our sort order helps customers identify their choice of service faster.

While we have started with Bus Score as the default sort for our top 50 routes, we’ll soon roll it out to the rest of the routes.

We’ve shared the feedback with Bus Operators on the overall journey, from customer feedback we’ve seen these are top amenities sought by customers:

Track My Bus | Charging Point | Wi-Fi | Water Bottle | Rest Stops | Snacks | Emergency Contact Numbers

Basis our feedback, operators have started adding better amenities in their services.

We’ll continue to work on our Bus Score sorting algorithm to reflect customer dynamics – The Customer preference for Delhi-Manali might be different from Hyderabad-Bangalore and the sorting algorithm will be tweaked to reflect that. This will continue to the effect that we come up with a personalized sorting order based on the preferences of each signed-in user.

In all this, it is key to understand that Bus Score is only the default sort order, the customers can sort or filter the results the way they want to. Bus Score is not shown as a separate filter to the user. That is just how we sort the results the first time it loads.

As always, we’ll continue to listen to customer inputs, please provide your comments.

Read More

COMMITTED TO TRAVELLER SAFETY

This refers to the online petition on Change.org  filed by Rashmi Bachani with an appeal to redBus for improving safety of women travelers during bus travel. We are really appreciative of Rashmi reaching out to us and for her feedback and suggestions. We also conducted extensive research with women bus travelers and delved deeper on some of the difficulties they face while travelling by bus.

Based on this research and the inputs provided by Rashmi and others, we are attempting to put together a comprehensive system for resolution of problems associated with safety of women travellers.

 We are looking at this from the perspective of : pre-travel (deterrence), during travel (emergency response) and post-travel (support and feedback)

Pre-Travel

GPS Enabled Buses / Live Tracking / Friends & Family feature

From the research that we conducted, we found that one of the places where women feel unsafe during their bus journey is before they board their bus while waiting for it to arrive.  The Track My Bus feature on redBus uses the GPS technology to pinpoint the location of the bus. With the help of this feature, the traveller can reach her boarding point on time rather than wait at the bus stop for long hours. The friends and family feature keeps the passenger’s chosen contacts informed about their whereabouts with exact, real-time location while they are on a journey. This feature was designed especially keeping in mind women’s safety.

We are collaborating with bus operators to enable their buses with GPS Tracking. Over 3,500 buses have been integrated with this system and we are trying our best to get to near universal adoption for this by all the bus operators.

CCTV Cameras

One of the other feedback that we received from women travellers was about potential harassment/misbehaviour by co-passengers. CCTV cameras are a strong deterrence mechanism for this kind of behaviour and also for addressing other safety concerns such as theft or staff misbehaviour. We are actively advising bus operators to adopt this technology and have started showing buses with CCTV cameras as an additional amenity on our platform.

CCTV (1).png

Staff Verification

We acknowledge the concern about ensuring background verification of driver and other staff on the bus.  redBus would augment the efforts of the bus operators in this direction and would step in to lead this effort where needed. We would positively influence the bus operators to do this on a continuous basis and also work closely with bus operator associations for sharing of information on blacklisted staff and to drive this agenda with their members. We would also look at the most appropriate manner of displaying this info to travellers booking their tickets on redBus.

Rest Stop Information

We understand that this is a basic need that needs to be addressed. Presently, there is no information of the Rest stop that is available for travellers booking their bus ticket. We have recently started showing this information for buses with GPS. Very soon, ratings of the Rest stop on parameters of Hygiene and Safety would be made available for passengers to make an informed choice. This would also prompt Bus operators to take this aspect seriously and enforce rest-stops at hygienic and safe locations.

 

image.png

During Travel

Driver Details

For many bus operators, the details of the driver/ bus staff are now being sent an hour or two prior to the journey to those of our passengers booked on that bus. We are engaged in scaling this up to include all bus operators and this is a top priority for us. Apart from the transparency that this brings, it also promotes safety by ensuring that correct and real-time information regarding bus arrival and boarding point address reaches the passengers.

Emergency Numbers

We have collated emergency contact of the responsible person from the bus operator’s end for all bus operators. This information would be sent out in an SMS to women travellers (prior to their journey). We are also encouraging bus operators to display this information prominently inside the bus. For this purpose, we have designed a communication poster/sticker with safety suggestions and emergency numbers including that of the bus operator. This communication will be available in English as well as local regional languages for the convenience of travellers.

poster-inside-bus.jpg

Post-Travel

Complaint handling

Based on feedback, we have added a category on Passenger safety in our complaints form. This category deals with all safety related issues and are immediately escalated to our customer service leadership for quick follow-up and action. Further, we have also taken steps to sensitize our staff to handle such complaints appropriately if they are raised to them over a call or email.

 

Write_to_us_CO.png

Feedback E-mailer

Going forward, we will be specifically reaching out to women travellers asking them to give us their feedback on their travel experience especially around safety and encourage them to bring up issues that they face during travel.

We believe that every passenger has a right to travel in a convenient, safe, and comfortable manner. The entire ecosystem needs to be come together to ensure that this mission is realised. And at redBus, we are committed to playing our part in this endeavour.

Read More

Introducing ‘Rest Stop’ feature

A few weeks back we launched ‘Rest Stop’ feature on redBus to help you locate the rest stops at the push of a button. At redBus we work hard to make the journey a peaceful one for you and your loved ones. We realized that most of our travelers are bothered about where their bus stops for food or rest-room breaks, but that they just don’t find this data anywhere. We thought we will solve the problem with the help of buses with live tracking – this will help travelers discover ‘Rest Stops’ through their journey

Now hop into the bus and relax!

Before booking the bus:

1. Make sure you look forrest_stop_iconicon on the bus search results page

2. Click on the link and you will get a page with the ‘Rest Stop’ details
detailed_map

 

3. Note the details for time of arrival of ‘Rest Stop’ and plan your break ahead of time

 

We are excited to launch this and we will continue to help make the journey as convenient as possible for redBus travelers. A regular redBus traveler Venkatesh says “Now I can plan my trip ahead of time when it comes to kids needing a break for dinner or using rest rooms, kudos to redBus for making this happen“. More to come very soon. Stay tuned!

 

 

 

 

 

 

 

Read More

Swachh Data – redBus Style

“Without a systematic way to start and keep data clean, bad data will happen.”

Fun Fact: Being only the 7th largest country, India still has the 2nd largest road network in the world.

‘Not so fun’ fact: Unlike in trains or flights, where passengers can board and alight at designated stations or airports, bus stations can crop up anywhere on our massive road network.

With buses connecting 90% of Indian cities, the number of boarding and dropping points for buses operates on a scale which comes close to the number of pincodes in the country.

This leads to a nightmarish experience for travelers trying to choose a boarding point/dropping point, especially for those who are traveling to a new city.  In Hyderabad, seemingly similar location names like “Lingampalli” and “Bagh Lingampalli” are in reality 24 kms apart.

Problem

Each bus operator has his/her own naming convention of a boarding point. For e.g. Kempegowda Bus stand is also known as Majestic Bus stand. Some bus operators may use abbreviations and call it as K.B.S instead.

The problem is compounded by the fact that, redBus has more than 70 different software integration to pool in data from 1800 bus operators, covering 67,000+ routes  and serving 3,000+ cities. Add to this, the nuances in naming conventions – a place like Bangalore had 25,000+ boarding point names!

Before we decided to draft a process to handle this problem, there were 300 permutations of BTM Layout (an area in Bangalore) alone!

For e.g, Bangalore’s Boarding Points before the clean-up:

Bangalore - Before Cleanup                    Bangalore-2-Before Cleanup

For a customer to filter out bus services based on Boarding points in an area like BTM Layout or Jaya Nagar was a near impossible task.

Solution

We needed two things:

1. List of all valid boarding points in all the cities: the Grid-list

2. Process to map any boarding point configured by the Bus Operators to one item on the Grid-List

With the help of text clustering and local knowledge of our inventory on-boarding team, we have a grid list of all valid boarding points in a city. This now is the reference grid-list – sanitized and geo-tagged.

For the second leg, the process developed at redBus ensures that as and when a new boarding point is configured by an operator, it is automatically mapped to an existing boarding point in the grid-list thereby ensuring clean data. This is tricky, given how unstructured the boarding point naming conventions can be and the data can flow in from any of the 70 different software integration.

The mapping algorithm uses a weighted approach including SoundEx, Split Minima, Reverse Matching, Grep Scan, Naives Bayes Classifier (and other statistics jargon to confuse the reader :))

With this, we were able to automate the mapping of boarding/dropping points with 99% accuracy. Bus operators constantly commission (and decommission) new services – thereby adding new boarding point names. During any given week, for the top 6 cities, we have around 2000 new additions to the boarding and dropping point names. Automating the algorithm is the only way to maintain data sanity. The support team takes care of the un-mapped points (remember, the algo checks out 99% of the cases).

For the top 10 cities alone, we were able to map 200,000 boarding Points to 750 unique geo-tagged ones.

Impact

After the cleanup of redundant boarding points, this is how the boarding point selection list looks like:

Bangalore Post Update 1                    Bangalore BP Post 2

This is the snapshot of the process we have used to handle Boarding and Dropping point geo-tagging.

BPCleanUp

With this being an ongoing exercise, we now have the process and the technology to keep the data clean.

More power to redBus customers!

Read More