Documentation

exponentialMovingAverage() function

The exponentialMovingAverage() function calculates the exponential moving average of values in the _value column grouped into n number of points, giving more weight to recent data.

Function type: Aggregate

exponentialMovingAverage(n: 5)
Exponential moving average rules
  • The first value of an exponential moving average over n values is the algebraic mean of n values.
  • Subsequent values are calculated as y(t) = x(t) * k + y(t-1) * (1 - k), where:
    • y(t) is the exponential moving average at time t.
    • x(t) is the value at time t.
    • k = 2 / (1 + n).
  • The average over a period populated by only null values is null.
  • Exponential moving averages skip null values.

Parameters

n

The number of points to average.

Data type: Integer

Examples

Calculate a five point exponential moving average

from(bucket: "example-bucket"):
  |> range(start: -12h)
  |> exponentialMovingAverage(n: 5)

Table transformation with a two point exponential moving average

Input table:
_timetag_value
0001tvnull
0002tv10
0003tv20
Query:
// ...
  |> exponentialMovingAverage(n: 2)
Output table:
_timetag_value
0002tv10
0003tv16.67

New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: