EnableYourData.com

KPI · Customer service

Net Promoter Score (NPS): formula and example.

The Net Promoter Score (NPS) measures how likely customers are to recommend your business to others. Customers give a score from 0 to 10; those scoring 9 or 10 are promoters, 7 or 8 are passives and 0 to 6 are detractors. NPS is the percentage of promoters minus the percentage of detractors and ranges from −100 to +100.

Net Promoter Score (NPS) formula

Percentage of promoters (9–10) − percentage of detractors (0–6)

Worked example

In the first quarter Acme Groothandel asked 500 customers how likely they were to recommend it. There were 260 promoters, 140 passives and 100 detractors. That is 52% promoters and 20% detractors, so NPS is 52 − 20 = 32.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A higher NPS means relatively more promoters than detractors. Because the score measures the relationship as a whole, it moves more slowly than CSAT; track it by quarter or half-year. Focus on the comments from detractors and compare with your own earlier measurements and between customer segments, not with isolated figures from other sectors.

Pitfalls with Net Promoter Score (NPS)

  • Forgetting passives: they are not subtracted, but they do count in the total the percentages are based on.
  • Writing NPS as a percentage; it is a number between −100 and +100.
  • Drawing conclusions from a small group of respondents, where a few answers shift the score considerably.

SQL & DAX

Calculating Net Promoter Score (NPS) in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
SELECT date_trunc('quarter', responded_at)::date AS quarter,
       COUNT(*) AS responses,
       ROUND(100.0 * COUNT(*) FILTER (WHERE score >= 9) / NULLIF(COUNT(*), 0), 1) AS promoters_pct,
       ROUND(100.0 * COUNT(*) FILTER (WHERE score <= 6) / NULLIF(COUNT(*), 0), 1) AS detractors_pct,
       ROUND(100.0 * (COUNT(*) FILTER (WHERE score >= 9) - COUNT(*) FILTER (WHERE score <= 6))
             / NULLIF(COUNT(*), 0), 0) AS nps
FROM surveys
WHERE type = 'nps'
GROUP BY 1
ORDER BY 1;
DAX · Power BI
NPS Responses = CALCULATE(COUNTROWS(Surveys), Surveys[Type] = "nps")

NPS =
DIVIDE(
    CALCULATE(COUNTROWS(Surveys), Surveys[Type] = "nps", Surveys[Score] >= 9)
        - CALCULATE(COUNTROWS(Surveys), Surveys[Type] = "nps", Surveys[Score] <= 6),
    [NPS Responses]
) * 100

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for Net Promoter Score (NPS) per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate Net Promoter Score?

Work out the percentage of promoters (score 9 or 10) and the percentage of detractors (score 0 to 6) and subtract one from the other. With 52% promoters and 20% detractors, NPS is 32. Passives (7 and 8) count only in the total.

What is the difference between NPS and CSAT?

NPS measures willingness to recommend you and reflects the whole customer relationship. CSAT measures satisfaction with a single moment, such as a contact or delivery. Use CSAT to improve service and NPS to track the relationship over time.

Can NPS be negative?

Yes, NPS is negative when there are more detractors than promoters. The score ranges from −100 (only detractors) to +100 (only promoters). A negative score means more customers would advise against you than recommend you.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.