I got a chance to catch up with FICO to talk about the new release of Blaze Advisor recently. FICO has a set of decision management solutions consisting of tools (primarily the Blaze Advisor business rules management system, the Model Builder predictive analytic workbench, Decision Optimizer and the Xpress Optimization Suite), applications and analytics (scores as well as custom analytics). The applications are focused on the banking credit decision lifecycle and these applications are increasingly built around Blaze Advisor as well as integrated with Model Builder and in some cases Decision Optimizer.
FICO customers are mostly in banking (where decision management is an established approach) but they have a solid reference base in insurance, retail and healthcare also. In these industries the tools are dominant. Revenue for Blaze Advisor comes predominantly from Banking at 40% of their business while Insurance is up around 20%, Government about 15%, healthcare and retail both at 5%. FICO continues to focus on automatically making or recommending a discrete action, consistently, at high volumes while managing uncertainty and monitoring and continuously improving the results of decisions to create measurable value.
I last reviewed Blaze Advisor in 2010 (Blaze Advisor 6.9). With the forthcoming 7.0 release, Blaze Advisor moves to Eclipse-based development tools and a shared environment with Model Builder (which has been on Eclipse since it hit 7.0 – Model Builder 7.2 is reviewed here).
Decision Graph is the key new feature and is available both in the Eclipse IDE and in the web-based rule management applications. This is designed to ease the handling of decision trees with thousands of nodes, not uncommon in credit assignment strategies for consumer banking. The new Decision Graph editor allows you to manage decision trees in a variety of ways.
- The editor allows you to level a tree, grouping the branches dependent on different variables together to make it easier to see where, for instance, revenue is used as part of the branching in a decision tree.
- A leveled tree can be swapped into a graph view where the branching criteria and actions at the end of the tree get collapsed down to unique nodes. This reduces the number of nodes – from 275 to about 100 in one real example for instance – and makes it easier to see all the paths to a specific action but the intersecting of paths tends to make it look more complicated. Users can swap back and forth which lets the benefits of the different representations be used on the same tree.
- From any view you can call up an Action Graph – all the paths to a particular action. These are a lot simpler and allow you to see the different paths that result in a particular outcome. For instance, a decision tree may have 10 different possible actions such as different kinds of credit products to be offered. Such a tree could be viewed as a collection of 10 distinct Action Graphs. Changes can be made in Action Graphs and these affect the underlying tree and will be reflected in all the views. Action Graphs can be particularly helpful for complex strategies allowing a user, for instance, to see just the steps that result in rejection. Action Graphs can also help with regulatory compliance by presenting just the steps that result in the action of concern to the regulator.
- A further simplification of the decision tree allows a default action to be selected and a graph displayed that shows how the remaining non-default actions can be assigned. The tool allows you to select the default action based on which is the most complex (to simplify the graph the most) or on what makes sense to business users.
- Built in to the editor is a “Slice bar”. The slice bar allows you to view only those paths that use certain conditions. For instance a regulation might specify that people who meet certain conditions must be treated in a certain way. The user can specify the condition and see how the decision tree handles situations covered by that condition. For instance, the user could specify an age condition and see all the paths in the decision tree that include people in that age range.
As well as the various viewing modes, refactoring routines are included to simplify the graph such as by removing unused levels and redundant nodes. This can be done for the whole tree or by re-ordering some levels explicitly and then letting the routine re-order the other levels to minimize the complexity of the tree. This would allow you, for instance, to see the branching based on total customer value at the top of the tree and then allow the tool to select the right ordering to keep the tree as simple as possible after that.
The user can also pass a data set through the tree and see the distribution of results. You can select any dataset and then map its structure to the variables used in the tree. The tree will then show, node by node, how many records are passing through that node or ending up in the various action nodes. Some basic distribution data on attributes by action, showing the mean risk score for someone assigned a particular action for instance, is available.
While all this was developed to handle large trees, it is also clear how it could improve building smaller ones, such as by allowing different users to focus on a specific action and how it is arrived at.
Besides the new Decision Graph there are few changes beyond the general use of Eclipse as the base for the tool. FICO have retained a significant amount of the existing Blaze Advisor look and feel in the details, in part to help non-Eclipse based customers who are familiar with Blaze Advisor to transition. By and large the functionality of individual editors has not changed with the move to Eclipse but the overall IDE is now Eclipse, changing some of the high-level interactions as you would expect. For instance, repository access is improved in the new Eclipse version with the possibility to have several projects open from different repositories. In addition the user of Eclipse improves integration with Java and other Eclipse-based tools including FICO Model Builder.