What is Net Promoter Score (NPS), and how do you calculate it?
Definition
Net Promoter Score measures customer loyalty from one question — "how likely are you to recommend us?" — answered on a 0-10 scale. Respondents scoring 9-10 are promoters, 7-8 are passives, and 0-6 are detractors; the score is the percentage of promoters minus the percentage of detractors, ranging from -100 to +100.
What data do you need?
- Response-grain data with the raw 0-10 score
- Response timestamps for trending
- Account or user joins for segmentation
- Survey and channel fields (in-app vs. email waves differ)
- Enough volume per segment — small samples swing wildly
SQL pattern
SELECT
date_trunc('month', submitted_at) AS month,
COUNT(*) AS responses,
ROUND(
100.0 * (
COUNT(*) FILTER (WHERE score >= 9)
- COUNT(*) FILTER (WHERE score <= 6)
) / NULLIF(COUNT(*), 0), 1
) AS nps
FROM nps_responses
GROUP BY 1
ORDER BY 1;Common pitfalls
Where does this metric apply?
This metric commonly uses data from Pendo, Qualtrics, SurveyMonkey, Typeform, Tally, plus any warehouse models that provide the same grain.