Godin Dumps on Bar Charts; Data Visualization Record Falls to 1 and 1

Seth Godin, well-known marketing guru, took a strong and misguided stand against bar charts1 in a recent blog post entitled “The three laws of great graphs”

Godin suggests that bar charts (and presumably other chart types like scatterplots, bubble charts, bullet charts, treemaps, etc.) give too much latitude for data confusion and ambiguity when used in presentations. In Godin’s view, a chart should make a single, clear point and leave no room for alternative conclusions.

“The only reason (did I mention only) to use a chart in a presentation is to make a point. If you want to prove some deep insight or give people textured data to draw their own conclusions, DON’T put it in a presentation.” “If the facts demand nuance, don’t use a graph, because you won’t get nuance, you’ll get confusion.”

Godin had hit on a similar point a while back when he critiqued Edward Tufte’s favorite infographic Napoleon’s March to Moscow.

“I think [Tufte] is completely out of his gourd and totally wrong. I think this is one of the worst graphs ever made…To make me take 15 minutes to study it doesn’t make sense.”

I agree that complex infographics aren’t an effective communication mechanism for many audiences, particularly if you are interested in telling a focused story.

Unfortunately, he uses this reasonable foundation as a jumping off point to claim that bar charts are overrated and unnecessary (he throws in a heinous 3D column chart for emphasis). “The problem with bar charts,” he says “is that they should either be line/area charts (when graphing a change over time, like unemployment rates) or they should be a simple pie chart”

That popping sound you hear is Stephen Few’s head bursting.

It is reasonable to argue that a value changing over time is often better suited to a line or area chart. But pie better than bar. Sorry, no can buy. He obviously got some flak after this first post:

“I stepped on the toes of many data presentation purists2 yesterday, so let me reiterate my point to make it crystal clear: In a presentation to non-scientists (or to bored scientists), the purpose of a chart or graph is to make one point, vividly. Tell a story and move on. If you can’t be both vivid and truthful, it doesn’t belong in your presentation.”

His follow-up post Bar graphs vs. Pie charts attempts to solidify his argument but ends up stepping in more goo. To make his point, he shows a effective pie chart versus an ineffective bar chart.

Godin Pie Chart

Godin Bar Chart

In a not so subtle sleight of hand, he has added another data series to the bar chart to show how it doesn’t make a single, clear point. As my colleague Pete likes to say, if my aunt had…

His argument appears to boil down to a belief that pie charts are so simple that it is impossible to deviate from his one-point-per-chart rule. Or put another way: presenters can’t be trusted to follow this rule, so best to take away anything dangerous. This parallels the misplaced anger people have toward PowerPoint. I wrote a post called A Poor Craftsman Blames His Tools.

That question aside, I reject his rejection of bar charts for a number of reasons:

  • There is a lot of evidence that bar charts are superior to pie charts even when showing simple data. Bar charts allow for better labeling and show relative size more effectively.
  • Pie charts are the most frequently mis-used charts in my experience. There seems to be an irresistible need to craft animated, 3D, shiny pies — all of which adds zero communication value.
  • Restricting data presentation to a few chart types limits your ability to communicate. Scatterplots, for example, can carry powerful and clear messages about relationships between variables.
  • If the data and message is super simple (as Godin would want), using a chart is likely a waste of pixels. In his pie chart above, the only message he wants to convey is that trolls rule. Why not simply state: “Trolls are the largest segment with 45% share” and leave out the chart.
  • Bar charts can show trends and magnitudes simultaneously. I don’t believe this has to be a liability in communication, nor should they always be separated. If I wanted to show that trolls are both the biggest segment and the fastest growing, breaking those facts into separate slides seems more distracting than useful. The points are tightly linked and supportive of each other.

1. The “bar” chart that Godin refers to is actually a column chart. I’ll use the term bar charts to refer to both bar and column charts in this post. However, the distinction between these two chart types is important as each chart is appropriate in different circumstances. For example, when there are a lot of categories, a (true) bar chart allows for much clearer labeling.

