Understanding the Net Promoter Score (NPS) Calculation
The Net Promoter Score (NPS) is a widely used metric to gauge customer loyalty and satisfaction. It's based on a single question: "On a scale of 0 to 10, how likely are you to recommend our company/product/service to a friend or colleague?"
How NPS is Calculated:
Customers are categorized into three groups based on their response:
Promoters: Those who score 9 or 10. They are loyal enthusiasts who will keep buying and refer others, fueling growth.
Passives: Those who score 7 or 8. They are satisfied but unenthusiastic customers who are vulnerable to competitive offerings.
Detractors: Those who score 0 to 6. They are unhappy customers who can damage your brand and impede growth through negative word-of-mouth.
The NPS is calculated using the following formula:
NPS = (% of Promoters) - (% of Detractors)
Here's how the percentages are derived:
Calculate the Total Number of Respondents: Sum the number of Promoters, Passives, and Detractors.
Total Respondents = Promoters + Passives + Detractors
Calculate the Percentage of Promoters: % Promoters = (Number of Promoters / Total Respondents) * 100
Calculate the Percentage of Detractors: % Detractors = (Number of Detractors / Total Respondents) * 100
Calculate the NPS Score: Subtract the percentage of Detractors from the percentage of Promoters. The result is your NPS score, which can range from -100 to +100.
NPS = (% Promoters) - (% Detractors)
Interpreting Your NPS Score:
+70 and above: World-class. You have a very strong customer base.
+30 to +69: Excellent. Strong customer loyalty.
+10 to +29: Good. Room for improvement, but generally positive.
0 to +9: Average. Many opportunities to improve.
Below 0: Needs significant improvement. You have more detractors than promoters.
Why NPS Matters:
NPS is a powerful indicator of a company's growth potential. Loyal customers (Promoters) not only make repeat purchases but also act as brand advocates. Conversely, Detractors can significantly harm a company's reputation. By tracking NPS over time and understanding the feedback behind the scores, businesses can identify areas for improvement, enhance customer experience, and ultimately drive sustainable growth.
function calculateNPS() {
var promotersInput = document.getElementById("promoters");
var passivesInput = document.getElementById("passives");
var detractorsInput = document.getElementById("detractors");
var npsScoreDiv = document.getElementById("nps-score");
var promoters = parseFloat(promotersInput.value);
var passives = parseFloat(passivesInput.value);
var detractors = parseFloat(detractorsInput.value);
// Validate inputs
if (isNaN(promoters) || isNaN(passives) || isNaN(detractors) ||
promoters < 0 || passives < 0 || detractors < 0) {
npsScoreDiv.textContent = "Invalid Input";
npsScoreDiv.style.color = "#dc3545";
return;
}
var totalRespondents = promoters + passives + detractors;
if (totalRespondents === 0) {
npsScoreDiv.textContent = "0"; // Or handle as no data
npsScoreDiv.style.color = "#333";
return;
}
var percentPromoters = (promoters / totalRespondents) * 100;
var percentDetractors = (detractors / totalRespondents) * 100;
var nps = percentPromoters – percentDetractors;
// Display the result
npsScoreDiv.textContent = Math.round(nps);
npsScoreDiv.style.color = "#28a745"; // Default to success green
if (nps < 0) {
npsScoreDiv.style.color = "#dc3545"; // Red for negative scores
} else if (nps < 30) {
npsScoreDiv.style.color = "#ffc107"; // Yellow for average/good
}
}