Depth and Discovery: Powering Visualizations with the Google Analytics API

At Juice, we work with web analytics APIs large and small, from Google, comScore and Omniture. The Google Analytics API is our favorite. It powers the world's best, most widely deployed analytics site. And it powers Juice products like Concentrate (innovative search analytics) and Vasco de Gapi (a tool for exploring the Google Analytics API).

We were approached by the Google Analytics API team to find ways to explore new ways of looking at data with the API, and we were excited by the possibilities. We've been working on our own visualization framework, JuiceKit, that integrates the power of the Flare Visualization Library with Adobe Flex.

The result is Analytics Visualizations, two visualizations powered by the Google Analytics API that are free to use. You just need a Google account with access to Google Analytics data to explore your own data.

Analytics Visualizations Home Page

Referrer Flow

Curious about what sites are linking to you and what content is benefitting the most? Referrer Flow answers those question and shows how results change over time. Here is a brief video introduction:

Referrer Flow is a stream of daily treemaps showing pageviews and bounce rates for various groupings of your website's pages. You can group by combinations of page title, referrer and url. Clicking on the treemap will filter all the data by the page, referrer or url that you clicked on. Click again to clear your filter.

Keyword Tree

A list of top keywords isn't enough to really understand how people are searching and finding your site. Keyword Tree visually displays the most frequently used search keywords and how they are used together. Here's a video overview:

You'll see a frequently used search term at the center and the words and phrases that are most often used in combination with that word. Pick a different starting word by typing into the box in the upper right or selecting from the top word across the bottom of the screen. The words are sized by their frequency of use and colored by bounce rate (or % new visitors or average time on site). Roll over a word to see details about that combination of connected words.

Depth and Discovery

In designing these visualizations we focused on the question: how can we let users uncover the unexpected? That means designing targeted visualizations focused on limited well-defined issues. The Referrer Flow monomaniacally focuses on a single question "What pages are people viewing on your site and where are they coming from?" The Keyword Tree is laser-focused on word ordering and what that means for keyword performance.

The Google Analytics reporting tool is a great general-purpose reporting solution. It gives the advanced users everything they need to answer specific questions. However, its generality means it has limited ability to focus on two issues; depth and discovery.

The Google Analytics API is Google's solution to this problem. It's an opportunity both for businesses like ours that can create new ways of analyzing data, and for large sites that can use the API for integration, custom analytics, and more.

Thanks to Nick Mihailovski at Google for his gracious support, help and encouragement and Avinash Kaushik for inspiring this idea.

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.

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


November 19, 2009
Chris Gemignani said:

Thanks Tim. We've heard that feedback loud and clear. One thing you can do--that I regrettably didn't include in the video--is click on a word with children to collapse the tree. Just try clicking on words in the keyword tree to see what I mean. In the meantime, we'll work on making the tool pannable.


November 19, 2009
Tim said:

Thanks Chris - yes, I'd seen (and liked) that functionality, however if you're trying to analyse a very common kw for your site (such as 'Review' - we are a reviews website), then there are just a lot of single words used before this.

Also, clicking words along the bottom sometimes makes the whole display disappear off the right-hand side of the screen! :)

Great stuff though, love the general look and feel, really prompts some 'fun' investigation.

Cheers,
Tim.


December 15, 2009
DSLR said:

I'm new with GA and co. but your tool is really useful, at a glance you can read a lot of things...To improve readability of both views (referrer flow in particular) you can add a "loupe", a magnifier on screen movable by mouse to expand details of the chart. Thanks again from Italy!


January 4, 2010
Affan Laghari said:

Hello,
Excellent tool though it doesn't need my praise! It would be very helpful though if you can add an option to select start/end dates and some conversion metric. That can help find valuable patterns over longer periods.
Btw, I found you people from Avinash's blog and have been roaming around on your other tools namely Vasco de Gapi, Concentrate Me and JuiceKit. Rare to find such intelligent tools. Please keep up the good work.


January 4, 2010
yulia said:

Hi guys, found your site through Avinash's blog. I love the keyword tree tool. Been playing with it all day...

Question -- is there a way to print the trees? Also, is there a way to scroll? Those would be nice functionalities... Sorry if they are already there and I'm just too slow to find them :)

Thanks for the great (and really useful) tools!

Your name

Email (optional, will not be shared)

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

Your comment


Add a comment





Enhanced Google Analytics: Firefox Plugin

