ForHosting KIT · Developer Utilities

Customer satisfaction (CSAT) score calculator

The customer satisfaction score calculator turns a list of survey ratings into a clear CSAT percentage.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Supply the survey scale, choose the score that begins the satisfied range, and add the collected responses. The calculator validates every rating, counts responses at or above the threshold as satisfied, and divides that count by all responses. It also returns the satisfied and unsatisfied counts so you can audit the percentage and report the result with useful context.

Define the scale and satisfaction rule before calculating

A useful CSAT calculation starts with an explicit scoring rule. Enter the lowest and highest possible values from the survey, then set the satisfied threshold within those bounds. On a common one-to-five survey, a threshold of four means ratings of four and five count as satisfied, while one, two, and three do not. The threshold is inclusive, so a response exactly equal to it belongs in the satisfied group. Making these details explicit prevents a frequent reporting problem: two teams using the same response data but silently applying different definitions of satisfaction. The calculator checks that the minimum is lower than the maximum, that the threshold falls inside the scale, and that every response is a finite number within the declared bounds. It does not infer a scale or silently discard unusual values. Define the rule once, preserve it alongside the result, and use the same rule when comparing teams, channels, products, or reporting periods. That consistency makes the percentage interpretable rather than merely easy to produce.

Understand how the CSAT percentage is computed

Each response is classified with one direct comparison: a score at or above the satisfied threshold is satisfied, and a score below it is unsatisfied. The satisfied count is divided by the total response count and multiplied by one hundred. For example, if four of five respondents meet the threshold, the CSAT score is eighty percent. The returned percentage is rounded to two decimal places, while the raw total, satisfied count, and unsatisfied count are returned separately. Those counts are important because percentages without sample sizes can be misleading. A perfect score from two responses does not carry the same evidence as a perfect score from two thousand responses. The calculator rejects an empty response list because there is no valid denominator and therefore no CSAT percentage to report. It also rejects nonnumeric, infinite, and out-of-range entries instead of excluding them behind the scenes. This deterministic approach means identical inputs always produce identical output, which is useful for dashboards, scheduled reports, quality checks, and reproducible analyses.

Report and compare the result responsibly

Use the calculated percentage together with its response count, threshold, and scale. Those four pieces let a reader understand what the number represents and make fair comparisons. When tracking CSAT over time, keep the survey question, response scale, collection method, and threshold stable; otherwise a change in the score may reflect a changed measurement rather than a changed customer experience. Segmenting the same response set by product, support channel, region, or customer stage can reveal patterns hidden by an overall average, but very small segments should be labeled clearly. This calculator measures the share of submitted ratings that meet your chosen satisfaction rule. It does not estimate the views of customers who did not respond, test statistical significance, remove duplicate submissions, or decide whether a target is appropriate. Prepare and govern the source data before calculation, then retain the returned counts for review. Browser use is convenient for an occasional check, while the API at $0.002 per request supports repeatable pipelines where the calculation must follow the same validated rule every time.

Track support satisfaction

Calculate the share of post-ticket ratings that meet the support team's documented satisfaction threshold.

Compare reporting periods

Apply one stable scale and threshold to weekly or monthly response batches and retain the counts behind each percentage.

Validate dashboard metrics

Recalculate a dashboard CSAT value from its source ratings to confirm its classification and denominator.

What is the CSAT formula?

CSAT percentage equals satisfied responses divided by total responses, multiplied by 100. A response is satisfied when it is at or above the inclusive threshold.

Can I use a scale other than one to five?

Yes. Declare any finite minimum and maximum with the minimum below the maximum, then choose a threshold within those bounds.

What happens if the response list is empty?

The calculation returns an invalid input error because an empty list has no denominator and cannot produce a CSAT percentage.

How is the percentage rounded?

The CSAT percentage is rounded to two decimal places. The total and classification counts remain integers.

What does it cost?

The API costs $0.002 per request. The browser calculator can be used directly on this page.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/biz/csat-score-calculate

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/biz/csat-score-calculate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"responses":[5,4,3,5,2],"satisfied_threshold":4,"scale_min":1,"scale_max":5}'
{
  "responses": [
    5,
    4,
    3,
    5,
    2
  ],
  "satisfied_threshold": 4,
  "scale_min": 1,
  "scale_max": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "biz.csat_score_calculate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →