How do you analyze NPS results?
Analyze NPS by checking the survey and calculation, reviewing the distribution of responses, comparing appropriate customer groups and periods, and reading comments with relevant operational context. Then identify what to investigate or change and how you will review the result.
The score summarizes recommendation ratings. It does not explain their cause. Comments add customers’ accounts, while service records can help confirm what occurred. A useful analysis brings these sources together without treating any one of them as a complete diagnosis.
This guide includes worked calculations and a reporting example. For the questionnaire itself, see NPS question design. For evaluating tools, use the NPS software checklist.
1. Calculate the score from valid responses
Group ratings of 9–10 as promoters, 7–8 as passives and 0–6 as detractors. NPS equals the promoter percentage minus the detractor percentage. Use all valid ratings, including passives, in the denominator. This follows the standard NPS calculation.
Scroll horizontally to see all columns →
| Group | Count | Percentage of 200 valid responses |
|---|---|---|
| Promoters | 90 | 45% |
| Passives | 50 | 25% |
| Detractors | 60 | 30% |
In this fictional example, NPS = 45 − 30 = +15. Report it as a score, with the valid response count. It is not the average rating and it is not “15% of customers are happy.”
Before calculation, inspect duplicate submissions, test records, invalid values and unanswered questions. Decide whether the unit is one response per person, one per account or one per interaction. A customer with several interactions should not accidentally receive extra weight in a relationship survey.
2. Establish what the response set represents
Record who was invited, how invitations were selected, when the survey was sent and how many people responded. Retain the exact question, language and survey type. A relationship survey and a post-support survey answer different questions even when both use the NPS scale.
Break coverage down by relevant groups. If new customers rarely respond, the aggregate may underrepresent onboarding. If the latest wave follows an outage, that context matters. A high response rate helps describe participation but does not automatically rule out bias.
For a B2B survey, distinguish the person responding from the account they represent. Several employees in one account may have different experiences and roles. Do not silently count every person as a separate customer account or take an unweighted average of account scores.
3. Inspect the distribution behind the headline
Two response sets can have the same NPS with different experiences. A set with 40% promoters, 40% detractors and 20% passives has NPS zero. So does a set with 10% promoters, 10% detractors and 80% passives. The first is more polarized between the headline categories; the second has far more passive responses.
Show the three category counts, and inspect individual ratings when useful. Movement from a rating of 0 to 6 remains within the detractor category and does not change NPS, although it may matter for understanding the experience. Movement from 6 to 7 changes the category.
This is one reason to keep the original ratings rather than only storing the final score. It also helps prevent an apparent precision that the headline metric does not provide.
4. Compare groups without confusing their size
Choose groups connected to a real decision: customer tenure, service type, region or channel. Avoid slicing the data into dozens of tiny groups and treating the most extreme score as a reliable finding. Report the count and coverage of each group.
For disjoint groups using the same unweighted respondent definition, the overall NPS can be calculated from all responses or as a response-count-weighted average of group scores. A simple average of group NPS values is only appropriate when their response counts are equal.
Worked example: established customers have 150 responses and NPS +40. New customers have 50 responses and NPS −20. The overall score is:
(150 × 40 + 50 × −20) ÷ 200 = +25.
A simple average of +40 and −20 would give +10 and would incorrectly give the smaller group equal weight. If you intentionally use survey weights or account weights, document those rules and label the resulting measure.
5. Separate score changes from respondent-mix changes
Suppose the previous wave had 100 established-customer responses at +40 and 100 new-customer responses at −20. Its overall NPS was +10. In the current wave above, the overall score rises to +25 even though neither group’s score changes. More of the responses now come from the higher-scoring group.
The correct interpretation is an aggregate increase associated with a changed mix in this example. It is not evidence that the customer experience improved within either group. Show both the overall result and comparable groups.
Also inspect changes in survey timing, channels and wording. If you match the same customers across periods, report the matched count and those who did not return. Matched analysis helps describe individual movement, but selective return and other changes can still affect interpretation.
A two-point movement may be ordinary variation, particularly with a small response set. If an important decision depends on whether a change is statistically distinguishable from noise, use an uncertainty analysis appropriate to the sampling and weighting design. Do not infer significance from the chart alone.
6. Analyze comments as evidence of reported experience
Create clear theme definitions, read a varied set of comments and keep the source passages available. Code more than one topic when a comment contains several. Distinguish themes such as pricing clarity, billing accuracy and perceived value rather than putting all three into “price.”
Compare themes among detractors, passives and promoters where the question was offered to all groups. If only detractors were asked to comment, you cannot make the same comparison. Record that limitation.
Suppose 30 of the 60 detractors in the first example leave a comment, and 12 mention delayed support. You can report that delayed support appears in 40% of detractor comments. You cannot conclude that it caused 40% of all detractor ratings or that every silent detractor experienced it.
AI can assist with organizing responses, but review ambiguous classifications and missed topics. Retain the original wording and codebook version. For a full coding example, see open-response analysis.
7. Check the operational context
A comment saying “I had to contact you three times” can lead to a review of support history, where access and identity matching are appropriate. The records may confirm repeated contacts, reveal an unresolved request or expose a different interpretation of what counted as a contact.
Use that evidence to formulate a testable explanation. Avoid wording such as “support delays caused the NPS drop” simply because delay comments increased. The response mix, other service changes and missing comments may contribute.
Connecting records also requires governance. Decide which identifiers are needed, which teams may see comments and how long identifiable feedback is retained. Anonymous surveys can still support within-submission ratings-and-comments analysis and appropriate group comparisons.
8. Turn findings into an action and review plan
Scroll horizontally to see all columns →
| Finding | Next step | What to review later |
|---|---|---|
| New-customer comments describe unclear setup instructions. | Product and onboarding teams test the instructions with recent users. | Completion difficulties, support requests and later feedback |
| Some customers report unresolved repeated contacts. | Support checks request history and assigns a responsible owner. | Resolution status and customer-reported effort |
| The total score rose while group scores stayed unchanged. | Analytics explains the changed response mix. | Comparable group trends and invitation coverage |
Prioritize with severity, reach, evidence quality and feasibility, rather than theme frequency alone. Assign an owner and a review date. Explain what changed to the people affected where appropriate.
Follow operational measures as well as the next score. If a clearer setup guide reduces observed difficulties, that is useful evidence even before the next NPS wave. If NPS improves but the original problem persists, do not declare the work complete.
What should an NPS analysis report contain?
A concise report should show the survey purpose, dates, audience, valid response count, category distribution, NPS, relevant group comparisons, comment coverage, findings and proposed actions. Include method changes and uncertainty that could alter the interpretation.
Example summary using the first calculation and comment example: “NPS was +15 among 200 valid responses. Twelve of 30 detractor comments mentioned delayed support. The service team will examine those requests and test a clearer ownership process. Optional comments and uneven group participation limit broader conclusions.”
That summary identifies a next step without pretending the comments explain every rating. Use survey report examples for the presentation structure and negative NPS guidance when the score falls below zero.
Maintain the analysis as the feedback grows
Preserve the response, relevant context, reviewed interpretation and resulting action together. Maintain shared definitions across teams while allowing local questions when needed. Record changes rather than silently overwriting the history used for a comparison.
Sopact’s relevant approach combines collection, contextual analysis and governance for teams that need to maintain recurring feedback without a large internal data project. Evaluate a complete cycle: check the calculation, inspect source comments, correct a theme, compare a later period and control what each audience sees.
Many survey platforms already support ratings, comments and segmentation. The useful comparison is the work required to manage your full workflow across sources and time. The goal is a review process the team can run and explain.
Watch the feedback companion
See Sopact’s discussion of reading feedback alongside its context.
Frequently asked questions
Is NPS an average rating?
No. It is the percentage of promoter responses minus the percentage of detractor responses. The original rating distribution provides additional information.
Can I average NPS across regions?
For nonoverlapping regions with the same unweighted response definition, weight each regional score by its valid response count or calculate directly from all responses. A simple average gives every region equal weight regardless of size.
Why did the overall score rise when group scores did not?
The response mix may have changed. More responses from a higher-scoring group can increase the aggregate without an improvement within either group.
Do comments explain why NPS changed?
They provide respondents’ accounts and possible explanations to investigate. Check their coverage and relevant operational evidence before making causal claims.
Do I need to identify every respondent?
No. Anonymous submissions can support ratings-and-comments analysis. Individual follow-up or matching across waves requires a suitable identifier and appropriate governance.

