Decision tree is an easy to understand management tool which can sometimes help take intelligent decisions.

A decision tree, as the name suggests, is a metaphorical tree which captures the various branches of options one could pursue

Often in our lives, we are caught at a cross-roads trying to decide which of several options we could pursue. We pause and consider what we can get involved in at that uncertainity point. We could branch into any one of several options. Once we pursue any of those options; we would then come to another node in the decision tree where we are again caught trying to decide which course of action to follow

Once we reach a branch where we have no further options to explore; then we need to check the various outcome of having reached that point in our life

Analysing a decision tree is extremely simple. Its nothing much more than a cost-benefit analysis; considering the probabilities of various outcomes that one could reach. Read this article at Mindtools.com for a thorough discussion and explanation of how the mathematics works

A decision tree can be easily captured as an XML file. I'll post the DTD for it later on here when I get the time; but here is the English explanation:

This XML file consists essentially of two types of elements: one is <decision> </decision> and the other is a singular element <outcome> A decision element can contain one or more decision elements or it can contain one or more outcome elements. If it contains the latter, then it cannot contain any decision elements. Moreover, such a decision element must contain an attribute called cost.

The outcome element contains attributes called probability and returns. These terms are self explanatory once you read the Mindtools article

Here is a zip file containing the XML file containing the sample data which was used in the mindtools article. I've written a XSL file which can process such an XML file to do the decision tree analysis. That XSL file is also placed in the zip file.

You can easily modify the XML file to suit your own needs. Also, the XSL file can also be modified to bring in more sophistication in the analysis and reporting (e.g. HTML output)

How to use the zip file?

  • Extract the zip file to a folder
  • Download a suitable XSLT processor (MSXSL can be downloaded from the MSDN site There are other XSLT processors too)
  • Open a console window on your computer (Run "cmd" in Windows 2000 or XP)
  • Change directory to the folder where you've extracted the two files from the ZIP file
  • Run the XSLT processor so that the XSL does its magic on the XML file

... or a simpler method:

  • Download cooktop from http://www.xmlcooktop.com and install it
  • Load the XML file and XSL file into cooktop
  • Press F5
  • Enjoy looking at the results

If you use the cooktop method, and if you can be bold enough to modify the XML file to suit your own decision trees, then you can easily use it as an environment to analyse your own decisions.

Note: There are several downside to a decision making tool such as a Decision tree. The most glaring of them is that the accuracy of the decision tree depends on predicting the returns on outcomes and the value of the probability of reaching those outcomes. So don't trust the tool blindly. Spend quite some time thinking about the values you want to enter

Happy decision making!