learn-finance-with-phoebe / Practitioner session 2 of 10
Learn Finance with Phoebe · Practitioner session 2 of 10

The income statement

Ten lines, in an order that is not decorative. Each line subtracts one kind of cost from what is left of the one above it, so where a cost sits changes which subtotal it damages even when it leaves net income untouched. Marchmont starts at revenue of £400,000 in month 1 and finishes month 1 with net income of £14,062. By month 12 revenue is £615,782 and net income is £63,370, and it rises in every month in between. That bottom figure is the one quoted in every meeting the company holds. In the same month 12 the bank balance is minus £47,261. Both come out of the same ten lines.

🟢 Hands on Analysts who build the model Anyone who signs off a P&L 45 min
0-4 · Welcome 4-26 · Ten lines, one at a time 26-54 · Build-along: print it, move it 54-60 · Q&A
Part 0

Where this sits in the model

Session 1 put two wires in: net income into equity, the change in cash into the cash line. Today walks the first of those wires from the top. Revenue, cost of sales, gross profit, operating expenses split fixed and variable, EBITDA, depreciation, EBIT, interest, tax, net income. Ten lines, each with a job, each with somewhere that judgement enters. Session 3 is working capital and the three dials that turn these lines into a cash position. Session 4 builds the cash flow statement that connects them. The company is Marchmont Instruments and the engine is assets/fin-live.js, loaded on this page.

Live = run together in the session Self-study = the full depth, after class 🔍 Every diagram zooms

★ What you walk out with today. The ten lines in order, and the ability to say for any cost which subtotal it lands in and which it does not. The three places judgement actually enters, which are revenue recognition, the cost of sales boundary and the depreciation life. The argument about EBITDA, from both sides, unresolved. And the month 12 pair that makes the practitioner point: net income £63,370 against a bank balance of minus £47,261, in the same month, from the same transactions.

LiveWhy the order matters more than the lines5 min▶

An income statement is a single subtraction repeated nine times. Every line takes one category of cost off the running total and publishes the remainder under a name. The names are the useful part: gross profit, EBITDA, EBIT and net income are four answers to four different questions, and they exist as separate subtotals because different people need to stop reading at different points.

The consequence is that moving a cost from one category to another changes several subtotals while leaving net income identical. That is not a loophole, it is the arithmetic working as designed, and it is the first thing to check when two people quoting the same business quote different margins.

Real world

Marchmont employs a quality engineer who signs off every instrument before it ships. Put that salary in cost of sales and gross margin falls. Put it in operating expenses and gross margin holds while EBITDA falls by the same amount. Net income is the same figure either way, and both treatments are defensible.

Self-studyThe fields on a row, and how to get one4 min▶

Every income statement line is a field on a row. One call returns them all, and there are no stored results anywhere in the course.

consoleconst m = MARCHMONT.run({}, 12); const r = m.rows[0]; r.revenue r.cogs r.grossProfit r.opex r.ebitda r.depreciation r.ebit r.interest r.tax r.netIncome

The assumptions that drive them are on MARCHMONT.BASE and any of them can be overridden per run.

assumptions used todaystartRevenue 400000 month 1 revenue, in pounds growth 0.04 month on month revenue growth grossMargin 0.42 opexFixed 95000 salaries, rent, the things that do not flex opexVariable 0.11 as a share of revenue taxRate 0.25 interestRate 0.09 annual, on drawn debt openingDebt 300000 openingNetFixed 480000 opening net book value of fixed assets depreciationLife 60 months

No credentials of any kind are involved. If an example ever needs one, the string is the word placeholder.

Part 1 · covers the ten lines

Ten lines, in a fixed order

12 min live

Read down the ladder once and the shape of every income statement you will ever be handed is on the page. The formulas are the engine's own, so a figure on any later page can be traced back to one of these rows.