2. “Purists” seems to be used to label the objectors as a bunch of academics who don’t appreciate the realities of the business world. If you’re a loyal reader of our blog, you know that is a stick we prefer to use on others.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. All source code is released under a BSD License unless otherwise specified.

8 comments | Show all comments only the last 5 are shown


July 14, 2008
Jim Linnehan said:

Zach, your colleague Pete sounds like a valuable team member.

At any rate, no wonder Godin takes his position on "Napoleon": Godin and Tufte are in different worlds. The simple contrast is the marketing guy vs. the anti-marketing guy.

Picking nits:
"[Godin] obviously got some flak after this first post..." Here you mean "flack."

"In a not so subtle slight of hand..." Here you mean "sleight-of-hand."


July 14, 2008
Zach said:

@Jim: flak is right; slight is wrong and fixed. Thanks.


July 15, 2008
Andrew said:

I noticed Seth's advice includes using animation. I think this is in contradiction to his goal of being "vivid and truthful" in a presentation. Animation certainly can make things vivid since we (humans) are a highly visual species. But animation does not necessarily lead to truth. I read a paper recently that indicated that the misapplication of animation can lead observers to a false causal mechanism because of our propensity for visual thinking. Since marketing is persuasion, and persuasion is somewhere between truth and lies, then Seth is correct in that animation is a marketing tool (just don't mix it with knowledge discovery purposes).


July 15, 2008
Mike Hayden said:

I proudly consider myself firmly planted in Godin's "data presentation purists" category and I had to take a deep breath before allowing myself near my keyboard after reading this post.

Why on earth would anyone in "marketing" care about being "truthful" in a presentation?

I think Tufte is on the right track. Let the story tellers have their PowerPoint presentations and leave well crafted information presentations to the people who would like to have the necessary details available to them when a decision needs to be made. I always assume my audience falls into the later category.


July 16, 2008
Madan said:

The sad truth is that most people seem to prefer pie charts. Why I can't explain (perhaps it's related to median IQ or that nobody really wants to have to think), but that's been my experience. In my own orginization I've tried mightily to help educate the people who distribute key reports to use bar/column charts, but the net result of this effort has been null. Enter Sisyphus...

Your name

Email (optional, will not be shared)

Type the word "juice" (required to confuse the spammers)

Your comment


Add a comment





Why Analytical Applications Fail

Many analytical applications fail for a simple reason: they assume users know precisely what they need before they’ve begun the analysis. There are cases where this assumption holds and the user has a specific end-point in mind. But more often, users depend on the tool to track down an answer with only a vague idea of where to start. The exploratory analysis that follows can feel like swimming upstream when the application isn’t designed to facilitate the journey.

The source of this mismatch is partly rooted in the technical perspective of database developers. The simplest path to providing data access is to let users fill out a form to define a SQL query. It is a linear mindset that isn’t well-suited to ambiguous problems.

I’d like to offer a couple examples that illustrates the difference between the common, form-based approach and a more dynamic, interactive approach. Then I’ll explain the implicit assumptions behind the different models and why it matters.


At its heart, Travelocity is a travel analysis tool intended to help you find the best flight (or hotel, car rental, package, etc.) given a complex set of parameters. The relative importance of each of these parameters (departure day/time, return day/time, airports, connections, preferred airlines, price, etc.) is a personal preference… but not one that is explicitly or fully known even to the user. For example, it would be hard for me to say exactly how much more I would pay for a non-stop flight or what is the relative value of a more convenient airport versus a more reliable airline. These preferences are hard to understand prior to seeing specific trade-offs.

Travelocity approaches this complex problem in the way that so many analytical problems do: it asks for all your preferences first then offers a static list results for the specified query.

Travelocity Results

A few things to note about this search results page:

  1. On a busy web page, “Change Your Search” is not emphasized.
  2. The “tracker” across the top shows a linear five-step process. The user is expected to flow through this sequence in order.
  3. Getting results for a new search takes more than ten seconds.

