Business Rules for Decision Support

Business rules are used to automate selected routine business decisions. Rules offload these repetitive decisions from your human staff so that they can concentrate on value-generating tasks that only humans can perform. Automation also leads to higher consistency, better tracking for continuous improvement, and the ability to handle higher volumes of business. The decision itself need not be large or complex. The automation of a set of policies, or the application of current sales promotions, are examples of decisions that may be individually modest, but that can result in significant impact to your bottom line.

Business rules have a very specific place within an enterprise architecture. Rules are an excellent way to capture and operationalize knowledge about certain types of business decisions. Where the decision is highly algorithmic and represents static knowledge, it is best coded in a traditional programming language. Computing the weight of an order from its separate parts is a very algorithmic process. Where the knowledge is likely to change over time, or is best expressed in semi-independent chunks, rules are easier to understand and maintain. Rules are typically a better choice when the knowledge is intended to be maintained by the business experts themselves, because rules can be stated in a quasi-English format. Rules are also an excellent solution when business decisions need to be highly reactive to incoming data, such as in event-driven systems. Two examples are the encoding of short-term upsell and discount policies on an e-commerce Web site, and applying an analyst’s rules of thumb to an application form to accept or reject simple cases, and route the unusual ones to a human.

What is a rule? Rules are statements that take the form, “When condition is true, then take action.” Business rules are most often used in a forward-chained manner. This means that a set of rules is applied to a body of facts, often called the working memory. The data can come from anywhere: user input, a database, business analytics, or the action of other rules. Each rule’s condition then defines a significant change in working memory. When that specific change is detected, the rule can invoke domain-specific actions, and it can make changes in working memory.

Rule technology is quite mature, having been around for over 30 years. There are many excellent tools from vendors like IBM, Oracle, and specialist rule-engine companies. There are also excellent open-source rule engines, such as Drools from JBoss. Efficient compilation technologies are in wide use, mostly based on the well-known RETE algorithm. Rule technologies are also quite fast and scalable. There are commercial applications with tens of thousands of rules that examine millions of facts. However, many business applications are structured more simply with a separate rule base for each significant decision.

Explicit Knowledge can help with your business-rule project needs, such as: