Why Analytical Applications Fail
By Zach Gemignani
July 7, 2008
Find more about:
analytics
reporting
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.

A few things to note about this search results page:
- On a busy web page, “Change Your Search” is not emphasized.
- The “tracker” across the top shows a linear five-step process. The user is expected to flow through this sequence in order.
- 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:

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:

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:”

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:

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.


10 comments | Show all comments only the last 5 are shown
matt said:
Thanks for this analysis. It's very useful to feature real world example followed by your pro view on the topic. More on usability for analytical app, please! :)
Galen @ Estately said:
Awesome analysis - I'm not sure I've ever seen it broken down this way. As a non-stop changer of my preferences, the need to constantly tweak my search / preferences makes Kayak and Google Analytics ideal.
Simon White said:
Hello,
Nice to read your article. Complex travel queries are indeed a hard problem, and balancing user's knowledge (they have, after all, had up to 10 years of experience in online flight queries and booking with Travelocity) and a way to convert the less well versed in just what constitutes a flight / hotel booking is the crux of the problem. Equally, the databases behind such queries are highly optimised and Kayak is piggybacking on top of that as an affiliate, rather than a vendor in itself. Affiliates are possibly best placed to try new paradigms and then drive change in the actual vendor sites, and it's useful to note that. You also might want to look at the two separate flexible dates options on Travelocity's site, which you have to activate before searching, but which provide different price comparison options / views. Perhaps a way of switching to those views would be a good addition, but the interface, as you noted, is already quite busy.
As an aside, Omniture have launched a v14 which gives a slightly different approach to reporting, it would be fairer with a current article to look at their latest UI.
-Simon (disclaimer: I work in the Travelocity group)
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.
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
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.
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.
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.
AnalyticsWorks said:
Very informative post. Simple yet insightful nuggets for defining user interaction and usability of any tool. I would like to know what users think of the Pentaho Modrian OLAP tool that allow users to drill down/ drill through on reports. We are using their engine in our product and would like to know if there are things that can be improved for a more complete user experience.
Thanks,
http://www.analyticsworks.com
Mobius View said:
Nice piece. I like the fact that you liken travel search engines to analytics apps, which they indeed are.
said:
Add a comment