I’ve been a loyal Travelocity user for years, and I don’t want to imply that this site is poorly designed or difficult to use. The problem is more subtle than that.

By way of comparison, let’s take a look at a more recent entrant to the online travel business, Kayak. This site is designed with a different usage model in mind. Kayak starts by asking for the same information as Travelocity, but the results pages is designed to support further analysis:

Kayak Results

The biggest difference is the prominent filtering functionality on the left side of the page. The filters allow users to narrow down their original search without leaving the results page (it takes less than a second to view refreshed results after changing a filter—no “run report” button required). In addition, Kayak places more emphasis on the start-over option. The designers of this site did not assume your first search would be enough to get you to the perfect flight option. Finally, notice the different “views” of the data that are available for a given result set. The views help support different types of decisions based on the same search parameters.


Analytical applications for business have similar underlying structures and usage models. The analysis process in Omniture SiteCatalyst, the leading web analytics platform for large sites, offers a typical example:

Omniture start page

This application offers lots of functionality, and it feels like featuring functionality is the primary purpose of the start page. If you want to get to useful data rather than view an advertisement for Omniture products and events, you can start by selecting the “Report Builder:”

Omniture form

Now, it is form-filling time. Like Travelocity, the user is expected to choose the precise parameters before they get to see anything. The resulting report requires a 10 second wait, and the result is static. Any additional filtering will require you to run a new report

Now let’s look at how Google Analytics chooses to structure the user experience:

Google Analtyics dashboard

In contrast to SiteCatalyst, Google Analytics shows you results immediately—no defining or configuring a report before you can get started. Similar to Kayak, the application offers a bunch of options on the report results page to refine parameters (e.g. data ranges, metrics, comparisons).


Travelocity and Omniture make a few assumptions common to analytical applications:

  • Users can accurately define their need (i.e. they already know what they are looking for).
  • Users can precisely define their need (i.e. they know all the relevant parameters).
  • Users’ workflow will follow a linear sequence of events. Going back to the beginning is a failure of the process or user.

More effective analytical applications like Kayak and Google Analytics make different assumptions:

  • Users have a general question, but do not necessarily know details about what they're looking for.
  • Users need to see results before they can ask better, more detailed questions. These feedback loops provide critical learning.
  • Users need to get to data as quickly and easily as possible. A screen without data is delayed progress.
  • Different views of the data can provide different insights about results.
  • Users want the application to keep up with their trains of thought. Speed and responsiveness matter. Here’s a framework from Jakob Nielsen’s blog about response time:

0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result.

1.0 second is about the limit for the user’s flow of thought to stay uninterrupted, even though the user will notice the delay. Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second, but the user does lose the feeling of operating directly on the data.

10 seconds is about the limit for keeping the user’s attention focused on the dialogue. For longer delays, users will want to perform other tasks while waiting for the computer to finish, so they should be given feedback indicating when the computer expects to be done. Feedback during the delay is especially important if the response time is likely to be highly variable, since users will then not know what to expect.

In my experience, making the right assumptions about user behavior makes all the difference between an application people enjoy and depend on and an application people dread using.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. All source code is released under a BSD License unless otherwise specified.

8 comments | Show all comments only the last 5 are shown


July 9, 2008
Anthony said:

I enjoyed you're article very much and agree with it wholeheartedly...

Have you seen QlikView? It's a platform that works in much the way you describe. There are some good examples at http://demo.qlikview.com

FYI, I work there, so I'm biased.


July 9, 2008
Brian said:

Hi Anthony. How is Qlikview different than the other bi tools like hyperion, cognos, tableau, excel, etc? Going to the website, I saw mention of in-memory processing, 64 bit architecture, etc (like I read in a Gartner (i believe) report) but I don't see how they are incorporated nor what makes QlikView the best option. Thank you


July 9, 2008
Robbin said:

I have to change you guys into lovers of Farecast (even though it was purchased by MS.) I met the Kayak guys at SES NY and they tried to convince me to do the Kayak thing, but nothing is as flexible as Farecast. When it comes to travel, that is.


July 10, 2008
Jurgen said:

