Calculating the Net Promoter Score

Net Promoter Score (NPS) Calculator

Measure customer loyalty and business growth potential

Customers who are highly satisfied and would recommend you.
Your NPS Score
0
Good
% Promoters
0%
% Passives
0%
% Detractors
0%

Understanding the Net Promoter Score (NPS)

The Net Promoter Score is a world-renowned gold standard metric used to measure customer experience and predict business growth. It asks customers one simple question: "On a scale of 0 to 10, how likely are you to recommend our company/product/service to a friend or colleague?"

The Three Categories of Customers

  • Promoters (9-10): Loyal enthusiasts who will keep buying and referring others, fueling growth.
  • Passives (7-8): Satisfied but unenthusiastic customers who are vulnerable to competitive offerings.
  • Detractors (0-6): Unhappy customers who can damage your brand and impede growth through negative word-of-mouth.

The NPS Formula

NPS = (% of Promoters) – (% of Detractors)

The resulting score ranges from -100 (if every customer is a Detractor) to +100 (if every customer is a Promoter).

Example Calculation

Suppose you surveyed 100 customers:

  • 70 are Promoters (9-10)
  • 20 are Passives (7-8)
  • 10 are Detractors (0-6)

Your % of Promoters is 70%, and your % of Detractors is 10%. Your NPS would be 70 – 10 = 60. Note that the Passives are included in the total count to determine percentages but do not directly impact the final subtraction.

What is a Good NPS?

Generally, any score above 0 is considered "Good" because it means you have more promoters than detractors. A score above 50 is "Excellent," and above 70 is "World Class." However, NPS is best used by comparing your current score against your historical performance and industry benchmarks.

function calculateNPS() { var prom = parseFloat(document.getElementById('promotersInput').value); var pass = parseFloat(document.getElementById('passivesInput').value); var detr = parseFloat(document.getElementById('detractorsInput').value); // Validation if (isNaN(prom) || prom < 0) prom = 0; if (isNaN(pass) || pass < 0) pass = 0; if (isNaN(detr) || detr = 70) { ratingLabel.innerHTML = "World Class"; ratingLabel.style.backgroundColor = "#28a745"; summaryText.innerHTML = "Incredible! Your customer loyalty is among the best in the world."; } else if (npsScore >= 50) { ratingLabel.innerHTML = "Excellent"; ratingLabel.style.backgroundColor = "#218838"; summaryText.innerHTML = "Outstanding! You have a very strong base of loyal advocates."; } else if (npsScore >= 30) { ratingLabel.innerHTML = "Great"; ratingLabel.style.backgroundColor = "#007bff"; summaryText.innerHTML = "Your score is strong and indicates healthy growth potential."; } else if (npsScore >= 0) { ratingLabel.innerHTML = "Good"; ratingLabel.style.backgroundColor = "#17a2b8"; summaryText.innerHTML = "A positive score is good, but there is clear room for improvement."; } else { ratingLabel.innerHTML = "Needs Work"; ratingLabel.style.backgroundColor = "#dc3545"; summaryText.innerHTML = "A negative score indicates you have more detractors than promoters. Improving customer experience should be a priority."; } // Scroll to result for mobile users document.getElementById('npsResultContainer').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment