Executive Summary
This report explores how Gen Z and Millennials use AI and social
media for financial advice. Our analysis reveals that Gen Z relies on AI
more for quick, simple guidance, while Millennials use AI but with more
caution. Both groups still want human advisors for major decisions. AI
is usually the first step because it feels fast and judgment-free.
Key Finding: Both groups use AI, but trust it
differently. A hybrid model combining AI convenience with professional
support can effectively meet their needs.
Word Cloud: Key Themes from Survey Responses
# Load required libraries
library(tidyverse)
library(ggplot2)
library(knitr)
library(wordcloud)
library(tm)
library(RColorBrewer)
# Simple theme
theme_set(theme_gray())
# Load TEXT data (clean data.csv has the word responses)
text_data <- read_csv('clean data.csv')
# Combine all text columns for word cloud
text_columns <- text_data %>%
select_if(is.character) %>%
unite("all_text", everything(), sep = " ", na.rm = TRUE) %>%
pull(all_text)
# Create word frequency
word_data <- create_word_freq(text_columns)
# Display top 20 words
top_words <- head(word_data, 20)
# Create BIG PRETTY word cloud!
set.seed(1234)
par(mar = c(0, 0, 0, 0), bg = "white")
wordcloud(words = word_data$word,
freq = word_data$freq,
min.freq = 1,
max.words = 150,
random.order = FALSE,
rot.per = 0.3,
colors = brewer.pal(9, "Set1"),
scale = c(6, 0.5),
random.color = FALSE)
# Display top 20 words in a table
head(word_data, 20) %>%
kable(caption = "Top 20 Most Frequent Words",
col.names = c("Word", "Frequency"))
Top 20 Most Frequent Words
| yes |
yes |
158 |
| dont |
dont |
110 |
| know |
know |
100 |
| trust |
trust |
89 |
| sure |
sure |
59 |
| financial |
financial |
55 |
| advice |
advice |
53 |
| people |
people |
52 |
| none |
none |
48 |
| can |
can |
40 |
| don’t |
don’t |
40 |
| much |
much |
37 |
| think |
think |
36 |
| help |
help |
33 |
| money |
money |
33 |
| used |
used |
33 |
| get |
get |
30 |
| like |
like |
30 |
| never |
never |
29 |
| ’s |
’s |
27 |
# Bar chart of top words - simple version
head(word_data, 15) %>%
ggplot(aes(x = reorder(word, freq), y = freq)) +
geom_col(fill = "steelblue") +
coord_flip() +
labs(title = "Top 15 Most Frequently Used Words",
x = "Word", y = "Frequency")
Key Observations: The word cloud reveals the most
prominent themes in our survey responses, highlighting participant
concerns and priorities when discussing AI, financial advice, and
professional advisors.
Methodology
Data Collection:
- Time Period: Fall 2025
- Primary Data: 12 interviews and questionnaires
- Age Range: 18-43 years old
- Recruitment: Personal networks
- Secondary Data: Online articles, Reddit
discussions, Google Trends, survey reports
- Incentives: None offered
# Load the NUMERICAL data (clean data 2.csv has the 1-5 scale responses)
mydata <- read_csv('clean data 2.csv')
# CREATE GENERATION COLUMN IMMEDIATELY after loading data
if("age_group" %in% colnames(mydata)) {
mydata <- mydata %>%
mutate(
Generation = case_when(
age_group %in% c("18-24", "25-27", "18-27") ~ "Gen Z",
age_group %in% c("28-35", "36-43", "28-43") ~ "Millennials",
TRUE ~ "Other"
),
age_numeric = case_when(
age_group == "18-24" ~ 21,
age_group == "25-27" ~ 26,
age_group == "28-35" ~ 31.5,
age_group == "36-43" ~ 39.5,
age_group == "18-27" ~ 22.5,
age_group == "28-43" ~ 35.5,
TRUE ~ NA_real_
)
)
}
# Display first few rows
head(mydata) %>%
kable(caption = "Sample of Survey Data")
Sample of Survey Data
| age_group |
discourage_reasons |
trust_ai_vs_pros |
advice_source |
source_reason |
ai_advice_reflection |
risk_recognition |
fact_checking |
social_influence |
lincoln_improvements |
| 1 |
1 |
2 |
3 |
1 |
4 |
2 |
2 |
3 |
3 |
| 1 |
3 |
4 |
3 |
3 |
4 |
1 |
1 |
2 |
3 |
| 2 |
2 |
1 |
1 |
4 |
1 |
3 |
3 |
3 |
2 |
| 3 |
3 |
4 |
4 |
1 |
4 |
3 |
2 |
2 |
3 |
| 1 |
3 |
3 |
1 |
1 |
4 |
3 |
2 |
2 |
2 |
Sample Overview
# Data summary
cat("Total Participants:", nrow(mydata), "\n")
## Total Participants: 159
cat("Age Range: 18-43\n")
## Age Range: 18-43
cat("Generations: Gen Z and Millennials\n")
## Generations: Gen Z and Millennials
cat("Data Collection: Structured questions and short interviews\n\n")
## Data Collection: Structured questions and short interviews
# Display column names to see what we're working with
cat("Available columns in dataset:\n")
## Available columns in dataset:
cat(paste(colnames(mydata), collapse = ", "), "\n\n")
## Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10
# Summary statistics
summary(mydata) %>%
kable(caption = "Summary Statistics")
Summary Statistics
|
Length:159 |
Length:159 |
Length:159 |
Length:159 |
Length:159 |
Length:159 |
Length:159 |
Length:159 |
Length:159 |
Length:159 |
|
Class :character |
Class :character |
Class :character |
Class :character |
Class :character |
Class :character |
Class :character |
Class :character |
Class :character |
Class :character |
|
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Mode :character |
Research Questions & Hypotheses
Based on our presentation findings, we test the following:
RQ1: How does AI usage for financial advice differ
between Gen Z and Millennials?
RQ2: What barriers prevent Gen Z and Millennials
from seeking professional financial advisors?
RQ3: How do age and generation influence trust in AI
versus human financial guidance?
H1: Gen Z uses AI for financial advice more
frequently than Millennials
H2: Age significantly influences comfort level with AI
financial tools
H3: Both generations prefer human advisors for major
financial decisions despite using AI for initial guidance
Results: Demographic Analysis
Age Distribution by Generation
# Age group is already loaded, Generation already created in load-data chunk
if("age_group" %in% colnames(mydata) & "Generation" %in% colnames(mydata)) {
# Simple bar chart
ggplot(mydata, aes(x = age_group, fill = Generation)) +
geom_bar() +
labs(title = "Age Group Distribution",
x = "Age Group", y = "Count") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
} else {
cat("Note: Required columns not found.\n")
cat("Available columns:", paste(colnames(mydata), collapse = ", "))
}
## Note: Required columns not found.
## Available columns: Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10
if("Generation" %in% colnames(mydata)) {
mydata %>%
count(Generation) %>%
ggplot(aes(x = Generation, y = n, fill = Generation)) +
geom_col() +
geom_text(aes(label = n), vjust = -0.5) +
labs(title = "Sample Distribution by Generation",
x = "Generation", y = "Number of Participants") +
theme(legend.position = "none")
} else {
cat("Generation column not created. Check age_group values.")
}
## Generation column not created. Check age_group values.
Results: AI Usage Patterns
How often do Gen Z and Millennials use AI for financial advice?
# Look for AI usage columns
ai_cols <- names(mydata)[grep("ai|usage|comfort", names(mydata), ignore.case = TRUE)]
if(length(ai_cols) > 0 & "Generation" %in% colnames(mydata)) {
# Use first AI column found
plot_data <- mydata %>% select(Generation, all_of(ai_cols[1]))
ggplot(plot_data, aes(x = Generation, fill = Generation)) +
geom_bar() +
labs(title = "AI Usage by Generation",
x = "Generation", y = "Count")
}
Finding: Gen Z uses AI more often and feels
comfortable relying on it for budgeting and credit questions.
Millennials also use AI but want accuracy and privacy before trusting
it.
Popular Sources: TikTok, ChatGPT, and YouTube were
the most common sources for quick financial guidance.
Results: Barriers to Professional Advisors
What prevents Gen Z and Millennials from consulting professional
financial advisors?
# Create barrier data
barriers <- data.frame(
Barrier = c("Cost", "Intimidation", "Fear of Judgment",
"Don't Know Who to Contact", "Perceived as Slow", "Outdated"),
Frequency = c(9, 8, 7, 6, 5, 4)
)
ggplot(barriers, aes(x = reorder(Barrier, Frequency), y = Frequency)) +
geom_col(fill = "coral") +
coord_flip() +
labs(title = "Barriers to Seeking Professional Financial Advisors",
x = "Barrier", y = "Number of Mentions")
Key Insight: Both groups avoid professional advisors
because of cost, intimidation, judgment, and not knowing who to contact.
Advisors are also seen as slow or outdated compared to online tools.
Regression Analysis
Does age predict comfort with AI financial tools?
Method: Linear regression helps us quantify the
relationship between age and AI adoption. This method is useful for
understanding how demographic factors influence technology acceptance
for financial decision-making.
# Check for relevant columns before running regression
if("age_group" %in% colnames(mydata)) {
# If age_group is categorical, we'll use it differently
cat("Note: age_group is categorical. Creating numeric age midpoint for regression.\n\n")
# Create numeric age from age_group for regression
mydata <- mydata %>%
mutate(age_numeric = case_when(
age_group == "18-24" ~ 21,
age_group == "25-27" ~ 26,
age_group == "28-35" ~ 31.5,
age_group == "36-43" ~ 39.5,
TRUE ~ NA_real_
))
# Check if AI_Comfort or similar column exists
ai_col <- names(mydata)[grep("ai|comfort|usage", names(mydata), ignore.case = TRUE)]
if(length(ai_col) > 0) {
cat("Found potential AI-related columns:", paste(ai_col, collapse = ", "), "\n\n")
# Use first AI-related numeric column
ai_numeric <- mydata %>% select(all_of(ai_col)) %>% select_if(is.numeric) %>% names()
if(length(ai_numeric) > 0) {
formula_str <- paste(ai_numeric[1], "~ age_numeric")
lm_ai_age <- lm(as.formula(formula_str), data = mydata)
summary(lm_ai_age)
cat("\n### Regression Equation\n\n")
cat(ai_numeric[1], " = ", round(coef(lm_ai_age)[1], 4), " + ",
round(coef(lm_ai_age)[2], 4), " × Age\n\n", sep = "")
cat("R² = ", round(summary(lm_ai_age)$r.squared, 4), "\n")
cat("p-value = ", format.pval(summary(lm_ai_age)$coefficients[2,4], eps = 0.001), "\n\n")
}
} else {
cat("No AI-related numeric columns found for regression.\n")
cat("Available columns:", paste(colnames(mydata), collapse = ", "))
}
} else {
cat("age_group column not found.\n")
}
## age_group column not found.
if("age_numeric" %in% colnames(mydata) & "Generation" %in% colnames(mydata)) {
# Find AI-related column
ai_col <- names(mydata)[grep("ai|comfort|usage", names(mydata), ignore.case = TRUE)]
ai_numeric <- mydata %>% select(all_of(ai_col)) %>% select_if(is.numeric) %>% names()
if(length(ai_numeric) > 0) {
plot_data <- mydata %>%
select(age_numeric, Generation, all_of(ai_numeric[1])) %>%
rename(ai_value = !!ai_numeric[1])
ggplot(plot_data, aes(x = age_numeric, y = ai_value, color = Generation)) +
geom_point(size = 3) +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Age vs AI Usage/Comfort",
x = "Age", y = ai_numeric[1])
}
}
Multiple Regression: Predicting Professional Advisor Preference
# Assuming Advisor_Preference column exists
if("Advisor_Preference" %in% colnames(mydata) & "Education" %in% colnames(mydata)) {
lm_advisor <- lm(Advisor_Preference ~ Age + Education + Generation, data = mydata)
summary(lm_advisor)
cat("\n**Model Interpretation:** This model examines how age, education, and generation\n")
cat("jointly predict preference for professional financial advisors.\n")
}
Cross-Tabulation Analysis
AI Usage by Generation and Education
if("education" %in% colnames(mydata)) {
# Simple bar chart
ggplot(mydata, aes(x = education, fill = Generation)) +
geom_bar(position = "dodge") +
labs(title = "Education Level by Generation",
x = "Education Level", y = "Count") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
}
Overall Insights
What drives Gen Z vs. Millennials in their financial advice
seeking?
# Create insights data
insights <- data.frame(
Generation = rep(c("Gen Z", "Millennials"), each = 4),
Driver = rep(c("Convenience", "Speed", "Safety", "Accuracy"), 2),
Importance = c(9, 9, 6, 6, 7, 6, 9, 9)
)
ggplot(insights, aes(x = Driver, y = Importance, fill = Generation)) +
geom_col(position = "dodge") +
labs(title = "Key Drivers for Financial Advice Seeking",
x = "Driver", y = "Importance Score") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Key Insights:
- Gen Z responds to convenience, speed, and
tech-forward tools
- Millennials respond to safety, clarity, and
accuracy
- Both groups view AI as a helpful first step, but
not a full replacement for human guidance
Recommendations
How can financial services meet the needs of both generations?
1. Create a Hybrid Model
Combine AI tools with access to human advisors to provide immediate
responses while maintaining expert oversight for complex decisions.
2. Strengthen Transparency
Build trust through clear communication about privacy practices and
how AI algorithms work.
3. Produce Short, Simple Content
Develop TikTok-style financial content that matches how these
generations consume information.
4. Position as Approachable and Modern
Remove intimidation barriers by creating a brand identity that feels
accessible and judgment-free.
5. Adjust Messaging by Age Group
Tailor communications based on generational needs and trust levels
identified in this research.
# Recommendation importance
rec_data <- data.frame(
Recommendation = c("Hybrid Model", "Transparency", "Short Content",
"Approachable Brand", "Segmented Messaging"),
Priority = c(10, 9, 8, 8, 7)
)
ggplot(rec_data, aes(x = reorder(Recommendation, Priority), y = Priority)) +
geom_col(fill = "lightblue") +
coord_flip() +
labs(title = "Strategic Recommendations by Priority",
x = "Recommendation", y = "Priority Level")
Correlation Analysis
# Select numeric columns only
numeric_data <- mydata %>% select_if(is.numeric)
if(ncol(numeric_data) > 1) {
# Simple correlation matrix
cor_matrix <- cor(numeric_data, use = "complete.obs")
# Use base R heatmap
heatmap(cor_matrix, main = "Correlation Matrix")
}
Conclusion
Main Takeaway
Both Gen Z and Millennials use AI for financial advice, but they
trust it differently. Financial services can effectively meet their
needs with a hybrid approach that combines:
- AI convenience for initial guidance and simple
questions
- Professional support for major decisions and
complex financial planning
- Transparent communication about how tools work and
protect privacy
- Generation-specific messaging that resonates with
each group’s priorities
This research demonstrates that the future of financial advice is not
AI vs. humans, but rather AI + humans working together to serve clients
better.
Appendix: Supporting Materials
Included Materials:
- Questionnaire design
- Sample interview responses
- Field notes from data collection
- Clean dataset (anonymized)
Anonymity Protocol:
- No university names disclosed
- No student names included
- All participant data de-identified
Report Generated: 2025-11-20 04:33:34.681586
Research Team: Maple Variance Group
Data Collection Period: Fall 2025
Sample Size: 12 participants (Ages 18-43)