Loyalty schemes are an effective way for supermarkets to compete with the consistently low prices of discounters.