What does it look like when you take a timebound, static report and make it an interactive, living document? It might look like the Tableau Foundation’s new Living Annual Report.

This report, which we first shared last week, represents our effort to be transparent grantmakers, to be accountable to the public and our employees.

Instead of building a new report every year, we were curious to see if using Tableau would provide near-real-time analysis of our work while still fulfilling the core needs of the traditional annual report.

We knew that by using Tableau, our living report would inherently be sharable and publicly accessible. We also wanted to add interactivity so that readers can ask and answer their own questions of the data.

My team members and I have read through countless annual reports, and in doing so, we’ve all wished that we could ask more specific questions of that data without having to reach out to the non-profit.

On a personal level, as the data manager for the Tableau Foundation, I wanted to create a frequently-updated report that wouldn’t take hours of extra work. So we had to make something that could plug into our existing data sources and automatically update whenever we ingest new data.

After several drafts and rounds of feedback, here’s what we came up with:

This report fit the big requirements we originally laid out—it was interactive, sharable, and useful. Plus updating the data would take just two minutes each week in the form of republishing to Tableau Public.

Like any large, multi-dashboard project, we spent a fair chunk of time thinking about the visualizations and how we wanted to display the information before we even opened Tableau. Here are a few of the lessons we learned along the way:

1. Look at the structure of the data to understand what’s possible

We run a variety of programs, ranging from mission and community grants all the way to volunteer events and non-profit licensing. As a result, we have many different data sources and few that work together especially well.

Since this was the state of our data, we decided to structure our reporting around programs instead of other categories like geographic breakdown. Here’s a list of the data sources we pull from to create this workbook:

For future iterations of this report, we’ll likely reshape and transform the data substantially to reduce the number of data sources. I anticipate we’ll use Alteryx, but depending on your original data structure, tools like Trifacta, the Tableau add-in for Excel, and OpenRefine are also great options.

Notice we didn’t wait until we had the ideal data format to start building this annual report. We decided to take what we had, build something, get feedback, then use that feedback to better inform the data structure we build for the future.

2. Scope your questions before you open Tableau

A little bit of planning upfront saves a lot of time downstream. To kick off this project, we met as a team to talk about what conventional annual reports provide, and what we wanted to keep, adapt, and discard from those reports.

Then we built a few initial test visualizations to make sure we were on the right track. One of these was a version of our Mission Grants dashboard.

Once we built this, we shared it for initial feedback. The positive responses told us we were on the right track.

3. Test, iterate, repeat

After building a functional workbook, we asked colleagues to comment on the style of visualizations—whether there was a strong exploratory component, whether the navigation was intuitive, and which questions remained unanswered.

Then, based on their feedback, we tweaked some dashboards and completely redesigned others. Below is an example of a totally redesigned dashboard. We took the original dashboard and separated it into two. This way, we didn’t have to try to cram two different things into one dashboard (in this case, an introduction of how to explore the dashboards and our “at a glance” accountability metrics).

This gave the dashboard a specific focus and it gave us more space to fully explore the separate ideas on each page.

4. Make sure your viz is intuitive

Even for the simplest dashboard, there are many ways to add interactivity. We tried five different ways for users to interact with the visualization below. We ended up using a combination of filters, highlights, and URL actions. You can filter by city, explore individual grantees, then view the grantees’ websites. Try it out on the linked viz below:

We didn’t start with a dashboard like this, though. We started with the map at the top of the page, bar charts stacked down below, and some very different ways to filter from one chart to another. We only learned that users weren’t interacting with this in an intuitive way by asking them. Then we observed how they were using the viz, which was different from what we had intended, and tweaked accordingly.

Now, we see people interacting with this viz in fluid and natural ways—without having to stop and think about the mechanics of how they might filter and answer their questions.

What’s next?

Now we want to know what you think! Staying true to the name, our Living Annual Report will continue to change as we hear your feedback. But now, instead of spending time to develop a new version of an old report, any time we spend on this report will pay it forward to every future version people see.

So send us your comments and questions! You can use the comment box below, or email us at foundation@tableau.com. We’d love to know what you think and how you might use something similar for your organization.


This is inspiring, helpful and informative.
Thank you for documenting this so thoroughly, and sharing it!

