---
url: /cube-functions/vdb.md
description: >-
  Returns the depreciation of an asset for any period (or partial period) using
  the variable declining balance method.
---

# VDB&#x20;

Returns the depreciation of an asset for any period (or partial period) using the variable declining balance method.

```js
VDB(cost, salvage, life, start_period, end_period, factor, no_switch)
```

#### Parameters

* `cost` - The initial cost of the asset.
* `salvage` - The value of the asset at the end of its depreciation (salvage value). This value can be 0.
* `life` - The number of periods over which the asset is depreciated (useful life).
* `start_period` - The starting period for which to calculate depreciation.
* `end_period` - The ending period for which to calculate depreciation.
* `factor` - The rate at which the balance declines. If omitted, a factor of 2 is used (the double-declining balance method). `(optional)`
* `no_switch` - Optional flag (1 or 0). Use 1 to prevent switching to straight-line depreciation when it yields a higher amount. Default value is 0. `(optional)`

#### Examples

```js
VDB(10000, 1000, 5, 0, 1)

```

**Result:** `4000.0`

**Note:** Returns the depreciation for the first year using the double-declining balance method.

```js
VDB(10000, 1000, 5, 0.5, 1.5)

```

**Result:** `3200.0`

**Note:** Returns depreciation for half of year 1 plus half of year 2 using the double-declining balance method.

```js
VDB(10000, 0, 5, 3, 5, 2, 0)

```

**Result:** `2160.0`

**Note:** Returns depreciation for years 4 and 5 with factor 2 where switching to straight-line applies.

```js
VDB(10000, 0, 5, 3, 5, 2, 1)

```

**Result:** `1382.4`

**Note:** Returns depreciation for years 4 and 5 with factor 2 and no switching to straight-line.
