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

# slope()

> Calculate the slope from a gauge aggregate

<Icon icon="flask" /> Early access <Icon icon="tag" iconType="duotone" /> Since [1.6.0][toolkit-1.6.0]

Calculate the slope of the linear least-squares fit for a gauge aggregate. The dependent variable is the gauge value, and the independent variable is time. Time is always in seconds, so the slope estimates the per-second rate of change. This gives a result similar to [`rate`][rate], but it can more accurately reflect the usual gauge behavior in the presence of infrequent, abnormally large changes.

## Samples

Calculate the gauge slope per `id` and per 15-minute interval.

```sql theme={"dark"}
SELECT
    id,
    bucket,
    slope(summary)
FROM (
    SELECT
        id,
        time_bucket('15 min'::interval, ts) AS bucket,
        gauge_agg(ts, val) AS summary
    FROM foo
    GROUP BY id, time_bucket('15 min'::interval, ts)
) t
```

## Arguments

The syntax is:

```sql theme={"dark"}
slope(
    summary GaugeSummary
) RETURNS DOUBLE PRECISION
```

| Name      | Type           | Default | Required | Description                                              |
| --------- | -------------- | ------- | -------- | -------------------------------------------------------- |
| `summary` | `GaugeSummary` | -       | ✔        | A gauge aggregate created using [`gauge_agg`][gauge-agg] |

## Returns

| Column | Type             | Description                               |
| ------ | ---------------- | ----------------------------------------- |
| slope  | DOUBLE PRECISION | The slope of the linear least-squares fit |

[gauge-agg]: /api-reference/timescaledb-toolkit/counters-and-gauges/gauge_agg/gauge_agg

[rate]: /api-reference/timescaledb-toolkit/counters-and-gauges/gauge_agg/rate

[toolkit-1.6.0]: https://github.com/timescale/timescaledb-toolkit/releases/tag/1.6.0
