Recently I have seen a lot of advertisements for HDFC’s 40% faster ATMs on television and posters.  As a performance tester, I was interested in knowing more. I am an HDFC customer, so I observed  these advertisements predominantly displayed at the Bank’s ATMs. The other day while going for office, I saw a big hoarding mentioning that HDFC’s ATMS are 40% faster now. There was a sentence below that  in a smaller font :-): Choose your MyFavourite option today.

More details of the same are available at the HDFC website.


(the figures are mentioned in the Indian context. Money values are in Rupees):

In the subject of performance engineering, there are known principles and patterns. Following are the related ones to this advertisement:

Centering Principle: Focus attention on the performance of the scenarios that are exercised the most or have large performance impact.

Fast Path Pattern: To cater to the centering principle, one way is to provide an alternative execution path which minimizes the steps of execution or  dedicates more resources than other scenarios.

Withdrawl is definitely one of the transactions which fits to the centering principle crtietria.  Interestingly, there are already hardcoded fast paths available in ATM’s e.g. “Withdraw Rs1000/-“, “Withdraw 4000/-” etc. These are based on study of transcations commited by the customers over a period of time and observing what are the most common values of money withdrawn. There is a limit to providing such hard-coded fast paths, so I guess someone suggested HDFC to come up with a “MyFaviourite” option. This is a sort of “customised fast path” for a customer wherein the customer would make a transaction and then save the same as a favourite. As per my analysis, following is how performance benefits are realized (or not):

  • For the first time, no performance improvements are observed. This is because there are no inherent performance improvements in the time taken by the withdrawal logic. Only instead of multiple steps – choose withdraw / enter amount/ confirm, only one step would exist whereby customer chooses his/her favorite amount for withdrawal. Also, time taken to choose and amount rather than entering the amount digit by digit and clicking OK, is much faster.
  • With a non-HDFC card, you can not choose this option. Understandably, the favourite option should be stored on the server side and not on the ATM machine (as settings shouldn’t be ATM machine specific rather than account specific). HDFC would store data only for HDFC cards on the server side. (I am not sure whether at a later stage when more banks open this option, this could be got via web-services.).
  • On same lines, this wouldn’t work with HDFC card on a different bank’s ATM machine
  • Next time, when the customer withdraws money, 40% performance improvement (as claimed) would be observed.
  • The performance improvement is observed only if the transaction is made for the same amount, which was saved as a MyFavourite option
  • You can not store > 10000 as a MyFavourite option, because of the recent RB rulings of withdrwal of only a max of 10000/- per transaction.
  • Only one favourite option can be chosen at a time. This means that only those will get the performance benefit who tailor their withdrawl habits and confine it to a single type of amount withdrawl (or choose it carefully with respect to already existing ones).
  • Choosing a favourite withdrawl option of say Rs 1000/- which is already provided as a fast path, is redundant.
  • “40% faster performance” is based on averages of data collected by HDFC on transaction times from the ATMs. So, the experience would differ from one customer to other

In the light of the above, HDFC’s ATMs are probably working at the same speed. It’s not the ATMs which have become 40% faster. This statement indicates that whatever operations one was doing earlier would take 0.40x less time, but that’s not the case. The improvement is confined to withdrawl transaction for a specific chosen amount (only if configured prior to the transaction).

So, have they done a bad job? No, not at all! Providing a customized withdrawal fast path is a very good idea and will serve many a customers in a good way. Thinking of providing this is definitely a step in the right direction. This blog post was an analysis of the misleading advertisement. It should have been more on the lines of “Your favourite withdrawl is 40% faster at HDFC ATMs“. I am not sure whether this sells as good as the original advertisement but nevertheless, it is closer to the truth.

Rahul Verma

