Net Promoter Score (NPS) is the percentage of survey respondents who are promoters (score 9–10) minus the percentage who are detractors (0–6), on the question "how likely are you to recommend us?". It runs from −100 to +100.
NPS = (Promoters − Detractors) ÷ All respondents × 100
On the sample data below, six months come to 43.02.
Why it matters
NPS is a short, widely used survey that tracks loyalty over time and flags unhappy customers you can follow up with.
Worked example
The table shows the columns this metric needs from six months of a made-up subscription brand. Add each column up over the six months, then put the totals into the formula:
| Month | NPS promoters (9–10) | NPS passives (7–8) | NPS detractors (0–6) |
|---|---|---|---|
| 2026-01 | 142 | 61 | 37 |
| 2026-02 | 150 | 66 | 42 |
| 2026-03 | 161 | 70 | 39 |
| 2026-04 | 148 | 72 | 48 |
| 2026-05 | 170 | 75 | 41 |
| 2026-06 | 181 | 79 | 45 |
| Total | 952 | 423 | 252 |
(952 − 252) ÷ (952 + 423 + 252) × 100 = 43.02
Add up first, then divide. Averaging the six monthly figures gives a slightly different answer, because it counts a small month the same as a large one.
Month by month
| Month | Net Promoter Score |
|---|---|
| 2026-01 | 43.75 |
| 2026-02 | 41.86 |
| 2026-03 | 45.19 |
| 2026-04 | 37.31 |
| 2026-05 | 45.10 |
| 2026-06 | 44.59 |
NPS calculator
How to read it
NPS is reported as a whole number, not a percentage. Watch the share of detractors as well as the score: the same NPS can hide very different mixes.
Common mistakes
- Passives (7–8) count in the denominator even though they are not in the numerator.
- Small samples swing a lot; one more detractor among 40 replies moves NPS by several points.
- Who answers matters. Surveys sent right after delivery and surveys sent after a support ticket give different scores.
Calculate net Promoter Score in Excel, SQL or Python
The quickest version, for the sample sheet laid out as in the CSV (headers in row 1, months in rows 2 to 7):
=((SUM(AL2:AL7) - SUM(AN2:AN7)) / (SUM(AL2:AL7) + SUM(AM2:AM7) + SUM(AN2:AN7)))*100- Net Promoter Score in Excel and Google Sheets — per-month formula and zero-safe version
- Net Promoter Score in SQL — query by month and for the period
- Net Promoter Score in Python (pandas) — pandas script with expected output
Related metrics
See all business metrics, or the statistics methods that sit behind them.
Questions people ask
- What is net Promoter Score?
- Net Promoter Score (NPS) is the percentage of survey respondents who are promoters (score 9–10) minus the percentage who are detractors (0–6), on the question "how likely are you to recommend us?". It runs from −100 to +100.
- How do you calculate net Promoter Score?
- NPS = (Promoters − Detractors) ÷ All respondents × 100. For example, with six months of sample data: (952 − 252) ÷ (952 + 423 + 252) × 100 = 43.02.
- What is the NPS formula in Excel?
- With the sample data laid out as in the downloadable CSV, =((SUM(AL2:AL7) - SUM(AN2:AN7)) / (SUM(AL2:AL7) + SUM(AM2:AM7) + SUM(AN2:AN7)))*100 gives the figure for the whole period. For one month, use =((AL2 - AN2) / (AL2 + AM2 + AN2))*100 and fill it down.
- What is a good net Promoter Score?
- There is no figure that is right for every business: it depends on your products, prices and channels. NPS is reported as a whole number, not a percentage. Watch the share of detractors as well as the score: the same NPS can hide very different mixes.
Check how stable it is
A metric moves for ordinary reasons as well as real ones. These methods separate the two: the spread shows what a normal month looks like, the moving average smooths it, the z-score flags a month that is out of line and the trend line shows the direction.
Guides
About the data on this page
The figures come from a small made-up dataset, printed above in full so you can check every number by hand. Download it as monthly.csv. The results are computed from those rows when the page is built, and the Excel formulas, SQL and Python on these pages are run against the same rows before publishing, so the code and the answers agree.
To get these numbers from your own data without writing formulas, try AnalyzeIt: ask in plain words and it shows the working behind every figure.
Legal entity
Devansh Yadav
Moradabad, Uttar Pradesh
Governing law: Courts at Moradabad, Uttar Pradesh
Phone: +91 8433475698
Legal: legal@analyzeit.in