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.
★ 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.
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.
The assumptions that drive them are on MARCHMONT.BASE and any of them can be overridden per run.
No credentials of any kind are involved. If an example ever needs one, the string is the word placeholder.
Ten lines, in a fixed order
12 min liveRead 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.
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 1 | Month 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.
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.
Fixed does not move, and that is where the leverage is
10 min liveOperating 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.
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.
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.
The most quoted statement is the furthest from the money
6 min liveEvery 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.
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.
Print it, check it, then move a cost
28 min hands onSix 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.
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.
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.