At the end of 1949, an associate professor from the University of Tokyo named Kaoru Ishikawa joined the Japanese Union of Scientists and Engineers (JUSE) to help develop and enact quality improvements in Japan’s industrial sector. Ishikawa was brought on due to his great skill of mobilizing large groups of people toward a common goal. In conjunction with JUSE, he would ultimately create Ishikawa diagrams to help determine root causes in events. Ishikawa diagrams help show the relationship between causes and effects for a specific event. These diagrams also help analyze root causes and define failure modes while often being used in manufacturing, marketing, and service industries.
Instead of showing cause and effect in a step-by-step process, the Ishikawa Diagram illustrates the many causes in a brainstorming fashion that work simultaneously to lead to one effect. Because of the diagram shape’s similarity to the fish skeleton, many analysts commonly refer to the Ishikawa diagram as a fishbone diagram. The Ishikawa diagram breaks down as follows: the head of fish signifies effect or outcome; the horizontal branches or ribs delineate causes; the sub-branches explain reasons.
In the example of an Ishikawa diagram below we see the defects of a letter mailing process. All of the examples used here are a quick mock-up in Tableau using a made-up process and data.
I find these diagrams very useful. They are great tools for sketching out process failures. However, when presenting this information I have always wanted more from the visualization. I started exploring this back in early 2013 when compiling the work of Marcus Beck on "Visualizing neural networks from the nnet package in R". Marcus developed a better way to visualize the output of neural networks, and I immediately started thinking about how I could apply this to other visualizations. Before I explain his method and how I apply it to the Ishikawa diagram, I want to briefly discuss the pre-attentive attributes.
Jacques Bertin set out these basic rules for encoding data in the Semiologie Graphique written in 1967. Since then, many people have referenced and built upon his work. These preattentive attributes are part of the fundamental building blocks for data visualization. When creating or improving on data visualization, we are most likely working within the framework of these attributes.
In an effort to improve the output of the visualization in the nnet package in R, Marcus uses weighted lines, or line width. After all, the output of the neural network has to do with weightings, so being able to visualize the weightings is very important. This is really a form of size which is one of the preattentive attributes. This same fundamental principle applies to the fishbone diagram. Using the Pareto Principle, also known as the 80/20 rule, we often see that in a process there are a relatively small number of components that make up the majority of the reasons for the breakdown in the process. In the case of Vilfredo Pareto, he discovered that 80% of the real estate in Italy was owned by 20% of the people, hence the phrase "the 80/20 rule."
Applying this same method to the fishbone diagram effectively weights the branches of the fishbone so that the reader can quickly see where these process breakdowns are occurring. In the example below, I use the weighted line method to encode the data for the number of occurrences within each cause and reason.
Another preattentive attribute is color (intensity and hue). If we use a sequential or diverging color scheme, we can encode this same information using color. This approach allows the reader to quickly see the areas of the process that are not a problem vs. the areas that are causing the most breakdowns in the process.
In this example I combine both width of line and color to double encode the value.
I am not aware of any business intelligence platform that has the Ishikawa Diagram (fishbone) as a native chart type. There are a number of tools that can be used to create them, but typically they are done with a template of some sort or simply on a whiteboard with a marker during a meeting. For the examples in this post I created a template in Tableau, one using the weighted line method and the other using color to encode the values. There is a link to the Tableau workbook here.
There is a tooltip in the Tableau workbook, but one additional improvement might be to add the "# of Defects" to the labels so the reader could see it in printed form or without the need of the tooltip. Also, I used a diverging blue-orange color palette and set the mid-point low to remove the blue, resulting in mostly a gray-orange scale. Of all the variations above, I think I prefer this one the best.
I hope you find this variation on a chart type useful in your work. If you have any questions feel free to email me at Jeff@DataPlusScience.com