Growth Strategy

Can You Trust Your NPS Score When Few Customers Reply?

Learn how to calculate NPS correctly, show missing responses honestly and decide what a customer survey can support before changing your marketing.

Your latest customer survey returns an NPS of 60. The number looks encouraging, and someone wants to put it in a campaign brief as evidence that customers love the product. Then you notice that only one in five invited customers supplied a valid answer. Is the score wrong? Not necessarily. Is it enough to describe everyone you invited, let alone all customers? That is a different question.

This guide is for consumer brands, subscription apps and startup teams using recommendation surveys to guide growth decisions. It shows how to report the observed score, make missing answers visible and build a reproducible review. All examples are synthetic; none represents Akshay's client results. The operating checklist and finite-cohort calculation are original Growthcraft synthesis, not a substitute for a qualified survey researcher.

Four things to check before acting on NPS

  • Keep passives in the denominator and missing answers out of the observed score.
  • State whether the claim concerns respondents, the invited cohort or the broader customer population.
  • Show how much missing answers could change the invited-cohort result without pretending to predict them.
  • Use the survey to guide a proportionate investigation, not to manufacture a reassuring headline.

Start with the customer survey checklist, run the NPS and missing-response calculator, then use the survey analysis prompt to prepare a human-reviewed decision brief.

Calculate the score you actually observed

Bain defines NPS using a zero-to-ten recommendation question: scores 9–10 are promoters, 7–8 are passives and 0–6 are detractors. Subtract the detractor percentage from the promoter percentage. Passives contribute to the denominator even though they contribute neither a positive nor a negative count to the numerator. Source: Bain's NPS scoring definition, checked October 13, 2026; publication/update date unavailable.

For calculation, assign a promoter +1, a passive 0 and a detractor −1. The average of those coded valid answers, multiplied by 100, is the respondent NPS. This does not mean a passive is an unhappy customer, and it does not turn a missing answer into a passive. The coding is a definition of this metric, not a complete description of customer experience.

Let P, S and D be the counts of valid promoter, passive and detractor answers. R=P+S+D is the number of valid answers. Respondent NPS=100(P−D)/R. Report the count with the score. A score of 60 from 200 answers and the same score from 20 answers have the same arithmetic but different evidence behind them. Neither sample size alone tells you whether the respondents represent the population you care about.

If R is zero, the score is undefined. Printing zero instead tells the reader that promoters and detractors balanced, which is a different statement. Similarly, a blank response must not become a zero rating during a spreadsheet import: a zero rating is a valid detractor answer, while a blank means the rating was not observed.

Separate three groups that dashboards often blur

The first group is valid respondents: the units whose answers survived your eligibility, validity and duplicate checks. The second is the eligible invited cohort: the fixed roster to which you sent the survey. The third is the business population you might want to describe, such as all active customers, all recent purchasers or all subscribers. These groups need not be the same size or have the same characteristics.

Suppose the invitation list excludes customers who unsubscribed from marketing, purchased through a marketplace or never created an account. Completing every invitation would not recover the views of those excluded groups. Coverage of the invitation roster and coverage of the business population are separate issues. The calculator in this guide addresses missing answers within a known eligible invited roster only.

AAPOR distinguishes coverage, measurement and nonresponse concerns. Its Standard Definitions guidance explains that response-rate information alone cannot establish the presence or amount of nonresponse error. Knowing case dispositions is an important starting point, not a certificate of representativeness. Source: AAPOR Standard Definitions, living page checked October 13, 2026; page publication/update date unavailable.

For the narrow model here, valid-answer coverage is R/N, where N is the known eligible invited count. Call it that, rather than labelling it an official AAPOR response rate. Complex samples, unknown eligibility, partial interviews and weighted estimates need richer definitions. A simple fraction should not borrow the authority of a standardized method it has not implemented.

Work through a survey with 20% answer coverage

Imagine 1,000 eligible customer accounts invited during one fixed window. After applying a first-valid-answer rule, 140 are promoters, 40 passives and 20 detractors. There are 200 valid answers and 800 missing valid answers. “Missing” can include nonrespondents and people who submitted no usable rating; keep their detailed dispositions in the research system even though this calculation groups them together.

MeasureCalculationResult
Valid answers140+40+20200
Respondent NPS100×(140−20)/20060
Valid-answer coverage100×200/1,00020%
Missing valid answers1,000−200800
All missing become detractors100×(120−800)/1,000−68
All missing become promoters100×(120+800)/1,00092

The defensible statement is that the valid respondents have NPS 60. Across every possible completion of the missing answers, the invited cohort could have a score from −68 to 92. That wide range does not prove the observed score is biased. It shows that the observed answers alone do not fix the invited-cohort result.

The extremes are intentionally strong assumptions. Assigning all missing answers to detractors or promoters identifies the endpoints; it does not assert that either is plausible. Calling this a 95% confidence interval would be incorrect because no probability model, sampling design or confidence procedure produced it. Calling the midpoint a forecast would also add information the data did not provide.

