Open-ended text analysis of Opera Browser's most engaged desktop users, covering four critical survey questions about browser switching, recommendation drivers, and churn risk. Built for the Opera Growth & Product team to understand what keeps power users loyal, what threatens retention, and what drives word-of-mouth advocacy.
For a human reader: This repository contains raw open-ended survey responses from Opera's engaged desktop user base (the "Engaged Users Survey", June 2025) alongside Python scripts that generate formatted Word document summaries of each question's analysis. The four questions cover the full retention lifecycle: why users might switch away (Q14, 8,592 responses), why they recommend Opera (Q17, 1,463 responses), what would make them leave entirely (Q32, 1,922 responses), and what specifically drove their recommendations (Q35, 223 responses). Each analysis uses semantic clustering to surface the top themes, backed by real user quotes in multiple languages. The pre-built DOCX reports are included so you can review findings without running code.
For an LLM or automated system: The four CSV files contain structured open-ended survey microdata with columns for Respondent ID, Response Date, and free-text Responses/Tags. The text spans 8 languages (English 57%, Portuguese 26%, German 9%, French 5%, plus Spanish, Polish, Italian, and mixed). Each Python script contains hardcoded analysis results (theme rankings, percentages, representative quotes) encoded as data structures and generates a formatted DOCX using python-docx. The data can be used for further NLP analysis, sentiment classification, topic modeling, or as ground truth for training text classifiers on browser user feedback. The markdown summary (Opera_Browser_Switch_Analysis_Summary.md) provides a machine-readable version of the Q14 analysis.
| Detail | Value |
|---|---|
| Survey period | June 2025 |
| Analysis scripts created | February 20, 2025 |
| DOCX reports generated | June 24, 2025 (Q14, Q17) / February 20-25, 2025 (Q32, Q35) |
| Survey source | Opera internal "Engaged Users Survey" -- desktop power users |
| Total responses across all questions | 12,200 open-ended text responses |
| Languages represented | English, Portuguese, German, French, Spanish, Polish, Italian |
| Analysis method | Semantic clustering and thematic categorization via batch processing |
| Question | CSV File | Responses | Core Question |
|---|---|---|---|
| Q14 | Q14_Text.csv |
8,592 | "What could be the reason for you to switch to another browser?" |
| Q17 | Q17_Text.csv |
1,463 | "What was the reason for your recommendation?" (why users recommend Opera) |
| Q32 | Q32_Text.csv |
1,922 | "What could be the reason for you to leave Opera?" |
| Q35 | Q35_Text.csv |
223 | "What was the reason for your recommendation?" (detailed follow-up) |
| Rank | Theme | % | Responses |
|---|---|---|---|
| 1 | Performance issues (RAM, CPU, crashes) | 26.7% | 2,293 |
| 2 | Feature dissatisfaction (forced AI, bloat) | 18.0% | 1,547 |
| 3 | Website compatibility (banking, streaming) | 14.0% | 1,202 |
| 4 | Loyalty / no reason to switch | 12.0% | 1,030 |
| 5 | Security & privacy concerns | 8.0% | 687 |
| Rank | Theme | % | Responses |
|---|---|---|---|
| 1 | Sidebar features (WhatsApp, Aria, messengers) | 29.0% | 424 |
| 2 | Tab management (islands, workspaces) | 28.0% | 410 |
| 3 | Video/multimedia (picture-in-picture) | 15.0% | 219 |
| 4 | Chrome alternative (anti-big-tech) | 12.0% | 176 |
| 5 | General usability & interface | 8.0% | 117 |
| Rank | Theme | % | Responses |
|---|---|---|---|
| 1 | No reason to leave / loyal users | 29.0% | 557 |
| 2 | Performance & stability issues | 22.0% | 423 |
| 3 | Feature-related concerns (VPN removal, forced AI) | 15.0% | 288 |
| 4 | Privacy & security concerns | 13.0% | 250 |
| 5 | Website compatibility issues | 8.0% | 154 |
| Rank | Theme | % | Responses |
|---|---|---|---|
| 1 | Sidebar features & integrations | 29.1% | 65 |
| 2 | Chrome alternative positioning | 17.9% | 40 |
| 3 | Workspaces & tab management | 15.7% | 35 |
| 4 | Performance & stability | 13.9% | 31 |
| 5 | User-friendly design | 12.1% | 27 |
Each CSV has a header comment line (the question text), then columns: Respondent ID, Response Date, Responses (or Other (please specify)), Tags.
| File | Size | Rows | Survey Question | Description |
|---|---|---|---|---|
Q14_Text.csv |
988 KB | 8,592 | "What could be the reason for you to switch to another browser?" | Largest dataset. Free-text responses about potential browser-switching triggers. Multi-language (8 languages). |
Q17_Text.csv |
120 KB | 1,463 | "What was the reason for your recommendation?" | Responses from users who had recommended Opera to others. Captures advocacy drivers. |
Q32_Text.csv |
160 KB | 1,922 | "What could be the reason for you to leave Opera?" | Churn-focused question. Similar to Q14 but framed around leaving Opera specifically (not switching to a named competitor). |
Q35_Text.csv |
19 KB | 223 | "What was the reason for your recommendation?" | Smaller follow-up dataset on recommendation drivers. More detailed responses from a subset of advocates. |
Each script uses python-docx to generate a formatted Word document containing the full analysis: executive summary, methodology, language distribution table, ranked themes with percentages and user quotes, strategic insights, and recommendations.
| Script | Output | Question | Responses Analyzed | Top Finding |
|---|---|---|---|---|
create_docx_summary.py |
Opera_Browser_Switch_Analysis_Summary.docx |
Q14 | 8,592 | Performance issues are the #1 switch reason (26.7%) |
create_q17_docx_summary.py |
Opera_Q17_Recommendation_Analysis_Summary.docx |
Q17 | 1,463 | Sidebar features are the #1 recommendation driver (29.0%) |
create_q32_docx_summary.py |
Opera_Q32_Churn_Analysis_Summary.docx |
Q32 | 1,922 | 29% of users have no reason to leave (strongest loyalty signal) |
create_q35_docx_summary.py |
Opera_Q35_Recommendation_Drivers_Analysis_Summary.docx |
Q35 | 223 | Sidebar integrations again lead at 29.1% |
Pre-built Word documents with formatted tables, headings, bullet lists, and styled quotes. Can be opened directly without running any code.
| File | Size | Contents |
|---|---|---|
Opera_Browser_Switch_Analysis_Summary.docx |
40 KB | Q14 analysis: top 10 switch reasons, language breakdown, business insights, strategic recommendations |
Opera_Q17_Recommendation_Analysis_Summary.docx |
40 KB | Q17 analysis: top 10 recommendation reasons, unique selling propositions, critical success factors |
Opera_Q32_Churn_Analysis_Summary.docx |
40 KB | Q32 analysis: top 9 churn factors, retention strategies, highest churn risks vs. retention factors |
Opera_Q35_Recommendation_Drivers_Analysis_Summary.docx |
31 KB | Q35 analysis: top 10 recommendation drivers, cross-dataset consistency notes, statistical summary |
| File | Contents |
|---|---|
Opera_Browser_Switch_Analysis_Summary.md |
Machine-readable markdown version of the Q14 analysis. Contains the same content as the DOCX (executive summary, all 10 themes with quotes, business insights, strategic recommendations). Useful for direct consumption by LLMs or for rendering in GitHub. |
Python 3.8+
python-docx
Install dependencies:
pip install python-docxAll scripts expect to be run from the repository root (same directory as the CSV files):
cd engaged-users
python create_docx_summary.pyEach script generates its corresponding .docx file in the current directory, overwriting any existing file with the same name.
for script in create_*.py; do
echo "Running $script..."
python "$script"
doneengaged-users/
├── README.md
├── .gitignore
│
├── Q14_Text.csv # Switch reasons (8,592 responses)
├── Q17_Text.csv # Recommendation reasons (1,463 responses)
├── Q32_Text.csv # Churn / leave reasons (1,922 responses)
├── Q35_Text.csv # Recommendation drivers (223 responses)
│
├── create_docx_summary.py # Q14 analysis -> DOCX
├── create_q17_docx_summary.py # Q17 analysis -> DOCX
├── create_q32_docx_summary.py # Q32 analysis -> DOCX
├── create_q35_docx_summary.py # Q35 analysis -> DOCX
│
├── Opera_Browser_Switch_Analysis_Summary.docx # Q14 report (Word)
├── Opera_Q17_Recommendation_Analysis_Summary.docx # Q17 report (Word)
├── Opera_Q32_Churn_Analysis_Summary.docx # Q32 report (Word)
├── Opera_Q35_Recommendation_Drivers_Analysis_Summary.docx # Q35 report (Word)
│
└── Opera_Browser_Switch_Analysis_Summary.md # Q14 report (Markdown)
Internal Opera Software analysis. Not intended for public redistribution of the underlying survey data.