Here is my take on this:
- if customer is leaving because he or she is demanding some feature to be implemented, then he or she is not your customer anyway.
- if customer is leaving because your service seems too expensive, then he or she is not your customer anyway.
- if customer is leaving because he or she is generally unhappy about the service, it is important to work hard to understand customer use case and whether your solution is really for that customer
- if customer is leaving because your service does not work or it is flaky, then... oh well fix it and try to convince customer via nice support. Or maybe that feature you are selling should not be part of your service...
For example, there is much price competition in my market. Yes, you increase your resources per dollar over time. Moore's law, and more to the point, your competitors are doing it. But, you can't just give the new, better deal to your new customers, you have to give that new, better deal to your existing customers, first. Linode has been famous for this for a while. Last time I lowered prices on my front page, I actually reduced the dollars I charged existing customers, which is even more unusual. Normally, you keep the dollars the same and just give them more resources. As an aside, I'm way behind, price-wise, right now. My plan is to keep the dollars charged the same, and just give customers more ram/disk, as is traditional. (I've upgraded maybe 1/4 of my customers to my first upgrade level. I suspect I may need to go further than that, though.)
I've watched several (ex) competitors give new customers better deals than existing customers... and it just doesn't work at scale, when your per-customer margin is razor thin.
A hidden cost (besides the obvious "they are paying for the entire support department" cost) is that if the industry you are working with is a niche industry, those customers can also poison the well you are drawing from, even if you expend everything to help them, some are beyond help. Fire them as fast as you can!
Retaining a customer makes a lot of sense when you are a consulting shop where customers pay you for the work you do. In a SaaS world where a small percentage of the customers is already responsible for 80% of the support load trying to retain them is often just not worth it.
How much effort you should put in retaining a customer is a function of the cost to require new customers (CAC) and the LTV of the customer. And for SaaS focusing on customer acquisition works much better. Or to put it really simply: if your goal is to grow your SaaS business at 20% month over month the few customers that want to leave but could be persuaded to stay are simply a distraction.