Business & Operations Tools

NPS and CSAT Dashboard Builder

Calculate NPS, CSAT and CES from raw responses, split them by segment with confidence intervals, track trends, and export a dashboard as HTML or CSV.

  • NPS/CSAT/CES with CIs
  • Segment and trend charts
  • Dashboard export
Runs in your browser

Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics.

NPS & CSAT workspace

Example:

1 Responses

Drop a CSV of responses here or choose a file

One row per response with a header row: a 0-10 score, and optionally CSAT, CES, a segment and a date. Up to 5 MB and 50,000 rows.

3 Dashboard

Load or paste responses, then build the dashboard.

What the NPS and CSAT Dashboard Builder does

This builder turns raw customer-feedback responses into an NPS, CSAT and CES dashboard - overall scores with confidence intervals, a split by any segment such as region or plan, a trend by month, week or quarter - and exports it as a standalone HTML page or a CSV. It works from the individual answers, not from percentages you have already worked out, so the uncertainty in every score can be shown honestly.

Load a CSV export with one row per response, tell the page which columns hold the scores and which scale each uses, and the arithmetic runs in your browser. Responses are not uploaded or stored.

How to use it

  1. Export responses as CSV: one row per response with a header row. Include the 0-10 recommendation score, and optionally a satisfaction score, an effort score, a segment column and a response date.
  2. Drop the file on the page or paste it, then press Build dashboard. The columns are matched by their headers; correct any that are wrong under Columns and scales.
  3. Set the CSAT scale (1-5, 1-7 or 1-10) and the CES scale so that top-2-box and averages are computed on the right range, and say whether dates like 03/04/2026 are day-first or month-first.
  4. Choose the confidence level and how to group the trend. Scores, segment table and trend update as you change settings.
  5. Download the dashboard as a self-contained HTML file to share, or the summary as CSV for a spreadsheet.

Reading the results

NPS runs from -100 (everyone a detractor) to +100 (everyone a promoter). The interval around it shows how much it could move from sampling alone: with 50 answers, a 95% interval is often 25 points wide or more, so a 5-point change month to month is usually noise.

Compare segments by their intervals, not their point scores. If two segments' intervals overlap heavily, the data does not show a real difference; the table flags scores built on fewer than 30 answers.

CSAT here is the share of satisfied answers - the top two points of the scale - which is the common definition, and the scale is always stated beside the figure. CES is the average effort score on its scale; check whether your survey asks it so that low or high is good before reading it.

Worked example: a confidence interval for a small NPS sample, worked by hand

Ten customers answer: 10, 10, 9, 9, 9, 8, 7, 7, 6 and 3. Five are promoters (9-10), three passives (7-8) and two detractors (0-6), so p = 0.5, q = 0.2 and NPS = 50% - 20% = 30.

Treat each answer as +1, 0 or -1. Its variance is p + q - (p - q)^2 = 0.5 + 0.2 - 0.09 = 0.61, so the variance of the mean is 0.61 / 10 = 0.061 and the standard error is sqrt(0.061) = 0.247, or 24.7 points.

At 95%, z = 1.959964 and the margin is 1.96 x 24.7 = 48.4 points. The interval is -18.4 to +78.4: with ten answers, an NPS of 30 is compatible with anything from clearly negative to excellent. With 400 answers in the same proportions, the margin would shrink to about 7.7 points.

Formulas and scoring rules

Net Promoter Score
NPS = (promoters - detractors) / n x 100Promoters answer 9-10, passives 7-8, detractors 0-6; n counts valid 0-10 whole numbers. Blanks and invalid answers are reported, not counted.
NPS variance and interval
Var = (p + q - (p - q)^2) / n; CI = NPS +/- z x sqrt(Var) x 100p and q are the promoter and detractor shares. Normal approximation, clipped to -100..100. z from the inverse normal: 1.6449 (90%), 1.9600 (95%), 2.5758 (99%).
CSAT
CSAT = answers in the top two points / valid answers x 100Top two points: 4-5 on 1-5, 6-7 on 1-7, 9-10 on 1-10. Interval: Wilson score.
Wilson interval
(p + z^2/2n +/- z x sqrt(p(1-p)/n + z^2/4n^2)) / (1 + z^2/n)
CES
CES = mean effort score; CI = mean +/- z x sd / sqrt(n)Scores display to one decimal (CES two); exports keep more precision.

Why an NPS needs a confidence interval

NPS subtracts one percentage from another, which roughly doubles the noise compared with a single percentage. A team that reports a jump from 32 to 38 on 60 responses a month is almost always reporting chance. The trinomial variance used here is the standard way to put a margin on NPS: every respondent contributes +1, 0 or -1 and the score is their mean times 100.

The approximation is least reliable when n is small or nearly everyone gives the same answer; an NPS of +100 from three people has a zero-width interval, which says nothing about the next customer. The dashboard flags small bases for that reason.

Which parts are standard

The promoter, passive and detractor bands and the NPS formula follow Bain & Company's published definition. Top-two-box CSAT and average CES are common conventions rather than a single standard - vendors define them differently - which is why the scale and rule are printed next to each score and in the export.

Limitations: what the result does not prove

  • The intervals measure sampling error only. They do not correct for who chose to answer, for survey timing or for question wording, which often matter more.
  • Segments and trends are computed independently; comparing many segments at once will throw up some apparently large differences by chance.
  • Dates must be YYYY-MM-DD or day/month/year (or month/day/year when chosen); rows with other formats are left out of the trend and counted.
  • It does not read open-text comments. Use the survey response analyzer for term frequencies and cross-tabs.

Privacy: where your data goes

Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics. Session recording and tag-manager scripts are switched off on this page.

Standards and sources

Frequently asked questions

How do you calculate NPS from raw scores?

Count answers of 9 or 10 as promoters and 0 to 6 as detractors, ignoring 7 and 8. Divide each count by the number of valid answers and subtract the detractor percentage from the promoter percentage. The result runs from -100 to +100.

How do I calculate a confidence interval for NPS?

Use p for the promoter share and q for the detractor share. The variance is (p + q - (p - q) squared) divided by n; take its square root, multiply by 100 and by z (1.96 for 95%), and add and subtract that from the NPS. The worked example shows every step.

Is CSAT the average score or the percentage satisfied?

Both are used, which is why it matters to say which. This dashboard reports the percentage of answers in the top two points of the scale - 4 and 5 on a 1-5 scale - and states the scale beside the figure. If you need the mean, the survey response analyzer gives it.

How many responses do I need for a reliable NPS?

It depends on how precise you need to be. As a rough guide, with 40% promoters and 20% detractors the 95% margin is about plus or minus 21 points at 50 responses and 8.5 at 300; the exact figure depends on the mix of answers. The dashboard shows the actual interval for your data.

Can I share the dashboard without sharing the responses?

Yes. The HTML export contains only aggregated scores, intervals, segment names and periods, not individual responses. It is a static page with no scripts, and every value from your file is escaped so it displays as text.

What is a good Customer Effort Score?

It depends on how the question is worded. On the common 1-7 agree scale for 'the company made it easy', higher is better; on a 'how much effort' scale, lower is better. Compare your own trend and segments rather than a borrowed benchmark.

Last reviewed by the A2Z.Tools team against the sources listed above.

Rate this tool

Was this tool useful? Your feedback helps us improve it.

No ratings yet — be the first to rate this tool.
Your rating (required)
0 / 2000

Please do not include passwords, payment details or other sensitive information.

Your feedback is sent privately to the A2Z.Tools team and will not be posted publicly.