Investment Studio > Expressions > Functions > Financial > DDB

float ddb(float initial_cost, float salvage_value, integer total_periods, integer period, float factor = 2)

Returns the depreciation of an asset for the specified period using the specified balance method.

initial_cost > 0 is the initial value of the depreciating asset.

salvage_value < initial_cost is the final value of the asset after depreciation.

total_periods >= 1 is the number of periods over which the asset depreciates (the asset's useful life).

period >= 1 is the number of the period for which the depreciation is to be returned.

factor is the depreciation rate. If omitted, it defaults to 2 (double-declining balance method).

The depreciation for each period is given by the expression

depreciation = (initial_cost - total depreciation from prior periods) * factor / total_periods

until further depreciation would reduce the remaining value to less than salvage_value. At this point, the depreciation is simply the remaining value minus salvage_value.

Example

Consider a new office computer with the following properties:

The entire annual depreciation series according to the (default) double-declining method is given by

ddb(3000, 500, 5, 1) = 1200 (full 40% depreciation)

ddb(3000, 500, 5, 2) = 720 (full 40% depreciation of remaining value)

ddb(3000, 500, 5, 3) = 432 (full 40% depreciation of remaining value)

ddb(3000, 500, 5, 4) = 148 (what's left on top of the salvage value)

ddb(3000, 500, 5, 5) = 0 (salvage value already reached)

See also db, sln, syd, vdb.