Data Visualization is defined as “the study of the visual representation of data, meaning information that has been abstracted in some schematic form, including attributes or variables for the units of information.” But, to boil it down, the term means a graphical representation of data that can make understanding it easier.
I first learned about the concepts behind Data Visualization in the book The Visual Display of Quantitative Information by Edward Tufte. Tufte’s book illustrates (quite literally–there are tons of visual examples) the idea that a picture is worth a thousand words. When I first looked through the work nearly 15 years ago, I was overwhelmed and amazed by how Tufte so easily and simply relayed information using diagrams and I took away from the book a firm grasp on the idea that a graphical representation of data can very clearly articulate a point.
After becoming a software developer I learned about how the theory and practice of Tufte’s concepts can enhance a computer system. David McCandless has a bevy of great visualizations on his site, informationisbeautiful.net. One such visualization, from McCandless and Lee Byron, is a graphic of Facebook post-break-up status messages by month:
As you can see, this simple graph very clearly illustrates some interesting results (February, March, November, and December are tough months for love) even though it displays the inputs of over 10,000 status updates.
So, how does all of this relate to Software Development?
As a Development Manager at Algonquin Studios, I spend a lot of time meeting with my clients. The objective of these meetings is almost always to determine the final “outputs” of a system. These outputs can include things like reports, ESIs (external system integration), graphs, printable documents, and customer facing data views and can be thought of as the reason we’re building the system in the first place. If we never established the outputs for a given system all of the inputs–usually time-consuming data entry–would be a waste.
The most important outputs for a system are almost always tabular reports that can show information ranging from first quarter financials, a customer list, or employee performance over an extended time period. Basically, these are the types of reports that help run a business and there comes a point in almost any project when I’m asked to create an “Executive Dashboard” using information pulled from these reports. Because these dashboards can contain all types of information, from trends to warnings about productivity, their information can be displayed as general statistics and/or graphics.
So, how can we use the data in a system to dynamically draw a Data Visualization that will let the user draw their own conclusions about information that’s pertinent to the running of their business? Key Performance Indicators.
There are 3 basic types of Key Performance Indicators (KPIs):
- Raw Numbers
- Number of new customers
- Change %
- Percent increase in sales over last month
- Progress %
- Percent of monthly income target
Each of these basic types of KPIs are related to a goal and there are a set of work items that need to occur to move these items forward.
Each of these KPIs will have a few attributes.
- How often can this indicator be measured? Daily, weekly, monthly, bi-monthly or anually?
- Especially important for percentage-based KPIs. When have you hit your target?
- When you want to consider this KPI under a lower threshold
- When you want to consider this KPI in an “Acceptable” state
- When you want to consider this KPI over an upper reasonable expectation
And all of this information be displayed in graphical form. Simple bar graphs, line graphs and gauges can tackle these Visualizations with effective results.
Check back for my next post in which I’ll continue this look at Data Visualizations with some more complex examples.