Line, formula as the engine writes it, and what it is for. Revenue revenue x (1 + growth) Month 1 £400,000, month 12 £615,782 Cost of sales revenue x (1 - grossMargin) grossMargin 0.42. Materials and build = Gross profit revenue - cogs What is left to pay for everything else Operating expenses opexFixed + opexVariable x revenue £95,000 flat, plus 11% of revenue = EBITDA grossProfit - opex Trading, before the four lines below Depreciation netFixed / depreciationLife 60 months. No money leaves the bank = EBIT ebitda - depreciation Operating profit, machines included Interest debt x interestRate / 12 9% a year on drawn debt. Financing Tax pretax x taxRate, zero on a loss taxRate 0.25. pretax = ebit - interest = Net income pretax - tax Month 1 £14,062, month 12 £63,370 Four subtotals, because four people stop reading in four different places. Gross profit, EBITDA, EBIT and net income answer different questions. Quoting one as if it were another is where most arguments start.
🔍 Click to zoom - every formula here is the line the engine actually runs, which is why a number on any later page can be traced back to a row.
LiveThe same ten lines, priced3 min▶

The formulas above, run. Month 1 is the first month of the base case and month 12 is the last month before the first year closes. Reading down either column is the whole statement, and reading across is what a year of 4 percent monthly growth does to each line.

Month 1Month 12
Revenue£400,000£615,782
Cost of sales-£232,000-£357,153
Gross profit£168,000£258,628
Operating expenses-£139,000-£162,736
EBITDA£29,000£95,892
Depreciation-£8,000-£9,149
EBIT£21,000£86,743
Interest-£2,250-£2,250
Tax-£4,687-£21,123
Net income£14,062£63,370

Revenue grew by 54 percent over the eleven months and net income grew by 351 percent, because the fixed £95,000 of operating expenses and the £2,250 of interest did not grow with it. That is operating leverage, and it is the reason the profit line looks so healthy at exactly the point the cash position is failing.

LiveRevenue, and the moment a sale becomes a sale4 min▶

Revenue is what the business earned in the period, whether or not anybody paid. Marchmont despatches an instrument, raises an invoice, and the revenue belongs to that month. The customer has 75 days. Nothing about that gap appears anywhere on this statement, which is the single most important thing to know about the top line.

What it decides. Whether a product line is growing, what the sales team is measured on, and the base that almost every other ratio is divided by. Where judgement enters. The moment of recognition. An instrument sold on its own is easy. An instrument sold with installation, calibration and a twelve month service contract is one price covering three things delivered at three different times, and splitting it is a decision somebody has to make and defend.

Real world

Two finance teams at two instrument makers can book identical contracts and report different revenue in the same quarter, entirely legitimately, because they split the service element differently. Comparing their growth rates without asking is comparing two policies.

LiveCost of sales, gross profit, and the boundary people argue about4 min▶

Cost of sales is what it cost to produce the specific things sold in the period. In the engine it is one multiplication, revenue x (1 - grossMargin), because gross margin is an input here. In a real business gross margin is an output: it is whatever is left after the costing decisions, and the costing decisions are arguable.

Gross profit is what survives. A grossMargin of 0.42 means 42 pence in every pound of revenue is still available once the instrument itself has been paid for, and everything below this line has to come out of those 42 pence.

What it decides. The pricing floor, how much discount a salesperson can give away before a deal stops being worth doing, and whether a product line earns its shelf space. Where judgement enters. The boundary. Factory rent is usually above the line. The quality engineer is arguable. The customer support team who talk buyers through a calibration are arguable in the other direction. Whoever sets that boundary sets the gross margin, and the margin then gets compared against competitors who drew it somewhere else.

Self-studyEBITDA, and the argument that does not settle5 min▶

EBITDA is gross profit less operating expenses: earnings before interest, tax, depreciation and amortisation. It is the most quoted subtotal in business and the most contested, and the argument is worth carrying around unresolved rather than picking a side and forgetting there was one.

