In his blog recently (well not that recently), Marco Ensing stated:
In all my years of experience, I've never encountered a client with more than 500 rules in a single rule policy. The reason is not any scalability issues on inference engines. The reason is simple. It is difficult for a business expert to
- manage a very large rule policy
- maintain a very large rule policy
- verify and validate a large rule policy
Now I have to take issue with this. I think Marco is talking to a different group of customers than I am. Clearly I talk to those with more need for a business rules management system and with more complex problems but I speak to many who have thousands of rules. Take a specific example - Auto Club Group and their auto-underwriting system.
Now auto underwriting is not the world's most complicated kind of insurance, even when you are trying to handle multiple states. Despite that they have 3,000 rules - far more than 500. These rules are managed and maintained by the business user (they change them every week) and they are able to verify and validate and re-deploy a new set the same day they complete their analysis of the changes they want to make.
I suspect that almost all the hundreds (thousands) of companies using the leading rules engines (Fair Isaac Blaze Advisor, ILOG, Haley, Corticon et al) would tell the same story - lots of decisioning problems take more than 500 rules and a good rules management approach (and decent scalability) makes it possible.