Customer loyalty metric
NPS calculator
How results are checked
Named statistical review pending. Selected automated reference cases are published on the validation page.Net Promoter Score
−14.5NPS
95% CI −20.8 to −8.2
25.0% promoters · 39.5% detractors · n = 600
Net Promoter Score (NPS) is the percentage of promoters (scores 9–10) minus the percentage of detractors (0–6) on the 0–10 likelihood-to-recommend question, so it runs from −100 to +100. Because it is a difference of two shares from the same sample, its margin of error is larger than for a single percentage — this calculator reports it, tests the difference between two groups, and breaks NPS down by segment from your file. Free, no account, and files are never uploaded.
Calculate NPS online
Enter promoter, passive and detractor counts (or the number of responses at each score 0–10), compare two groups, or open a survey file and pick the recommend question. Everything is calculated in this browser tab.
Net Promoter Score
+25.0
45.8% promoters minus 20.8% detractors gives an NPS of +25.0, with a 95% confidence interval of +19.9 to +30.1.
95% CI +19.9 to +30.1 · n = 900
| Promoters (9–10) / Passives (7–8) / Detractors (0–6) | 45.8% / 33.4% / 20.8% |
| Standard error (points) | 2.59 |
| 95% CI — Wald (multinomial variance) | +19.9 to +30.1 |
| 95% CI — adjusted Wald (Rocks 2016, +3 pseudo-respondents) | +19.9 to +30.0 |
NPS = +25.0 (n = 900), 95% confidence interval +19.9 to +30.1.
Difference in NPS (B − A)
+15.7
Group B's NPS is +15.7 points versus group A (p = .005, two-sided z-test for independent samples); the difference is significant at the 95% level.
z = 2.82 · p = .005 · 95% CI +4.8 to +26.6
| n | NPS | SE | 95% CI | |
|---|---|---|---|---|
| Group A | 400 | +20.0 | 4.06 | +12.0 to +28.0 |
| Group B | 420 | +35.7 | 3.81 | +28.2 to +43.2 |
| Difference | — | +15.7 | 5.57 | +4.8 to +26.6 |
CSV, Excel, SPSS, Stata, SAS, R, Parquet, SQLite or JSON. The file is read in this browser tab and never uploaded.
Free, no account needed. Counts and files stay in this browser tab and are never uploaded.
Net Promoter, Net Promoter Score and NPS are trademarks of Bain & Company, Inc., Satmetrix Systems, Inc. and Fred Reichheld.
Why NPS needs a confidence interval
A tracker that moves from +32 to +27 has not necessarily lost ground. With 400 responses, a typical NPS has a 95% margin of error of roughly ±6 to ±9 points, so quarter-to-quarter swings of that size are often noise. Reporting the interval — and testing differences between waves or segments — keeps a dashboard from chasing random movement.
The promoter and detractor shares are negatively correlated (a respondent cannot be both), which is why the variance below includes a +2·pP·pD term rather than treating the two shares as independent. To see NPS alongside other questions, cut it by banner columns in the survey crosstab tool.
The method
Formula
NPS = 100 × (p_P − p_D), SE = 100 × √{[p_P(1 − p_P) + p_D(1 − p_D) + 2·p_P·p_D] / n}
where
- p_P
- share of promoters (scores 9–10)
- p_D
- share of detractors (scores 0–6); passives (7–8) count only in n
- n
- number of valid responses (Kish effective n = (Σw)²/Σw² for weighted data)
- CI
- NPS ± z × SE, with z = 1.645, 1.960 or 2.576 for 90%, 95% or 99%
- Adjusted Wald
- adds 3 pseudo-respondents (¾ promoter, 1½ passive, ¾ detractor) before computing the interval — better coverage for small samples (Rocks 2016)
- Two groups
- z = (NPS_B − NPS_A) / √(SE_A² + SE_B²) for independent samples
Worked example
The synthetic snack-brand tracker loaded by “Use sample data” has 600 responses to the 0–10 recommend question: 150 promoters (25.0%), 213 passives (35.5%) and 237 detractors (39.5%).
NPS = 25.0% − 39.5% = −14.5. The variance term is 0.250 × 0.750 + 0.395 × 0.605 + 2 × 0.250 × 0.395 = 0.6240, so SE = √(0.6240 / 600) × 100 = 3.22 points and the 95% interval is −20.8 to −8.2 (adjusted Wald: −20.7 to −8.1).
By age group the scores are 18-34: −19.7 (n = 203); 35-54: −8.8 (n = 216); 55+: −15.5 (n = 181). None of these differs significantly from the rest of the sample at the 95% level — the gaps are within sampling noise.
Using it well
When to use it
Use it when
- Use: You have answers to the standard 0–10 likelihood-to-recommend question.
- Use: You need to report NPS with a margin of error, or check whether two waves, brands or segments really differ.
- Use: You want NPS by segment from a respondent-level file without building formulas in a spreadsheet.
Not the right tool when
- Avoid: The two groups contain the same respondents (a panel re-asked) — the independent-samples test overstates the uncertainty of the change.
- Avoid: The question used a different scale (e.g. 1–5 or 1–10); NPS cut-offs only apply to 0–10.
- Avoid: You need the effect of several drivers at once — correlations are associative; use key driver analysis instead.
How to interpret it
Rule of thumb
If the confidence interval of a difference excludes zero (equivalently p < 0.05 at 95%), the two NPS values differ beyond sampling error. Overlapping single-group intervals do not by themselves mean “no difference” — test the difference directly. Weighted samples should be weighted before scoring; the tool then uses the effective sample size.
Questions
Frequently asked questions
How is the Net Promoter Score calculated?
Classify each 0–10 answer as promoter (9–10), passive (7–8) or detractor (0–6). NPS is the percentage of promoters minus the percentage of detractors. For example, 50% promoters and 20% detractors gives NPS = +30.
What is the margin of error of an NPS?
It is z times the standard error, where SE = 100 × √{[p_P(1 − p_P) + p_D(1 − p_D) + 2·p_P·p_D] / n}. For 50% promoters and 20% detractors from 100 responses, SE = 7.81 points and the 95% margin of error is about ±15.3 points.
How do I test whether two NPS scores are significantly different?
For two independent groups, divide the difference in NPS by √(SE_A² + SE_B²) and compare the z statistic with the normal distribution. The 'Compare two groups' tab does this and reports the p-value and the confidence interval of the difference.
What is the adjusted-Wald interval?
Rocks (2016) showed that adding three pseudo-respondents — three quarters of a promoter, three quarters of a detractor and one and a half passives — before computing the interval gives better coverage than the plain Wald interval, especially for small samples or extreme scores. Both are shown.
Is my survey file uploaded?
No. The file is parsed in this browser tab, the calculations run locally, and the CSV export is created on your device. No account is needed.
Sources and next steps
References & further reading
- [1]Reichheld, F. F. (2003). The one number you need to grow. Harvard Business Review, 81(12), 46–54.
- [2]Rocks, B. (2016). Interval estimation for the “Net Promoter Score”. The American Statistician, 70(4), 365–372.
- [3]Kish, L. (1965). Survey Sampling. New York: Wiley.
Try it on your own data — free, no signup
Upload a CSV, Excel, SPSS, Stata, SAS, R, Parquet or JSON file. Everything runs in your browser; your file never leaves your device.
Open the workspace →