Very nice article, thanks for writing it.

I personally like the idea of being able to play with the results and explore further. However, I am sympathetic towards the Travelocity site as it is definately less-busy (translated: "less-confusing") to a new user that simply wants to find the best flight prices between two dates. I'm certainly no expert in travel systems, but I have seen many operational implementations fail because of over-complicating stuff. In my view Kayak has too many options on there. If they prioritised a little they could reduce the number of options yet still offer enough flexibility to differentiate from Travelocity and be innovative. All this without possibly confusing anyone in the process.


July 10, 2008
Zach said:

@Simon: Obviously I have no insight into the backend of this application. That said, the filtering that Kayak is may be / could be done in the browser, requiring no changes to the original data fetching. At least, that is how we've done it previously: fetch a broad result, narrow within the browser. As for SC14, I don't have access to it (and have heard lots of griping from those who do), so I made the assumption it wasn't game changing.
@Robbin: The Kayak and Farecast experiences are freakishly similar to my eye. Perhaps you can point out where they diverge.
@Jurgen: I'd blame the clutter more on the prominently placed ads rather than the filtering/views functionality.

Your name

Email (optional, will not be shared)

Type the word "juice" (required to confuse the spammers)

Your comment


Add a comment





Microsoft's Executive Dashboard... Magnifying Glass Required

Organizations have a personality, and it bleeds into everything from executive reporting to product offerings. A recent Fortune article entitled Microsoft without Gates offers this wonderful tidbit about Steve Ballmer, CEO of Microsoft:

Even though he never was a serious computer programmer, by all accounts Ballmer is just as good at math as Gates is. He lives and breathes data. “Steve has a computer in his head,” says Bob Muglia, a 20-year company man who heads the Server and Tools division. Ballmer expects his subordinates to be adept in math as well. He distributes 11-by-17 sheets filled with numbers detailing the progress of various operations. The numerals are so small that executives use transparent magnifier rulers to see them. But there are never any columns showing percentage changes. Ballmer believes people ought to do that in their heads. It saves space on the paper for more numbers.

Wow. If it is as bad as the author describes, Ballmer has designed the anti-dashboard.

The Presentation Zen blog offers another great example of organization culture as displayed in business artifacts:

Gates here explaining the Live strategy. A lot of images and a lot of text...Good graphic design guides the viewer and has a clear hierarchy or order so that she knows where to look first, second, and so on. What is the communication priority of this visual? It must be the circle of clip art, but that does not help me much.

Does it get more "Zen" than this? "Visual-Zen Master," Steve Jobs, allows the screen to fade completely empty at appropriate, short moments while he tells his story.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. All source code is released under a BSD License unless otherwise specified.

3 comments


June 26, 2008
superdaz said:

What is the communication priority of the Apple visual? Making things look pretty because they simply do not and will never experience the amount of work put in by companies like Microsoft over such a range of products.


June 27, 2008
Demerzel said:

What each of the backgrounds really mean:

Bill Gates: I just bought all these industries and copyrighted them.
Steve Jobs: This is the sum of all my life's work--nothing.


July 1, 2008
Max said:

@superdaz: I don't quite understand what you mean, considering how notorious Apple as a company is for working its employees to the bone. Anyway, I cite an old Unix mantra here to make my point for me: The ideal program does one thing extremely well, and nothing else. I don't think you could say that for either Microsoft or any of its products. What's the fuss about doing lots of things if you don't do any of them particularly well?

Your name

Email (optional, will not be shared)

Type the word "juice" (required to confuse the spammers)

Your comment


Add a comment





10 Minute Reviews: Open Flash Chart

We frequently get requests to review and write about analytics-related solutions. I’ve put off most of these requests because it sounded like a lot of work. Then I had an 4-hour-work-week-style epiphany: most new users only give a new product or service a few minutes before they make up their mind. Why can’t I make the same snap judgement and call it an expert opinion?

First up is Open Flash Charts, pointed out to us by Matt Bear. This is an open source project started by John Glazebrook to provide flash charts that can be embedded in web pages. I love John’s explanation for taking on this project:

