Skip to main content
Skip table of contents

Compare periods

Overview

Use this category when you need to compare values across time, such as month-over-month or year-over-year changes. These functions help you shift values to a reference period and compute absolute or relative deltas.

Start here if…

  • You want to compare a metric to the previous period (month/quarter/year/week).

  • You want standard growth metrics such as MOM/ QOQ/ YOY.

  • You want absolute vs relative changes (difference vs percentage change).

  • You want compound growth over multiple periods usingCAGR.

Not here if…


Mental model

  • Shift: move values along a time level to align “current” with a reference period.

  • Compare: compute change vs a reference period as absolute or relative difference.

  • Compound: compute a compounded growth rate from a start value to an end value across N periods.

  • Most compare-period functions keep the same output shape as the input node (they operate along the time axis).


Common patterns

  • Compare to previous monthMOM_REL('Sales')
    Use to compute relative month-over-month change.

  • Compare to previous year YOY_ABS('Sales')
    Use to compute absolute year-over-year change.

  • Compute a generic deltaDELTA_ABS('Sales', "Quarter")
    Use when you want the absolute change along a specific level.

  • Shift valuesSHIFT('Sales', "Month", -1)
    Use when you need explicit alignment before doing your own arithmetic.

  • Use period shortcutsPM('Sales'), PQ('Sales'), PY('Sales'), PW('Sales')
    Use when you want a direct “previous period” series (then combine with operators, for example 'Sales' - PM('Sales')).

  • Compound growth over N periodsCAGR('Sales', 3).


Functions in this category

Function

Description

SHIFT

Shifts values along a specified level by a given offset.

PM

Returns the values for the previous month.

PQ

Returns the values for the previous quarter.

PY

Returns the values for the previous year.

PW

Returns the values for the previous week.

DELTA_ABS

Calculates the absolute difference between consecutive values within a selected level.

DELTA_REL

Calculates the relative difference between consecutive values within a selected level.

MOM_ABS

Returns absolute month-over-month change compared to the previous month.

MOM_REL

Returns relative month-over-month change compared to the previous month.

QOQ_ABS

Returns absolute quarter-over-quarter change compared to the previous quarter.

QOQ_REL

Returns relative quarter-over-quarter change compared to the previous quarter.

WOW_ABS

Returns absolute week-over-week change compared to the previous week.

WOW_REL

Returns relative week-over-week change compared to the previous week.

YOY_ABS

Returns absolute year-over-year change compared to the previous year.

YOY_REL

Returns relative year-over-year change compared to the previous year.

CAGR

Calculates the compound annual growth rate over a specified number of periods.


Choosing between similar functions

  • CAGR vs YOY_REL (or other REL deltas)

    • Use YOY_REL when you want a single-period relative change vs last year.

    • Use CAGR when you want compounded growth across multiple periods.

  • DELTA_* vs MOM/QOQ/YOY/WOW

    • Use MOM/QOQ/YOY/WOW for common standard comparisons.

    • Use DELTA_ABS / DELTA_REL when you want a delta without filling missing values.

  • ABS vs REL

    • Use ABS when you need a difference in the same unit as the measure (e.g., EUR).

    • Use REL when you need a relative change (e.g., growth rate).

  • SHIFT vs PM/PQ/PY/PW

    • Use PM/PQ/PY/PW when “previous month/quarter/year/week” is exactly what you want.

    • Use SHIFT when you need a custom offset or a specific time level.


Pitfalls & troubleshooting

  • Unexpectedly empty output: check whether the reference period exists for those slices and whether missing values propagate through your calculation.

  • Misalignment: confirm the time level you’re operating on (month vs quarter vs year).

  • CAGR errors / gaps: CAGR can fail if the start/end value doesn’t exist for a slice; check whether you need a different invalid-handling behavior (e.g., ignore invalid) and ensure NumberOfPeriods is a whole number ≥ 1.

  • Behavior options: if a function supports behavior options (for example FirstValueBehavior or MissingValueBehavior ), verify which option is active and whether it matches your expectation.


Related sections

JavaScript errors detected

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

If this problem persists, please contact our support.