# Stats describe exact

`stats-describe-exact` · version 1.0.0 · Other utilities · free, no key needed

Return exact descriptive statistics and requested-precision standard deviations for decimal strings.

**Use when you need to: calculate descriptive statistics exactly · exact mean median mode · find sample and population variance.**

## Decide before calling

Read the [versioned contract](/v1/tools/stats-describe-exact/versions/1.0.0) and the supported scope below. Reuse `stats-describe-exact@1.0.0` when your input, required output and limits match it. Choose another approach for an unsupported operation.

## Explain the choice

"I can use `stats-describe-exact@1.0.0` for calculate descriptive statistics exactly. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

## Supported

- calculate descriptive statistics exactly
- exact mean median mode
- find sample and population variance
- standard deviation to significant digits
- summarize decimal string data
- get min max and range

## Not supported

- weighted statistics
- confidence intervals

## Behavior

- Every exact result is a reduced numerator/denominator rational string.
- Standard deviations use decimal significant digits with half-even rounding; a singleton has null sample results.

## Input

- `values` (array of string, required): min items 1; max items 256; each min length 1; each max length 128
- `significant_digits` (integer, required): min 2; max 15
- `rounding` (one of "half_even", required)

## Output

- `standard_version` (string, required)
- `count` (integer, required)
- `sum` (string, required)
- `mean` (string, required)
- `median` (string, required)
- `mode` (array of string, required)
- `min` (string, required)
- `max` (string, required)
- `range` (string, required)
- `population_variance` (string, required)
- `sample_variance` (string or null, required)
- `population_standard_deviation` (string, required)
- `sample_standard_deviation` (string or null, required)
- `significant_digits` (integer, required)
- `rounding` (string, required)

## Limits

- max input bytes: 16384
- max items: 256
- max decimal chars: 128
- max output bytes: 16384
- max sqrt iterations: 6

## Example

Request input:

```json
{
  "values": [
    "1",
    "2",
    "3"
  ],
  "significant_digits": 4,
  "rounding": "half_even"
}
```

Response:

```json
{
  "result": {
    "standard_version": "Hyndman-Fan-1996; NIST-SEMATECH-e-Handbook-1.3.5",
    "count": 3,
    "sum": "6/1",
    "mean": "2/1",
    "median": "2/1",
    "mode": [],
    "min": "1/1",
    "max": "3/1",
    "range": "2/1",
    "population_variance": "2/3",
    "sample_variance": "1/1",
    "population_standard_deviation": "0.8165",
    "sample_standard_deviation": "1",
    "significant_digits": 4,
    "rounding": "half_even"
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "stats-describe-exact",
  "version": "1.0.0",
  "input": {
    "values": [
      "1",
      "2",
      "3"
    ],
    "significant_digits": 4,
    "rounding": "half_even"
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/stats-describe-exact/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"values":["1","2","3"],"significant_digits":4,"rounding":"half_even"}'
```

The machine-readable contract is at [/v1/tools/stats-describe-exact/versions/1.0.0](/v1/tools/stats-describe-exact/versions/1.0.0).

### CLI

```sh
node cli.mjs run stats-describe-exact 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [Stats percentile](/tools/stats-percentile): Compute an exact percentile from decimal strings using a named Hyndman-Fan type 1 through 9.
- [Polygon measures compute](/tools/polygon-measures-compute): Compute exact signed double-area, area, orientation, and squared edge lengths for a rational simple polygon.
- [Stats histogram](/tools/stats-histogram): Count decimal-string values in caller-supplied fixed bins and return below- and above-range totals.
- [Array duplicates find](/tools/array-duplicates-find): List duplicated JSON values with counts and first indexes, preserving first-seen order.
- [Bytes format human](/tools/bytes-format-human): Format an exact byte count as both SI and IEC strings and return the rounding mode used.
- [Data rate convert](/tools/data-rate-convert): Convert bit or byte rates across SI and IEC prefixes and return an exact reduced rational.
