Question

We have a in-house tool that manages email subscriptions for customers of a website - basically a very simple email CRM tool.

These customers can be in different states - e.g. newly joined, never clicked on an email link, VIP customers, not subscribed etc.

Currently, we use a number of ad-hoc SQL queries and manual entry to manage the various groups.

I'm new to the program, and was thinking of using a finite state machine to manage the transitions between the different groups.

So we'd use different events (e.g. customers buying a product, or unsubscribing from a list, or some kind of timer expiring) to do the transitions between states.

I was just curious why this approach doesn't seem to be mentioned more in CRM tools or literature, or in other tools (MailChimp, ExactTarget etc.)

The only mention I was able to find was in this article from back in 2007:

http://multichannelmerchant.com/lists/using-finite-state-machines-to-manage-customer-relations-04092007/

I'm guessing there's some glaring issue with using state machines to manage CRM? Or are there any other issues you can see with this approach?

Was it helpful?

Solution

I walked this path last winter, it works well. You need to mix in a bit of Kripke structures to make it work. I published my results in paper called "State Machine Abstraction Layer" on EurAsia-ICT 2014 conference. I also have working open-source implementation, which I plan to release in next few months.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top