Skip to main content
Skip table of contents

DEPRECIATION

Category: Finance functions

Overview

The DEPRECIATION function calculates linear depreciation values per period from an investment node and a depreciation time node. The result is the depreciation amount for each time period, not the remaining book value. Depreciation from multiple investment periods stacks automatically.

Use this function when you need to calculate straight-line depreciation values per period from initial investments and their depreciation times.

Syntax

DEPRECIATION('ValueNode', 'DepreciationTime' [, "TimeLevel"])

Example usage: DEPRECIATION('Investments', 'DepreciationTime')

Parameters

Parameter

Description

Type

Required

Default

ValueNode

Input node with the values to depreciate over time. Must have a time level.

Node reference

Yes

--

Depreciation
Time

Node containing the depreciation periods for each asset. Must not have a time level. Values must be positive whole numbers.

Node reference

Yes

--

TimeLevel

The time level to which depreciation times correspond.

Level name

No

"Year"

Output Shape

Aspect

Behavior

Dimensionality

Same as ValueNode.

Time range

Extends beyond the input data. Depreciation continues for the specified number of periods after each investment.

Values

Linear depreciation amount per period:investment / depreciation_periods. Values from investments in different periods are added together where they overlap.

Row count

Expanded. Periods beyond the last investment are included as long as depreciation is still active.

Watch Out

  • The ValueNode must have a time level. The DepreciationTime node must not have a time level.

  • Depreciation times must be positive whole numbers. Zero, negative, or non-integer values produce errors.

  • When TimeLevel is omitted, depreciation times are assumed to be in years. If the ValueNode is at Quarter or Month granularity, the depreciation times are automatically converted (e.g. 4 years becomes 16 quarters or 48 months).

  • The result is the depreciation amount per period, not the remaining book value. To get the remaining book value, subtract the cumulative depreciation (using RUNNINGSUM) from the original investment.

  • The DepreciationTime node must not be more fine-grained than the ValueNode.


Examples

Overlapping depreciation from yearly investments

Two investments made in consecutive years are each depreciated over 4 periods. The result shows how depreciation amounts from different investments stack up.

Input node: Investments

Year

Value

2025

1000

2026

400

Input node: DepreciationTime

Periods

4

Formula: DEPRECIATION('Investments', 'DepreciationTime')

Year

→ DEPRECIATION Result

2025

250

2026

250 + 100 = 350

2027

250 + 100 = 350

2028

250 + 100 = 350

2029

100

2030

0

Each investment is divided by 4 periods: 1000/4 = 250, 400/4 = 100. From 2026 to 2028 both depreciation streams overlap.

Per-category depreciation times

Two asset categories with different depreciation times show that each category is depreciated independently based on its own period count.

Input node: Investments

Year

Category

Value

2026

A

2000

2026

B

1000

Input node: DepreciationTime

Category

Periods

A

2

B

4

Formula: DEPRECIATION('Investments', 'DepreciationTime')

Year

Category

→ DEPRECIATION Result

2026

A

1000

2026

B

250

2027

A

1000

2027

B

250

2028

A

0

2028

B

250

2029

A

0

2029

B

250

2030

A

0

2030

B

0

Category A is fully depreciated after 2 periods, while Category B continues for 4 periods.


Related Functions

Function

When to use instead

RUNNINGSUM

Combine with DEPRECIATION to calculate remaining book value: 'Investment' - RUNNINGSUM(DEPRECIATION(...)).

JavaScript errors detected

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

If this problem persists, please contact our support.