How Do You Calculate a Net Promoter Score

Net Promoter Score (NPS) Calculator :root { –primary-blue: #004a99; –success-green: #28a745; –light-background: #f8f9fa; –white: #ffffff; –dark-text: #333333; –border-color: #dee2e6; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–light-background); color: var(–dark-text); line-height: 1.6; margin: 0; padding: 20px; } .calculator-container { max-width: 800px; margin: 30px auto; background-color: var(–white); padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); border: 1px solid var(–border-color); } h1, h2 { color: var(–primary-blue); text-align: center; margin-bottom: 20px; } .input-group { margin-bottom: 20px; padding: 15px; border: 1px solid var(–border-color); border-radius: 5px; background-color: #fdfdfd; } .input-group label { display: block; margin-bottom: 8px; font-weight: 600; color: var(–primary-blue); } .input-group input[type="number"] { width: calc(100% – 24px); padding: 12px; border: 1px solid var(–border-color); border-radius: 4px; font-size: 1rem; box-sizing: border-box; /* Include padding and border in the element's total width and height */ } .input-group input[type="number"]:focus { outline: none; border-color: var(–primary-blue); box-shadow: 0 0 0 3px rgba(0, 74, 153, 0.2); } button { display: block; width: 100%; padding: 12px 20px; background-color: var(–primary-blue); color: var(–white); border: none; border-radius: 4px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; margin-top: 10px; } button:hover { background-color: #003a7a; transform: translateY(-2px); } button:active { transform: translateY(0); } #result { margin-top: 30px; padding: 25px; background-color: var(–success-green); color: var(–white); text-align: center; border-radius: 8px; font-size: 1.8rem; font-weight: 700; box-shadow: 0 4px 10px rgba(40, 167, 69, 0.3); } #result span { font-size: 1.2rem; font-weight: 400; display: block; margin-top: 5px; } .explanation { margin-top: 40px; padding: 25px; background-color: var(–white); border: 1px solid var(–border-color); border-radius: 8px; } .explanation h2 { margin-top: 0; margin-bottom: 15px; color: var(–primary-blue); text-align: left; } .explanation p, .explanation ul { margin-bottom: 15px; color: var(–dark-text); } .explanation ul { list-style: disc; padding-left: 25px; } .explanation strong { color: var(–primary-blue); } /* Responsive adjustments */ @media (max-width: 768px) { .calculator-container { padding: 20px; } h1 { font-size: 1.8rem; } #result { font-size: 1.5rem; } } @media (max-width: 480px) { h1 { font-size: 1.5rem; } button, #result { font-size: 1rem; } .input-group input[type="number"] { width: calc(100% – 16px); /* Adjust for smaller padding */ } }

Net Promoter Score (NPS) Calculator

Understanding Net Promoter Score (NPS)

The Net Promoter Score (NPS) is a customer loyalty metric used to gauge customer satisfaction and predict business growth. It's based on a single question: "On a scale of 0 to 10, how likely are you to recommend [company/product/service] to a friend or colleague?"

Respondents are categorized into three groups based on their score:

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

How to Calculate NPS

The NPS is calculated by subtracting the percentage of Detractors from the percentage of Promoters. Passives are not included in the final calculation but represent a significant segment to monitor.

Formula:
NPS = (% Promoters) – (% Detractors)

To calculate these percentages, you first need the total number of respondents.

Steps:

  1. Sum the number of Promoters, Passives, and Detractors to get the Total Respondents.
  2. Calculate the Percentage of Promoters: (Number of Promoters / Total Respondents) * 100
  3. Calculate the Percentage of Detractors: (Number of Detractors / Total Respondents) * 100
  4. Subtract the Percentage of Detractors from the Percentage of Promoters to get the NPS.

The NPS score ranges from -100 to +100. A positive NPS indicates more promoters than detractors, which is generally a good sign of customer loyalty.

NPS Score Interpretation:

  • +70: World-class.
  • +30 to +69: Excellent.
  • +0 to +29: Good.
  • -0 to -29: Below Average.
  • -100 to -30: Poor.

Regularly tracking NPS helps businesses understand customer sentiment, identify areas for improvement, and measure the impact of changes over time.

function calculateNPS() { var promotersInput = document.getElementById("promoters"); var passivesInput = document.getElementById("passives"); var detractorsInput = document.getElementById("detractors"); var resultDiv = document.getElementById("result"); var promoters = parseInt(promotersInput.value); var passives = parseInt(passivesInput.value); var detractors = parseInt(detractorsInput.value); // Validate inputs if (isNaN(promoters) || isNaN(passives) || isNaN(detractors) || promoters < 0 || passives < 0 || detractors < 0) { resultDiv.innerHTML = "Invalid input. Please enter non-negative numbers."; resultDiv.style.backgroundColor = "#dc3545"; /* Red for error */ return; } var totalRespondents = promoters + passives + detractors; if (totalRespondents === 0) { resultDiv.innerHTML = "0 Please enter at least one respondent."; resultDiv.style.backgroundColor = "var(–success-green)"; /* Green when score is 0 but valid */ return; } var percentagePromoters = (promoters / totalRespondents) * 100; var percentageDetractors = (detractors / totalRespondents) * 100; var nps = percentagePromoters – percentageDetractors; // Ensure NPS is displayed as a whole number (or with reasonable precision) var formattedNPS = nps.toFixed(1); // Display one decimal place // Adjust color based on score var resultBackgroundColor = "var(–success-green)"; if (nps < 0) { resultBackgroundColor = "#ffc107"; // Yellow for negative scores } if (nps = 70) { resultBackgroundColor = "#17a2b8"; // Blue for world-class scores } resultDiv.innerHTML = formattedNPS + "NPS Score"; resultDiv.style.backgroundColor = resultBackgroundColor; }

Leave a Comment