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 | 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 |
|
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: |
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 |
|---|---|
Combine with DEPRECIATION to calculate remaining book value: |