ct-blog flight hotel local

Fixing the algorithm that wasn’t

It was about one week ago that a blog post, The Cleartrip Hurry Algorithm, appeared on our radar. The post referenced a newly launched feature where we were alerting users to the number of seats left at a certain price so that they could make more informed decisions faster (or so we thought). The manner in which we had designed the feature led the author to believe that we were “[faking] scarcity tactics” with some algorithm to create a false sense of urgency in our users.

The post was first brought to our attention by @jackerhack on Twitter and the social media echo chamber took over from there — “#Cleartrip” began trending on Twitter in Mumbai and Bangalore and the post was picked up by Hacker News. Given the Republic Day holiday, we reacted as fast as we could — we clarified our design approach on Twitter, in comments on the original blog, in comments on Hacker News and posted a clarification on our own blog.

The message from the echo chamber was loud and clear — we had screwed up the design of a feature and it was confusing our customers. Confusing to the point where customers were questioning our integrity and intentions.

Here’s the original design:

The text on the label stated “X seats left” and hovering over the label with the mouse revealed more text in a tooltip — “at this price”. We designed it this way to conserve precious real estate in our search results displays. If a user read the label and the tooltip, the message was clear — “X seats left at this price”. If the user saw only the label and not the tooltip, however, it wasn’t clear what the “X seats left” was trying to say; and users were taking it to mean that there were only “X seats left” on the entire flight, regardless of price.

One of the biggest criticisms of the original design was that critical information was hidden in a tooltip, confusing our users and making us appear ‘shady’. In addition, tooltips don’t work on today’s touch-screen interfaces at all.

We’ve always believed that for an idea to metamorphose into a useful product, it needs to evolve through several rounds of tweaks and adjustments. So, we went back to the drawing board to reinvent the feature.

We wanted the redesign to achieve just one thing — make it crystal clear that the label, ‘X seats left’, indicates the number of seats left at a specific price point and not the total number of seats remaining on the flight. We also wanted to make sure that the redesigned feature did not depend on tooltips or other ‘invisible’ user interface elements, which reduce usability.

Eliminating the need for a tooltip was actually quite easy. We added “at:” to the end of the “X seats left” label and moved the label directly to the left of the price. We think this is a fairly elegant and effective solution as the design now reads as “X seats left at: Rs. 1,234”. Easy to read, easy to grasp and no invisible tooltips required.

The iterated design solved the problem we set out to fix. But a Hacker News commenter, breckinloggins, and one of our own hackers suggested that we go above and beyond solving just the initial problem by also helping users understand what happens to prices after the “X seats left” are sold out. Breckinloggins even mocked up an ASCII prototype to illustrate how we could take the feature one step further.

So, we hacked up a cool little add-on to the original feature — we now also indicate how much the price will rise once the “X seats left” are sold.

The above screenshot shows that there is one seat left at Rs. 7,784. Once this seat is sold, prices for the same flight are expected to rise by Rs. 1,197 to Rs. 8,981. We think this ‘little hack’ increases the value of the feature considerably — users can now see if seats at the existing price are going to sell out soon and see how much the price is expected to increase if they wait to book. The price increase information is displayed only when a users hovers his mouse over a flight in the search results. We did it this way to avoid adding clutter to the search results.

We hope you like the redesigned feature and we hope it helps you make better and faster decisions while planning and booking your travel. We’d like to thank everyone for their input and feedback on the original design — it was incredibly useful in helping us create a better solution.

(*Note*: Airfares and seat inventory are highly dynamic and there will be cases where we are unable to provide information about expected price increases due to lack of data.)