# Customer satisfaction calculator

- Human page: https://happytails.ai/en/calculators/customer-satisfaction-calculator/
- Markdown: https://happytails.ai/en/calculators/customer-satisfaction-calculator.md
- Structured JSON: https://happytails.ai/agents/en/calculators/customer-satisfaction-calculator/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `customer-satisfaction-calculator` |
| Category | calculators |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Choose a whole-number scale within 0 to 10 and which scores count as satisfied. The default is 1 to 5, with 4 and 5 satisfied. The satisfaction percentage and average use all supplied responses. Results depend on your question, scale and threshold; no benchmark or statistical significance is inferred. Processing stays on your device.

### Inputs and settings

Text input: Survey scores or score counts.

Example or placeholder shown in the interface (not a validated fixture):

```text
1 2 3 4 5
```

Enter whole-number scores. For counted data choose Score counts (CSV) and use the score,count headers. Up to 1,000,000 characters. Review the settings before running.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `format` | Input format | select | "responses" | Allowed: responses, counts |
| `minimum` | Lowest score | number | 1 | min=0 max=10 step=1 |
| `maximum` | Highest score | number | 5 | min=0 max=10 step=1 |
| `threshold` | Satisfied-score threshold | number | 4 | min=0 max=10 step=1 |
| `direction` | Satisfied scores | select | "higher" | Allowed: higher, lower |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Use a whole-number scale within 0 to 10, with at least two possible scores. Paste up to 100,000 individual scores or a CSV with score,count headers and one row per score. Counts must be nonnegative integers, with no more than 1,000,000,000 responses in total and 1,000,000 input characters. A percentage describes the supplied responses; it is not a population estimate or a statistical-significance test. Processing stays on your device.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "customer-satisfaction-calculator",
  "category": "calculators",
  "built": true,
  "requirements": "Use a whole-number scale within 0 to 10, with at least two possible scores. Paste up to 100,000 individual scores or a CSV with score,count headers and one row per score. Counts must be nonnegative integers, with no more than 1,000,000,000 responses in total and 1,000,000 input characters. A percentage describes the supplied responses; it is not a population estimate or a statistical-significance test. Processing stays on your device.",
  "implementation": {
    "fields": [
      {
        "key": "format",
        "label": "Input format",
        "value": "responses",
        "type": "select",
        "values": [
          "responses",
          "counts"
        ],
        "labels": {
          "responses": "Individual responses",
          "counts": "Score counts (CSV)"
        }
      },
      {
        "key": "minimum",
        "label": "Lowest score",
        "value": 1,
        "type": "number",
        "min": 0,
        "max": 10,
        "step": 1
      },
      {
        "key": "maximum",
        "label": "Highest score",
        "value": 5,
        "type": "number",
        "min": 0,
        "max": 10,
        "step": 1
      },
      {
        "key": "threshold",
        "label": "Satisfied-score threshold",
        "value": 4,
        "type": "number",
        "min": 0,
        "max": 10,
        "step": 1
      },
      {
        "key": "direction",
        "label": "Satisfied scores",
        "value": "higher",
        "type": "select",
        "values": [
          "higher",
          "lower"
        ],
        "labels": {
          "higher": "At or above threshold",
          "lower": "At or below threshold"
        }
      }
    ],
    "presentation": "metrics",
    "inputMaxLength": 1000000,
    "inputErrorCode": "SURVEY_LIMIT",
    "note": "Choose a whole-number scale within 0 to 10 and which scores count as satisfied. The default is 1 to 5, with 4 and 5 satisfied. The satisfaction percentage and average use all supplied responses. Results depend on your question, scale and threshold; no benchmark or statistical significance is inferred. Processing stays on your device.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Survey scores or score counts",
      "placeholder": "1 2 3 4 5",
      "help": "Enter whole-number scores. For counted data choose Score counts (CSV) and use the score,count headers. Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Calculate customer satisfaction from survey scores or counts. Set your rating scale and satisfied-score threshold, then see the distribution and average.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Customer satisfaction calculator

1. Paste the ratings or choose a score,count CSV distribution.
2. Set the lowest and highest scores and which scores count as satisfied.
3. Calculate the satisfied percentage, average and complete rating distribution. Download the result.

## Useful next steps

- [Net Promoter Score calculator](https://happytails.ai/en/calculators/net-promoter-score-calculator/) ([Markdown](https://happytails.ai/en/calculators/net-promoter-score-calculator.md))

- [Average](https://happytails.ai/en/calculators/average/) ([Markdown](https://happytails.ai/en/calculators/average.md))

## Choose what counts as satisfied

A common five-point satisfaction survey counts ratings of 4 and 5 as satisfied. That is the default here. Different questions and scales need an explicit threshold; reverse-coded questions can count scores at or below the threshold instead.

### Keep the average separate

The satisfaction percentage counts responses that meet your threshold. The average uses every rating on your selected scale. For ratings 1, 2, 3, 4 and 5, the average is 3, while the default satisfaction percentage is 40%.

### Keep the full distribution

The same average can come from very different groups of responses. Review each score count and its share before comparing teams or periods. The calculator does not assign a benchmark or infer statistical significance.
