Survey Opinion Analytics Dashboard
How a raw SurveyMonkey export on presidential approval became an interactive Power BI report that shows who supports, who opposes, and who is still undecided — and why.
Rating by Segment Dashboard
Screenshot coming soon01 Executive Summary
Survey data is easy to collect and hard to read. A SurveyMonkey export gives you hundreds of rows of answers, demographic columns and free-text comments — but no clear answer to the questions that matter: which groups approve, which groups oppose, and where are the persuadable undecided voters?
I built a Power BI report that turns the raw export into a clear story. It groups every respondent as a Supporter, Undecided or Opposer, shows the average approval rating across every demographic, analyzes the themes in open-ended answers, and uses an AI decomposition tree so anyone can drill into exactly which audience has the highest share of undecided respondents.
— Project at a Glance
02 The Challenge
- Raw, flat survey export. Answers, demographics and comments were all in one wide table, not ready for analysis.
- No respondent segmentation. A numeric rating alone does not tell you who is a supporter, an opposer or still undecided.
- Many demographic cuts. Age, gender, income, device and region each needed to be compared, and combined, without building dozens of separate charts.
- Open-ended text. Free-text answers held the "why" behind each rating but were hard to summarize.
- Finding the persuadable middle. The most valuable question — which groups are most undecided — needed a way to explore many factors at once.
03 My Approach
Cleaned and shaped the SurveyMonkey export in Power Query: consistent demographic categories, ordered age and income bands, and theme tags from open-ended responses.
Wrote DAX measures that classify each respondent as Supporter, Undecided or Opposer and count each group.
Built core measures: Respondent Count, Avg Rating, Supporters, Undecided, Opposers and Undecided Rate.
Designed a 4-page report with button navigation, a consistent header and KPI strip on every page.
Added a decomposition tree so users can explore the undecided audience across six factors in any order.
Added matrix tables with gender splits, respondent counts and totals so every chart can be checked against exact numbers.
04 The Solution
KPIs That Tell the Story at a Glance
The 4-Page Interactive Report
| Page | What it answers |
|---|---|
| Rating by Segment | How does average approval differ by age and gender, device, household income and US region? |
| Supporter Themes | What reasons do supporters give in their open-ended answers? |
| Undecided Themes | What is holding undecided respondents back? |
| Undecided Tree | Which combination of age, gender, income, comment theme, device and region has the highest undecided rate? |
Undecided Tree (AI Decomposition)
Screenshot coming soonDetailed Matrix View
Screenshot coming soon05 Insights the Dashboard Revealed
| Finding | Detail |
|---|---|
| Undecided voters skew young | Undecided rate is 52.2% for ages 18–29, falling to 11.7% for ages 60 and above. |
| Strongest regional rating | West South Central has the highest average rating (2.85); Mountain has the lowest (1.92). |
| Income is not a straight line | Ratings range from 1.81 (lowest income band) to 3.03 (175K–199K), with no simple rise or fall in between. |
| Gender gap varies by age | Men aged 45–60 rate highest (2.86), while men aged 18–29 rate lowest (2.00). |
| Device matters | Android mobile respondents give the highest average rating (2.62) of any device. |
06 Business Value
Every respondent is grouped as supporter, undecided or opposer — audience understood at a glance.
The decomposition tree shows exactly which demographic groups hold the most undecided respondents.
Theme pages connect ratings to what people actually said in their open-ended answers.
Non-technical users can answer their own follow-up questions without new reports.
The same model works for any future SurveyMonkey export with the same structure.
07 Full List of Deliverables
| Deliverable | Description |
|---|---|
| Cleaned data model | SurveyMonkey export shaped in Power Query with ordered demographic categories. |
| DAX measure set | Respondent count, average rating, segment counts and undecided rate. |
| Rating by Segment page | Average approval by age, gender, device, income and region. |
| Supporter & Undecided Themes pages | Open-ended response themes for each group. |
| Undecided Tree page | AI decomposition tree across six factors. |
| Detail matrices | Exact ratings and respondent counts with gender splits and totals. |
08 Skills Demonstrated
Have Survey Data That Needs Answers?
If you have SurveyMonkey, Google Forms, Qualtrics or Typeform results sitting in spreadsheets, I can turn them into a clear, interactive Power BI report that shows who your audience is and what they think.