I wonder how you observed people interacting with the vizzes.

It says there are community grant teams around the world that connect with local non-profits, while five offices (for all years) are shown that have donated money. It seems like there'd be more than five offices, but maybe that's all there is.

This will be an excellent reference point for a project I'm doing for a university.

I'm working on a project that benefits several non-profits by using data visualization.

Hi Brigid - thanks for your reply!

For my user research observations, I kept it pretty simple - I asked people to interact with visualizations I had questions about and looked over their shoulder while they did it. This worked well enough since my goal was to see how people would interact at first glance with a specific viz, as opposed to getting numbers on "x% of users preferred this viz vs another one."

Yep, you're right - we do have more than five offices. You've caught something interesting here. Right now, we're in the middle of our community grants process for the year. So over the next few weeks we will have more organizations and donations being represented on that viz, coming from more offices. So, this is actually an intentional effect of the 'living' part of this report - once all our teams have made grants, you'll see those grants reflected in that chart.

Thank you, Jason!

I found this article because it was referred to by Jeffrey Shaffer in an article about design tips for tables. I was reading that to get ideas for a table I'm creating for participant feedback from the DataVizaThon.com - an event I created for people to expand their viz skills while forwarding the causes of some great non-profits. I'm very inspired by how data visualization can contribute to solving problems.
A number of people (including me) would like to learn more about how data viz solves contributes to solving problems for NFPs (in addition to the PATH example), and then we might see more ways as to how we can do that where we live.
Is there any source for that?

Hey Brigid - the best place I can point you to to insofar as telling the stories of how non-profits have used data viz to affect their work is the Tableau Foundation story feed (http://www.tableaufoundation.org/stories). There are quite a few stories there that highlight the work of non-profit organizations in using data viz to achieve tangible outcomes in the work they do, from program management to fundraising. Hope that helps!

That's helpful, Jason!


Hi - the part of the annual report that's most inspiring is how Tableau contributes to solving pressing problems. If there isn't a place for sharing those kinds of things, it would be great to for that to come into existence.

The hardest part of creating a structure to benefit NFPs by vizzing their data with volunteers at the Data-Viz-a-Thon was effectively communicating the value by giving examples. People very often don't know what Data Visualization is or how it can help. Examples inform and inspire.

My bottom line is: 1) where might I find compelling examples of Tableau in use in a way that is forwarding solving problems 2) if there's no place for people (and Tableau) to put examples of that, let's create one!

Thank you!

Hi, absolutely love this! Wondering if we can find any 'down in the weeds' details on the "at a glance" viz? What fonts were used? And any special tricks used to get that kind of really clear and nice spacing/alignment? Will we ever get a ruler or similar for dashboards? Thanks!

Hey Eric - thanks for the question. On the "At a Glance" viz (and throughout the workbook) I'm using the font "Tableau Book" which is the new default font Tableau uses. This font is really nice as it's optimized for data viz. There are three main parts I see to the viz - summary numbers at the top, the dynamic viz in the middle, and the text at the bottom. All of these vizzes are tiled together - only floating dashboard elements are the filter and the color legends.

Summary numbers at the top - this is pretty easy. Each tile is a separate sheet. Each sheet has a colored background. The centered layout is something you can achieve using the text shelf and centering the label, and you can also change the font sizes there. Then the four tiles get thrown side by side on the dashboard and set to show the entire view.

The middle part of the viz with the changing charts is the most complex part of this viz. Since we're changing the viz type, I'm using layout containers to hide different views, and using the parameter filter to show only one of four at a time. Check out this blog post (http://vizpainter.com/sheet-selection-on-steroids/) for a primer.

The bottom block of text is super easy. It's just a dashboard text block with the text colored to match the tiles above.

Hi Jason,

I am a beginner in Tableau. Scenerio:
I am having multiple worksheet, all of them have same data source. But different different columns and representation. But on dashboard when put these worksheet, we need to show the % of Nulls in all on Top of Dashboard.

Not getting exactly that how I can perform this in Tableau. Any help would be really great.

Anand S

Hi Anand - I suggest taking this question to the Tableau community forums (https://community.tableau.com/welcome) - that's probably the best place for you to get help with this.


Subscribe to our blog