Martin Fowler's bliki had an interesting post on Customer Loyalty Software that made me think about what a great fit business rules, and enterprise decision management, are for loyalty program management. Applying Martin's patterns and using a business rules approach to handle the automation is a great fit for a number of reasons:
- Loyalty program rules are typically independent and atomic
Just like business rules in a business rules management system
- Some transactions have multiple consequences
Each rule that is met has its own actions and those actions can, in turn, trigger more rules. For instance, a transaction might trigger a rule putting someone into a new reward level that means previous transactions now earn bonus points. Inferencing rule engines handle this kind of scenario particularly well.
- Different systems (as Martin noted) need different consequences applied
The rules for updating multiple systems can easily execute in parallel
- Loyalty rules are dynamic and constantly changing
Making business rules an even more attractive technology for this. Rules are easier to manage and easier to change
- Many loyalty rules conform to regular templates
Allowing business users to see simple interfaces for managing their rules
- Analytics add value
Using past data about the behavior of customers to see if loyalty awards changed behavior allows you to derive the most profitable rules for your loyalty program and focus your efforts on those customers whose behavior will be changed.
I'm sure there are more but that seems like enough reasons. So, if you are building loyalty software, use a business rules management system.