A friend used to tell me that being a retailer is very tough, especially when some essential items are under the price control act. They practically cannot get a profit when their customers ask for a discount. However, business is very competitive and what my friend did was create a loyalty bonus where customers are awarded with points for every $10 spent. According to my friend, this is a losing concern in the short term but it has long term potential. His customers, though, were very happy because they are rewarded and with the points they have collected, they get to exchange for other items which means that they are getting these items for free and we know that everyone loves free!
Now that online shopping has been adopted by many web savvy people, online retailers also have their own webloyalty programs to keep the loyalty of their customers.
I understand through experience that it is tough to keep a customer because they have the right to shop wherever they want. With benefits and reward programs, these customers are likely to be returning customers.