> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Calculates the Pearson correlation coefficient, but uses a numerically stable algorithm.

# corrStable

<h2 id="corrStable">
  corrStable
</h2>

Introduced in: v1.1.0

Calculates the [Pearson correlation coefficient](https://en.wikipedia.org/wiki/Pearson_correlation_coefficient):

$$
\frac{\Sigma{(x - \bar{x})(y - \bar{y})}}{\sqrt{\Sigma{(x - \bar{x})^2} * \Sigma{(y - \bar{y})^2}}}
$$

<br />

Similar to the [`corr`](/reference/functions/aggregate-functions/corr) function, but uses a numerically stable algorithm.
As a result, `corrStable` is slower than `corr` but produces a more accurate result.

**Syntax**

```sql theme={null}
corrStable(x, y)
```

**Arguments**

* `x` — First variable. [`(U)Int*`](/reference/data-types/int-uint) or [`Float*`](/reference/data-types/float) or [`Decimal`](/reference/data-types/decimal)
* `y` — Second variable. [`(U)Int*`](/reference/data-types/int-uint) or [`Float*`](/reference/data-types/float) or [`Decimal`](/reference/data-types/decimal)

**Returned value**

Returns the Pearson correlation coefficient. [`Float64`](/reference/data-types/float)

**Examples**

**Basic correlation calculation with stable algorithm**

```sql title=Query theme={null}
DROP TABLE IF EXISTS series;
CREATE TABLE series
(
    i UInt32,
    x_value Float64,
    y_value Float64
)
ENGINE = Memory;
INSERT INTO series(i, x_value, y_value) VALUES (1, 5.6, -4.4),(2, -9.6, 3),(3, -1.3, -4),(4, 5.3, 9.7),(5, 4.4, 0.037),(6, -8.6, -7.8),(7, 5.1, 9.3),(8, 7.9, -3.6),(9, -8.2, 0.62),(10, -3, 7.3);

SELECT corrStable(x_value, y_value)
FROM series
```

```response title=Response theme={null}
┌─corrStable(x_value, y_value)─┐
│          0.17302657554532558 │
└──────────────────────────────┘
```
