I've been reviewing a large amount of resumes recently and noticed a common trend: the word "avid" is used almost universally. At least in the resumes I have seen, but I guess that wouldn't necessarily be universal. (Unrelated: isn't it inaccurate when people attempt to say something is the best and define it as best in the entire universe? What if there's something better within the multiverse?!?)
Anyway, do people even use the word "avid" when speaking everyday English? Maybe if you're a birdwatcher, but no one I know in real life says they are an avid golfer, swimmer, (rusty) trombonist, etc. I have no idea whether some d-bag business school resume reviewer started the "avid" trend, or whether all business school, finance and consultant applicants are so unoriginal that they just CTRL + C CTRL + C CTRL + C. FYI, "avid" comes from Latin "avidus," meaning "to crave," so once I interview one of these avid fools, maybe I'll ask how their unplanned pregnancy is going or whether they avidus some penis.
Speaking of unplanned pregnancy, a long time ago I gave birth to the most efficient tranche-by-tranche treasury stock method calculation in the multiverse. Those of you who have spent time reading 10Ks know that oftentimes several tranches of options are listed out. If you didn't know any better, you might calculate dilution for each tranche separately, as in the example below:
Accurate, yes. But not exactly efficient. What happens if you need to scale this calculation up to include several companies? For example, let's say you are doing comps and need to calculate equity value for 10 different companies on an input sheet. You could theoretically copy the above block of calculations ten times over, but then how will you get all of the values onto an output sheet? Manually linking? That would be dumb. Also dumb (but not as much) would be creating 10 different sheets, one for each company; waste of memory, particularly when you start to use INDIRECT for the output linking.
I always suggest when calculating comps to use one sheet, and have each column represent one company. This way, adding companies just requires a simple CTRL + R and replacing the relevant data. Having all the data on one sheet also eliminates potential for error (i.e., if you have 10 sheets, adding a row on one sheet will screw up the output sheet that uses INDIRECT). There are many other reasons as well, but just believe me for now. Having said all of that, here is the way I would lay out options for a comp:
In cell C28, insert the formula {=SUM(IF(C5:C14<C2,C17:C26-C17:C26*C5:C14/C2,0))} and don't forget the brackets, since this is an ARRAY formula. As we have discussed in the past, such a formula will do each calculation along a range of cells; in other words, you can interpret this formula as the single calculation =IF(C5<C2,C17-C17*C5/C2,0), followed by CTRL + D to drag it down for 9 more cells, followed by summing all 10 cells to arrive at total option dilution.
While other young people waste their time by running around like idiots with broomsticks between their legs, I again incrementally increase your Excel efficiency. Although I will take back my criticism if these losers sharpen their broomsticks and turn it into a death sport, which would at least offer the side benefit of fatally injuring some of them.
-F-One
Excel for Financial Modeling
Author: F-One. Educational information on using Excel for corporate finance. Like Training the Street, except free, online and not horrible.
Tuesday, October 26, 2010
Wednesday, October 20, 2010
Stock Option Dilution (Part I)
When I first started banking, I had no idea that "fully diluted" equity value existed. You may be wondering how this is possible after they put you through a training program. See below:
There was also a game in training (or I should say while training was going on) that involved trying to fly penguins across the screen for as long as possible. Why would you pay attention to a 2-year banking flame-out teaching (incorrect) finance concepts when you have that type of entertainment? Whatever. I still learned everything, including the fact that market cap. on Yahoo! finance is in fact not fully diluted.
So what does "diluted" mean? Bankers use the term as often as MBA students ask stupid questions to feel valuable, so there's no way to tell by context. For this post, when additional shares of a company's stock are issued, they "dilute" the ownership of existing shareholders. Market cap. does not account for this dilution, as it is calculated by multiplying share price x basic shares outstanding. So when a company has issued options, any new shares from option exercises would be added to the basic share count in order to calculate fully diluted equity value. The common method of accounting for these potential dilutive effects is the treasury stock method, which states New Shares = Options - (Options x Exercise Price)/(Current Price).
Using a blank spreadsheet, assume a company employee has 100 (cell A1) options at a $10.00 (A2) strike price, and the current stock price is $15.00 (A3). In this example, the employee will exercise his options to buy 100 shares, as he can immediately sell them for a net gain of $5.00 per share. The company will then buy back as many of those shares as possible at the current price to minimize the dilutive effect of the option exercise. Here are two ways to lay out the treasury stock calculation:
-F-One
There was also a game in training (or I should say while training was going on) that involved trying to fly penguins across the screen for as long as possible. Why would you pay attention to a 2-year banking flame-out teaching (incorrect) finance concepts when you have that type of entertainment? Whatever. I still learned everything, including the fact that market cap. on Yahoo! finance is in fact not fully diluted.
So what does "diluted" mean? Bankers use the term as often as MBA students ask stupid questions to feel valuable, so there's no way to tell by context. For this post, when additional shares of a company's stock are issued, they "dilute" the ownership of existing shareholders. Market cap. does not account for this dilution, as it is calculated by multiplying share price x basic shares outstanding. So when a company has issued options, any new shares from option exercises would be added to the basic share count in order to calculate fully diluted equity value. The common method of accounting for these potential dilutive effects is the treasury stock method, which states New Shares = Options - (Options x Exercise Price)/(Current Price).
Using a blank spreadsheet, assume a company employee has 100 (cell A1) options at a $10.00 (A2) strike price, and the current stock price is $15.00 (A3). In this example, the employee will exercise his options to buy 100 shares, as he can immediately sell them for a net gain of $5.00 per share. The company will then buy back as many of those shares as possible at the current price to minimize the dilutive effect of the option exercise. Here are two ways to lay out the treasury stock calculation:
- =+IF(A3>A2,A1-A1*A2/A3,0)
- =+MAX(A1-A1*A2/A3,0)
-F-One
Wednesday, September 15, 2010
Worst Venture Capital Fund Names in the History of the Universe
Sorry for no meaningful posts this week. I've been busy with stupid shit like cold-calling companies that may or may not have more than $500,000 in revenue. Miserable. But the one benefit of looking at shit companies is finding out who their shit investors are, and making fun of them. Without further ado, I present the Shitty VC Name Hall of Fame:
-F-One
- Fluffco - Seriously? They are "formed by angel investor, Irving J. Levin. Mr. Levin is a well known entrepreneur in the Portland, Oregon vicinity." Kind of reminds me of those well-known professional basketball players in the North Korea vicinity. Good luck fluffing, Irv.
- Crossbow Ventures - When I fundraise, I want people to envision medieval weaponry, because the threat of me using it to kill you is the only way you will invest in this stupid piece of garbage.
- Techxas Ventures - Technology + Texas = Techxas. Brilliant. You know what's even more brilliant? Listing "Unknown" companies on your portfolio page. Hopefully Wal-Mart gets the memo and does their next rollback commercial with "unknown" items.
- Carrot Capital Healthcare Ventures - Carrots are for pussies.
- Double D Ventures - I can't even find a website for this firm, probably because someone at VentureSource made it up as a joke on me. They may have funded Fluffco at some point though.
I'm really well-known for starting a VC firm that invests in best-in-class fluffers. |
-F-One
Wednesday, September 8, 2010
Retirement
I was thinking about retirement accounts today, because obviously the success of this blog has enabled me to retire early. One question that arose: does it ever make sense to take early distributions at the cost of taxes and early distribution penalties? Wait? When can that make sense? Certainly, in a vacuum, you should never distribute retirement savings prior to retirement: $1,000 of retirement withholdings will only be about $300-500 after taxes and penalties, and you just gave up a bunch of money that would otherwise be earning some type of yield, rather than being in someone else's hands.
So that scenario is easy to quantify. But in a world of tradeoffs and opportunity costs, there are definitely going to be other scenarios where it might make sense for you to distribute early. Let's look at the most common one: you have some credit card debt and aren't paying it off for a while. If you did have unlimited funds idling in your savings account generating 1% interest income annually, then you would be stupid not to pay off your AMEX, which could be pushing 18% interest expense annually (I'm keeping these percentages very simple for illustrative purposes). If you did not pay that debt off, you'd be losing 17% a year on your capital for no reason. Simple. Then again, very few people have unlimited funds.
If you are on the opposite end of the spectrum and have no savings to speak of, and no sufficient earnings to pay down debt, that is the point at which you might consider dipping into a retirement account to pay off your debt (let's pretend that loans collateralizing your 401(k) do not exist). Similar to the savings account example, your retirement account might be earning 7% a year vs. your debt costing 18% a year. All you need to do is make sure your foregone net interest costs offset the taxes and penalties from distributing prematurely. The important metric is the time period over which you don't pay off the debt. At some point after you hold the debt long enough (maybe in 10 years), the dollar amount of interest costs will be so high that you will have wished you dumped the retirement savings to pay that debt off. So here is a very basic decision framework that will tell you, for every dollar of debt, the payback time above which you should be touching that nest egg:
This post is dedicated to Antonio Cromartie, whose spending habits and child support payments (despite his large salary) make him a candidate to evaluate the retirement account tradeoff. You're welcome for the formula.
F-One
Do I need to tap into my retirement fund? |
If you are on the opposite end of the spectrum and have no savings to speak of, and no sufficient earnings to pay down debt, that is the point at which you might consider dipping into a retirement account to pay off your debt (let's pretend that loans collateralizing your 401(k) do not exist). Similar to the savings account example, your retirement account might be earning 7% a year vs. your debt costing 18% a year. All you need to do is make sure your foregone net interest costs offset the taxes and penalties from distributing prematurely. The important metric is the time period over which you don't pay off the debt. At some point after you hold the debt long enough (maybe in 10 years), the dollar amount of interest costs will be so high that you will have wished you dumped the retirement savings to pay that debt off. So here is a very basic decision framework that will tell you, for every dollar of debt, the payback time above which you should be touching that nest egg:
- Let a = retirement account balance
- Let b = % penalty from early distribution (assume 40% for taxes and 25% for penalties, total of 65%)
- Let y = % annual yield on retirement account (7%; and assume post-tax to keep the formula simple)
- Let i = % annual interest on credit card debt (18%)
- Let d = amount of debt
- Let n = number of years of not paying off debt above which you should simply take retirement funds to pay the debt (this is the variable that we hope to solve for)
- Conceptually, to distribute retirement funds early, the following equation must be true: [d(1+i)^n-d] - [a(1+y)^n-a] < ba (this states that the foregone interest costs over the given time period are less than the early distribution penalty; in other words, DISTRIBUTE!)
- Remember that if you take the early distribution of "a," you receive (1-b)*a; this is thus the amount of debt you can pay off using the distribution proceeds, meaning d = (1-b)*a
- Resubstituting and simplifying, you get a(1-b)[(1+i)^n-1]-a[(1+y)^n-1] < ba
- Reduce this formula to: [(1+i)^n-1]-b[(1+i)^n)-1]-[(1+y)^n-1] < b
- Then: (1+i)^n - b(1+i)^n - (1+y)^n < 0
- Then: (1-b)(1+i)^n < (1+y)^n
- Take the log of both sides to get: LN((1-b)(1+i)^n) <> LN((1+y)^n)
- Then: LN(1-b) + n*LN(1+i) < n*LN(1+y)
- Ultimately: LN(1-b) / (LN(1+y) - LN(1+i)) < n
- In spreadsheet form, enter "b" into C2, "y" into C3, and "i" into C4, then calculate using the formula =+LN(1-C2)/(LN(1+C3)-LN(1+C4))
- Using the assumptions from 2-4, we have n > 10.73 years
This post is dedicated to Antonio Cromartie, whose spending habits and child support payments (despite his large salary) make him a candidate to evaluate the retirement account tradeoff. You're welcome for the formula.
F-One
Monday, September 6, 2010
Following up yesterday's post on coloring and formatting, here are some additional thoughts. First, what do you do after you have color-coded all of the text in your cells, and then need to paste the spreadsheet into a presentation? From experience, a lot of senior people get irrationally upset if the text is color-coded rather than all black. So you could always select the range you are copying, change all the text to black, paste into the presentation and then "undo" in Excel to preserve your color-coding. Or maybe now that you know all the shortcuts to color-code a spreadsheet within a few seconds, you don't care. But you should care that traditional copying and pasting using Excel 2007 results in gridlines being pasted, often when you don't want them to appear. Another big formatting annoyance.
What many people do not know is that Excel can copy a selection as it appears on a physical printout. Moreover, most printers these days have a special setting that is loosely defined as "print all text black." The command is in different places depending on your specific printer and software, but the idea is that when you physically print a document, borders and backgrounds will print in color, while all text will print in black. Logically, if your default printer had these settings, copying and pasting would yield the same results, eliminating the problem of having to recolor and uncolor text. At the very least, you can paste things without the gridlines. Here is what do (skip to step 5 if you don't care about text colors):
That also works for the other Microsoft applications, which should make it clear to you why the Presentations group used to call me MichaelSoft Jordan. Oh shit!
-F-One
This will make sense later...I promise |
What many people do not know is that Excel can copy a selection as it appears on a physical printout. Moreover, most printers these days have a special setting that is loosely defined as "print all text black." The command is in different places depending on your specific printer and software, but the idea is that when you physically print a document, borders and backgrounds will print in color, while all text will print in black. Logically, if your default printer had these settings, copying and pasting would yield the same results, eliminating the problem of having to recolor and uncolor text. At the very least, you can paste things without the gridlines. Here is what do (skip to step 5 if you don't care about text colors):
- CTRL + P for print
- ALT + R for properties...
- What happens next differs for each printer, but typically within the "advanced" settings, you will find an option for printing text as black. Select that option.
- If you use CTRL + C for copying a range and pasting as a picture, you will find that the pasted image still maintains colors in the text. The reason is that Excel is copying what appears on the screen, including gridlines, which is largely painful if you like seeing gridlines but need to remove them for every paste-in of a presentation.
- To address the CTRL + C issue, select the range you want to copy, and then type ALT, H, V, A, C, P, ENTER, which opens up the home tab on the ribbon, then the paste menu (not intuitive when you are trying to copy something), the "As picture" option, the "Copy as picture..." option, and finally the "As shown when printed" option. By doing this, you have told Excel to make a copy of the picture exactly as if it were printed.
- Now, in Word or Powerpoint, you can hit CTRL + ALT + V for paste special (notice that often in the 2007 suite, ALT + E +S no longer works) and select the enhanced metafile option.
That also works for the other Microsoft applications, which should make it clear to you why the Presentations group used to call me MichaelSoft Jordan. Oh shit!
-F-One
Sunday, September 5, 2010
Coloring Linked Cells
No matter what firm you work at, best practices and common sense dictate that you color hard-coded numbers, formulae and links to other worksheets using distinct colors. We have discussed the first two, which are easily accomplished using F5, ALT + S to select either constants or formulae (Microsoft says formulas; they're apparently interchangeable).
Unfortunately, Excel does not have a built-in command to highlight all cells linking to other worksheets. That means if you are working late at night on the Sunday-Monday morning of Labor Day weekend and need to color all other-sheet links to green in a spreadsheet with thousands of rows mixing numbers, formulas and other-sheet links, YOU ARE FUCKED. Until now.
With the help of my some times enemy and other times friend visual basic, you can do what F5 does, but to select formulas with links to other sheets. Remember, I am not a VBA expert, but I know how to use Google and combine other people's VBA code. Here is what to do:
So how did this work? Imagine that a human was doing this exercise. He could use CTRL + F to find each cell containing links to other sheets by searching for "!" within each formula. He could then select each cell that contained "!" cumulatively (using either the keyboard and SHIFT + F8 or the mouse and CTRL). Excel does all of that almost instantaneously. The only problem would be if you write footnotes like, "Assumes leverage of 3.5x!!!!" because that's getting highlighted too. Anyway, imagine the spreadsheet is huge and contains a mix of constants and other formulae. That could have been a 15-minute exercise, but will now take 2 seconds!
Speaking of taking 2 seconds, I decided to write this post while thinking of ways to satisfy Mrs. F-One. Happy Labor Day Weekend.
-F-One
Unfortunately, Excel does not have a built-in command to highlight all cells linking to other worksheets. That means if you are working late at night on the Sunday-Monday morning of Labor Day weekend and need to color all other-sheet links to green in a spreadsheet with thousands of rows mixing numbers, formulas and other-sheet links, YOU ARE FUCKED. Until now.
With the help of my some times enemy and other times friend visual basic, you can do what F5 does, but to select formulas with links to other sheets. Remember, I am not a VBA expert, but I know how to use Google and combine other people's VBA code. Here is what to do:
- ALT + F11 to open up Microsoft Visual Basic within Excel
- ALT, I, M to insert a new module
- Within the module code editing window, paste in: Sub FormatOtherSheetLinks()
Dim TestRange As Range, C As Range, MyRange As Range
Dim FirstAddress As String, SheetString As String
Dim wsh As Worksheet
On Error Resume Next
Set TestRange = Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not TestRange Is Nothing Then
For Each wsh In ActiveWorkbook.Worksheets
SheetString = wsh.Name & "*!"
SheetString = Replace(SheetString, "'", "''")
With TestRange
Set C = .Find(SheetString, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
If Not C Is Nothing Then
FirstAddress = C.Address
If MyRange Is Nothing Then Set MyRange = C
Do
Set C = .FindNext(C)
If Not MyRange Is Nothing Then Set MyRange = Union(MyRange, C)
Loop Until C.Address = FirstAddress
End If
End With
Next
If Not MyRange Is Nothing Then MyRange.Select
End If
Set TestRange = Nothing
Set MyRange = Nothing
End Sub - F5, ALT + R to run the module on each desired sheet
So how did this work? Imagine that a human was doing this exercise. He could use CTRL + F to find each cell containing links to other sheets by searching for "!" within each formula. He could then select each cell that contained "!" cumulatively (using either the keyboard and SHIFT + F8 or the mouse and CTRL). Excel does all of that almost instantaneously. The only problem would be if you write footnotes like, "Assumes leverage of 3.5x!!!!" because that's getting highlighted too. Anyway, imagine the spreadsheet is huge and contains a mix of constants and other formulae. That could have been a 15-minute exercise, but will now take 2 seconds!
Speaking of taking 2 seconds, I decided to write this post while thinking of ways to satisfy Mrs. F-One. Happy Labor Day Weekend.
-F-One
Friday, September 3, 2010
Millions of Stupid Abbreviations
How do you abbreviate "millions" when you are writing about millions of dollars but have limited space on your pages? Most bankers tend to use "mm" or "MM" as their abbreviations of choice. But how is this possible? There is only one "m" in the word! And somehow, for consistency, the "mm" methodology is shared in abbreviating "billions" as "bb" or "BB," which becomes really confusing if you ever have to talk about billions of dollars on the same page as big balls or busty brunettes.
As a starting point, think about metric nomenclature, in which "K" stands for "kilo" (1,000) and M stands for "mega" (1,000,000). After all, that's why you pay for champagne rooms by dropping several "k" rather than several "thousand." And if you're talking about electronic data storage, 1,000 bytes (8,000 bits, but that is a whole other conversation) could also be called 1 kilobyte, or 1 KB. Therefore, $1,000,000 would really be called 1 megadollar, or 1 MD. But that's too ambiguous, since so many people in finance call themselves MDs! What about 1 M$? That is my suggestion if you want to be consistent with the metric system (which rich scientists also abbreviate as M$...confusing). But practically speaking, people will whine about not having a currency sign as the leftmost character in an expression of numerical, monetary amounts, unless they are European.
Since I reside in America, the currency sign MUST be the leftmost character in the expression. Thus, the best compromise with the metric system for abbreviating $1,000,000 appears to be $1M, as in $1 mega. Then, theoretically, $1,000,000,000 should be 1 gigadollar, or $1 giga shortened to $1G. But I've never seen that in any presentations before. Why? Because people are stupid, and will just ask you whether $1G means $1,000. Now how do you feel about people that deal with billion dollar transactions not knowing the difference between $1,000 and $1,000,000,000?
So how did we ever get to mm, MM, bb, BB, etc.? I've heard lots of theories about these, so let me highlight them (and how stupid they are) for you.
Lastly, what do you call someone obsessed with numbers in the quadrillions? A petaphile!!!
-F-One
As a starting point, think about metric nomenclature, in which "K" stands for "kilo" (1,000) and M stands for "mega" (1,000,000). After all, that's why you pay for champagne rooms by dropping several "k" rather than several "thousand." And if you're talking about electronic data storage, 1,000 bytes (8,000 bits, but that is a whole other conversation) could also be called 1 kilobyte, or 1 KB. Therefore, $1,000,000 would really be called 1 megadollar, or 1 MD. But that's too ambiguous, since so many people in finance call themselves MDs! What about 1 M$? That is my suggestion if you want to be consistent with the metric system (which rich scientists also abbreviate as M$...confusing). But practically speaking, people will whine about not having a currency sign as the leftmost character in an expression of numerical, monetary amounts, unless they are European.
I prefer the Euro sign on the right of the number because my beret constricts the blood flow to my brain. |
So how did we ever get to mm, MM, bb, BB, etc.? I've heard lots of theories about these, so let me highlight them (and how stupid they are) for you.
- 1MM should represent 1 million because M is the Roman numeral for 1,000: A lot of people actually only know the first 9 digits of the Roman numeral system and assume this is true. Really? How do you write "20" in this system? XX! And "XX" doesn't mean "100," so why the hell would "MM" mean "1,000,000?" Hopefully you told that big oil and gas company that their acquisition synergies would be $50MM next year, since you seriously meant $100,000, or 2 secretaries. Note that drawing a line above (overlining?) the two Ms means multiplying, so that would theoretically work.
- 1mm should represent 1 million since mm is the abbreviation for megamillions: What? First of all, I have heard many people say this, and it makes no sense. Maybe they mean multimillions, but megamillions means either trillions or the lottery. And "mm" means millimeters.
- 1bb or 1BB should be used to represent 1 billion for consistency with abbreviations meaning 1 million: False. Ah, the compulsive/psychotic fixation of bankers to make all formatting consistent, even if doing so makes no logical sense. Neither bb or BB make ANY sense. It's not even like we say begabillions or bultibillions. Maybe they mean bunch(es) of billions like a fucking cereal.
Lastly, what do you call someone obsessed with numbers in the quadrillions? A petaphile!!!
-F-One
Thursday, August 26, 2010
Degrees
Are you one of those people that graduated "summa cum laude" from college? Would you be able to tell me what "summa cum laude" means? Because it really just sounds like a retarded black guy informing me that "the current summer's semen ejaculations are excessively noisy." Drawing an analogy to the banking bonus, summa cum laude for college graduates is the equivalent of "top bucket" in an analyst class, followed by magna cum laude, then cum laude, and lastly all the losers that don't get bona (I know, I know, the economy...). And yes, "bona" is the appropriate plural for "bonus," and should be a daily reminder that every Latin-based term in popular use could just as easily come from a '70s black porno.
So for any of the people that throw around "cum laude" or some variation without knowing the meaning, here you go: "cum laude" is the latin term for "with honor." And that explains why those that graduate "with honors" do so "cum laude." Make sense? It should, since loud ejaculations are how every man becomes honorable in college. I just don't even want to know what my black readers (they exist!) have to say about this.
I raise the topic only because a CFO recently asked me whether I have a Ph.D. in Excel, which eventually led to him asking whether I have any types of cum on my undergraduate degree. No, but that would probably change if I left my degree out while you watch me awesomely build a 5-year quarterly model in only a few minutes.
Anyway, today's lesson is short. The DEGREES function converts radians into degrees. So you can do quick conversions using =+DEGREES(a*PI()), where "a" is any number. Maybe you'll get lucky and be able to use it on a sell-side for these guys. Sorry, tomorrow's post will be more educational.
And, just remember, if someone brags to you that they graduated "cum laude," that's like bragging that they won a bronze medal or other type of third place (shit) distinction. Good thing these types of events aren't done "to-the-death," otherwise we would never experience the pleasure of people bragging about 2nd and 3rd place.
TSM,
-F-One
What kinda degree you got? |
I raise the topic only because a CFO recently asked me whether I have a Ph.D. in Excel, which eventually led to him asking whether I have any types of cum on my undergraduate degree. No, but that would probably change if I left my degree out while you watch me awesomely build a 5-year quarterly model in only a few minutes.
Anyway, today's lesson is short. The DEGREES function converts radians into degrees. So you can do quick conversions using =+DEGREES(a*PI()), where "a" is any number. Maybe you'll get lucky and be able to use it on a sell-side for these guys. Sorry, tomorrow's post will be more educational.
And, just remember, if someone brags to you that they graduated "cum laude," that's like bragging that they won a bronze medal or other type of third place (shit) distinction. Good thing these types of events aren't done "to-the-death," otherwise we would never experience the pleasure of people bragging about 2nd and 3rd place.
TSM,
-F-One
Monday, August 23, 2010
Depreciation
Apologies for the delay inbetween posts. Over the past few days, I have been doing far more meaningful things, like reading about this Capital Grille chef who stole customers' credit cards to fund his toy car hobby. WTF? How do you do something like cook steak (awesome, manly) but at the same time collect toy cars (creepy, childlike, possibly to bag kids)? Good thing he's out of work now; I've gone ahead and done everyone a favor by registering him here. Hopefully he doesn't get hired at another Capital Grille where he might decorate my lobster mac and cheese with more than the four requisite cheeses.
Unrelated: in college, my first accounting professor had a peculiar middle-America accent that caused him to pronounce "depreciation" as "deprishiation." I don't have much meaningful to say about to him, but realized this is my only chance to mention how annoying that SOB was, since today's post is about depreciation.
First off, those of you that read about my distaste for CPDS' may have also closely read the keyboard shortcuts and noticed the SYD function on the bottom right-hand corner. SYD stands for "sum of the years' depreciation" (read more about it here, because I don't feel like writing an accounting lesson) and is an alternative to the straight-line method that allows for a greater amount of depreciation in the early years of using an asset. If you had asked me what SYD is prior to a couple of weeks ago, I could have only told you about a guy I know from Queens, but now I can tell you it's an excel formula written as follows: SYD(cost, salvage, life, period). Which goes to show how shitty my education from Professor Deprishiation was.
Stepping back (I bet you heard someone say this today) from SYD to depreciation more broadly, you have probably spent some time learning about how to build out depreciation for any new capital expenditures in a model. The most common method I have seen is the use of a "waterfall;" assuming you project five years in your model, there would be one line showing annual depreciation for the first year of capex, another line for the second year, and so forth. So let's look at a simple straight-line case:
For every year (or period) of capital expenditures, you add another row to show the depreciation amounts in each ensuing year. In the above example, these rows are totaled in row 21 to show the total depreciation amount (for new capital expenditures, only). It's quite the bitch to update the depreciation waterfall anytime you change an assumption on timing (like 5 years to 4 years) or add another year into the projections (thus requiring another row to be manually inserted). Even if you have automated your formulae to adjust for timing assumptions (as rows 14-19 in this spreadsheet are), you cannot avoid adding another row if you are extending these projections out to 2015.
The solution is to write a formula in one line that accounts for all of these assumptions dynamically; in other words, have a depreciation waterfall built up in one row of a spreadsheet. Here's how (based on the example above):
The logic for "a" is based on the year of the given capital expenditure and its last year of depreciation. So, if G10 x (1/G11) is based on a capital expenditure from year 1 (column G) that depreciates through year 5 (column L), then "a" will equal the number 1 in each of those years. Otherwise, "a" will be 0, which multiplies against the depreciation amount to make it zero, thus excluding it from the depreciation total. A good example of how this calculation works can be found in K14 through K19. If K14 belongs, our SUMPRODUCT formula multiplies it by 1, and if not, then by 0. Thus the SUMPRODUCT formula is doing the work of the SUM formula in row 21, in addition to the calculations for the depreciation waterfall directly above.
Thus, you now have the ability to insert another year in your model, and allow for depreciation to be calculated precisely in one line, based on the assumptions you enter and without the need for manual adjustments.
So why have I not told you anything about sum of the years' depreciation, even though it's just calculated in the same waterfall format with different numbers for different years? To be honest, it's complicated as shit to write a dynamic formula into one line. So here it is for cell G23: =+SUM(IF($G$6:$M$6<=G$6,IF($G$12:$M$12>G$6,SYD($G$10:$M$10,0,$G$11:$M$11,IF($G$9:$M$9+IF($G$9:$M$9>F$9,-1*F$9,RANK($G$9:$M$9,$G$9:$M$9,0)-RANK(G$9,$G$9:$M$9,0)+1-$G$9:$M$9)<=$G$11:$M$11,$G$9:$M$9+IF($G$9:$M$9>F$9,-1*F$9,RANK($G$9:$M$9,$G$9:$M$9,0)-RANK(G$9,$G$9:$M$9,0)+1-$G$9:$M$9),1)),0)),0)
I'll explain it some day when I feel like it.
-F-One
Unrelated: in college, my first accounting professor had a peculiar middle-America accent that caused him to pronounce "depreciation" as "deprishiation." I don't have much meaningful to say about to him, but realized this is my only chance to mention how annoying that SOB was, since today's post is about depreciation.
First off, those of you that read about my distaste for CPDS' may have also closely read the keyboard shortcuts and noticed the SYD function on the bottom right-hand corner. SYD stands for "sum of the years' depreciation" (read more about it here, because I don't feel like writing an accounting lesson) and is an alternative to the straight-line method that allows for a greater amount of depreciation in the early years of using an asset. If you had asked me what SYD is prior to a couple of weeks ago, I could have only told you about a guy I know from Queens, but now I can tell you it's an excel formula written as follows: SYD(cost, salvage, life, period). Which goes to show how shitty my education from Professor Deprishiation was.
Stepping back (I bet you heard someone say this today) from SYD to depreciation more broadly, you have probably spent some time learning about how to build out depreciation for any new capital expenditures in a model. The most common method I have seen is the use of a "waterfall;" assuming you project five years in your model, there would be one line showing annual depreciation for the first year of capex, another line for the second year, and so forth. So let's look at a simple straight-line case:
For every year (or period) of capital expenditures, you add another row to show the depreciation amounts in each ensuing year. In the above example, these rows are totaled in row 21 to show the total depreciation amount (for new capital expenditures, only). It's quite the bitch to update the depreciation waterfall anytime you change an assumption on timing (like 5 years to 4 years) or add another year into the projections (thus requiring another row to be manually inserted). Even if you have automated your formulae to adjust for timing assumptions (as rows 14-19 in this spreadsheet are), you cannot avoid adding another row if you are extending these projections out to 2015.
The solution is to write a formula in one line that accounts for all of these assumptions dynamically; in other words, have a depreciation waterfall built up in one row of a spreadsheet. Here's how (based on the example above):
- Use rows 9-12 as assumptions
- In cell G23, enter the formula =+SUMPRODUCT($G$10:$M$10,1/$G$11:$M$11,IF($G$6:$M$6<=G$6,IF($G$12:$M$12>G$6,1,0),0)) followed by ALT + SHIFT + ENTER
- Drag the formula in G23 to L23
- Don't forget to enter in a number (any number is fine) in cell M11 to avoid dividing by zero in your calculation
The logic for "a" is based on the year of the given capital expenditure and its last year of depreciation. So, if G10 x (1/G11) is based on a capital expenditure from year 1 (column G) that depreciates through year 5 (column L), then "a" will equal the number 1 in each of those years. Otherwise, "a" will be 0, which multiplies against the depreciation amount to make it zero, thus excluding it from the depreciation total. A good example of how this calculation works can be found in K14 through K19. If K14 belongs, our SUMPRODUCT formula multiplies it by 1, and if not, then by 0. Thus the SUMPRODUCT formula is doing the work of the SUM formula in row 21, in addition to the calculations for the depreciation waterfall directly above.
Thus, you now have the ability to insert another year in your model, and allow for depreciation to be calculated precisely in one line, based on the assumptions you enter and without the need for manual adjustments.
So why have I not told you anything about sum of the years' depreciation, even though it's just calculated in the same waterfall format with different numbers for different years? To be honest, it's complicated as shit to write a dynamic formula into one line. So here it is for cell G23: =+SUM(IF($G$6:$M$6<=G$6,IF($G$12:$M$12>G$6,SYD($G$10:$M$10,0,$G$11:$M$11,IF($G$9:$M$9+IF($G$9:$M$9>F$9,-1*F$9,RANK($G$9:$M$9,$G$9:$M$9,0)-RANK(G$9,$G$9:$M$9,0)+1-$G$9:$M$9)<=$G$11:$M$11,$G$9:$M$9+IF($G$9:$M$9>F$9,-1*F$9,RANK($G$9:$M$9,$G$9:$M$9,0)-RANK(G$9,$G$9:$M$9,0)+1-$G$9:$M$9),1)),0)),0)
I'll explain it some day when I feel like it.
-F-One
Labels:
ALT + SHIFT + ENTER,
ARRAY,
CPDS,
Depreciation,
IF,
Manual Insertion,
RANK,
SUM,
SUMPRODUCT,
SYD
Tuesday, August 17, 2010
Modeling Framework
I used to have a superior (in title only; he was a dumbass) that commonly used the phrase, "level-set." As in, before we go any further, let's do some level-setting with a 30,000 foot overview. Because, you know, commercial airline pilots always use construction tools. He really was a dumbass. Anyway, taking a page out of his dumbass playbook, I'm using this post to do some level-setting of my own with regard to financial modeling and all of the important pieces. Thereafter, I can use future blog entries to heavily rain down Excel knowledge for your continued benefit.
Most readers have familiarity with the basic layout of a financial model. For those lacking that familiarity, let me borrow a trick from crappy resume-writing and just tell you the objective: to show a company's income statement, balance sheet and cash flow statement projected into the future, with the ability to change assumptions for various accounts and display their impact on each of the statements. So let's start with the basic framework of a financial model, which a VP once told me is not much different from a fine-tuned automobile:
How much do you think your dream car would skimp on any of the above-mentioned items? If it does at all, then improve your imagination. You can't have a shitty steering wheel or axes if you want your car to get around and change directions. You also don't want paint peeling off the side doors. And if it's Asian-chick-proof, it's not a car, it's a cement block (assuming they don't know martial arts). By the way, why do car salesmen say "side doors" when talking about sedans? All doors are on the F'ing side. Front and rear doors? I don't see anyone climbing into their seats through the hood.
But enough nonsense. For a model to work mechanically (disregarding how realistic the numbers may be), you need acertain number of inputs (they only need to be numbers to start off), and the rest of the model will all be calculations based on these inputs. At the most advanced levels, these inputs become models within themselves, driven by many underlying functions and assumptions. For example, a basic model may show revenue as $100 million for each of the next five years. However, a slightly more advanced model will show revenue as a function of annual growth percentages. Further, a complex model may show revenue as a function of several individual customers or accounts, with each based on numerous assumptions for price, volume, market size, etc.
So here is the basic framework, along with which inputs will drive the model. Again, many future posts will be dedicated to transforming these numbers into more complex, functional formulas.
Income Statement
-F-One
Most readers have familiarity with the basic layout of a financial model. For those lacking that familiarity, let me borrow a trick from crappy resume-writing and just tell you the objective: to show a company's income statement, balance sheet and cash flow statement projected into the future, with the ability to change assumptions for various accounts and display their impact on each of the statements. So let's start with the basic framework of a financial model, which a VP once told me is not much different from a fine-tuned automobile:
- Steering wheel (controls / assumptions)
- Axes and tires (formulas / financial statements)
- Interior furnishing/paint job (formatting)
- Higher likelihood that Asian females would crash it (ditto)
Does this also mean Asian males would soup up their models with "Toyota Racing" decals and nitrous oxide engines? Cause that might be 2 fast, 2 furious. |
But enough nonsense. For a model to work mechanically (disregarding how realistic the numbers may be), you need acertain number of inputs (they only need to be numbers to start off), and the rest of the model will all be calculations based on these inputs. At the most advanced levels, these inputs become models within themselves, driven by many underlying functions and assumptions. For example, a basic model may show revenue as $100 million for each of the next five years. However, a slightly more advanced model will show revenue as a function of annual growth percentages. Further, a complex model may show revenue as a function of several individual customers or accounts, with each based on numerous assumptions for price, volume, market size, etc.
So here is the basic framework, along with which inputs will drive the model. Again, many future posts will be dedicated to transforming these numbers into more complex, functional formulas.
Income Statement
- Revenue - COGS - operating expenses = operating income
- Operating income + interest income - interest expense = pre-tax income
- Pre-tax income - taxes = net income
- Assets = cash + current assets (accounts receivable, inventory, prepaid expenses, etc.) + long-term assets (PP&E, etc.)
- Cash = previous year's balance + net cash flow
- PP&E = previous year's balance + capital expenditures - D&A
- Liabilities = current liabilities (accounts payable, deferred revenue, etc.) + debt + long-term liabilities
- Debt = previous year's balance + debt issuance - debt repayment
- Shareholders' equity =
- Retained earnings = previous year's balance + net income - dividends
- Share capital (is this what you call it? I got fired from an accounting internship) = previous year's balance + stock issuance - stock repurchase
- Assets = liabilities + shareholder's equity
- Cash flow from operations = net income + D&A - increases in working capital
- Cash flow from investing activities = - capital expenditures
- Cash flow from financing activities = debt issuance - debt repayment + stock issuance - stock repurchase - dividends
- Cash flow from operations + cash flow from investing activities + cash flow from financing activities = net cash flow
-F-One
Monday, August 16, 2010
What You Need to Know About Keyboard Shortcuts
In today's New York Post, I saw this article describing the acrimonious departure of a female cook from one of Jean-Georges' restaurants. The cook recently filed a sexual harassment lawsuit, and as in all such cases these days, the defendant "went so far as to text her a picture of his manhood." At the risk of accusations that I think about this topic frequently, I am totally confounded by the picture-messaging of manhood becoming a rapidly growing trend (at least in professional sports). Just in the past year, Brett Favre, Martellus Bennett and Greg Oden, among others, have all been accused.
What the hell? Whatever happened to calling/texting a girl? Why do people engage in this nonsense? Who even enjoys it (other than this guy)? Let's assume that your target girl is head-over-heels obsessed with you. What exactly do you gain by sending a cell phone shot of your unit to her? It's not like her cell phone shapeshifts into your dong when she opens up the picture, so the chances that she'll enjoy it are minimal. Thus, let's assume the other possible scenario that the girl is NOT head-over-heels obsessed with you. No matter how well-equipped you are, at least one of these outcomes will befall your dong photo: 1) topic of ridicule among her friends/coworkers, 2) topic of ridicule among your friends/coworkers, 3) police evidence. There are no winners in autophallography.
So what do dongs have to do with Excel, you ask? Nothing, unless you use your dong to type. But I recently experienced the Excel equivalent of receiving a CPDS ("cell phone dong shot"), which was a reader sending in a photo of keyboard shortcuts taped to their cubicle. Why do I even bother to make the comparison? Like I said, the CPDS doesn't help the girl because the phone isn't morphing into a penis. Likewise, keyboard shortcuts on the page aren't typing themselves out for you. In order to get any benefit from shortcuts, you must have full, immediate access to them.
This is the end of the entry, and you've learned nothing meaningful about Excel. The next post will be overly bland and information-filled to compensate.
-F-One
They should call them Wang-ler jeans. |
So what do dongs have to do with Excel, you ask? Nothing, unless you use your dong to type. But I recently experienced the Excel equivalent of receiving a CPDS ("cell phone dong shot"), which was a reader sending in a photo of keyboard shortcuts taped to their cubicle. Why do I even bother to make the comparison? Like I said, the CPDS doesn't help the girl because the phone isn't morphing into a penis. Likewise, keyboard shortcuts on the page aren't typing themselves out for you. In order to get any benefit from shortcuts, you must have full, immediate access to them.
=IF(dongshot=1,0,1) |
-F-One
Friday, August 13, 2010
Dating in Excel
You might think this entry is about the time I tried to pick up Mrs. F-One with some cool OFFSET formulae. But it's not. I'm just trying to exhaust every known Excel pun in the universe, and I'll warn you that there's another one coming before this post ends. The "dating" to which I refer is actually the labeling of time periods in models, so 2009, 2010, 2011, etc. For example:
This is how you lay out dates in your model if you are a child that colors with crayons. By the way, if you watch a lot of TV, you have probably seen some ads for the movie Ramona and Beezus, during which Ramona gets props for "coloring outside the lines." Supposedly that saying is analagous to creativity or being a free spirit, but what the hell does it even mean? Regardless of your personality/disposition, if you fully color an entire illustration, don't you NEED to color outside of the lines in order to reach every area of the page? Or does it mean scribbling colors wrecklessly and ignoring the lines that separate distinct objects and different colors? Sure, maybe you color that way and happen to be a free spirit, but the only thing it actually guarantees is that you suck at coloring, and might be developmentally handicapped.
Let's move beyond the crayon age. Your computer's microprocessor performs billions of operations per second, so try letting it do a bit more than count from 2009 to 2015:
The format I've suggested above is not the ultimate date format for financial modeling, but should provide you a base to add further bells and whistles. It will also prevent your seniors from victimizing you with annoying questions like, "Which periods are actual?" and, "What is the fiscal year end?" Or as the senior bankers might threaten you, "WHAT IF YOU SHOWED THIS TO A CLIENT?!?!" After all, clients have been known to open every pitchbook and instinctively identify minorly unclear date formats.
Sounds like a lot of fun right? If you think dating in Excel is fun, just wait until the lesson on punishing!
-F-One
These are dates? They tell me nothing! |
In next summer's sequel, Ramona hides from her Asian foster parents, who decide her inability to color "within the rines" has earned her bitch ass two months at math camp. |
- In cell B6, enter the number of months per projection period (obviously 12 for an annual model and 3 for a quarterly model)
- In cell B7, enter the last date for which actual/historical numbers are available (12/31/09 for simplicity)
- Starting in cell F6, enter in the first time period in your model (12/31/09 is fine), with custom number format mmm dd,
- In G6, enter the function =+EOMONTH(F6,$B$6); this function automatically returns the last day of a given month in a given year based on an input date and a specific number of months following the input date
- Drag the formula in G6 through to L6
- In F7, enter the function =+YEAR(F6)&IF($B$7>=F6,"A","E"); the YEAR function identifies the year number of a given date, and the IF function determines whether the projection period is historical/actual (A) or projected/estimated (E)
- Drag the formula in F7 through to L7
The format I've suggested above is not the ultimate date format for financial modeling, but should provide you a base to add further bells and whistles. It will also prevent your seniors from victimizing you with annoying questions like, "Which periods are actual?" and, "What is the fiscal year end?" Or as the senior bankers might threaten you, "WHAT IF YOU SHOWED THIS TO A CLIENT?!?!" After all, clients have been known to open every pitchbook and instinctively identify minorly unclear date formats.
Sounds like a lot of fun right? If you think dating in Excel is fun, just wait until the lesson on punishing!
-F-One
Subscribe to:
Posts (Atom)