Skip to content
Competition - crowdfunding marketing
Where to focus a marketing campaign?
📖 Background
You are a data analyst at a crowdfunding site. For the next quarter, your company will be running a marketing campaign. The marketing manager wants to target those segments that have donated the most in the past year. She turned to you to help her with her upcoming meeting with the CEO.
💾 The data
You have access to the following information:
Historic crowdfunding donations
- "category" - "Sports", "Fashion", "Technology", etc.
- "device" - the type of device used.
- "gender" - gender of the user.
- "age range" - one of five age brackets.
- "amount" - how much the user donated in Euros.
suppressPackageStartupMessages(library(tidyverse))
df <- readr::read_csv('data/crowdfunding.csv', show_col_types = FALSE)
head(df)💪 Challenge
Create a single visualization that the marketing manager can use to explore the data. Include:
What are the top three categories in terms of total donations?What device type has historically provided the most contributions?What age bracket should the campaign target?
What are the Top 3 Donation Categories?
df %>%
group_by(category) %>%
summarize(total_amount = sum(amount)) %>%
ggplot(., aes(x = reorder(category, total_amount), y = total_amount)) +
geom_col(aes(fill = total_amount)) +
geom_text(aes(label = prettyNum(total_amount, big.mark = ','), vjust = -.5)) +
scale_fill_viridis_c(option = "A") +
theme_classic() +
labs(title = 'Total Funding by Category', x = 'Category', y = 'Total Amount in Euros', fill = 'Euros', caption = 'Top 3 categories: Games, Sports, Tech') +
theme(legend.position = 'none')What Device Type has Generated the most Contributions?
df %>%
group_by(device) %>%
summarize(total_amount = sum(amount)) %>%
ggplot(., aes(x = reorder(device, total_amount), y = total_amount)) +
geom_col(aes(fill = total_amount)) +
geom_text(aes(label = prettyNum(total_amount, big.mark = ','), vjust = -.5)) +
scale_fill_viridis_c(option = "H") +
theme_classic() +
labs(title = 'Total Funding by Device', x = 'Device Type', y = 'Total Amount in Euros', fill = 'Euros', caption = 'iOS users have historically contributed the most') +
theme(legend.position = 'none')Which Age Bracket should the Campaign Target?
df %>%
group_by(age) %>%
summarize(total_amount = sum(amount)) %>%
ggplot(., aes(x = age, y = total_amount)) +
geom_col(aes(fill = total_amount)) +
geom_text(aes(label = prettyNum(total_amount, big.mark = ','), vjust = -.5)) +
scale_fill_viridis_b(option = "F") +
theme_classic() +
labs(title = 'Total Funding by Age', x = 'Age', y = 'Total Amount in Euros', fill = 'Euros', caption = '18-24 year olds have historically contributed the most') +
theme(legend.position = 'none', axis.title.y = element_text(vjust = 1)) +
scale_y_continuous(labels = scales::comma)