The case for it. Interest depends on how a company chose to fund itself. Tax depends on which country it sits in. Depreciation depends on a policy somebody wrote down about how long a machine lasts. None of the three tells you anything about whether the business is good at making and selling instruments. Strip them out and two companies become comparable on the only thing being compared, which is operations. On this reading EBITDA is not a trick, it is the correction that makes the comparison honest.

The case against it. Marchmont's instruments are built on machines, and machines wear out. Depreciation is the cost of that wearing out, spread across the months that benefit from it. Reporting profit before it is reporting profit before a real cost, and the reason the measure is popular is that it is the flattering one. There is a harder version of the objection: EBITDA is routinely described as a proxy for cash generation, and it is not. Marchmont's month 12 net income is £63,370, so every subtotal above it is positive, and its operating cash flow that month is minus £427.

Both cases are right about something. The practical move is not to resolve them but to notice which one the person quoting the number is making, and to ask for the depreciation charge whenever EBITDA arrives on its own.

Part 2 · covers the cost structure

Fixed does not move, and that is where the leverage is

10 min live

Operating expenses are one line in the statement and two completely different things in the business. £95,000 of it does not care what revenue did. The rest is 11 pence in every pound sold. Draw month 1 and month 12 side by side and the consequence is visible without any arithmetic.

One revenue pound, split four ways, in two different months. month 1 · £400,000 month 12 · £615,782 Cost of sales revenue x (1 - grossMargin). Scales with every pound sold. Variable operating expenses 11% of revenue. Scales too, at a different rate. Fixed operating expenses £95,000. Identical in both bars, which is the point. EBITDA What is left. It grows faster than revenue did. Operating leverage is just a slab that refused to grow. It runs the other way with equal force. Revenue falls, the fixed slab stays, and the top of the bar disappears first.
🔍 Click to zoom - the fixed slab is drawn at the same pixel height in both bars because it is the same £95,000 in both months.
LiveThe split is a model, not a fact4 min▶

The engine writes operating expenses as opexFixed + opexVariable x revenue, which makes the split look like a property of the business. It is a description of a range. A sales commission really is variable. Rent is fixed until the lease ends and then it is a negotiation. A sales manager is fixed until the territory needs a second one, at which point the whole cost steps up at once and stays there.

What it decides. What a growth plan actually costs, and how far revenue can fall before the business is in trouble. Both of those questions are answered by the fixed slab and neither is answered by the total. Where judgement enters. The boundary again, and the range over which the split is even true. A model that says opex is £95,000 plus 11% is telling you something useful about a doubling and something misleading about a tenfold.

LiveDepreciation, and the life nobody can check4 min▶

Marchmont bought its production equipment before month 1 and the money left the bank then. Depreciation spreads that cost across the months that benefit from the machine, at netFixed / depreciationLife, with a life of 60 months.

What it decides. Very little directly, which is part of why the EBITDA argument exists. Its real job is to stop a business that bought a machine looking permanently more profitable than one that rents an identical machine. Where judgement enters. The life. Sixty months is a choice somebody made. Choose 36 and monthly profit falls; choose 120 and it rises. Same machine, same money already spent, a different reported profit, and no external party can verify which number is right because the truth depends on how long the machine actually lasts, which nobody knows yet.

consoleconst a = MARCHMONT.run({}, 12); const b = MARCHMONT.run({ depreciationLife: 36 }, 12); a.rows[11].netIncome; // the 60 month life b.rows[11].netIncome; // the 36 month life, on identical operations a.rows[11].freeCF; b.rows[11].freeCF; // predict the direction before you look
Self-studyInterest, tax, and what they are not telling you4 min▶

Interest. debt x interestRate / 12, at 9% a year on drawn debt. This is the price of the funding decision, not of the trading. Two instrument makers with identical factories, identical customers and identical EBIT will report different net income if one of them borrowed and the other did not, and the difference says nothing about which is the better business at making instruments.

