VDB
An asset's declining-balance depreciation for any period, partial ones too, turning to straight line when that is more.
Group: Financial. Compatible with DAX.
Syntax
VDB ( <cost>, <salvage>, <life>, <start_period>, <end_period> [, <factor>] [, <no_switch>] )
| Parameter | Type | Description |
|---|---|---|
cost | Number | What the asset cost. |
salvage | Number | What it is worth at the end of its life. |
life | Number | How many periods the asset is used: years, or months for a monthly schedule. |
start_period | Number | Where the stretch begins: 0 for the start of the life. It may hold a fraction. |
end_period | Number | Where it ends, at most life. It may hold a fraction. |
factor | Number optional | How fast the value declines: 2 (double-declining balance) when left out. |
no_switch | Boolean optional | TRUE to keep to the declining balance; FALSE or left out to switch to straight line when that gives more. |
Returns
Number. The depreciation over the stretch, from start_period to end_period.
Remarks
- Declining balance like
DDB, but once spreading what is left above salvage evenly over the remaining life gives more, it switches to straight line, so the value reaches salvage at the end of the life. - With start_period 0 and end_period 1 it is the first period, as
DDBwould give it; a stretch over several periods adds them up. - A negative cost, salvage or factor, a life of 0 or less, a start below 0, an end before the start or after life, is an error.
Examples
Where the switch to straight line happens
2,400, worth 300 after 10 years, at 1.5 times the straight-line rate. From year 7 an even share of what is left is more than the declining balance would take, so VDB switches; DDB does not.
EVALUATE
ADDCOLUMNS (
SELECTCOLUMNS ( GENERATESERIES ( 1, 10 ), "Year", [Value] ),
"VDB", VDB ( 2400, 300, 10, [Year] - 1, [Year], 1.5 ),
"DDB", DDB ( 2400, 300, 10, [Year], 1.5 )
)
ORDER BY [Year]
| Year | VDB | DDB |
|---|---|---|
| 1 | 360 | 360 |
| 2 | 306 | 306 |
| 3 | 260.1 | 260.1 |
| 4 | 221.085 | 221.085 |
| 5 | 187.92225 | 187.92225 |
| 6 | 159.7339125 | 159.7339125 |
| 7 | 151.289709375 | 135.773825625 |
| 8 | 151.289709375 | 115.40775178125 |
| 9 | 151.289709375 | 98.0965890140625 |
| 10 | 151.289709375 | 83.3821006619531 |
Part of a year
The first seven eighths of a year, and the second to fourth years together.
EVALUATE
ROW (
"First 0.875 years", VDB ( 2400, 300, 10, 0, 0.875, 1.5 ),
"Years 2 to 4", VDB ( 2400, 300, 10, 1, 4, 1.5 )
)
| First 0.875 years | Years 2 to 4 |
|---|---|
| 315 | 787.185 |
From part of a year to the end
Stretches that start inside a year, with the switch to straight line inside them.
EVALUATE
ROW (
"Years 0.5 to 7.8", VDB ( 2400, 300, 10, 0.5, 7.8, 1.5 ),
"Years 7.8 to 10", VDB ( 2400, 300, 10, 7.8, 10, 1.5 )
)
| Years 0.5 to 7.8 | Years 7.8 to 10 |
|---|---|
| 1585.09850083333 | 333.721991428571 |