“Once upon a time I had to deal with a company who sell flash charting components, their component had a bug that I needed fixing, so I emailed them about it asking when it’d be fixed. (Remember that I had paid real money for this software.) They were so incompetent, rude and obnoxious that after three or four weeks of emails I thought to myself “I could learn Flash and Actionscript and write my own charting component, release it as Open Source, host it on sourceforge and build up a community of helpful coders faster than they can fix a single bug.” And that is what I did. And that is why it is free. I guess the moral of the lesson is: don’t piss off your customers.”

Great lesson. Great attitude. There are a bunch of vendors in this space (Fusion Charts, AnyChart, ILOG, PHP/SWF Charts, amCharts, Corda) and the going price seems to start at $500 for a developer's license up to $5,000 for an enterprise license. (Apparently that doesn’t always come with customer service.)

Open Flash Charts isn’t as flashy as any of these products, but that tends to be a good thing for charting components. Here’s a column chart from Fusion charts (notice how each bar is a separate color, for no good reason) Fusion Charts

Here’s the Open Flash Charts Open Flash Charts

Open Flash Charts does a number of things well:

  • It seems to be easy to implement. Basically, you just copy the Open Flash Chart SWF file into your web server, then start embedding flash charts into your HTML and point to either static or dynamic data on your server.
  • You can configure data labels, background, number formats, on-click events, tooltips, etc.
  • All the basic chart types are available (bar, line, area, pie, scatter).
  • The help forum seem both lively (multiple messages a day) and supportive (a generally polite tone with lots of code posted).

On the negative side, Open Flash Charts doesn’t totally succeed in terms of data visualization fundamentals. The default charts have some contrast issues, odd color choices, and a little excess chartjunk. And when the charts get some “pizzazz,” things get worse:

Pizzazz chart

I know… it is an open source project, so I should step up and fix the things I don’t like. I would, but I just ran out of my 10 minutes.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. All source code is released under a BSD License unless otherwise specified.

11 comments | Show all comments only the last 5 are shown


June 5, 2008
Pete said:

Dov, you might want to check out the new google visualization api instead of charts:

http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html
http://code.google.com/apis/visualization/documentation/gallery/columnchart.html

From the docs: "Data Policy: All code and data are processed and rendered in the browser. No data is sent to any server."


June 5, 2008
Fong said:

Pete,

thus that mean i can download the api and use them offline? This will provide an added sense of security, wheather it's justifiable or not


June 9, 2008
suman said:

How to control the context menu (right click disable on chart).

Off course i made modifications to open-flash-chart.as file but how to compile that file to get the desired output?
Any one please help me in this regard.


June 19, 2008
mb said:

Suman,

You'll probably have better luck posting your question in the Open Flash Chart support forum. It's hosted on Sourceforge, at this URL:

http://sourceforge.net/forum/forum.php?forum_id=716572


June 25, 2008
tulip25 said:

hey Guys,Look what i have got <a href="http://visifire.com"> visifire</a> an amazing charting component quality of charts are better than Flash chart's.offered under open source powered by silverlight

Your name

Email (optional, will not be shared)

Type the word "juice" (required to confuse the spammers)

Your comment


Add a comment





A Dashboard Alerts Checklist

Alert

There is a tendency with reporting, and dashboards in particular, to cram as much information on the page as possible. It is a problem that Avinash describes with typical candor:

“This one of the core reasons why most dashboards are 'crappy', i.e. they are data pukes that provide little in terms of context and even less in terms of actionable value.”

In the past, we have offered tools to make data presentation as clear as possible (chart chooser, Excel chart cleaner). Sometimes clean isn’t enough; a more dramatic approach is needed.

One alternative is to shift the focus from the full data to changes in the most critical data points. By pulling out the important exceptions, you can make it easier for your audience to digest what matters and take action.

Stephen Few says in his book Information Dashboard Design:

