> For the complete documentation index, see [llms.txt](https://boundaryai.gitbook.io/boundaryai-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://boundaryai.gitbook.io/boundaryai-docs/analysing-your-feedback/analysing-results.md).

# Analysing results

Every dataset you bring into BAI Analytics (a survey, an Excel upload, a Freshdesk-connector import, a Trustpilot-scraper run, a stack of interview PDFs) gets its own **Analysis** page. The page is **source-agnostic**: the same set of tabs, the same AI-driven themes, the same sentiment model, the same Custom Monitoring review and the same export tools work whether you're looking at 200 NPS comments or 5,000 scraped reviews.

This page covers the analysis surface for a single dataset. For the cross-dataset roll-up across a whole project (Grouped Themes, AI Insights across all sources, and scheduled reports), see [Feedback Groups](/boundaryai-docs/feedback-groups/feedback-groups.md). For the inputs that feed it, see [Creating a Survey](/boundaryai-docs/bringing-in-your-feedback/surveys/editor.md), [Uploading an Existing Dataset](/boundaryai-docs/bringing-in-your-feedback/uploading-an-existing-dataset.md), [Connecting your tools](/boundaryai-docs/bringing-in-your-feedback/connect-to-your-existing-systems.md), and [Social Listening](/boundaryai-docs/bringing-in-your-feedback/social-listening.md).

***

### Where the Analysis page lives

You reach the Analysis page from any dataset card in a Feedback Group:

* A survey, *Open analysis* on a published survey.
* An upload, *View analysis* on the upload card after processing completes.
* A connector source, *Open analysis* on the connector card; updates live as new tickets sync.
* A scraping agent's output, *Open analysis* on the agent's data-source card.

***

### The four tabs

| Tab                   | What it's for                                                                                             |
| --------------------- | --------------------------------------------------------------------------------------------------------- |
| **Overview**          | Executive summary + headline metrics for the dataset. The first thing every reader sees.                  |
| **Thematics**         | What the AI surfaced as recurring themes, with drill-down into representative comments and sub-themes.    |
| **Raw Data**          | Every individual response with search, sentiment filter, and click-through to the full respondent record. |
| **Custom Monitoring** | The signals you defined up front (safety, churn, feature request, etc.) matched against this dataset.     |

A **data-source card** sits at the top of the Overview tab whenever the dataset came from a connector or a scraper, showing connection status, last/next import timestamps, persisted filters, and a *Fetch new data* button. For native surveys and uploads the card is hidden so the Overview goes straight to insights.

The same page renders for every source. The only differences you see are source-specific affordances (*Build a report* and *Raw data* shortcuts on scraper outputs, *Fetch new data* on connectors) and which question types the dataset actually contains.

***

### Overview tab

#### Executive summary

A short, AI-generated narrative that reads like a one-paragraph briefing: what the dataset is about, what's emerging, what stands out. It's regenerated whenever you re-run the analysis or significantly change the data. If generation fails (rare, typically a transient issue with the AI provider), the tab surfaces a *Retry overview* button instead of pretending nothing happened.

#### In-depth summary

A *Show in-depth* toggle expands the summary into a longer multi-paragraph briefing. The first time you click it, BAI Analytics generates it in the background and saves the result, so the next visitor sees it instantly and you can keep navigating while it is produced.

#### Headline metrics

Two cards side-by-side:

* **Themes**: total themes detected, with a sentiment breakdown across positive / neutral / negative.
* **Comments**: total open-ended responses analysed, also with a sentiment breakdown.

Each card has a button that drops you directly into the relevant deeper tab (Thematics or Raw Data).

#### Key insights

A two-column block listing what the AI considered the **most positive aspects** and the **most negative aspects** of the dataset, with markdown-rendered context paragraphs. This is what most stakeholders read first, and it's the single block most likely to end up in a screenshot.

***

### Thematics tab

The Thematics tab is where you actually understand what people are saying.

#### Theme list

A side panel lists every theme the AI identified, sorted by mention count. Each row shows:

* The theme **name** (a short, human-readable label).
* The **comment count** for that theme.
* The **sentiment level** (one of *Very positive*, *Positive*, *Neutral*, *Negative*, *Very negative*, or *Unsure*) colour-coded so you can scan the list visually.
* A **criticality score** (low / medium / high / critical) for themes the AI considers operationally important, not just frequent.
* A **consistency indicator** on themes whose internal evidence the AI considers contradictory, so you can review them by hand.

#### Theme drill-down

Selecting a theme opens its detail view:

* A **summary** paragraph in plain language.
* An **in-depth summary** that you can generate on demand for a deeper read; the result is cached and shared across viewers.
* **Representative quotes**: actual respondent comments selected by the AI as illustrative, with their individual sentiment scores.
* **Sub-themes**: finer-grained categories within the theme (see below).
* A **comment count** with a click-through to the matching slice in Raw Data.

#### Sub-themes

Themes are intentionally coarse: what's emerging at the *topic* level. **Sub-themes** are the finer-grained breakdown. They surface automatically for themes that warrant them, and you can also click *Generate sub-themes* on any theme to produce a fresh AI-driven set. Sub-themes inherit their parent theme's evidence and let you triage at a granularity that matches your team's response model, where *"price"* might split into *"too high overall"*, *"per-seat licensing"*, and *"hidden costs at renewal"*.

#### Sentiment levels

The platform uses a **six-level sentiment scale** consistently across the entire app: *Very positive*, *Positive*, *Neutral*, *Negative*, *Very negative*, and *Unsure* (used when the model can't make a confident call). Every sentiment chip, every breakdown bar, every theme colour uses the same palette.

***

### Raw Data tab

The Raw Data tab is the un-mediated view of every comment.

* A **list of every response** in the dataset, with the comment text, its sentiment chip, and any segmentation context.
* **Search** by substring within comments.
* A **sentiment filter** to narrow down to just the very-negatives, just the very-positives, etc.
* A **Priority sort** that surfaces the most action-worthy feedback first. Each comment is scored by the monitors matched on it — you set the weight of each monitor — and the list is ordered high to low (ties broken by worst sentiment). Open a comment to see its **priority breakdown**: which monitors contributed and their weights.
* Click any row to open a **Respondent answers** modal showing every question that respondent answered, plus their metadata fields, useful when you want to understand what else a critical commenter said in the same submission.
* A **Download raw data** action that exports the entire dataset to Excel for offline analysis, sharing, or compliance archiving.

The list updates as you switch between segments elsewhere on the page.

{% hint style="info" %}
**Tip:** The Raw Data view adapts to the source. For surveys and uploads it is a straightforward list of responses. For web-scraping agents it appears as a **Mentions** feed, a social-media-style stream of per-platform cards, where you can open each original item.
{% endhint %}

***

### Custom Monitoring tab

If your team defined monitors on the dataset's open-ended questions, this tab is where you review what matched.

For each monitor you see:

* The **count** of matched comments and a sub-category breakdown.
* The **comment list** for each monitor, with the AI's short explanation of why each comment matched.
* Per-comment actions: **mark reviewed**, **reassign sub-category**, **dismiss**, **add note**.
* Segmentation works on matched comments the same way it does on themes and raw data.

The Custom Monitoring tab is **plan-gated**; on plans without access the tab is replaced with an upgrade prompt, but the rest of the analysis continues to work normally.

***

### Quantitative analysis

When the dataset contains structured questions (Single Choice, Multiple Choice, Linear Scale, NPS, or any rating column from a connector or scraper) the analysis page renders inline visualisations alongside the qualitative tabs.

| Question type                       | What you see                                                                                                                                                                         |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Single Choice / Multiple Choice** | Bar chart with response counts and percentage shares; sortable by frequency or by option.                                                                                            |
| **Linear Scale**                    | Distribution chart across the configured range, with mean and median callouts. Can also display as a star rating if the creator enabled it.                                          |
| **NPS**                             | A dedicated NPS module: score, promoter / passive / detractor split, distribution across the 0–10 scale, and trend across cycles where available. Can also display as a star rating. |

Every Scale, NPS, Short Answer, and Long/Depth-Text question also shows its own response count next to the question title, so you can see at a glance how much signal backs each one without opening the raw data.

Quantitative visualisations participate in segmentation just like the qualitative tabs. Pick a segment and the charts update for that cohort. The **Overview** tab stays global, so you always have the full picture as a baseline. Source-side metadata (status, priority, ticket type from a connector; rating, source, country from a scraper) is also available for segmentation, even if there is no formal "question" behind it.

***

### Weighting your results (redressement)

If your sample doesn't match the population you actually care about, for example you have more responses from one country or plan tier than its real-world share, **weighting** (also called redressement or post-stratification) corrects for it without collecting more data.

#### Turning it on

* **On a single survey**: open **Add Weighting** from the survey result's sidebar.
* **Across a whole Feedback Group**: open **Sample weighting** from the Evolution trend strip's options menu (see [Tracking feedback over time](/boundaryai-docs/analysing-your-feedback/tracking-feedback-over-time-evolution.md#the-evolution-options-menu)).

Both open the same three-step wizard:

1. **Fields** — pick up to two questions or metadata fields to weight by (country, plan tier, and similar bounded fields).
2. **Targets** — enter the target percentage for each value. BAI Analytics computes the weight needed to bring your sample in line and warns you if a target implies an extreme adjustment.
3. **Review** — confirm before applying.

An **Enabled** toggle on the weighting panel applies or removes weighting immediately, without redoing the wizard.

#### What gets reweighted

Weighting adjusts every count and score built from it: response distributions, averages, the NPS score, and in-depth/QAR results (theme mentions, sentiment, criticality, and total responses). Representative quotes and AI-written narrative text are not reweighted, they're still drawn from the real, unweighted comments.

#### Weighting and segmentation don't mix

Weighting and segmentation are **mutually exclusive** on the same view: turning one on pauses the other, with a note explaining why. This is intentional, weighting corrects the picture as a whole, while segmentation deliberately breaks it apart by cohort; combining them would make the resulting numbers hard to interpret correctly. Remove one to use the other.

***

### Segmentation

Segmentation breaks an analysis apart by *who answered*. Pick a structured question (country, plan tier, NPS bucket, source platform) and the page splits into one view per value (Germany, France, US…), each with its own themes, sentiment, and Custom Monitoring results. An **Overall** view is always there as your baseline.

A few things to know:

* It's a **breakdown, not a filter**. Segmenting by Country shows you every country side by side, it doesn't hide the others.
* Add a segment from the **segment picker**. Clicking a chart bar or a metadata cell does *not* start a segmentation.
* The **Overview** tab stays global on purpose, so you always have the full picture to compare each segment against.

For the full walkthrough, see [Segmenting your feedback](/boundaryai-docs/analysing-your-feedback/analysing-results/segmenting.md).

***

### AI augmentation

Beyond the always-on AI that drives themes and sentiment, the analysis page offers on-demand AI features:

* **Generate in-depth summary** for the dataset overall, when the default executive summary isn't enough for your readers.
* **Retry overview** if the initial generation failed, surfaced with a clear error state, never a silent gap.
* **Generate sub-themes** within any theme, surfacing finer-grained categories on request.
* **In-depth theme summaries**: multi-paragraph narratives per theme, generated once and cached.

All on-demand AI runs in the background. You can keep working while it runs. Your progress is saved, so a page refresh or browser restart in the middle of a long generation won't lose it; you'll see it complete with a toast when it lands.

***

### Cross-source roll-ups

The Analysis page is **per-dataset**. When you want to look across every dataset in a project (surveys *and* uploads *and* connector tickets *and* scraped reviews together) you go up one level to the Feedback Group page:

* **Grouped Themes** group similar themes across every source, so a theme that shows up in customer support tickets and in Trustpilot reviews collapses into one row.
* **AI Insights** at the group level produces a plain-language briefing across the whole project.
* **Reports scoped to the group** roll every analysis up into a single PDF / HTML / JSON document for stakeholders.

Per-source analysis and cross-source roll-up are designed to be used in concert: the Analysis page is for understanding one input deeply; the Feedback Group view is for understanding the project as a whole.

***

### Exports and reporting

From the Analysis page you can:

* **Download raw data**: every response, every metadata field, every sentiment label, exported as Excel for offline use.
* **Build a report**: opens a customisation dialog where you choose which sections (Overview, Thematics, Raw Data) to include, pick the styling, and generate a PDF. The same flow can be scheduled at the Feedback Group level if you need a recurring readout.
* **Per-section export**: sections that lend themselves to it (themes lists, NPS modules, matched comments) have their own export button at the section level for ad-hoc sharing.

Exports always **respect the active segmentation**, so an "EU customers, last 30 days" export only contains the matching subset.

***

### Empty and error states

Analysis is robust to incomplete or noisy data, but a few situations show distinct UI:

* **No responses yet**: dataset cards show a placeholder; the Analysis link only activates once at least one response has been analysed.
* **Analysis failed**: a full-page Alert with a clear retry path; underlying data is preserved so you don't lose anything by retrying.
* **Overview generation failed**: the Overview tab shows a soft amber banner and a *Retry overview* button. The rest of the tabs continue to work.
* **Plan-locked sections**: Custom Monitoring and some advanced AI surfaces show a blurred preview with an upgrade prompt; everything else stays accessible.

***

### Best practices

* **Treat the Overview as your reader's first stop.** It's what stakeholders screenshot. If the auto-summary doesn't capture the angle you want, generate the in-depth version once. It persists and serves every viewer afterwards.
* **Use segmentation for comparisons, not filtering.** Open the segment picker when you want to compare cohorts against the **Overall** baseline.
* **Use sub-themes when triage diverges.** If your team handles every theme the same way, the parent theme is enough. Sub-themes pay off when *price*, *support quality*, and *onboarding speed* go to different owners.
* **For cross-source storytelling, jump up to the Feedback Group view.** A single Analysis page is per-dataset; project-level narrative belongs at the group level.
