AWS Public Sector Blog

Visualizing donor data with Amazon QuickSight

Data is an invaluable asset in the world of nonprofits. A recent survey conducted by Nonprofit Hub, found that of the nonprofits polled, about 90% said that they were collecting data, but only about 5% were using this data in every decision they made. Several factors identified to be contributing to this include; lack of tools to help analyze data, data silos, lack of experience using data, and not enough time or personnel.

In this blog post, I walk through an example of how nonprofits of all sizes can use Amazon QuickSight to quickly create interactive dashboards with the help of machine learning, providing a self-service way to effectively consume and analyze data without writing any code or having to worry about infrastructure. This can help put your nonprofit organization in control of your fundraising future by allowing you to build a clear story around your fundraising past, such as the demographics of your donors, cost per dollar raised, growth rate, retention rate, return on mission, conversion rate, average gift amount, and more.

Donor lifecycle

In this walkthrough, I use a mock dataset containing information related to individuals donations. This dataset assumes individual donors can make one-time or recurring donations. It also assumes that one time donations may come from various avenues such as events or outreach campaigns.


Before getting started you need to:

Dataset definitions for individual_donations.csv:

  • id= a unique id for each individual who donated. This id can be related back to a table that contains more information about the donors such as street address, age, name, email address, etc.
  • donation date= date donation was received on
  • amount = amount donated in that specific occurrence
  • associated_event= which avenue the donation came from; for example, a fundraiser, email campaign, donation button on the website, gala, etc.

Connecting a data source

The first step is to import the dataset downloaded in the prerequisites section into Amazon QuickSight.

1. From the Amazon QuickSight landing page, select the Datasets button on the left hand side.

Figure 1. The Datasets button is highlighted in the drop down menu.

2. Select New dataset. Then select Upload a file. Navigate to the dataset downloaded in the prerequisites section and select Open.

The dataset in this demo is in .csv format. You can connect a variety of other data sources and formats as well. See a full list of supported data sources.

Figure 2. After selecting New dataset, select Upload a file from among the list of data sources.

3. Once you select Open, you are presented with a preview of the dataset. Select the Next button. Then select Visualize.

You have now successfully uploaded the data set in Amazon QuickSight. If you want to include multiple datasets or data sources in your dashboard, learn how here.

Automatically mapping data fields into visualizations

With the first data set imported, you can now start creating visualizations with the data. The first graph you create is using Amazon QuickSight AutoGraph. AutoGraph is not a visual type itself, but instead it allows you to select fields from your dataset and Amazon QuickSight automatically chooses the most appropriate visual type for the number and data types of the fields you select.

1. First you select the fields associated_event and amount. This shows us the sum of all the amount of money donated for various donation avenues.

Figure 3. After selecting associated_event and amount, Amazon QuickSight AutoGraph automatically creates a bar graph to visualize the data.

Amazon QuickSight AutoGraph automatically selects a bar graph, but if you don’t like the original graph that was chosen, you can always manually select another graph. To do this, select another option under the Visual types box in the bottom left corner. Check out the various graphs option you can pick from.

2. Next, navigate out of edit mode for the first graph created by selecting on the white-space surrounding the graph. Now you can create the next visualization.

3. Select the amount field again. Now edit the measure of this graph. The default is showing the sum of the amount raised. I want to see the average amount donated this time.

4. Up in the Field wells bar click on Value. You are presented with a drop down. Change the Value from amount (Sum) to amount (Average).

Figure 4. The dropdown bar navigation to change the visualization values from sum of amount raised to the average of amount raised.

Creating interactive graphs

Now you have a graph showing the sum of the money raised per fundraising event, as well as the average amount of money donated across all events per individual. Now imagine if you wanted to see the average amount of money donated per individual based on the associated event the donation was made through. To accomplish this, you must add an Action to the page.

1. To do this, select Actions on the left side selection bar. Then select the first visual you created (called Sum of Amount by Associated_event) and then select the Filter same-sheet visuals button.

Figure 5. Select Actions on the left side, between Parameters and Themes (here called Sum of Amount by Associated_event). Under Quick create, select the Filter same-sheet visuals box.

