How to Calculate NPS: Methods and Worked Examples
- Decide what decision the score will inform before you send a single NPS survey.
- Choose relational NPS for the overall relationship and transactional NPS for a specific order or interaction.
- Count promoters with =COUNTIF(range,">=9") and detractors with =COUNTIF(range,"<=6") in Excel or Google Sheets.
- Divide by every valid answer, passives included, and use COUNT rather than COUNTA so text and blanks stay out of the total.
- Measure NPS before and after delivery to separate website problems from product and service problems.
- Calculate NPS per segment from pooled counts, because averaging segment scores distorts the total.
How to calculate NPS: ask customers how likely they are to recommend you on a 0 to 10 scale, sort the answers into promoters (9 to 10), passives (7 to 8) and detractors (0 to 6), then subtract the percentage of detractors from the percentage of promoters. The result is a score between -100 and +100.
The arithmetic takes a minute. The work is in everything around it: asking the right people at the right moment, counting correctly, and splitting the score so it tells you what to fix. This guide walks through each method with a worked example. If you only need the formula and its common errors, read the NPS formula; for the wider topic, start with the Net Promoter Score guide.
What does the Net Promoter Score measure?
Fred Reichheld introduced the Net Promoter Score (NPS) in a 2003 article he called The One Number You Need to Grow [Harvard Business Review, 2003]. It spread fast because it is short to ask and easy to track: at least two-thirds of the Fortune 1000 use it [Fortune, 2020].
For an online store, NPS is a way to give customers a voice at scale. Some will be delighted and recommend you, others will be disappointed and never buy again. The score tells you the balance between the two; the follow-up answers tell you why.
Step 1: Collect your NPS data with a survey
Transactional NPS (tNPS) is defined as an NPS survey triggered at a set time after a specific interaction, such as an order, a delivery or a support ticket. Relational NPS (rNPS) asks about the relationship as a whole on a regular cycle. The table compares the two.
| Survey type | When it is sent | What it tells you | Watch out for |
|---|---|---|---|
| Relational NPS (rNPS) | On a fixed cycle, such as quarterly or twice a year | Overall loyalty, trend over time, comparison with benchmarks | Too soon and answers are biased by one event; too late and the experience is no longer fresh |
| Transactional NPS (tNPS) | After a specific order, delivery or support contact | Friction points in one step of the journey, by product, store or agent | Says little about the relationship as a whole |
Then set up the survey in seven steps:
-
Define the objectiveDecide which decision the score will inform. An ad-hoc survey can test a new product or store; a scheduled survey gives you a constant view of customer happiness. NPS without a goal becomes a vanity metric.
-
Choose an NPS toolPick software that can send surveys at specific points in the customer journey and calculate the score for you. Our guide to NPS software lists the features to look for.
-
Create the surveyStart from a template, then customize the NPS questions, the design and the logic, so promoters, detractors and passives each get a relevant follow-up. Always offer the full 0 to 10 scale.
-
Choose the channel and frequencySend by email, SMS, an on-site pop-up or in person. For eCommerce, run one survey before delivery and one after, as the segmentation section explains.
-
Set up alertsAutomate a ticket or an email to customer support whenever someone scores 0 to 6, so the team can contact the customer while the problem is still fixable.
-
Send the surveyLaunch it and let answers build up. A score based on a handful of answers moves a lot from week to week, so wait for a stable sample before you read too much into it.
-
Calculate and share the resultsCalculate the score with one of the methods below, keep the history so you can compare periods, and make the reports available to customer service, marketing and sales, not only to one team.
Step 2: Categorize the answers and apply the NPS formula
NPS = % promoters - % detractors. Suppose your results show 20% promoters, 30% passives and 50% detractors. Your NPS is 20 - 50 = -30. Yes, a negative NPS is possible: it means detractors outnumber promoters, and it is a clear signal that the customer experience needs attention. The NPS formula guide explains the -100 to +100 range and why the result is a number, not a percentage.
Step 3: NPS calculation in Excel or Google Sheets
A spreadsheet is free and everyone has one, so it is the usual starting point. Export your answers to a .CSV or .XLS file, paste the scores into column B (here, B2:B501 for 500 answers), and add these formulas:
| Cell | What it counts | Formula | Result |
|---|---|---|---|
| E2 | Promoters (9 to 10) | =COUNTIF(B2:B501,">=9") | 240 |
| E3 | Passives (7 to 8) | =COUNTIFS(B2:B501,">=7",B2:B501,"<=8") | 150 |
| E4 | Detractors (0 to 6) | =COUNTIF(B2:B501,"<=6") | 110 |
| E5 | All valid answers | =COUNT(B2:B501) | 500 |
| E6 | NPS | =(E2-E4)/E5*100 | 26 |
Check the result by hand: promoters are 240 ÷ 500 = 48%, detractors are 110 ÷ 500 = 22%, and 48 - 22 = 26. The passives count (E3) is not part of the NPS, but it is a useful check: E2 + E3 + E4 must equal E5.
That check catches the spreadsheet error we see most. Survey exports often include rows for people who opened the survey and skipped the score, with a blank cell or a text value such as "N/A". If you count the total with COUNTA, or with the number of rows, those non-answers land in the denominator. Every one of them works like a silent passive and pulls the score toward zero, so a store that changed nothing sees its NPS fall when more people open the email. Use COUNT, which counts numbers only, and confirm that the three groups add up to the total.
Step 4: Use an NPS calculator or an NPS survey tool
| Method | Best for | Limits |
|---|---|---|
| Spreadsheet (Excel, Google Sheets) | Small stores, one-off surveys, checking a tool's number | Manual export and paste each time; easy to break; hard to segment at scale |
| Online NPS calculator | A quick result from counts you already have | No history, no segments, no link to the customer behind the answer |
| NPS survey tool | Continuous surveys, pre-delivery and post-delivery scores, alerts, segments | A cost to justify; worth it only when you have enough answers and a clear goal |
A tool is not worth it for every store. If your shop is small, you get few answers or your NPS strategy is not set yet, a spreadsheet does the job. Before you buy, decide what return you expect: higher customer happiness, lower churn, a better product range, a stronger customer service team or a higher customer lifetime value.
When you do need a tool, look for one that also acts on the answers. Omniconvert Explore runs NPS and on-site surveys next to A/B tests. To see each answer next to the customer's value, Omniconvert Commander (formerly Nexus) calculates NPS and combines it with RFM customer segmentation, so you can sort detractors by how much they are worth to you.
Step 5: Segment your NPS calculation
An average NPS hides the facts you need. As Valentin Radu, CEO of Omniconvert, puts it: "If you track the Net Promoter Score, you must look beyond the average score and go granular by segmenting the NPS responses. The challenge is that calculating the average Net Promoter Score removes the most interesting facts from your analysis. Therefore, you need to know which customer segments, products, brands, cities, or strategies provide the most Promoters or the most Detractors, and the truth is that the average NPS model hides all that data."
Here is the same 500-answer survey split into two segments:
| Segment | Promoters | Passives | Detractors | Answers | NPS |
|---|---|---|---|---|---|
| Repeat customers | 78 | 30 | 12 | 120 | (78 - 12) ÷ 120 × 100 = 55 |
| First-time customers | 162 | 120 | 98 | 380 | (162 - 98) ÷ 380 × 100 = 16.8 |
| All customers | 240 | 150 | 110 | 500 | 26 |
The total of 26 looks moderate. The split shows a loyal repeat base and a weak first-purchase experience, which is where most of the answers come from. A simple average of the two segment scores, (55 + 16.8) ÷ 2 = 35.9, would overstate the truth by almost 10 points.
For eCommerce, the most useful split is time. Measure NPS before delivery, right after the order, and again after delivery. A low pre-delivery score points to the website and the buying process; a low post-delivery score points to the product, the delivery or the service. Did promoters change their minds once the order arrived? In other words, did you deliver the value you promised? If not, adjust your marketing messages and timing, and fix what customers say bothers them.
One Omniconvert client, an online fashion retailer, scored 77 before delivery and 51 after it. Low product quality appeared in 48% of the answers and low service in 29%. The brand kept running flash sales, even to its best customers, and four months later the post-delivery score had dropped to 44 while the pre-delivery score stayed at 77 [Omniconvert, fashion retailer NPS case study]. The full story, with a marketplace that had the opposite problem, is in our NPS case study.
A calculated score is where the work begins. A thorough NPS analysis codes the open answers into themes and shows which teams need to act. Compare your score with an NPS benchmark for your industry, read what a good NPS score is, and, to go further with retention and lifetime value, see the CVO Academy course on Customer Value Optimization.
NPS calculation FAQs
Net Promoter Score (NPS) measures how likely customers are to recommend you, based on one question answered on a 0 to 10 scale. You calculate it by subtracting the percentage of detractors (scores 0 to 6) from the percentage of promoters (scores 9 to 10). Passives (7 to 8) count in the total only.
Put one score per row in a column, for example B2:B501. Count promoters with =COUNTIF(B2:B501,">=9"), detractors with =COUNTIF(B2:B501,"<=6") and all valid answers with =COUNT(B2:B501). Then NPS = (promoters - detractors) / total * 100. The same formulas work in Excel and Google Sheets.
Out of 500 answers, 240 are promoters, 150 are passives and 110 are detractors. Promoters are 48% and detractors are 22%, so NPS = 48 - 22 = 26. From counts, the same result is (240 - 110) / 500 x 100 = 26.
Yes. NPS is negative whenever detractors outnumber promoters. With 20% promoters, 30% passives and 50% detractors, NPS = 20 - 50 = -30. The lowest possible score is -100 and the highest is +100.
Calculate transactional NPS continuously, because the survey fires after each order or interaction, and review it weekly or monthly. Calculate relational NPS on a fixed cycle, such as every quarter or every six months, so each result is comparable with the last one.
A spreadsheet is enough for a small store or a one-off survey. A survey tool is better when you collect answers every day, need segments such as pre-delivery and post-delivery, or want alerts when a valuable customer gives a low score, because it removes the export-and-paste step where most errors start.
Export last month's NPS answers and run the three COUNTIF formulas from this guide. If your survey tool shows a different number, find out why before anyone reports it: the gap is usually blanks in the total, a missing 0 option or averaged segments.
Once the hand calculation and the tool agree, stop calculating and start segmenting. Split the score before and after delivery, then read the open answers of your detractors and turn the most common complaint into a test. Omniconvert Explore runs the NPS survey and the A/B test in one tool.
Let the survey tool do the math
Omniconvert Explore runs NPS and on-site surveys, A/B tests and personalization in one tool, so the score is calculated for you and the time goes into fixing what detractors tell you.