Tax. 25% of pretax profit, and nothing at all on a loss. The engine is deliberately simple here and real corporate tax is not a rate multiplied by a profit: it is computed on a different profit figure, in a different order, with reliefs, timing differences and losses carried between periods. Treat the tax line in any model as an approximation flagged as one, and never as a filing position.

Net income. What the owners' claim on the business rose by this month. It is the figure that leaves the income statement and lands in equity, and it is where session 1 wired the first of the two links.

Part 3 · covers the distance to the bank

The most quoted statement is the furthest from the money

6 min live

Every line above is correct and not one of them is a bank balance. Put Marchmont's month 12 up twice, once as the income statement reports it and once as the bank saw it, and the gap is the whole reason there are three statements.

Marchmont, month 12, from both ends of the same books. On the income statement Revenue £615,782 Net income £63,370 Better than every month before it Nothing on this panel is money. At the bank Operating cash flow -£427 Free cash flow -£18,901 Cash at the end of the month -£47,261 Every figure here is money. Same month, same transactions, two panels that would lead to opposite decisions. The income statement is the one that gets circulated, and it is the one that answers the question nobody in a cash meeting is asking.
🔍 Click to zoom - neither panel is wrong. Sessions 3 and 4 account for every pound of the distance between them.
LiveThree reasons the gap is structural4 min▶

Nothing has gone wrong. Three of the ten lines above are recorded on a different clock from the money.

  • Revenue. Recorded on despatch. Collected 75 days later. In a month where sales grew, more was recorded than was collected, and the difference is sitting in a receivables balance.
  • Cost of sales. Recorded when the instrument sells. The materials were bought and largely paid for before that, and the finished instruments that have not sold yet are money already spent that no line above has charged against anything.
  • Depreciation. Reduced profit this month and moved no money at all. The money left when the equipment was bought.

The first two are working capital and are session 3. The third is the first adjustment in the cash flow statement and is session 4.

Self-studyWhat net income is actually good for3 min▶

Criticising net income for not being cash is criticising a ruler for not weighing things. It is a period measure of whether the business earned more than it consumed, on a basis that is consistent from one period to the next and roughly comparable across companies. That consistency is exactly what makes it useless for liquidity: it deliberately ignores when the money moves, because when the money moves is not the question it was built to answer.

So it is the right number for whether a product line is worth keeping, for whether a price rise worked, and for what the owners' claim is worth. It is the wrong number for whether payroll clears. Marchmont's month 12 is the demonstration: £63,370 earned, minus £47,261 in the bank, both computed from the same ten lines.

Part 4 · build-along

Print it, check it, then move a cost

28 min hands on

Six steps in the browser console on this page. MARCHMONT is already loaded, so the first call works as soon as the console opens.

Print one income statement in order

Call MARCHMONT.run({}, 12) and write out rows[0] as revenue, cogs, grossProfit, opex, ebitda, depreciation, ebit, interest, tax, netIncome. Down a page, in that order, with the subtraction between each pair visible. This is the artefact everything else in the course is checked against.

Verify every subtraction yourself

Confirm that grossProfit equals revenue minus cogs, that ebitda equals grossProfit minus opex, that ebit equals ebitda minus depreciation, and that netIncome equals ebit minus interest minus tax. All four should hold to the penny. Doing it once by hand is what stops you accepting a subtotal you have not seen derived.

Anchor on the two canon figures

Check rows[0].netIncome against £14,062 and rows[11].netIncome against £63,370. If either is out, an assumption has been overridden somewhere. Finding which one is the exercise, and it is faster than it sounds because there are only ten keys that could do it.

Prove net income rises every month

Walk the twelve rows and confirm each netIncome is larger than the one before it. Then call MARCHMONT.profitableThrough(m, 12) and see that it agrees. A statement that only ever goes up is exactly the shape that makes a cash problem invisible for nine months.

Shorten the depreciation life and watch two numbers disagree