Now you are able to filter the page based on the bar you select on the Sum of Amount by Associated_event graph. Select monthly giving to see the average amount donated visual change.

Adding a filtering shortcut to the dashboard

If you are interested in being able to filter your fundraising data to only display data from the past six months, you can create a filter.

1. First select Filter on the left side selection bar. Select the first visual created once again (Sum of Amount by Associated_event) and then select Create one under Filters.

Figure 6. After selecting Filter on the left side-bar, between Visualize and Insights, select the first visual created once again (Sum of Amount by Associated_event) and then select Create one under the opened Filters tab.

2. Then choose the donation_date field, select the three dots, and select Add to sheet.

Figure 7. After selecting the donation_date filter and then selecting the three dots next to the name donation_date, in the drop-down menu, select Add to sheet.

Now you can add the date period that you are interested in looking at the fundraising data for. Once you select a date range, you see the graph automatically re-render accordingly.

Adding an analytical computation to your dashboard

You can also add insights to the dashboard to help users interpret the visualizations. Amazon QuickSight allows you to add ready to use analytical computation to your dashboards as widgets. You have two options: 1) suggested insights, which creates a list of suggested insights based on your data with the help of machine learning; and 2) custom insights, which allows you to customize the insights you add to the dashboard.

1. To do this, select Insights on the left side selection bar. Then select the Sum of Amount by Associated_event visualization once again.

Figure 8. Select the Insights button on the left-side menu, between Filter and Parameters. After selecting the Sum of Amount by Associated_event visualization again, insights are auto-generated by Amazon QuickSight under the Suggested insights bar.

2. Immediately, you are presented with suggested insights auto generated by Amazon QuickSight. You can select the + button by a suggested insight to add it to the dashboard. Learn how to create customized insights.

Publishing a dashboard

Before publishing your dashboard, you can customize how the dashboard metrics and graphs appear on the page. You can adjust the size, the ordering of the graphs, the name of the graph, etc. To begin making edits, select the graph you wish to modify and hit the setting button. Additionally, if you want to add a title and description to the page, select + Add in the top left corner.

Once the dashboard is to your liking, select Share in the right corner and then publish visualization. Once you give the dashboard a name, you are promoted to share the visualization with other users who are part of your Amazon QuickSight account. Learn more about publishing and sharing your dashboards.

Clean up

If you signed up to use Amazon QuickSight for this blog post and no longer need your resources, Cancel your Amazon QuickSight subscription and close your account. This allows you to avoid the reoccurring charges.

Next steps

If you are interested in doing dataset cleaning and normalization, AWS Glue DataBrew allows you to do many common data manipulations without having to write a single line of code. There are over 250 pre-built transformations to automate data preparation tasks. You can automate tasks such as filtering anomalies, converting data to standard formats, and correcting invalid values, etc. Check out an example of the data flow when incorporating AWS Glue DataBrew.


In this blog post, I shared a few features in Amazon QuickSight that can help your nonprofit’s journey to data-driven fundraising decisions. Amazon QuickSight has the power to help you enhance your nonprofit’s fundraising operations by allowing you to better visualize and present your data in meaningful ways, and supporting your organization in making faster and more intentional data-driven decisions. With features such as extensive data connectivity options, AutoGraph, filtering, and suggested insights, Amazon QuickSight allows users to get to their first insight within minutes with little to no training required. These capabilities empower your nonprofit to move from static spreadsheets and data silos to interactive, actionable data insights.

To learn more, reach out to the AWS nonprofits team or learn more about AWS for nonprofits and non-governmental organization (NGOs). For more information on Amazon QuickSight and tutorials on how to get started, check out our getting started page and this hands on workshop.

Subscribe to the AWS Public Sector Blog newsletter to get the latest in AWS tools, solutions, and innovations from the public sector delivered to your inbox or contact us.

The AWS Public Sector Blog needs your help. Please take a few minutes to share insights regarding your experience with the AWS Public Sector Blog in this survey, and we’ll use feedback from the survey to create more content aligned with the preferences of our readers.