Free tools

Free NPS, CSAT, and CES Calculator

Calculate customer experience scores from survey counts and percentages in one deterministic scorecard.

Copy-paste outputs

Win high-intent buyers from ChatGPT, Gemini, Claude, Perplexity, and AI Overviews before your competitors do.

One operating layer for monitoring, measurement, content action, and technical cleanup.

AI Visibility TrackingCompetitive RankingSentiment by ModelSource CitationsAI Overviews TrackingPrompt MonitoringAI Visibility TrackingCompetitive RankingSentiment by ModelSource CitationsAI Overviews TrackingPrompt Monitoring
Content GapsAI InsightsAdvanced AnalyticsData CopilotBlog GenerationUGC CampaignsLLM CouncilContent GapsAI InsightsAdvanced AnalyticsData CopilotBlog GenerationUGC CampaignsLLM Council
Shopping IntelligenceCrawler MonitoringGEO OptimizationMulti-Brand ManagementShopping IntelligenceCrawler MonitoringGEO OptimizationMulti-Brand Management

Tool 01

NPS / CSAT / CES Calculator Suite

Calculate customer experience KPIs from response counts and distributions.

NPS / CSAT / CES Calculator Suite
Calculate customer experience metrics from survey response distributions.
Customer experience scorecard

NPS

37.5

CSAT

80.0%

CES average

4.81

CES normalized score: 63.4 / 100

{
  "nps": 37.5,
  "csat": 80,
  "cesMean": 4.806060606060606,
  "cesNormalized": 63.43434343434343,
  "totals": {
    "nps": 800,
    "csat": 400,
    "ces": 165
  }
}

How it works

NPS / CSAT / CES Calculator Suite: methodology and worked example

How this tool computes its result

Three independent CX formulas computed from raw response counts. NPS = `(promoters/total*100) - (detractors/total*100)` over `total = detractors + passives + promoters`. CSAT = `satisfied/total*100`. CES parses a comma-separated distribution string that must contain exactly 7 non-negative numeric values (representing response counts for effort scores 1 through 7), computes a weighted mean `Σ(count_i * score_i) / Σcount_i`, then normalizes it to a 0–100 scale via `(mean - 1) / 6 * 100`. Each metric is gated independently: NPS total must be > 0, CSAT total must be > 0 with `0 ≤ satisfied ≤ total`, and the CES array must have exactly 7 valid non-negative entries summing to more than 0 — any failure replaces the whole result with a single error string.

Worked example

Detractors=120, passives=260, promoters=420 (total=800): NPS = (420/800*100) - (120/800*100) = 52.5 - 15 = 37.5. CSAT with satisfied=320, total=400 = 80.0%. CES distribution "5,10,18,30,42,36,24" (165 total responses): weighted sum = 5(1)+10(2)+18(3)+30(4)+42(5)+36(6)+24(7) = 5+20+54+120+210+216+168 = 793 → mean = 793/165 = 4.81 → normalized = (4.81-1)/6*100 = 63.5/100.

When not to use this tool

CES strictly requires exactly 7 comma-separated values mapped to effort scores 1–7 — it cannot represent CES surveys built on a different scale (e.g. a 1–5 scale) without artificially padding or misrepresenting the distribution.

Common mistakes

  • - Entering fewer or more than 7 values in the CES distribution field (e.g. a 5-point scale) — the tool rejects the whole calculation with "CES distribution must contain 7 non-negative values" instead of adapting to a different scale.
  • - Setting CSAT "satisfied" responses higher than "total" responses — explicitly rejected by the `csatSatisfied > csatTotal` check, which returns an error rather than clamping the value.
  • - Reading the NPS result as a percentage of respondents; it is a score from -100 to 100 (the difference of two percentages), so 37.5 means promoters exceed detractors by 37.5 percentage points, not that 37.5% of respondents were promoters.

Ready to dominate AI search visibility?

Track where your brand shows up in AI answers, close the content gaps that cost conversions, and stay visible across ChatGPT, Claude, Gemini, Perplexity, and Grok.