Click here to see the SAS code.
Click here to see the example.
This graph was an entry for the ...
Business Intelligence Network 2006 Data Visualization Competition
The contest was organized & judged by Stephen Few (he was the
organizer & judge of the DM Review contest last year, which
SAS won the dashboard competition).
This particular graph is for Question/Scenario #4 ...
This is an executive dashboard for the XYZ Commercial Airline.
Hover your mouse over the bars to see the exact/detailed data
values for that bar, in a html charttip.
Click on the bars to "drilldown" and see the actual spreadsheet data.
Note that the criteria for good/satisfactory/poor are different
for each bar chart -- see the spreadsheet for the exact %-of-target
requirements for good/satisfactory/poor for each category of data.
By executive decision, Customer Satisfaction and Market Share
have been determined as the two most important things for this
airline at this time, therefore these 2 charts garner the
coveted top/left position on the dashboard. (I am taking
certain liberties here, since this was not specifically
mentioned in the contest data :)
The next most important are the Revenue, Expenses, and Profits charts.
Note that they are all plotted to the same scale, so that it is easy
to visually "see" how big the expenses and profits bars are, compared
to the revenues, etc.
All other bar charts are grouped in somewhat coherent groups,
with the main focus being to group charts with similar/related
measures horizontally (and where possible related charts are
also in close proximity vertically).
Good (and incomplete month) bars are a subdued color, whereas
Poor bars are bright red (ie, the bars that need attention are
bright and jump out at you).
All of the bar-and-target charts share one copy of the legend,
to save space. Notice that an empty no-color bar is use for
the "Incomplete Month" of November - I realize that I could
technically color some of the November bars (for things that
once you're into the 'poor' range, there's no going back),
but since I can't reliably color-code all of the November
bars, I opted to not color any of them (to help avoid
confusion, and to eliminate the need to explain the algorithm
to use to decide whether or not to color it).
The Top-10 and Worst-10 routes have green and red titles,
to give a quick visual cue which table is "good" and which
The Delayed and Cancelled bar charts use a horizontal bar
so that the long 'Reason' labels can be printed horizontally
so they are easily readable. Both charts share the same
'Reason' axis, so this long text does not have to be repeated
(thereby saving space). I scale the 'Delayed' bars longer than
the 'Cancelled' bars, to visually reinforce that there were
much more delays than cancellations (I don't actually plot
them to the same scale, because then the 'cancelled' bars
are too short to distinguish from one another).
I was tempted to sort the bars by increasing/decreasing
number of delays or cancellations, but then I would not
have been able to share the long text axis.
Due to space limitations, I used a stacked bar chart for the
"Revenue per Sales Channel" chart. Although the stacked bars
are not good for comparing between channels, etc, they do still
provide somewhat of a quick/rough space-efficient way to
visualize the data. I chose very subdued colors for the bar
segments in this chart, so they do not "compete" with the
red bars in the other charts (I chose colors which are
subdued, but still easily distinguishable).
In the title section, I try to include enough info to uniquely
identify this dashboard: Company name, what kind of dashboard
(ie, this is the 'executive' dashboard - there might also be
maintenance dashboards, etc), the date of this data snapshot,
and the warning that the info in this dashboard is
'company confidential'. There is a 'Help' button which takes
you to a page describing help-info that you wouldn't want to
see every time you view the dashboard.
And then there is an airplane icon - which should not be
confused with "chart junk" ;) The airplane icon helps you
quickly (at a glance) know that this is an airline dashboard.
Also, it provides another icon to click on to get the 'Help'
information. It also helps add "balance" to the title (there
would otherwise be a corner of 'wasted' whitespace). And,
if there were an overall "score" of how well the airline is
doing, I could adjust the rotation angle of the airplane to
represent the overall health of the airline (if this
airplane were pointing downward, that would represent a
very bad score :)
I think an important feature of web-based dashboards is the
ability to have charttips (hover the mouse over the bars/markers,
and see the detailed/exact data values, etc) and also drilldowns.
The dashboard can show a high-level/summary plot, and then when
you click on a graph, it can drilldown to a larger plot that
shows much more detail, and is optimized to show as much as
possible about that particular data.
For example, in this dashboard there was not room to show
"bullet" style charts for each of the bar & target charts.
But it would be really nice to click on the bar chart and
"drilldown" to see a full-size high-detail bullet graph
for that bar chart (showing the exact Good/Satisfactory/Poor
ranges for each individual bar).
The Revenue per Sales Channel bar chart could have a drilldown
that shows the same data as grouped bar charts, so you can
more easily compare between the channels, etc.
The Top 10 and Worst 10 routes tables could have a drilldown
that shows the same data in a graphical way (such as bar charts,
and/or maybe even showing a map with the routes marked on the
Back to Samples Index