13 Responses to “HDFC’s faster ATMs, Centering Principle and Fast Path Pattern”

  1. Fake Software Tester


    What you say is true. But, HDFC’s story would server as a perfect example of changing the Business Algorithm (rather than code based performance tuning) to give the customer a quicker response time.

    Another thing that they have analyzed is that most of their customers tend to withdraw the same amount more often… I believe this wonderful in-depth analysis of their customer requirements led them to offer this feature to their customers!!!!!

  2. Parimala Shankaraiah

    Hi Rahul,

    I thought about this misleading advert the other day. However, I did not think this deep about Centering principle and Fast path patterns. Good summarization with tips on performance.

    Informative post,

    Parimala Shankaraiah

  3. admin

    Hi “Fake Software Tester”! (I hate to call you this :-))

    The observation that most of the customers withdraw same amount most of the times does not need any in-depth analysis. A small one hour brain-storming session would bring that out. A better example of such analysis is the “Withdraw 1000” or “Withdraw 4000”, wherein such study would be required as to choosing the 2-3 transactions which cater to most of the customer requirements.

    I do not disagree to the impact of the idea. That’s what fast path pattern is for.

    I do not agree to your point about change in Business Alogrithm (I am not sure esp about the algorithm part). From my understanding it is just an additional hard-coded (for a customer account for a given amount) path provided.

    One important point raised by you is performance improvements achieved via changes other than code. Most of the performance problems are design/solution related rather than efficient algorithms.

    Coming up with a new idea and selling it by saying more than what it actually is, misleads. To understand this better, please have a look at advertisements selling chocolate drinks for children. First says with this children grow 2* faster than the other. The other brand reverts back saying that with this they would grow 3* faster than the former. Both of them refer to some “scientific research”, wherein the * part could be seen only with a microscope. Are any of the chocolate drinks bad — depends on taste and choice. Are there claims false? – how do we really know without understanding which scientific research they are referring to. That’s what the blog is about. I never said, HDFC shouldn’t have done this or that it’s a bad idea. Please re-read:

    “So, have they done a bad job? No, not at all! Providing a customized withdrawal fast path is a very good idea and will serve many a customers in a good way. Thinking of providing this is definitely a step in the right direction. This blog post was an analysis of the misleading advertisement. It should have been more on the lines of “Your favourite withdrawl is 40% faster at HDFC ATMs“. I am not sure whether this sells as good as the original advertisement but nevertheless, it is closer to the truth.”



  4. admin



    Over the last couple of months, I have been reading about generic performance engineering concepts. When I found a practical example, I couldn’t resist writing about it.


  5. Utham

    Hi Rahul

    Thanks for your information.

  6. Tania

    Hi Rahul,

    I’m a customer of HDFC & a tester myself. I saw this add regularly but never thought in the perspective you put it. My sloppiness…:(

    But its a gr8 post!


  7. admin

    Hi Tania,

    Thanks for the good words.

    Most of the times, we take the world around us in a that’s-how-it’s-probably-meant-to-be manner. E.g. we seldom validate the correctness of what elders say. The moment we start questioning, it’s like peeling an onion. Truth lies below a lot of layers.


  8. Dhanasekar S

    Great analysis,I think you missed to see the tiny asteix next to the ad.That tiny star has lot more conditions that what you have said in here.
    it is closer to the truth.” ,you can never expect anything closer to truth in marketing 🙂
    I am fond of such conditions apply ads,i have blogged using that on how commercial automation testing tools are marketed
    –Dhanasekar S

  9. Fake Software Tester


    Sorry about the late reply. But when I talked about the business algorithm being changed, what I meant was that to improve performance, you can think about improving usability as well, rather than look at code/design changes. I believe HDFC have improved performance by usability, which is not something which I have seen at many other places.

    If you define Response time as “Time taken to return the record after receiving a submit”, then there’s no differences.

    If you re-define Response time as “Time taken to walkout with the money in hand after coming into the ATM”, (inclusive of wait times, etc.), then I believe they have achieved in a performance improvement.

    It boils down to how you define Response time and performance. A overall picture seems to have resulted in a much better thing for the customers.

    – Fake Software Tester (No worries about the name… Note that it’s not a secret identity, but a mask that I have chosen to wear)!!!!!

  10. admin

    @ Fake Software Tester

    No questions on whether usability improves perceived performance 🙂

    I thought to write on the truth behind the advertisement and its over-generalization.


  11. Madhusudan Ganda

    Thanks Rahul. It is really interesting how you go into detail. I missed this 🙁

    I have seen only the Add ‘HDFC’s ATMS are 40% faster now’ (not My favourite info in small letters). I thought that all the transactions are 40% faster. But i experienced even a normal withdrawal transaction in Airport Road ATM (near diamond district) is 60% slower than Citibank ATM. I used to wonder what the add exactly means?

  12. Rahul Verma


    I share the same experience w.r.t. HDFC vs CitiBank ATMs, though not sure about the percentages 🙂

    The decision point is whether we want an application that always performs good or we want to save money on real performance engineering and provide alternate path and try to make this alternate path famous via advertisements.

  13. Bibudhendu Swain

    Just wanted to thank you as i get to learn a lot of things from you.

    Good work @Rahul

Leave a Reply


1 2 12
June 30th, 2020

Arjuna 1.1.0 Production Release

July 23rd, 2017

The Last Keynote on Software Testing

July 23rd, 2017

The Agile Qtopia

July 23rd, 2017

Reflections:: Persistent Learning

February 28th, 2017

Reflections :: Servitude

January 9th, 2017

Reflections on Testing: Dignity

May 10th, 2016

The Pluralistic School of Testing

May 9th, 2016

Don’t Ignore Your Special Users

May 9th, 2016

The Dogmatic Agile – A Critique of Deliberate Blindness

October 9th, 2015

Pattern Thinking for Performance Engineers