Documentation/How Tos/Calc: DDB function

From Apache OpenOffice Wiki
Jump to: navigation, search


Returns the depreciation of an asset for a given year using the double (or other factor) declining-balance method.


DDB(originalcost; salvagevalue; lifetime; year; factor)

originalcost: the initial cost of the asset.
salvagevalue: is the value at the end of the depreciation (sometimes called the salvage value of the asset).
lifetime: the number of years over which the asset is being depreciated.
year: the year number for which the depreciation is calculated.
factor: the factor to set the depreciation rate (2 if omitted).
To calculate depreciation, DDB uses a fixed rate. When factor = 2 this is the double-declining-balance method (because it is double the straight-line rate that would depreciate the asset to zero). The rate is given by:
rate = factor / lifetime.
The depreciation each year is calculated as
MINIMUM( book_value_at_start_of_year * rate; book_value_at_start_of_year - salvagevalue )
Thus the asset depreciates at rate until the book value is salvagevalue.


Calc ddb graph1.png

DDB(12000; 3000; 5; 1)

returns 4800 in currency units. The rate is 2/5, or 40%. The book value at the start of year 1 is 12000, and 40% of 12000 is 4800.

DDB(12000; 3000; 5; 2)

returns 2880 in currency units. The book value at the start of year 2 is 12000 - 4800 = 7200, and 40% of 7200 is 2880.

DDB(12000; 3000; 5; 3)

returns 1320 in currency units. The book value at the start of year 3 is 7200 - 2880 = 4320; and 40% of 4320 is 1728 - but DDB returns only enough depreciation to reduce the book value to the salvage value - that is 4320 - 3000 = 1320.

DDB(12000; 3000; 5; 4)

returns 0 in currency units. The book value at the start of year 4 is equal to the salvage value; no further depreciation is possible.


  • Note that this method may not depreciate the asset fully to its salvage value. For example, DDB(1000; 0; 3; 1) + DDB(1000; 0; 3; 2) + DDB(1000; 0; 3; 3) = 962.96, leaving a residual value of 37.04 instead of 0. The VDB function is an alternative which overcomes this.

See Also
Retrieved from ""
Personal tools