· Feedbot team
Customer Satisfaction Score (CSAT): Formula and Guide
What a customer satisfaction score is, the CSAT formula with a worked example, survey templates, benchmarks, CSAT vs NPS vs CES, and CSAT for chatbots.

TL;DR. A customer satisfaction score (CSAT) is the percentage of customers who say they were satisfied with an interaction. You ask one question, such as “How satisfied were you with the help you received?” on a 1 to 5 scale, then divide the number of 4 and 5 answers by the total number of answers and multiply by 100. If 180 of 240 respondents pick 4 or 5, your CSAT is 75%.
- CSAT is best for measuring specific moments: a support chat, a delivery, an onboarding call.
- Compare your score against yourself over time, not against a number from another company’s blog. Wording, scale and timing change results more than most teams expect.
- Use CSAT with NPS (loyalty) and CES (effort) when you want the full picture. The table below shows when each fits.
- For chatbots, measure CSAT separately for bot-only and human-handled conversations, or the average hides the problems.
What is a customer satisfaction score?
CSAT is a short survey metric. You ask customers to rate how satisfied they were with something specific, usually right after it happened, and report the share who were satisfied.
It’s popular in support teams because it’s simple to ask, easy to understand and ties directly to a single conversation or agent. Its weakness is the same as its strength: it captures a moment, not a relationship. A customer can be happy with how quickly you answered and still cancel next month.
How to calculate CSAT: the formula
The standard formula counts only the top answers as “satisfied”:
CSAT (%) = (satisfied responses ÷ total responses) × 100
On a 1 to 5 scale, satisfied means 4 (“satisfied”) or 5 (“very satisfied”). On a 1 to 10 scale, teams often count 8 to 10, but whichever cut-off you use, keep it the same every time.
Worked example
Your team closed 1,000 support conversations last month and sent a one-question survey after each. 240 customers answered:
| Rating | Label | Responses |
|---|---|---|
| 5 | Very satisfied | 120 |
| 4 | Satisfied | 60 |
| 3 | Neutral | 25 |
| 2 | Dissatisfied | 20 |
| 1 | Very dissatisfied | 15 |
| Total | 240 |
- Satisfied responses = 120 + 60 = 180.
- Total responses = 240.
- CSAT = 180 ÷ 240 × 100 = 75%.
Two other numbers are worth reporting alongside it:
- Response rate = 240 ÷ 1,000 = 24%. A high CSAT from a 3% response rate tells you little.
- Average rating = (5×120 + 4×60 + 3×25 + 2×20 + 1×15) ÷ 240 = 970 ÷ 240 ≈ 4.04 out of 5. Some tools show this instead of the percentage. They aren’t interchangeable, so check which one a tool reports before you compare.
Also count the 35 people who answered 1 or 2. Read every one of those comments. That’s where the fixable problems are.
CSAT survey questions you can copy
Keep the main question short and tied to one thing. Add an optional open question; it’s often more useful than the score.
After a support conversation
How satisfied are you with the help you received today? 1 Very dissatisfied · 2 · 3 · 4 · 5 Very satisfied What’s the main reason for your score? (optional)
After a chatbot conversation
Did this answer your question? Yes, fully · Partly · No (If “Partly” or “No”) What were you looking for?
After a purchase or delivery
How satisfied are you with your order? 1 to 5 scale Anything we could have done better? (optional)
After onboarding
How satisfied are you with getting set up? 1 to 5 scale What was the hardest part? (optional)
Binary version for in-chat or email
Was this helpful? Thumbs up / thumbs down
The binary version gets more responses because it’s one tap. Count thumbs-up as satisfied and the formula is the same.
Rules that keep CSAT honest
- Ask soon. Right after the conversation ends, or in the follow-up email within a day.
- One topic per question. “How satisfied were you with our product and support?” can’t be answered with one number.
- Label the scale ends so 1 and 5 mean the same thing to everyone.
- Don’t coach. “We hope you loved your experience! How would you rate it?” inflates scores.
- Limit frequency per customer so the same people aren’t asked after every message.
- Watch who answers. Very happy and very unhappy customers respond more often than neutral ones. Track response rate alongside the score.
What is a good CSAT score? Benchmarks and their limits
You’ll find “good CSAT” figures quoted all over the web, often without a method or source. Treat them with caution. The same customers will produce different scores depending on:
- the scale (1 to 5 vs 1 to 10 vs thumbs),
- which answers count as satisfied,
- whether you survey every conversation or a sample,
- when you ask (right after a chat vs a week later),
- what you’re measuring (a chat, an order, the whole product).
For a reputable reference point on overall satisfaction, use the American Customer Satisfaction Index (ACSI), which has tracked U.S. customer satisfaction since 1994. ACSI reported a national score of 76.1 out of 100 for the second quarter of 2026, down from 76.7 in the first quarter. ACSI also publishes scores by industry and company. Keep in mind that the ACSI is built from a multi-question model of customer surveys, so it is not the same thing as a “percent satisfied” score from a one-question support survey. Use it to see whether your industry is generally rated high or low, not as a target for your support CSAT.
The benchmark that matters most is your own:
- Baseline your current CSAT for a month.
- Segment it by channel, topic, agent or bot vs human.
- Track the trend weekly and look for drops after releases, policy changes or staffing gaps.
CSAT vs NPS vs CES
These three metrics answer different questions. Most teams use CSAT for support, NPS for the overall relationship, and CES when they suspect a process is too hard.
| CSAT | NPS | CES | |
|---|---|---|---|
| Full name | Customer Satisfaction Score | Net Promoter Score | Customer Effort Score |
| Question | “How satisfied were you with…?” | “How likely are you to recommend us to a friend or colleague?” | “How easy was it to get your issue resolved?” |
| Typical scale | 1 to 5 | 0 to 10 | 1 to 7 (agree/disagree with “it was easy”) |
| Calculation | % of 4–5 answers | % promoters (9–10) minus % detractors (0–6), range −100 to +100 | Average score, or % who agree |
| Measures | Satisfaction with one interaction | Overall loyalty | Effort to get something done |
| When to ask | Right after an interaction | Periodically (e.g. quarterly), or after key milestones | Right after a support or self-service interaction |
| Best for | Support quality, agent and bot performance | Relationship health, churn risk, growth | Finding friction in processes and self-service |
| Weakness | Short-term; doesn’t predict loyalty well alone | Too broad to act on without follow-up questions | Says nothing about outcome if the answer was wrong but easy |
| Origin | General survey practice | Fred Reichheld, Harvard Business Review, 2003 | Dixon, Freeman and Toman, Harvard Business Review, 2010 |
A short way to remember them: CSAT asks “how did that go?”, NPS asks “do you like us?”, CES asks “was that hard?”
How to measure CSAT for chatbot conversations
Adding an AI chatbot changes what you need to measure. A bot that answers 70% of conversations can raise or lower your overall CSAT, and a single average won’t tell you which.
Split the score
Report CSAT for at least three groups:
| Group | What it tells you |
|---|---|
| Bot-only conversations | Whether automated answers actually solve problems |
| Bot, then handed to a human | Whether the handoff works and how long people wait |
| Human-only (other channels) | Your baseline to compare against |
If bot-only CSAT is close to your human baseline, the bot is doing its job. If handed-off conversations score far lower, the problem is usually the handoff: slow pickup, the customer repeating themselves, or no reply after they left the page.
Ask the right question
For bots, “Did this answer your question?” (yes / partly / no) works better than a satisfaction scale. It measures the thing the bot controls, and the “partly” and “no” answers point at specific gaps.
Don’t rely on surveys alone
Response rates on in-chat surveys are low, and people who got a good answer often just close the window. Combine the survey with signals you get from every conversation:
- Resolution without a human: the conversation ended and the visitor didn’t ask for a person or come back with the same question.
- Escalation rate and reasons: how often the bot handed off, and why.
- “I don’t know” rate: questions the bot couldn’t answer from your content. Each is a gap to fill.
- Sentiment: whether the tone of the visitor’s messages turned positive or negative through the conversation.
- Repeat contact: the same visitor asking the same thing again within a few days.
What Feedbot measures
We make Feedbot, an AI chatbot for websites, so here’s what it does and doesn’t do on this front. It doesn’t have a built-in CSAT survey. What it does: every conversation is analyzed by AI after it goes quiet, adding a summary, category, priority, sentiment, lead score and whether a human is needed. Questions the bot couldn’t answer show up as gaps to fill. On Pro and Business, the REST API returns stats such as conversations, resolved, human needed and average sentiment, so you can put them next to the CSAT data from your survey tool. When the bot hands a conversation to your team, you reply from Telegram or the inbox; see Human handoff.
If you want a classic CSAT survey on chatbot conversations, send it from your helpdesk or email tool after the chat, or use a separate feedback widget on the page.
How to improve CSAT
Low CSAT is a symptom. The causes are usually one of these:
- Slow first response. Answer faster, especially out of hours. An AI chatbot that answers routine questions instantly helps here; see customer service automation.
- Wrong or incomplete answers. Fix the content. Read every 1 and 2 rating with its comment and update the help article or policy page behind it.
- Customers repeating themselves. Make sure whoever picks up a conversation sees the full history.
- No path to a person. Never trap customers in a bot loop.
- Policies people dislike. Sometimes the support was fine and the answer was “no refund.” Track these separately so you don’t blame the team for a policy decision.
Then close the loop: when you fix something a customer complained about, tell them. It’s one of the few things that reliably turns a 2 into a 5 next time.
Sources
- ACSI, National ACSI Q2 2026 press release: https://theacsi.com/news-and-resources/press-releases/2026/08/11/press-release-national-acsi-q2-2026/
- ACSI, National ACSI Q1 2026 press release: https://theacsi.com/news-and-resources/press-releases/2026/05/12/press-release-national-acsi-q1-2026/
- Reichheld, F., “The One Number You Need to Grow,” Harvard Business Review (2003): https://hbr.org/2003/12/the-one-number-you-need-to-grow
- Dixon, M., Freeman, K., Toman, N., “Stop Trying to Delight Your Customers,” Harvard Business Review (2010): https://hbr.org/2010/07/stop-trying-to-delight-your-customers