There is new life in the tool that shows change in Google Analytics. A year after releasing our Greasemonkey script, we are pleased to release an updated version of the Enhanced Google Analytics script as a free Firefox Plugin. For those already using the older Greasemonkey script, you can skip ahead to the What's new? and How do I get this plugin? sections of the page. For the rest, you may be wondering: Why does my Google Analytics need change?


Change, and why it is important

When I first started working at Juice Analytics, my boss Zach showed me a part of his daily Google Analytics routine. He would open up the Referring Sites page, glance at all of our 942 referrers. Using his superior intellect and capacity for remembering random urls, Zach would discover interesting deviations in the traffic from sites linking to our blog.

Our top referrers looked more or less similar day to day. Even once you get past the more recognizable top sites such as Twitter and Google, the various somethingblog.com pages, without context, often look a lot like somethingelseblog.com. To top it off, most of the information is not even specifically interesting. Our chartchooser.juiceanalytics.com domain sends us consistent regular referrals, but so what? Day to day, I don't even really care about Google or Twitter unless something changes. With change, I know whether someone has posted something new about me, sending valuable traffic. A good read on the topic is Avinash's rant about "actionable analytics".

Our Firefox plugin is designed to allow analysts to get more action out of what changed in the Referring Sites and Keyword Reports. Here are a couple examples of the plugin in action from our Google Analytics account:


What's new?

Our focus for this release has been to improve functionality, to reduce the barrier to entry for new users, and to allow automatic updates for the plugin. The new version of the script works nearly instantaneously, and the installation involves only two clicks (in contrast to the 7 clicks of the Greasemonkey version). As a Firefox plugin, updates are now automatic and require no reinstall. Keyword sensitivity has been raised to 50% for consistency. As a slight bonus, the design and layout of the form and buttons is now sleeker and the table stands out in a pretty Google blue.

Greasemonkey itself is no longer required for the plugin, but you may want to keep it around for any of the other cool scripts available from the community. If you ever find yourself wishing that something about the web looked different, acted different or had different functionality, there may be a Greasemonkey script to ease your pain.


How do I get this plugin?

First, you need Firefox 2.0+.

If you are a user of the equivalent older Greasemonkey version of this script, you may want to go ahead and uninstall it. Go to Tools=>Greasemonkey=>Manage User Scripts..., select Google Analytics Downloader, and uncheck the Enabled box.

If you never had the script installed, or once you removed it, simply click here to go the mozilla addon site, select the checkbox and click the button. Once installed, navigate to Google Analytics, and go to either the Referring Sites or Keyword pages, and click the blue button.

Happy analyzing!

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.

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


November 18, 2009
Phil said:

I'm a bit confused....It says "Referring sites with 50% higher traffic over the past 3 days." What is the baseline for the calculation? 50% higher than when? Does it look at the average amount of traffic referred going back forever? And then look at the current time frame selected in GA and look at the difference?

e.g. If google usually sends my site 1,000 visits a day but sent my site 1,500 visits on Tuesday 11/17 (yesterday). Is that the 50% increase?

What if I want to analyze traffic from a month ago?


December 9, 2009
Mark said:

Not compatible with FF 3.5


December 15, 2009
Lee said:

sooo why the heck doesn't GA do this out of the box??


January 27, 2010
wa said:

please update the plugin for ffox 3.6


February 5, 2010
mariusz said:

please update to the newest firefox - this plugin is simply brilliant

Your name

Email (optional, will not be shared)

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

Your comment


Add a comment





US Economic Census Treemap

Now that I’ve got treemaps on the brain, I keep noticing how many things could be better understood using this visualization technique. A few examples:

treemap ideas

