The Rules Engine

I designed this ‘Rules engine’ as a way to visualise complex ‘IF / Then rules’ involving multiple nested clauses. The user can drag and drop to perform the nestin task

These rules encapsulate business logic surrounding when we retarget a customer with either emails or targeted adverts. This will be based on their user-behaviour on one of or websites. We original opted for a more colloquial language in the rules engine but the development implications outweighed the cost of the project, so we stuck to a familiar pattern. Our developers were not
keen on the idea of writing a bespoke natural language processor.



A basic rule

The rule below shows what a marketeer would enter to create an email campaign based on users-browsing behaviour.

If they browsed items over £60 we will send them a free shipping offer.

This operator determines how we will compare the user behaviour specified in step one to an undetermined value.

After the user makes a selection the next dropdown populates, this is because we wanted them to focus on the task in hand and because the subsequent field’s values depending on the previous selection.

Step two – Select the second operator

Here is where we determine what value we want to attribute to the rule. 

Now the rule is complete

Complicated rule (nested)
I wanted to create a visual way for a user to nest part of the rule.
So added in the functionality to drag parts of the rule into a nested area

Complicated rule (nested)
I wanted to create a visual way for a user to nest part of the rule.
So added in the functionality to drag parts of the rule into a nested area