“The best way to condense a broad spectrum of information to fit onto a dashboard is in the form of summaries and exceptions…given the purpose of a dashboard to help people monitor what’s going on, much of the information it presents is necessary only when something unusual is happening; something that falls outside the realm of normality, into the realm of problems and opportunities. Why make someone wade through hundreds of values when only one or two require attention? We call these critical values exceptions.”

Alerts are one mechanism to turn the focus to the exceptions, outliers and data highlights. Whether embedded in the dashboard or presented separately, alerts can be the extra layer of abstraction that make a dashboard useful. Unfortunately, they are hard to get right. I’ve arrived at four C’s for effective alerts—context, cogency, communication, control. Here’s a checklist to consider as you build alerts into a dashboard or report:


Context: Users need to understand how an alert is defined and how it fits into the larger picture.

  • Are the parameters well defined? An alert is commonly defined by the following factors: metric (e.g. revenue), dimension (e.g. time), delta (e.g month over month change), scope (e.g. Northeast region, Peanut-product line), threshold (e.g. increase or decrease of 10%).
  • Is the timing of the alerts actionable? One client explained to us that fluctuations in many of their metrics make monthly alerts too frequent—it would unnecessarily alarm people when, from their perspective, no significant trend had been established.
  • Is the change statistically significant? This is of particular importance when you are measuring deltas. A doubling of traffic from a referring site doesn’t mean much when it is moving from one to two visitors.

Cogency: An alerting system needs to avoid causing unnecessary alarm while delivering easy-to-understand information that can be acted upon.

  • Can the alerts be described in simple terms that even an executive can understand? Alerts should have a real-world meaning that users are familiar with. If an alert is based on a complex metric, for example, users will be confused as to the implications.
  • Is the alert actionable? In the best cases, alerts should point users to both the drivers of the alert and the actions that can address the situation. This system does neither: ![terror warning system]
  • Are the alerts so granular and/or frequently triggered that users will get alert fatigue? Excessive use of alerts will undermining their credibility. We saw this happen at one client where an IT-designed system threw off alerts like they were going out of style. The application went out of style the next year when users decided it was more distracting than useful. Here’s another example of a system that seems designed to raise blood pressure.

Lit up dashboard (It appears that a 5% increase in brand attribute performance isn’t good enough to get you out of the yellow.)


Communication: Alerts must be designed to effectively capture attention and inform.

  • Is the alert placed in context? Google Finance does a nice job of putting news alerts within the stock chart. Google Finance
  • Is it clear what the user should do next? Give the user a clear path to more information so they can understand the full context of the alert.
  • Does the sophistication of your alerts match the sophistication of your audience? I’ve found that it is better to start with some simple alerts so your audience can begin to learn what they mean and how to react. Over time, these alerts can become more refined and focused to capture complex situations.
  • Does the alert draw the eye without being visually overwhelming or annoying? Here’s a article about how to “reduce visual noise” in dashboards.
  • Is color used appropriately? Red means bad. Yellow is sorta bad. Green means good (but “good” things don’t need to be alerts). It isn’t particularly fair for color blind folks, but these conventions are deeply rooted.
  • Have you found the best mechanism for presenting alerts? Alerts can be sent through e-mail, as SMS message, blasted over the office intercom system, or posted to the wall in the bathroom. What is the most convenient and appropriate medium?

Control: Advanced alert system should give users the ability to customize and manage alerts.

  • Can the user identify the important alerts for them, and avoid the others? As hard as you may try in designing the dashboard or report, you aren’t in the shoes of the users. They will learn what they want to pay attention to and what information is extraneous.
  • Can the user adjust the parameters? With more sophisticated dashboards, you want to give users the ability to adjust parameters to hone in on the exceptions that really require action.
  • Can the user analyze alert frequency and trends? I’ve never seen a system that does this, but having the ability to view and analyze alert history seems critically important to getting a holistic view of performance.
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. All source code is released under a BSD License unless otherwise specified.

0 comments | Add a comment

Your name

Email (optional, will not be shared)

Type the word "juice" (required to confuse the spammers)

Your comment






Earlier writing