How to Create a Loyalty Program That Works: Designing a System to Retain Customers