Skip to main content
Skip table of contents

RUNNINGPROD

Category: Rollforward & time series

Overview

The RUNNINGPROD function calculates the cumulative product of a node along the time axis. Each value is multiplied by all preceding values in the time series. The accumulation is computed independently for each combination of non-time dimensions.

Use this function when you need to accumulate multiplicative effects over time, such as chained growth factors.

Syntax

RUNNINGPROD('Node')

Example usage: RUNNINGPROD('GrowthFactor')

Parameters

Parameter

Description

Type

Required

Node

Input node, specified using the node name in single quotes (e.g.'GrowthFactor')

Node reference

Yes

Output Shape

Aspect

Behavior

Dimensionality

Same as input.

Values

Each value is the product of all values from the first time period up to and including the current one.

Row count

Same as input.

Watch Out

  • The input must have a time level. If the input has no time dimension, the function fails.

  • A zero value at any point makes all subsequent values zero, since every following product includes that zero.

  • The accumulation starts from the first time period in the series. There is no window parameter.

  • The accumulation is computed independently for each combination of non-time dimensions.


Examples

Cumulative product over time

This example shows how RUNNINGPROD multiplies each value by all previous values along the time axis.

Input node: GrowthFactor

Year

Value

2025

1.1

2026

1.2

2027

1.2

Formula: RUNNINGPROD('GrowthFactor')

Year

→ RUNNINGPROD Result

2025

1.1

2026

1.1 * 1.2 = 1.32

2027

1.1 * 1.2 * 1.2 =1.584

Compounding a base value with growth rates

Multiplying a base value by the running product of (1 + growth rate).

Input node: GrowthRate (as decimal, e.g. 0.05 = 5%)

Year

Value

2025

0.05

2026

0.10

2027

0.03

2028

0.00

Formula: RUNNINGPROD(ADDEACH('GrowthRate', 1))

Year

-> RUNNINGPROD Result

2025

1.05

2026

1.05 * 1.10 =1.155

2027

1.05 * 1.10 * 1.03 =1.18965

2028

1.05 * 1.10 * 1.03 * 1.00 =1.18965

Multiplying a base value (e.g. 1000) by this result gives the compounded projection: 1000 * 1.18965 = 1189.65 in 2028.


Related Functions

Function

When to use instead

RUNNINGSUM

When you need additive accumulation over time instead of a cumulative product.

FACT

When you need multiplication across discrete integer steps rather than a running product over a time series.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.