5g: Depreciateλ()

Description

This function can be used in any Financial model, including non-dynamic array models. With this function, adding depreciation schedules is incredibly easy and it can easily reduce potential model risk by a factor of thousands to one. It takes less than a minute as the video below demonstrates.

Depreciation Schedule

This function provides a complete depreciation schedule for all assets over the model's timeline. For each asset it includes separate rows for:

Depreciation Methodology

We packed several of Excel's depreciation methods into this one function which are:

After consulting with several CFOs and professors of Finance, we decided to deviate from Excel's depreciation functions in the following ways:

Depreciateλ() adjusts to our model's timeline, whether that be in years, months, or quarters. It also places the results with respect to the model timeline's start date, and the asset's in-service date so depreciation can start anywhere within the timeline, or even outside the timeline.

Individual Asset, Asset Classes, All Assets at Once

This function accommodates several approaches to asset depreciation.

A Suite of Functions

The depreciation suite includes: 

Depreciateλ( )

Produces a depreciation schedule dynamic array. The array contains only values, no row labels. To Add row labels use LabelDepreciateλ().

Depreciateλ(InitialValues, InServiceDates, LifeInYears, Timeline, [SalvageValues], [DisposalDates], [DisposalCosts], [Methods], [Factor])

InitialValues
(Required) The purchase price of each asset to depreciate

InServiceDates
(Required) The dates from which to start depreciating each asset.

LifeInYears
(Required) The number of years with which to depreciate each asset

Timeline
(Required) The model's timeline or a row of period start dates.

SalvageValues
(Optional) The book values of each asset after fully depreciated. The default is no value (0).

DisposalDates
(Optional) The dates on which the asset is removed from the books when salvage value is greater than nothing. The default is at end of life.

DisposalCosts
(Optional) The estimated costs for disposing each assets. The default is none.

Methods 

(Optional) The desired depreciation method. The default value is straight line depreciation method. We can choose from any of these:

Factors
(Optional) The default is 2 and is only applicable to DDB and VDB methods.

LabelDepreciateλ( )

Adds row labels to the result of Depreciateλ()

LabelDepreciateλ( AssetNames)

AssetNames
(Required) The names of each asset being depreciated

SumDepreciateλ( )

Adds row Totals to the result of Depreciateλ()

SumDepreciateλ( DepreciationSchedule)

DepreciationSchedule
(Required) The result of Depreciateλ()

Placement: We recommend creating the depreciation schedule on its own worksheet because this function will expand down when asked to process multiple assets at one time. Further, it should be placed below totals so we do not have to reposition totals if we add or remove assets from our model. 

Totals: We recommend using 5g function SumContainsλ() to create totals and then reference these totals in calculations. SumContainsλ() totals those values whose labels contain a unique letter, word or phrase. The syntax is:

SumContainsλ( ValuesArray, LabelsArray, TextInLabel )

In the example below, cell J10 contains the formula =SumContainsλ(J29#, E29#, E10) where:

SumContainsλ() then finds all labels that contain CAPEX and totals the values for those labels. 

CAPEX

Capital Expenditures reduces cash on hand (Cash Flow Statement)

Rev (Exp) Sale of assets

Impacts operating revenue/(expense) in EBITDA in our Income Statement. EBITDA also impacts Net Income. 

Depreciation

Depreciation is an expense that reduces our tax liability which impacts Net Income. Net Income impacts our Income Statement and Retained Earnings in our Balance Sheet

Net Income without depreciation impacts our Cash Flow Statement.

Book Value

Increases our Fixed Assets in our Balance Sheet.