The functions in this section calculate depreciation, which is the amount of value that a possession loses over time. These functions are characterized by three parameters: cost, the original cost of the asset; salvage, the value the asset will have at the end of its expected "useful life"; and life, the number of years (or other periods) of the expected useful life.
There are several methods for calculating depreciation that differ in the way they spread the depreciation over the lifetime of the asset.
The b S (calc-fin-sln
) [sln
] command computes the
"straight-line" depreciation. In this method, the asset depreciates
by the same amount every year (or period). For example,
`sln(12000, 2000, 5)' returns 2000. The asset costs $12000
initially and will be worth $2000 after five years; it loses $2000
per year.
The b Y (calc-fin-syd
) [syd
] command computes the
accelerated "sum-of-years'-digits" depreciation. Here the depreciation
is higher during the early years of the asset's life. Since the
depreciation is different each year, b Y takes a fourth period
parameter which specifies which year is requested, from 1 to life.
If period is outside this range, the syd
function will
return zero.
The b D (calc-fin-ddb
) [ddb
] command computes an
accelerated depreciation using the double-declining balance method.
It also takes a fourth period parameter.
For symmetry, the sln
function will accept a period
parameter as well, although it will ignore its value except that the
return value will as usual be zero if period is out of range.
For example, pushing the vector [1,2,3,4,5] (perhaps with v x 5) and then mapping V M ' [sln(12000,2000,5,$), syd(12000,2000,5,$), ddb(12000,2000,5,$)] RET produces a matrix that allows us to compare the three depreciation methods:
[ [ 2000, 3333, 4800 ] [ 2000, 2667, 2880 ] [ 2000, 2000, 1728 ] [ 2000, 1333, 592 ] [ 2000, 667, 0 ] ]
(Values have been rounded to nearest integers in this figure.)
We see that sln
depreciates by the same amount each year,
syd depreciates more at the beginning and less at the end,
and ddb weights the depreciation even more toward the beginning.
Summing columns with V R : + yields [10000, 10000, 10000]; the total depreciation in any method is (by definition) the difference between the cost and the salvage value.