How to Test Whether a Moat Is Eroding: Which Line to Read
Seven tests, each with a pass and a fail condition, run on figures a business already publishes. Name the gap and its comparator, or stop. Read the price side margin before the bottom line. Locate any movement before naming it. Separate whether a buyer still buys from whether it still pays. On Anjani Stationers three pass, two cannot be established, and two fail, the second of them locating the movement inside the business.
An analyst opens a set of accounts, sees a margin lower than last year, and writes the sentence: margins are compressing, the moat is eroding. The sentence is written thousands of times a year, and it is usually written from one line. A moat erosion test stops it being written from one line: the test puts six other readings around that one and gives every reading a condition it can fail.
A moat and a barrier to entry are both defined under The Sources of Competitive Advantage. Where an advantage lives in the first place is covered separately under Cost Leadership vs Differentiation. A moat erosion test does one job: it asks whether the advantage already named is still there.
What does a moat erosion test actually test?
Start with the object. The object is what everybody gets wrong. A moat is a gap. A gap is always a gap against somebody, or against something named. So erosion means that gap closing. The term itself was popularised by Warren Buffett writing to his shareholders, and it has been useful for forty years precisely because it names a distance rather than a level.
A number falling is a different object from a gap closing, and the whole procedure exists to keep the two apart. A number can fall because a landlord raised the rent. A gap closes because somebody else got closer. The rent rise and the rival closing in look identical on a single line of a statement, and they call for completely different sentences.
Consider it outside a set of accounts first. A tuition class charges Rs 800/- a month. Everybody else on the street charges Rs 1,000/-. The Rs 200/- is a gap, and it is a gap against a named comparator, the other classes on the street. Now suppose that class's monthly takings drop. Did the whole street drop to Rs 800/- too, and the gap close with it? Or did four students move house? Both show up as smaller takings. Only the first one is erosion.
What does a moat erosion test actually test?
What has to be true before the first step runs?
Three things, and they are worth stating because each one rules out a way this could go wrong.
The first is already in hand. Erosion is a gap closing rather than a number falling, and that distinction is what makes a test possible at all. Anjani Stationers Private Limited, an invented maker of hard-bound registers whose two published trading years supply every figure below, is the proof of it. Its bottom line margin fell 6.71 percentage pointsThe plain difference between two percentages. A figure moving from 22.08 per cent to 15.37 per cent has moved 6.71 percentage points. The movement is a subtraction and not a division. in a single year, in a year in which the share of each rupee of sales that survived its variable costs did not move at all.
The second is about the accounts themselves. Two margins sit on one statement, they subtract different things, and so they answer different questions. One of them moves when what the business charges moves, or when an input rate moves. The other moves when anything at all moves, including a great many things nobody outside the business did. The exact list of what each one subtracts is set out on Gross Margin vs Contribution Margin: What Each Subtracts.
The third is the rule that keeps a procedure from turning into a mood. Every step has to be runnable on what is actually published, or it is not a step. Each of the seven below names a figure to pull, a comparison to make, and what a pass and a fail look like. Three of the seven do not come back clean on this business, and that is the point. A step that can return not established is a test. A step that can only return yes is a prompt.
Step one: what is the advantage, and what is it measured against?
The gap is named in one sentence, and the comparator in the same sentence, or the procedure stops here. Step one is deliberately brutal. Everything after it is arithmetic on something this step was supposed to establish.
| Step one | The test |
|---|---|
| What to pull | One sentence naming the gap, and naming the thing the gap is measured against. |
| Passes if | Both can be named. The figure then carries forward into the rest of the procedure. |
| Fails if | There is a figure and no comparator. The fail is terminal for that figure: there is nothing to test for closing, because nothing was established as a gap. |
| On Anjani Stationers | NOT ESTABLISHED. |
Anjani Stationers has a real operating gap that appears in no statement it files. Its conversion yieldThe share of the output a batch of input could have produced that it actually did produce. How it is built, and what spoilage does to it, are set out on Throughput. is 70.42 per cent, and how that figure is constructed is set out on Throughput. Here is the trouble. The yield is measured against perfect conversion of five registers to a ream, and perfect conversion is a ceiling rather than a rival. No other maker's yield is on record anywhere, so the yield is measured against no rival at all. The sentence step one asks for cannot be completed. The gap is against the works itself.
A procedure that cannot fail at step one is not a test. The parity question underneath this, being whether a figure is an advantage at all or simply what everybody in the trade achieves, is run at length on The Sources of Competitive Advantage. Step one states the finding and stops.
The shopkeeper version: a man says his rice is cheaper. He has said nothing yet. Cheaper than whose rice, and by how much, is the whole of the claim, and until he answers it there is no gap for anybody to close.
Anjani Stationers' conversion yield of 70.42 per cent is measured against its own perfect conversion of five registers a ream. What does step one return?
Step two: what did the price side margin do?
The price side margin is read across two periods, and it is read before anything else. The order is an instruction rather than an observation: the order is not a matter of taste, and it is not the order an analyst naturally reaches for.
| Step two | The test |
|---|---|
| What to pull | The contribution margin for each of the two periods, to two decimal places, with the two components beside each. |
| Passes if | The line did not move. No erosion is evidenced by this test, and step three now reads the bottom line beside a line that did not fall. |
| Fails if | It fell. Only then is a price story or an input rate story on the table at all, and step three reads the bottom line beside a line that did fall. |
| On Anjani Stationers | PASS. |
A margin without its numerator and denominator beside it cannot be checked by anybody, so here are the two readings with their components. Year one: contribution of Rs 1,02,60,000/- on revenue of Rs 2,40,00,000/-, or 42.75 per cent. Year two: contribution of Rs 1,15,50,000/- on revenue of Rs 2,70,00,000/-, or 42.78 per cent. The contribution marginThe share of each rupee of sales that survives after the costs that rise and fall with volume have been taken off. Exactly what it subtracts is set out on Gross Margin vs Contribution Margin: What Each Subtracts. moved three hundredths of a percentage point across two trading years. Step two passes.
Why this line and not the famous one? Because this line moves when what the business charges moves, and when what its inputs cost moves, and those two things are what a rival is actually able to do to it. The argument that a price side line holding while a bottom line falls is not evidence of competitive pressure is made in full on Competitive Rivalry: How Intensity Shapes Industry Returns. Step two uses the result.
The mirror error is worth one clause and no more: a price side margin that held is not proof that nobody outside did anything at all. The qualification belongs where the proof belongs, under Competitive Rivalry.
The tea stall version: before the stall is declared to be losing customers, the question is whether it is still charging six rupees a glass and still paying the same for milk. If both held, whatever changed is somewhere else, and that place has not been looked at yet.
Anjani Stationers' contribution margin was 42.75 per cent in year one and 42.78 per cent in year two. Before reading on, what has step two established?
Move the second period reading and watch which way step two sends the procedure
The first period is locked at the published 42.75 per cent and cannot be moved. Slide the second period reading and two things change: the verdict, and the route the procedure takes out of step two. Watch what happens at 42.74.
The default above is the published pair exactly: a second period reading of 42.78 per cent against the locked 42.75 per cent, a movement of plus 0.03 points, step two returns PASS, and the procedure goes to step three to read the bottom line beside a line that did not fall. Drop the slider one hundredth to 42.74 and the movement reads minus 0.01 points, the verdict flips to FAIL, and the arrow lands on the other box. The condition turns on the direction of the movement and not on its size, so one hundredth of a point flips it.
Step three: what did the bottom line margin do, and do the two readings agree?
Read the bottom line margin separately, then record whether the two readings agree. Separately is the load-bearing word. The bottom line is not read to find out what happened; it is read to find out whether it says the same thing the line above it said.
| Step three | The test |
|---|---|
| What to pull | The operating margin for the same two periods, with the two components beside each. |
| Passes if | It moved in the same direction and by a similar order as step two's line. The two readings agree, and step two has already given the story. |
| Fails if | It moved and step two's line did not. Whatever moved the bottom line is not on the price side, and step four goes looking for it. |
| On Anjani Stationers | FAIL. THE TWO READINGS DISAGREE. |
The components again. Year one: operating profit of Rs 53,00,000/- on revenue of Rs 2,40,00,000/-, or 22.08 per cent. Year two: operating profit of Rs 41,50,000/- on revenue of Rs 2,70,00,000/-, or 15.37 per cent. The operating marginThe share of each rupee of sales left after every cost of running the business has been taken off, before interest and tax. Its subtractions, and how it differs from the line above it, are set out on Gross Margin vs Contribution Margin: What Each Subtracts. is down 6.71 points, against a price side line that moved three hundredths of a point in the other direction.
A falling bottom line is the first thing anybody reads as erosion, and here it is nothing of the kind. Step three does not explain the disagreement and must not try. The step records two readings and whether they agree. Step four goes and locates the movement, and the reason a growing cost base pulls a bottom line further than revenue moved is set out on Operating Leverage: How Fixed Costs Amplify a Revenue Movement. The diagnosis this pair of readings supports is argued out on Competitive Rivalry: How Intensity Shapes Industry Returns.
Anjani Stationers' operating margin fell from 22.08 per cent to 15.37 per cent while its contribution margin did not move. What does step three record?
Step four: how fast did the cost base that does not move with volume grow?
Put the growth of the cost base that does not move with volume beside the growth of revenue, and compare the two rates. Not the rupee sizes. The rates. Step three produced a movement in a percentage, and only a percentage will locate it.
| Step four | The test |
|---|---|
| What to pull | The fixed cost base for each period and revenue for each period, then both growth rates. |
| Passes if | The base grew no faster than revenue. Step three's disagreement is still unlocated, and it carries forward as an open question. |
| Fails if | The base outgrew revenue. The bottom line movement sits inside the business rather than in the market. |
| On Anjani Stationers | FAIL, AND THE MOVEMENT IS LOCATED. |
Anjani Stationers' fixed base went from Rs 49,60,000/- to Rs 74,00,000/-, up 49.19 per cent. Its revenue went from Rs 2,40,00,000/- to Rs 2,70,00,000/-, up 12.5 per cent. The base outgrew revenue by a wide margin, so step four fails, and the 6.71 points step three could not account for now has a location.
A movement that is fully located inside the business is not evidence about anybody outside it. That is the whole finding, and the step stops there. Why a growing base pulls a bottom line down by more than either growth rate suggests is set out on Operating Leverage: How Fixed Costs Amplify a Revenue Movement.
Anjani Stationers' cost base that does not move with volume grew 49.19 per cent while revenue grew 12.5 per cent. What is step four's condition, and what follows?
Step five: is the buyer still buying, and is that the same question as whether it is still paying?
Ask whether the buyer is still buying, and do not let a payment answer it. These two facts arrive on the same desk, in the same conversation, usually in the same sentence, and they answer different questions.
| Step five | The test |
|---|---|
| What to pull | For the largest relationships: whether purchases continued into the current period, and separately whether payment continued. |
| Passes if | The buyer is still buying, whatever the payment record shows. |
| Fails if | Purchases stopped. A stopped purchase carries a date, which is what makes it testable, and step six then runs on a business one relationship lighter. |
| On Anjani Stationers | PASS ON THE BUYING QUESTION. |
The Sunrise Public School group has been buying from Anjani Stationers for eleven years, and each spring the order bookThe list of orders a business has received and not yet delivered against. The order book is a record of demand already committed, kept outside the statements a business files. refills without the schools being talked round a second time. On the buying question, that is a pass.
The same group also stopped paying. The stopped payment is a real fact and a serious one, and it answers a different question, so it does not enter this step's result. A stopped payment is not a stopped purchase, and only one of the two is evidence about a moat.
One limit the step has to carry. Eleven years is evidence that a switching costWhatever a buyer would have to spend, redo, relearn or risk in order to move to a different supplier. The causes of one, and how one is read, are set out on Switching Costs: Why Customers Stay Even When They Could Leave. exists. A duration is evidence that a switching cost exists and is not a measure of one, so eleven years quantifies nothing and must never be written down as though it did. Why buyers stay is argued on Switching Costs: Why Customers Stay Even When They Could Leave, and how a customer list is actually read is set out on How to Analyse Customer Concentration and Dependence. Step five only asks whether the buyers stayed.
The Sunrise Public School group stopped paying Anjani Stationers. Before reading on, what does step five make of that?
Step six: how much room is left before the advantage meets its ceiling?
For any advantage that improves with volume, pull the figure at the current volume, the figure at the rated ceiling, and the current utilisation. Three numbers, and they answer a question the first five steps cannot ask.
| Step six | The test |
|---|---|
| What to pull | The figure at today's volume, the figure at the rated ceiling, and the utilisation between them. |
| Passes if | There is room left inside the rated ceiling. The advantage has not been exhausted. |
| Fails if | The business is already at its ceiling. The fail has its own name: an advantage that has run out of room has not eroded, it has finished, and step seven is then read knowing no more is coming from this source. |
| On Anjani Stationers | PASS. |
Anjani Stationers' fixed cost is Rs 29.60/- a register at 2,50,000 registers and Rs 18.50/- a register at 4,00,000, so Rs 11.10/- a register is still unclaimed. The works is at a rated capacityThe output a plant is built and certified to produce over a period, as opposed to what it actually produced. How the percentage is built, and what it hides, are set out on Capacity Utilisation. of 4,00,000 registers with utilisation at 62.50 per cent. There is room, so step six passes. How a fixed cost spreads over volume is argued on Economies of Scale and Scope Compared, and Where Scale Stops, and how a utilisation percentage is built is set out on Capacity Utilisation.
Beyond rated capacity the base steps up rather than spreading further, so the curve stops dead at the rated ceiling and does not continue past it. A line drawn falling forever is a line this business cannot walk along.
And the room is a rate question rather than an hours question, and the two are easy to get backwards. All 4,000 line-hours were already run. Anjani Stationers made 2,50,000 registers in those 4,000 hours, or 62.5 registers an hour against a rated 100. Reaching 4,00,000 means running faster on the same hours, not running longer. That is why the picture below is drawn against registers an hour and not against hours.
Anjani Stationers' fixed cost is Rs 29.60/- a register at 2,50,000 registers and Rs 18.50/- at 4,00,000, and the works is rated at 4,00,000. What does step six return?
Step seven: how many observations of the return are there?
Pull the return for both periods, and write the base down beside each reading. Beside each, not once at the bottom. Two readings taken on two different bases are not one movement.
| Step seven | The test |
|---|---|
| What to pull | Operating profit over capital employed for each period, on the same base convention, with both bases written out and every assumed figure labelled assumed. |
| Passes if | The base did not move and both readings are reported rather than assumed. The movement is in the business rather than in the arithmetic. |
| Fails if | Either reading rests on an assumption, or the base moved. The movement is not one number, and the step returns not established rather than a figure. |
| On Anjani Stationers | NOT ESTABLISHED. |
Year one reads an assumed 44.9 per cent on an assumed capital employedThe total of the money a business has working in it, however that total is defined. Which definition to use, and what each one includes, are set out on Return on Capital Employed: Computing the Return on the Base. of Rs 1,18,00,000/-. Year two reads a reported 27.3 per cent on a reported capital employed of Rs 1,52,00,000/-. The 27.3 per cent is Rs 41,50,000/- over Rs 1,52,00,000/-. The base is up Rs 34,00,000/- between them, and one of the two readings is an assumption. The step returns not established, and it says so rather than subtracting one from the other.
A base that grew is more capital in the business and is not a worse business. The construction of the return, the choice of base, and the split of a fall between two years into the profit part and the base part are all set out on Return on Capital Employed: Computing the Return on the Base. Step seven observes a level twice and reports whether the two observations are comparable. The step sets the return beside nothing else at all.
Anjani Stationers' return on capital employed reads an assumed 44.9 per cent in year one and a reported 27.3 per cent in year two, on bases of Rs 1,18,00,000/- and Rs 1,52,00,000/-. What does step seven record?
What happens when the same seven headings are written as prompts instead of tests?
The procedure that could only return yes
Here is how a frame like this one dies, and it is not by being wrong. An analyst takes the seven headings, writes each one as a thing to consider rather than as a test with conditions, and puts a paragraph under each. Something about the yield. Something about the margins. Something about the cost base. Something about the school group. Something about the works. Something about the return.
Every paragraph is true. Every figure in them is correct. And not one of them says whether the thing passed or failed. The note is long and it is organised, so it reads as thorough, and it is not an analysis at all.
Run both versions over Anjani Stationers and the difference is visible rather than asserted. The version written as prompts returns seven paragraphs. The version written as tests returns seven states: not established, pass, disagree, fail, pass, pass, not established.
Name what the first version threw away. The loss is two separate things. First, it threw away the ability to be wrong: a heading that can only be answered with a paragraph cannot fail, and a step that cannot fail is a prompt rather than a test. Second, and this is the cost that compounds, it threw away next year. A state can be set beside the same state twelve months later. A paragraph cannot. So the analyst who wrote the paragraphs has no way of saying which of the seven moved, and will write seven more paragraphs next year with different sentences in them.
The paragraph version already contains every figure the test version uses, so the fix is not more research and it is not a longer note. The pass and the fail are written before the figure is pulled; otherwise what emerges is a paragraph instead of a result.
Two analysts run the same seven headings over Anjani Stationers with the same figures. One returns seven paragraphs, the other returns not established, pass, disagree, fail, pass, pass, not established. What does the second have that the first does not?
How would an analyst run this at a desk on Monday?
The card, worked as well as listed
An equity research analyst covering a small manufacturer gets one set of accounts a year and roughly a morning to form a view. The seven steps below are what that morning produces, with the conditions printed beside each so nothing has to be remembered, and the Anjani Stationers result beside that so the card is worked as well as listed.
The order is the argument: step three is readable only once step two has run, and step four exists only once step three has disagreed. A reader who starts at step three has read a falling margin with nothing to read it against, and that is the failure this whole procedure is built to prevent.
| Step | Passes if | Fails if | On Anjani Stationers |
|---|---|---|---|
| 1. Name the gap and its comparator | Both can be named | A figure with no comparator, and that is terminal for the figure | Not established |
| 2. Read the price side margin, two periods | The line did not move | It fell, and a price or input rate story is on the table | Pass, 42.75 to 42.78 |
| 3. Read the bottom line margin separately | It agrees with step two | It moved and step two's line did not, so step four goes looking | Fail, they disagree, down 6.71 points |
| 4. Base growth against revenue growth | The base grew no faster | The base outgrew revenue, so the movement sits inside | Fail, 49.19 against 12.5 per cent |
| 5. Still buying, and not still paying | The buyer is still buying | Purchases stopped, and that carries a date | Pass on buying |
| 6. Room left inside the rated ceiling | There is room left | Already at the ceiling, which is finished rather than eroded | Pass, Rs 11.10/- a register left |
| 7. The return, with the base beside each reading | Base unmoved, both readings reported | A reading assumed, or the base moved | Not established |
| The output | Three pass, two fail, two cannot be established. That is the finding. | ||
What comes out of the seven steps, and what never comes out of them?
The procedure produces seven readings, and here they are in one place. A gap with no comparator. A price side line that did not move. A bottom line that fell 6.71 points and disagrees with the line above it. A cause located inside the business. A relationship still buying. Room still unclaimed inside a ceiling. A return that cannot be compared across the two years.
Three of the seven are passes, two are fails, and two cannot be established, and that is the output. It is not a preliminary output. Nothing further is coming.
The temptation to take a further step is strongest at exactly this point, so here are the steps the procedure does not take. The procedure declares the moat neither intact nor eroding. The procedure says nothing about what any of this is worth, puts no price on anything, and compares the return to nothing at all. The procedure does not say whether this is a good business. Why not, in one line: the procedure reads what is on the sheet, and every one of those further steps needs a view about what happens next.
Does any of this depend on where the business sits?
India is where the legal form comes from, Private Limited being an Indian company form, and it is where the Rs X/- convention and the lakh and crore digit grouping below are read. Anything to do with how these figures must be presented or filed follows the Companies Act and the accounting standards notified under it, and those requirements must be read at their own source.
The procedure itself is fully universal. Not one of the seven steps depends on a rule, a threshold or a disclosure requirement anywhere. Each one asks for two figures a business publishes and compares them, so running it in a second market is an addition rather than a rewrite.
The procedure tests one thing: whether an advantage already named is still there.
The definition of a moat and of a barrier to entry is covered under The Sources of Competitive Advantage. Where an advantage lives in the first place is covered under Cost Leadership vs Differentiation. Why a growing fixed base pulls a bottom line further than revenue moved is covered under Operating Leverage: How Fixed Costs Amplify a Revenue Movement. The construction of a return on capital employed, the choice of base, and the split of a fall between two years into the profit part and the base part are covered under Return on Capital Employed: Computing the Return on the Base. The list of what each margin subtracts is covered under Gross Margin vs Contribution Margin: What Each Subtracts. Reading a customer list is covered under How to Analyse Customer Concentration and Dependence. Rivalry as a structural matter is covered under Competitive Rivalry: How Intensity Shapes Industry Returns.
What stands behind the figures, and what does not?
| What was leaned on | The document | Site |
|---|---|---|
| The attribution for the term in the title | Warren Buffett, annual letters to shareholders, read for the popularisation of the term rather than for any figure | berkshirehathaway.com |
| Every figure the seven steps read, across both trading years | Anjani Stationers Private Limited, two trading years as set out in earlier notes here: revenue, contribution, the cost base that does not move with volume, operating profit, capital employed and register volumes, each carried with the components it was built from. Assumed rather than reported, and marked so every time they appear: the year one capital employed of Rs 1,18,00,000/- and the year one return of 44.9 per cent, on which step seven's whole result turns | finmaverick.com |
Anjani Stationers Private Limited and the Sunrise Public School group are invented.
Educational material. Not advice on any investment, tax, budget or market position.
