Reference Updated April 2, 2026

YOY_REL

Category: Compare periods

Overview

The YOY_REL function returns the relative growth for each year compared to the previous year (year-over-year).

Use this function when you need the percentage change between consecutive years.

Syntax

YOY_REL('Node' [, "MissingValueBehaviour"])

Example usage: YOY_REL('Revenue')

Parameters

ParameterDescriptionTypeRequiredDefault
NodeInput node, specified using the node name in single quotes (e.g.'Revenue')Node referenceYes
MissingValue BehaviourHow missing values in the time series are treatedKeywordNoIGNORE_ MISSING

MissingValueBehaviour options:

  • "IGNORE_MISSING": Missing rows are skipped. A result row is only produced where both the current year and the previous year have values. This is the default.
  • "MISSING_AS_ZERO": Missing rows are treated as 0.

Output Shape

AspectBehavior
DimensionalitySame as input.
Time rangeThe first year is always dropped (no previous year to compare against). Additional years may be dropped depending on MissingValueBehaviour.
ValuesEach value is (current_year / previous_year) - 1. The result is a ratio, not a percentage.
Row countReduced. At minimum, the first year is removed. With IGNORE_MISSING, years adjacent to gaps are also removed.

Watch Out

  • The input must have a Year level. If the input does not contain a Year level, the function fails.
  • The result is a ratio, not a percentage: 0.5 means +50%, -1 means -100%.
  • Division by zero occurs when the previous year’s value is 0. The affected cell is silently dropped (N/A). This is especially relevant with MISSING_AS_ZERO, where gaps are filled with 0.
  • With MISSING_AS_ZERO, the function produces results at years where only the previous year has data, treating the missing current year as 0. This leads to a result of -1 (a 100% decline). Be cautious when interpreting these results.

Examples

Default: ignoring missing values

This example shows YOY_REL with the default behavior.

Input node: Profit

YearValue
2025200
2026300
2027450
2028500
2030100

Formula: YOY_REL('Profit') = YOY_REL('Profit', "IGNORE_MISSING")

Year→ YOY_REL Result
2026(300 - 200) / 200 = 0.5
2027(450 - 300) / 300 = 0.5
2028(500 - 450) / 450 = 0.11

The first year (2025) has no previous year to compare against. The missing year 2029 causes 2030 to also be excluded because no valid previous year exists.

Treating missing values as zero

With MISSING_AS_ZERO, gaps are filled with 0. This produces results for every year but can cause division by zero when the previous year has no data.

Formula: YOY_REL('Profit', "MISSING_AS_ZERO")

Year→ YOY_REL Result
2026(300 - 200) / 200 = 0.5
2027150 / 300 = 0.5
202850 / 450 = 0.11
2029(0 - 500) / 500 = -1
2030(100 - 0) / 0 = division by zero results in entry not being present in result

The missing year 2029 is treated as having value 0, which produces a -1 result (100% decline). Year 2030 attempts to divide by 0 (the previous year 2029 was treated as 0), so the entry is dropped from the result.


FunctionWhen to use instead
YOY_ABSWhen you need the absolute difference to the previous year instead of a percentage.
DELTA_RELWhen you need relative change along any dimension, not just time.
CAGRWhen you need compound growth over multiple periods instead of a single-period comparison.
Was this page helpful?