We thought it would be a nice demonstration to use data from the 1997 and 2002 US Economic Census (unfortunately 2007 isn't out yet) to see what kind of stories bubble forth. The demonstration was built using a component from JuiceKitâ„¢, our recently open sourced Software Development Kit (SDK) for building Information Experienceâ„¢ applications. The SDK can be used by web designers and developers to build graphically rich and interactive information displays. JuiceKit currently integrates with Adobe Flex to create components that are easy to implement and aesthetically pleasing.

Check out the treemap here.

US Economic Census Treemap

Here are a few of the macro-trends that I found:

  • The rise of CostCo, Amazon, and Home Depot: This time period saw strong growth in warehouse clubs and superstores, online retailers (“electronic shopping”), and home centers.
  • From manufacturing to services economy: Most of the growth was in service sectors (financial services, healthcare, professional services) while manufacturing was shrinking.
  • Productivity gains, even in adversity: For struggling sectors, the employee declines almost always outpaced the sales declines — squeezing more sales per employee.
  • Demographic shifts: Homes and services for the elderly were among the strongest areas of growth in the category of “healthcare and social assistance.”

And there were lots of little insights as well:

  • No wonder hospital TV shows are so popular: Hospitals are the largest single employer as a business-type.
  • Starbucks and Krispy Kreme steal the unhealthy food dollar: Cookies and frozen yogurt retail saw a rapid decline while coffee and donut shops flourished.
  • Goodbye stand-alone pump: Gas stations with convenience stores overtook the just-plain gas station.
  • It can’t last, can it?: Mortgage broker payroll up 177%.

Once you understand how to read treemaps, they are great for exploring data like this: hierarchical with both quantity and quality-type measures. In a true testament to their power, my wife admitted this visualization was “kinda interesting.”

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.

1 comment


March 25, 2009
Travis said:

A small question about the presentation, or maybe the data: regardless of the metric chosen (establishments, sales, employees or payroll), the data points are shown in dollars. I would have thought establishments and employees were just numbers of each. Or has the census monetized them in some way?

Thanks. (And your wife is right: this is kinda interesting.)

Your name

Email (optional, will not be shared)

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

Your comment


Add a comment





Announcing: JuiceKit™ SDK Open Source

As our followers know, for the past few years Juice has been creating software applications that solve customers' real information visualization problems in purposeful, understandable, and beautiful ways. In doing this, we have found ourselves reusing quite a few components over and over again - which has made our jobs a lot easier. It occurred to us that others might like to benefit from using these components to achieve great results too.

We're proud to announce the open source release of Juice Analytics' JuiceKit SDK.

The JuiceKit is a toolkit built on Adobe's Flex SDK to make it easier for web designers and software developers to build visually compelling Information Experiences™. It contains a wide variety of development components from individual data renderers such as a single "small multiple", to a large visualization component such as a treemap or US Map, to fine grained "helpers" that provide handy capabilities such as copying data to the computer's clipboard. These components can be used independently, within other applications, or assembled together to create full applications.

What can I do with it? (Show me the money)

Because we've been using the JuiceKit for quite a while, we have a number of customer proven applications based on the SDK that we thought you'd be interested in seeing.

Here is a screenshot of an application that we built to help our client see trends in their internet search and traffic activity. We used the JuiceKit™ to create the small multiples data visualization component of this application.

Use JuiceKit to build small multiples

We've also frequently used JuiceKit to create dashboard prototypes. If you haven't seen our recent application of our treemap component to the incomprehensible Federal Stimulus Plan, here is a nice example (click to explore):

Stimulus Bill Explorer

And here is a very quick one we did for an IVR monitoring application where we assembled multiple different components together into one view:

Use JuiceKit to build a prototype

Finally, we've used JuiceKit many times to build full enterprise applications such as this sales pipeline tracking dashboard:

Use JuiceKit to build a dashboard

How do I get it?

Now it's time for you to have a go. Here's how you do it:

  • Go to the JuiceKit SDK web page at juicekit.org and catch up on the current status of the project
  • Check out the JuiceKit discussion group on Google Groups
  • Download the JuiceKit library from github
  • Contribute back to the JuiceKit community to make the JuiceKit even better

While Juice continues to focus on designing and providing software solutions (as opposed to toolkits) for our clients, we believe offering the JuiceKit as open source will benefit the information visualization community we try to serve. In the future we will continue to extend the JuiceKit with other components and technologies.

Good luck, and make sure you share how you're using the SDK so we can continue to drive it in the right direction not only for us, but for you as well.

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


March 10, 2009
James McWhorter said:

This looks interesting. I'm going to try it out!


March 10, 2009
lawh said:

inspirational. I will not sleep tonight. Can i give you a hug?


March 16, 2009
Jon Buffington said:

Abhishek,

Our scope for JuiceKit is larger than Flare's. Flare is an ActionScript library focused on programmatic visualizations. JuiceKit is a collection (framework) of code, libraries, tools, and best practices for producing information-powered web applications.

One difference is ease of composition. Currently, we wrap Flare to render treemaps in a styleable Flex component. The higher-level JuiceKit TreeMapControl is easier to drag-n-drop in Flex Builder's design mode in contrast to creating a Flare visualization using ActionScript.

Another difference is that JuiceKit will soon provide client-side tools and server-side services. For example, the client-side tools will help generate appropriate style sheets and the server-side services will assist in data preparation.


August 6, 2009
Anonymous said:

Hi,

How did you implement the popups it's it an inbuit function of the TreeMap or do you have to add it, can you post the code BTW> ?

Thanks


January 28, 2010
Imaginonic said:

Wow. This is sooo inspiring. And yeah, not to forget to mention the lack of support for flare too!

Can I buy you some beer, please?

Your name

Email (optional, will not be shared)

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

Your comment


Add a comment





Delivering Data in Excel: The DTP Framework

Here at Juice we build fewer Excel dashboards than we used to. Excel itself is a decidedly imperfect vessel for any serious development--it's simply too easy to veer off of the disciplined track onto the underbrush.

Even so, Excel remains a playground where we can do surprising things. For instance, check out our Excel lightbox and an Excel tagcloud. We could appropriate everything that you find on the webbiest of Web 2.0 websites and build our Uruk-hai equivalents.

The key to staying on the rails when building Excel tools--either dynamic dashboards or simply to explore data--is discipline. At Juice, we use a methodology that we call "DTP" (Data Tansform Present). The foundation of DTP is the rigorous separation of data from presentation. This is similar to a well-known approach when building computer user interfaces called Model-View-Controller. I'm going to cover some of the key principles and we'll follow up with an example later on the blog.

Data

Data is the raw material of any visualization or report. It needs to be easy to add data or change data without having to change anything else about your dashboard.

We store raw data with dimensions preceding metrics in blocks in separate worksheets. If you want to sound pretentious, you can call this "first PivotTable normal form". Key points:

  • Have one worksheet for each data source.
  • Call these sheets "Data", or "{Title} Data".
  • Place them at the end of your workbook.
  • Data is snug to the top left of the spreadsheet. This allows us to use dynamic ranges. Dynamic ranges let you add data and have it automatically incorporated in all PivotTables.
  • Ensure that column names are in the first row.
  • Place your dimensions before metrics. Dimensions before metrics

Transform

We use PivotTables to transform the data into the structure we need.

  • Call these sheets "Transform" or "XXXXXXX Transform".
  • Create one sheet for each issue that you are exploring. This doesn't mean that you will only create one PivotTable. You may have multiple PivotTables to support different views or perspectives on an issue.
  • Turn on "show items with no data" for row and column dimensions. Show all items
  • We are seeking predictability, we want to the PivotTable to always be the same size regardless of what the PageField filters are.
  • Place all the dimensions that aren't used as rows or columns in the PivotTable as page fields. Every dimension should have a home. All dimensions must have a home
    • Set all PivotTables to not store data and refresh on open. PivotTable settings

Present

The Presentation page copies data from the Transform page(s) and formats it for display. It also allows users to control what data is being displayed.

  • Build a user interface to interact with your data. There are many ways to let people interact with your data, but one of the easiest is to use a PivotTable as your interface. This is described below.
  • We use an in-house style guide for graphs that you can see in our Chart Chooser.
  • If the Presentation page is likely to be printed, preset the print range.
  • When copying data from the transformation page to the presentation page, blank values will come out as zeros. We use a simple formula, =if('Transform!A2'<>"",'Transform!A2', ""), to ensure that blanks remain blanks.

Using a PivotTable as your interface

A simple way to let people manipulate your data is place a PivotTable containing only PageFields but no data on the presentation sheet. A Visual Basic macro triggered to run whenever the PivotTable changes then pushes out any changes to the master PivotTable to all the PivotTables on your Transform sheet.

Here is the code to make this happen.

This drives our PivotTables in concert and ensures they stay in sync.


That's a basic overview of our DTP technique. You can try a simplified version of DTP here.

DTP Example.xls

We'll be back soon to talk through this example.

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.

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


February 26, 2009
Jacob said:

I am having trouble getting rid of zeroes from my charts. Where exactly does the formula =if('Transform!A2'<>"",'Transform!A2', "") go?

Thanks in advance


April 2, 2009
nicholas said:

You say that you don't use Excel that often anymore to create dashboards. What tools do you use or recommend these days to build dashboards?


April 2, 2009
Zach said:

Nicholas, Most of our dashboards are web applications using Flex and our open-source visualization library JuiceKit (www.juicekit.org).


June 10, 2009
Patrick said:

Wow - Thanks so much, I love it and this make life with Pivottables so much easier! Goes right into our weekly reports!
One question: I always thought I know Pivottables pretty good - but how do I add Pagefields without Data so that the blue frame does not show up like in the example file? Thanks for your help! I love your tools and have been an avid user of the Chart Cleaner for years now. :-)


December 12, 2009
shawnify said:

Typo in third paragraph: "DTP" (Data Tansform Present)

Your name

Email (optional, will not be shared)

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

Your comment


Add a comment





Earlier writing