Please enable JavaScript to view this site.

Vensim Help

Navigation: Reference Guide > Functions > Financial and Accounting

DEPRECIATE BY SCHEDULE (str,sch,init,dtime,fs) DEPRECIATE an investment stream BY SCHEDULE

Scroll Prev Top Next More

DEPRECIATE BY SCHEDULE is used to compute depreciation of str against the schedule specified by sch which is an array of depreciation fractions or percents.  The depreciation occurs over dtime with the fiscal period for depreciation determined by the ratio of dtime to the number of elements of sch. sch must be a subscripted variable and it must be used with the first element of the final subscript in the function. You can specify the initial amount of depreciation that will occur in init which is also an array that should be the same length as the array sch.  If there is nothing in the initial depreciation you can just use a scalar variable here, but it has to be a variable and not simply a number.

The final argument fs can be used to determine when there is a changeover from one fiscal period to the next.  Normally this argument will just be Time (or equivalently INITIAL TIME).  However, if you have a model that does not start at the beginning of a fiscal period you can use fs to adjust for this.  For example if you have a weekly model with an annual fiscal period and week 12 is the first week of 2005 then you would use 12 as the value for fs.  Weeks 0-11 would be treated as part of the fiscal year associated with 2004, 12-55 the fiscal year 2005, 56-107 fiscal year 2006 and so on.

The depreciation fraction specified by init will be scaled so that they add to 1.  Thus having them add to 1 or 100 will both work fine.  

Restrictions:  Must appear directly following the equal sign = and not be followed by anything else.

If you want to initialize this function to return a constant nonzero value from the beginning you will need to adjust the initial values to account for the investment that will be coming in.  For example the following will return a constant value:

Syear : y1,y2,y3,y4,y5

Dsched[syear]=.2 ~ Dmnl

Init[syear]=0.8,0.6,0.4,0.2,0.0 ~ $

Invest = 1 ~$/Month

Dtime = 60 ~ Month

Depr=DEPRECIATE BY SCHEDULE(invest,dsched[y1],init[y1],5,Time)

Basically the first initial value is 1- the first depreciation fraction, the second that minus the second and so on.  In many cases the initial values will be 0 and you won’t need to worry about this detail.  It is also worth nothing that, for the above example, the DEPRECIATE STRAIGHTLINE function would have worked.

 

Units:DEPRECIATE BY SCHEDULE(units/time, dmnl, units, time, time) --> units/time

The output units are the same as the units of the first argument and the initial quantity units must be the input units times the units for time. sch must be dimensionless while both dtime and fs must has the same units as Time.

Availability: Professional and DSS only.

See also: DEPRECIATE STRAIGHTLINE, NET PRESENT VALUE, INTERNAL RATE OF RETURN

Sample model: DEPRECIATE BY SCHEDULE.mdl in FunctionExamples