Run with { depreciationLife: 36 } and compare netIncome and freeCF in month 12 against the base run. Profit moves a long way. Cash barely moves, and the small amount it does move is the tax the lower profit no longer pays. Say that out loud before you look, then check whether you were right.

Cut the fixed slab and reproduce the measured result

Run with { opexFixed: 80000 } out to 24 months. Twelve month net income should come to £580,631 against the base £445,631, and cash at month 12 should be £87,739 against minus £47,261. Use MARCHMONT.cumulative for the first and rows[11].cash for the second.

The habit to keep. When someone quotes a margin, ask which subtotal it came from before you compare it to anything. Gross, EBITDA, EBIT and net are four different numbers with four different boundaries, and two of those boundaries were drawn by a person who could defensibly have drawn them elsewhere.

Check yourself

Three questions

A cost of £6,000 a month is moved out of operating expenses and into cost of sales. Nothing else changes. What happens?

The statement is one running subtraction. Moving a cost between categories changes which subtotals carry it and changes nothing below the point where both categories have been deducted. Gross margin moves, net income does not, and comparing two companies' gross margins without asking where they drew this boundary compares two policies.

The depreciation life is shortened from 60 months to 36. What has happened to the business?

The money left the bank when the equipment was bought. The life is a judgement about how long the machine will be useful, and it is not independently checkable at the time it is made. A different life gives a different profit from identical operations and identical cash, which is the strongest part of the case for looking at EBITDA and the weakest part of the case for trusting it.

Month 12 shows net income of £63,370 and operating cash flow of minus £427. Which statement is correct?

Profit is a period measure of what was earned and operating cash flow is what actually moved. Marchmont's customers take 75 days and its stock is paid for before it sells, so a growing month records more than it collects by design. Session 3 accounts for every pound of the difference.

Before session 3

Homework

Thirty minutes, half in the console and half on a real set of accounts.

Mark the judgement points on a real statement

Take any published income statement and mark three things: where revenue recognition could reasonably have been done differently, where the cost of sales boundary sits, and what depreciation policy is disclosed. If the third is not disclosed, write that down, because it is a finding.

Build the working capital balances by hand

From rows[0] read ar, inventory and ap, and write down what each one is in a sentence without using the words receivables, inventory or payables. Session 3 turns those three balances into the reason the bank balance and the profit line disagree.

Covered today

What this session covers

✓The ten lines and the order they run inFour subtotals, because four readers stop in four places.
✓Revenue and the moment of recognitionRecorded on despatch, collected 75 days later, and the split on bundled contracts.
✓Cost of sales, gross profit and the boundaryMove a cost across it and gross margin changes while net income does not.
✓Fixed and variable operating expenses£95,000 that does not move, plus 11% of revenue that does.
✓EBITDA, argued from both sidesComparability against a real cost of the machines, left unresolved.
✓Depreciation, interest and taxA chosen life, a funding decision, and an approximation flagged as one.
✓Net income against the bank, in one month£63,370 earned in month 12, minus £47,261 in the bank.
◐Where the difference is sittingReceivables, inventory and payables; session 3.
◐The bridge from net income to cash, line by lineSession 4, by the indirect method.
○Valuation and multiples of any subtotalA different subject with different tools.
○Tax planning, audit and statutory filingJurisdiction specific and not the point here.
Take this with you

Cheat sheet

The order. Revenue, cogs, grossProfit, opex, ebitda, depreciation, ebit, interest, tax, netIncome.
Four subtotals. Gross profit, EBITDA, EBIT, net income. Never compare one against another.
Opex. opexFixed £95,000 plus opexVariable 11% of revenue. Only one of them grows.
Depreciation. netFixed / 60 months. A chosen life, and a cost that moves no money.
Interest. debt x 9% / 12. The price of the funding decision, not of the trading.
The boundary test. Move a cost between categories: subtotals change, net income does not.
The EBITDA question. "And what was the depreciation charge?" Ask it every time.
Month 12. £63,370 of net income, minus £427 of operating cash flow, minus £47,261 in the bank.