---
title: "Use SIMPLE_EXPONENTIAL_SMOOTHING for Exponentially Smoothed Values"
slug: "simple-exponential-smoothing-function"
description: "Learn to use SIMPLE_EXPONENTIAL_SMOOTHING to compute exponentially smoothed values across a ranking Dimension in Pigment."
updated: 2025-05-28T10:26:30Z
published: 2025-08-22T12:00:18Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://kb.pigment.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SIMPLE_EXPONENTIAL_SMOOTHING function

## Description

Computes an exponentially smoothed version of the input Block over a ranking Dimension.

## Syntax

`SIMPLE_EXPONENTIAL_SMOOTHING(Input Block [, Ranking Dimension [, alpha]})`

## Arguments

| Argument | Type | Dimensions | Description |
| --- | --- | --- | --- |
| *Input Block* (required) | Number | Any Dimensions | This is the data source which will be smoothed. The Metric must be defined at least on the `Ranking Dimension` Dimension. |
| *Ranking Dimension* (optional) | Dimension | Not applicable | This is a Dimension applied to the time series taken in the `Input Block`. This is optional if it’s a datetime Dimension from the calendar. If this is not the case, then this is mandatory. It’s also mandatory if the Metric is defined on several time Dimensions. |
| *alpha* (optional) | Number | no Dimension | Data smoothing factor, with a value between 0 and 1. The default value is 0.5 . |

## Returns

| Type | Dimensions |
| --- | --- |
| Number | Dimensions of *Input Block* |

- Before the first non-blank value of the Input Block, the function returns blank.
- Between the first and the last non-blank value of the Input Block, the function returns the following values:
  - for the first non blank value, the function return the same, this is shown in the *s0* value in the equation below.
  - for other values the function computes a weighted average between the current value and the previous smoothed value.

Here is an equivalent with mathematical notations (*s* being the exponentially smoothed version of the *x* serie):

![](https://cdn.document360.io/e47cfe35-dc28-40c7-a083-6cf003073d8e/Images/Documentation/399515ed-13de-4242-a5f4-3ffd86fce6b3.png)

- After the last non-blank value of the Input Block, the function returns a constant value equal to the last smoothed value computed.

> Blank observations (in the input Block) between the first non-blank value and the last non-blank values are considered as 0.

## Examples

| Formula | Description |
| --- | --- |
| `SIMPLE_EXPONENTIAL_SMOOTHING(Actuals)` | Returned values are explained in the Returns section above. |
| `SIMPLE_EXPONENTIAL_SMOOTHING(Actuals, Month, 0.2)` |

Examples with different values of alpha:

![](https://cdn.document360.io/e47cfe35-dc28-40c7-a083-6cf003073d8e/Images/Documentation/1f22ef42-f67f-47b5-b28f-1f6a78be6015.png)

## Using Exponential Smoothing as Forecasting Function

A common use case for using the SIMPLE_EXPONENTIAL_SMOOTHING function is to prepare a forecast. It’s a good method when your observation series shows no specific trend****and no specific seasonality.

In that case the last smoothed value of the series is a good estimation of the next forecasted value. To do so you just need to offset the result by 1 period with this syntax:

`SIMPLE_EXPONENTIAL_SMOOTHING(Observations)[SELECT: Month -1]`

![](https://cdn.document360.io/e47cfe35-dc28-40c7-a083-6cf003073d8e/Images/Documentation/36aea74e-8abf-4321-9a8d-cfd04526c1be.png)

Using Exponential Smoothing as Forecasting Function

## See also

Excel: no equivalent

Related articles: None

References: [Wikipedia Exponential Smoothing](https://en.wikipedia.org/wiki/Exponential_smoothing)

<style> p[data-block-id] {font-size:1rem;} ul li p[data-block-id] {margin-bottom: 0;} ul[data-type="taskList"] li div p[data-block-id] {margin-bottom: 0;} ol li p[data-block-id] {margin-bottom: 0;} table tbody th p[data-block-id] { margin-bottom: 0;} blockquote p[data-block-id] {margin-bottom: 0 !important;} &nbsp;p[data-block-id]:empty::after {content: "\00A0";} </style>
