# Correlation spearman

`correlation-spearman` · version 1.0.0 · Numbers & math · free, no key needed

Compute Spearman rank correlation with average ranks for ties and return a rounded decimal coefficient.

**Use when you need to: spearman correlation between two columns · calculate rank correlation with ties · compare monotonic association of two series.**

## Decide before calling

Read the [versioned contract](/v1/tools/correlation-spearman/versions/1.0.0) and the supported scope below. Reuse `correlation-spearman@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 `correlation-spearman@1.0.0` for spearman correlation between two columns. 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

- spearman correlation between two columns
- calculate rank correlation with ties
- compare monotonic association of two series
- rank paired values and correlate them
- find Spearman rho from decimal columns
- nonparametric correlation coefficient

## Not supported

- correlation significance test or p-value
- missing-value imputation
- custom tie-breaking ranks

## Behavior

- The coefficient is rounded to precision decimal places, with exact halves away from zero; rounded zero has no minus sign.
- Inputs are paired decimal strings or finite JSON numbers; decimal text is interpreted exactly.
- Equal values receive the exact average of their one-based ranks, then Pearson correlation of ranks is evaluated rationally.
- Constant rank columns produce not_computable. No significance test, confidence interval, or p-value is computed.
- standard_version is R92-NIST-Dataplot-Kendall1945-v1.

## Input

- `x` (array of string or number, required): min items 2; max items 128
- `y` (array of string or number, required): min items 2; max items 128
- `precision` (integer, required): min 0; max 18

## Output

- `correlation` (string, required): max length 21; pattern `^-?(?:0|1)(?:\.\d{1,18})?$`
- `standard_version` (constant "R92-NIST-Dataplot-Kendall1945-v1", required)

## Limits

- max input bytes: 16384
- max items: 128
- max decimal chars: 128
- max iterations: 8128
- max output bytes: 93

## Example

Request input:

```json
{
  "x": [
    1,
    2,
    3
  ],
  "y": [
    10,
    20,
    30
  ],
  "precision": 4
}
```

Response:

```json
{
  "result": {
    "correlation": "1.0000",
    "standard_version": "R92-NIST-Dataplot-Kendall1945-v1"
  }
}
```

## How to call it

### MCP

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

```json
{
  "id": "correlation-spearman",
  "version": "1.0.0",
  "input": {
    "x": [
      1,
      2,
      3
    ],
    "y": [
      10,
      20,
      30
    ],
    "precision": 4
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/correlation-spearman/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"x":[1,2,3],"y":[10,20,30],"precision":4}'
```

The machine-readable contract is at [/v1/tools/correlation-spearman/versions/1.0.0](/v1/tools/correlation-spearman/versions/1.0.0).

### CLI

```sh
node cli.mjs run correlation-spearman 1.0.0 --input input.json --base-url https://computefirst.net
```

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

## Related tools

- [Correlation kendall tau](/tools/correlation-kendall-tau): Compute Kendall tau-b correlation with tie correction and return a precision-rounded decimal coefficient.
- [Polynomial identity check](/tools/polynomial-identity-check): Check a polynomial identity over exact rationals by expanding both sides; report the lowest disagreeing coefficient.
- [Shortest path certificate check](/tools/shortest-path-certificate-check): Check a claimed shortest s-t path and distance in a weighted digraph using a caller-supplied potential certificate.
- [Coloring count check](/tools/coloring-count-check): Check a proper indexed coloring and an exact canonical-decimal claim for its number of distinct colors.
- [Fibonacci sequence](/tools/fibonacci-sequence): List exact Fibonacci numbers for an inclusive zero-based index range as decimal strings.
- [Interval duration check](/tools/interval-duration-check): Check a claimed duration between two RFC 3339 instants as exact elapsed time or as a calendar duration.