A team with a target of 30 needs a further net promoter-minus-detractor count of at least 180 among the 800 missing answers: 30×1,000/100−120=180. This is feasible, but not established. It is not a request to recruit 180 happy customers. Selectively seeking positive responses would change the evidence-generating process and undermine the original review.

Understand the limits without a statistical black box

Let U=N−R be the missing count. Each missing customer could contribute −1, 0 or +1 to the coded score. Therefore the smallest unobserved total is −U and the largest is +U. Add these to the observed net count P−D and divide by N: the lower bound is 100(P−D−U)/N and the upper bound is 100(P−D+U)/N. The width is 200U/N NPS points.

This width is driven by missing coverage, not by the observed score. At 20% coverage,80% is missing, so width is 160 points. At 100% coverage, U=0 and both bounds equal the respondent score. At zero valid answers with positive invitations, the respondent score is undefined and the bounds span−100 to 100. At zero invitations there is no cohort score or coverage ratio at all.

The calculation assumes that observed scores are valid and fixed. A badly worded question, duplicated customer identities or answers collected at different journey moments can still damage interpretation. It also assumes the declared roster is the complete invited cohort of known eligible units. It cannot repair omitted customers, changing definitions or a sampling process that was never documented.

For a target T, compare the unrounded bounds with T. If the lower bound meets T, every possible completion meets the target for this finite roster. If the upper bound is below T, no completion can meet it. Otherwise missing answers can change the decision. These are logical statements about the supplied counts, not guarantees about next month's customers or business performance.

Make the calculation reproducible

The following JavaScript function accepts numeric integer counts from zero to one million. It rejects totals larger than the invitation roster and keeps undefined ratios as null. Run it in modern Node.js or a browser console against synthetic data, not customer identities. The website calculator adds labelled input validation, a scope note, target review and local JSON export.

function npsCoverage(n, p, s, d) {
  const counts = [n, p, s, d];
  if (!counts.every(v => Number.isSafeInteger(v) && v >= 0 && v <= 1000000)) {
    throw new Error('Use valid whole counts');
  }
  const r = p + s + d;
  if (r > n) throw new Error('Answers exceed invitations');
  const u = n - r;
  return {
    responses: r, missing: u,
    respondentNps: r ? 100 * (p - d) / r : null,
    coveragePct: n ? 100 * r / n : null,
    lowerNps: n ? 100 * (p - d - u) / n : null,
    upperNps: n ? 100 * (p - d + u) / n : null,
    widthPoints: n ? 200 * u / n : null
  };
}

Calling npsCoverage(1000,140,40,20) returns responses 200, missing 800, respondentNps 60, coveragePct 20, lowerNps −68, upperNps 92 and widthPoints 160. Calling npsCoverage(0,0,0,0) returns zero counts and null ratios. A total of 201 answers for 200 invitations must fail; it should not be normalized silently.

Verification should cover more than one happy-path example. Scale all counts by the same positive whole multiplier and scores must remain unchanged. Swap promoters and detractors and the observed score changes sign, while the lower and upper bounds exchange with opposite signs. Reveal one missing answer and the compatible range cannot expand. Test zero responses, all passives, all promoters, all detractors and maximum accepted counts.

Keep the raw count reconciliation outside the public tool. A minimal authorized ledger needs a survey version, opaque invited-unit key, invitation window, eligibility status, response timestamp, rating and disposition. Enforce one retained answer per unit under the chosen policy. Repeated export rows must not create more responses; conflicting eligible identities or score revisions require explicit handling, not whichever row happens to load last.

Use the result to improve research and customer experience

First, write a narrower headline. “NPS 60 among 200 valid respondents from 1,000 eligible invitations” is less dramatic than “Customers love us,” but far more useful. Pair it with the survey dates and question context. A relationship survey and an immediate post-support survey should not be blended merely because both use a zero-to-ten scale.

Second, inspect the invitation and response process. Did one channel fail to deliver? Did mobile users encounter a broken form? Did recent purchasers receive the survey while churned customers were excluded? Compare available aggregate distributions such as tenure, plan or journey stage, while protecting small groups. These checks identify hypotheses; they do not reveal the missing ratings.

Third, choose a neutral follow-up design with the research owner. Do not reward a particular score or send reminders only to people predicted to be promoters. Any weighting proposal needs variables and assumptions that are relevant to both selection and the outcome, plus validation. Weighting is not an automatic cure for low coverage, and this calculator intentionally does not offer a misleading “corrected NPS” button.

Finally, separate learning from action. A repeated complaint about an inaccessible checkout can justify fixing the defect without estimating its population prevalence from NPS. A claim that a new campaign improved customer advocacy needs an appropriate comparison, not two differently recruited snapshots. Store the input snapshot, review and decision together, and preserve the previous version when late responses arrive.

The useful outcome is not a more impressive score. It is a clearer statement of what was observed, what remains unknown and what the team will do next. Use the companion checklist for ownership, the calculator for transparent arithmetic and the prompt for a review that keeps humans responsible for customer contact and commercial decisions.

Need help turning this method into an operating plan?

Scope measurement, ownership and a practical growth backlog with Akshay. Start with the decision you need to make and the evidence available.

Explore hands-on growth leadership

View all growth marketing articles