The Analyst's Path

Phase 4Business models, competitive strategy and moatsFinance trackM4.0420,404 words1 h 53 min of readingabout 20 hours of study7 concept pagesfree

Moats I: The Five Sources & the Numbers Test

The data says exactly this. Mauboussin's persistence studies (and McKinsey's, in Valuation) sort companies into ROIC quintiles and track them: the top quintile fades toward the middle over 5–10 years, the bottom quintile rises (bankruptcy and exit cull the…

Phase 4 · Week 39 · ~20 hours

Where it sits. You can already identify a business earning a 25% ROCE. Phase 2 also taught you that capitalism exists to destroy that number: high returns are an invitation, and competitors RSVP. This is the fourth module of the strategy-and-moats phase and the beginning of the direct answer to Question 2 of the five-questions spine, is this a good business, is ROIC durably above the cost of capital? The phase's first three modules taught you to name the revenue machine, then to measure its smallest repeatable unit, then to place it inside an industry structure and a profit pool. All three end at the same cliff edge. Only one thing keeps the competitors out: a moat, a structural barrier that keeps returns on capital above the cost of capital despite competent, well-funded competitors trying their hardest to compress them. You will learn the five sources of moats in the Morningstar/Dorsey taxonomy (intangibles, switching costs, network effects, cost advantages, efficient scale), each with its mechanism, its evidence trail, and one Indian plus one US/global worked example. You will drill the false moats (great products, hot growth, high share, execution, celebrity founders) until you can reject them on sight. And at the heart of it sits the numbers test: no moat claim survives unless it shows up as persistent ROIC/ROCE above the cost of capital across a full cycle, stable gross margins, and stable market share. The next module adds the other three lenses (Greenwald's barriers to entry, Helmer's 7 Powers, Mauboussin's Measuring the Moat and the Competitive Advantage Period); the phase's final module covers moat dynamics (the capital cycle, disruption) and the phase capstone: two full moat dossiers with numbers-proof. By Phase 8 all of it compresses into teardown question 6, is there a moat?, answered in about ten minutes with a source claim and an ROIC chart.

Suggested hour budget. Core content: 8h · worked examples: 2h · practice set (the 10 evidence packets): 4h · applied mini-project (the moat evidence table): 4h · flashcards + mastery check: 2h.

App link. This module seeds the moat-classification drill deck in the Industry & Business Model branch. That deck is the module's gate (≥85%): evidence packets in, source-or-false-moat verdicts out, against the clock. It also seeds the "build the evidence table" challenge (10 years of synthetic financials in, moat verdict out, graded against known ground truth) and contributes the five-sources section of the Mental-Model & Moat Checklist artifact (completed in the phase's final module).


Advertisement

Learning objectives

By the end of the week you can:

  1. Define a moat precisely as a structural attribute of a business that keeps returns on invested capital above the cost of capital despite active competition, and explain, from the economics of entry and mean reversion, why high returns without such a structure must fade.
  2. Classify any claimed advantage into the five sources: intangibles (pricing-power brands, patents, licenses), switching costs (financial, procedural, relational), network effects (direct, indirect/two-sided, data), cost advantages (scale, process, location/resource), efficient scale. Hybrid cases included, and state each source's mechanism in one sentence.
  3. Separate brands that confer pricing power from brands that are merely known, using the willingness-to-pay test and the gross-margin-through-an-input-cycle evidence: the Asian Paints/Coca-Cola versus airline-brand contrast.
  4. Reject the five false moats on sight (great product, hot growth, high market share, execution, celebrity founder) by asking the one structural question each fails: what, specifically, stops a rational, well-funded competitor?
  5. Run the numbers test on any moat claim: build a 10-year evidence table (ROIC/ROCE vs the cost-of-capital hurdle, gross-margin stability, share stability, cash conversion, incremental ROIC) and deliver a verdict of confirmed / unproven / contradicted.
  6. Compute and interpret the key quantities: ROIC = NOPAT / Invested Capital, ROCE = EBIT / (Equity + Net Debt), the ROIC−WACC spread, and incremental ROIC = ΔNOPAT / ΔInvested Capital as the direction signal.
  7. Judge moat width and direction: grade a moat none/narrow/wide from spread size and evidence length, and read widening/eroding signals (price hikes sticking vs discounting, retention trends, incremental vs average ROIC, entrant behavior, regulatory shifts), including cases where a real moat is being actively breached (paints post-Birla Opus, telecom post-Jio, card networks post-UPI).
  8. Run the §6.1 moat quick-test inside a teardown: five sources checked, confirmed or rejected by the ROIC record, in ten minutes.

Prerequisites & connections

Builds on. M2.03, ROIC/ROCE as the master test, and the course's illustrative hurdles (~12% for INR cash flows, ~8 to 9% for USD, as of mid-2026; check against your own M3.03 WACC builds). M2.04, cash-conversion checks (CFO/EBITDA, FCF/PAT). A moat made of receivables is not a moat, so the numbers test imports Phase 2's accrual-quality checks whole. M3.04 and M3.05, value drivers: g = reinvestment rate × ROIC, and the McKinsey key-value-driver logic that growth creates value only when ROIC > WACC. A moat is the thing that decides how long that spread survives, which M4.05 will formalize as the Competitive Advantage Period. M4.01 and M4.02: you must be able to name the profit engine and its unit economics before you can say what a moat protects. M4.03, Porter's forces and profit pools: a moat is what makes a company's position in the profit pool defensible, and entry barriers (Porter's second force) are where M4.05's Greenwald lens will collapse everything.

Feeds forward. M4.05 runs three more lenses over the same companies. If the five-sources verdict and Greenwald's share-stability test disagree, you will learn to trust the numbers. M4.06 asks how moats change (capital cycle, disruption) and grades the phase capstone: two moat dossiers, one Indian and one US, with full numbers-proof. The evidence table you build in the mini-project here is the dossier's spine. Phase 5's seventeen sector playbooks each name the sector's characteristic moat (or its absence). Phase 8's teardown question 6 and the 8-line output's "moat (source + strength)" line are all of this under a stopwatch. Competency C4 in the master map, which is to identify moat existence, source, width, direction, and prove it in the numbers, is built here and in M4.05–M4.06.

The short version. High returns on capital are a magnet for competition, so the only returns that persist are those protected by structure: an intangible, a switching cost, a network effect, a cost advantage, or efficient scale. Every claimed structure must be confirmed or rejected by ten years of ROIC, gross margin, and market share, because stories lie and the numbers eventually don't.


Core teaching content

Economic moat

Moat: A structural feature that lets a business earn returns above its cost of capital for a long time without competitors taking it away. Five sources recur: network effects, switching costs, a durable cost advantage, intangible assets such as brand or licence, and efficient scale in a market too small for two. Persistence is the measurement. A high return for one year is just a good year. Keep it up for fifteen and you're looking at a moat.

6 min read, on its own page

2. Source 1: Intangibles: brands with pricing power, patents, licenses

An intangible moat is anything non-physical that lets the company do one of three things. It can charge a premium for an objectively similar product. It can be chosen by default, which lowers the customer's search cost. Or it can legally exclude competitors. Intangibles come in three families.

(a) Brands, but only brands that change customer behavior. Drill this distinction harder than any other. It's the most commonly botched call in all of moat analysis.

A brand is a moat only if it confers pricing power or habitual default choice. A brand that is merely known is an advertising expense, not an asset.

Ask one question: would the customer pay more, or reliably choose it without comparison shopping, versus a functionally identical alternative? For Coca-Cola the answer is yes. A cola at a restaurant is chosen by name. The Coca-Cola Company converts roughly $47bn of revenue into ~60% gross margins and ~30% operating margins on a concentrate model, and it has raised price per case nearly every year for decades with volumes intact. Those figures are illustrative, at ~2024 scale, so pull the actual 10-K. That's behavior change you can see in the numbers.

Now the counter-case, airline brands. Everyone knows IndiGo, Delta, United, Emirates. Almost nobody pays ₹500 extra for the name on an identical route-time-price screen. Flyers sort by price and schedule. So a century of airline brand-building coexists with cumulative industry returns below the cost of capital. Being known doesn't make a brand powerful. Awareness is the input and willingness-to-pay is the output, and only the output is a moat. You'll meet this again in the sector playbooks' airline chapter: commodity product + no pricing power + high operating leverage.

Worked example (India): Asian Paints. Here the claim is India's dominant decorative-paints brand plus an unmatched dealer and distribution system. Its mechanism is really a braid. One strand is the intangible, a brand trusted by both the painter-contractor and the homeowner. Woven through it are switching-cost and scale strands: tinting machines placed in ~1.6 lakh dealer outlets, and dealer replenishment 3 to 4× daily off a legendary demand-forecasting engine. On the behavior test, Asian Paints has historically taken small price increases that stick, often several a year in inflationary stretches. Dealers give it shelf and working-capital priority too.

Treat these numbers as illustrative, modeled on ~FY24/FY25 scale, and pull the actual annual report. Revenue is ~₹34,000 to 35,500 crore. Gross margins have stayed in a ~38 to 44% band through crude-oil cost cycles. That's telling. Titanium dioxide and monomers are crude-linked, so a brand without power would see gross margin whipsaw with inputs. EBITDA margins run ~17 to 23%. ROCE has held roughly in the mid-20s to mid-30s percent for two decades, against a ~12% INR hurdle, and share of the organized decorative market has been ~52 to 55% for many years. That's what a confirmed intangible moat looks like: a mechanism plus a long, boring, beautiful numbers trail.

Keep the FY25 wrinkle in mind, though. Birla Opus entered. Share slipped and margins compressed. You'll come back to it when you read a moat's direction.

(b) Patents. A patent is the state granting you a temporary legal monopoly. It's the purest exclusion there is, and the most upfront about its own expiry. It excludes identical competition for ~20 years from filing, which works out to ~8 to 12 commercial years for a drug after trials. The evidence shows up as pricing far above marginal cost with stable share until the cliff. And the cliff is the point. AbbVie's Humira did ~$21bn of peak global sales (2022). US biosimilars arrived in 2023, and sales roughly halved within about two years (illustrative; pull AbbVie's 10-K).

Nobody had to out-invent AbbVie. The expiry date opened the door.

So a patent is a real moat with a published demolition date, and the analytical questions follow from that. How many years are left on the key molecules, and what share of EBIT depends on them? Then check whether the company has a portfolio and a pipeline or a single aging molecule. Novo Nordisk and Eli Lilly in GLP-1s show the first kind, with overlapping patent estates plus manufacturing scale. A one-patent company is a bond with a balloon maturity. It isn't a franchise.

In India the story runs the other way. Most Indian pharma is generics, the business of attacking patent moats once they expire. So Indian generic makers' US realizations erode 5 to 10%+ a year, and their own moat claims (if any) rest on cost or complex-manufacturing capability and not on intangibles.

(c) Licenses and regulatory approvals. A license is a moat when the state limits how many may operate and leaves pricing free. Rating agencies (SEBI-registered in India, SEC-designated NRSROs in the US), exchanges, depositories, airport concessions all qualify. One nuance matters more than the rest. A license that comes with price regulation caps your returns by design. The regulator giveth the barrier and taketh away the pricing. IRCTC has a literal monopoly on Indian rail e-ticketing, but the government has repeatedly reset its convenience fees. So the license is real, but its width is at the regulator's pleasure. Always ask one thing of a license moat: who sets the price, the company or the grantor?

Evidence trail for intangibles (where to look). Start with gross margin through an input-cost cycle, which is your best brand test. Then set realized price and mix disclosures against volume growth. FMCG companies disclose value and volume growth separately, and a brand moat shows both rising. Watch A&P spend as a share of sales. A real brand can hold share without escalating ad spend, while a weakening one buys share. Patent claims need the expiry schedules and revenue concentration by molecule from the 10-K (Business and Risk Factors). For licenses, read the pricing terms in concession agreements and regulatory orders. Then set unaided-preference and market-share data against the price premium.

A premium and share means power. Share only at parity pricing means familiarity.

Switching costs

Switching costs: What it costs a customer to move to a competitor, counted in money, time, risk and retraining. Enterprise software embedded in a company's workflow has high switching costs because the migration risks breaking something that works. Retention is the observable proof. Net revenue retention above 120% at a software company is a measurement of switching costs, and low churn at flat prices means the same thing. If you can raise prices without losing customers, that's the sharpest test there is.

5 min read, on its own page

Network effects

Network effects: A product that becomes more valuable to each user as more people use it, which makes the leading position self-reinforcing. Exchanges and payment networks are the classic examples, as are marketplaces. How strong the effect is varies enormously. A global network where every user values every other is very strong; a local one, such as food delivery in a single city, has to be won market by market and can be attacked market by market.

6 min read, on its own page

Cost advantage

Cost advantage: Producing the same thing more cheaply than anyone else, durably. A low-cost airline operating at ₹2.45 per available seat kilometre against a competitor's ₹2.90 has a 45 paise structural advantage, which in an industry with a 20 paise margin is decisive. Forty-five paise sounds like nothing until you set it against that margin. Everything depends on durability. Advantages built on process or scale tend to last, and so do those built on location.

6 min read, on its own page

Efficient scale

Efficient scale explains why, in some markets, competition rationally never shows up. It needs one condition. The market is limited, by geography, by niche demand, by regulation, relative to the minimum efficient size of a competitor. One or two players can serve the whole market at good returns. A third entrant would add capacity the market can't absorb. Prices and returns would crash for everyone, including the entrant itself. A rational, well-funded potential entrant runs that pro-forma and stays out. So the moat is the entrant's own spreadsheet.

5 min read, on its own page

7. False moats: the five imposters, each with a body count

Every false moat fails the same structural question: what, specifically, raises the cost for a rational, well-funded competitor to take this customer? Suppose your plain answer is "nothing, they'd just have to build a good product / spend money / execute well." Then there's no moat. Building products, spending money, and executing well is what competitors do for a living.

Drill these five until rejecting them is reflex.

False moat 1: A great product. Product excellence is table stakes that decay. It draws competitors in instead of keeping them out, and it can be copied, leapfrogged, or commoditized. Take GoPro in the US. Its cameras were superb, its brand defined a category, and it reached ~$11bn of peak market value within months of its 2014 IPO. Nothing stopped smartphone cameras from below or cheap clones from beside. The stock lost roughly 90% within two years as growth stalled and margins collapsed (illustrative; pull the filings). Fitbit's and Peloton's hardware tell the same story.

India's version is Micromax. Around 2014 it was India's #1 smartphone brand by units, briefly out-shipping Samsung locally, on a clever value proposition. Then came the 4G transition, and Chinese entrants (Xiaomi, Oppo, Vivo) with deeper pockets and faster supply chains. Within ~3 years Micromax had been erased from relevance. A product wins customers. Only a structure keeps them. In the numbers, the tell is spectacular growth and margins with a short history, no retention/lock-in evidence, and gross margins that crumble the moment a credible rival ships.

False moat 2: Hot growth. Growth is an outcome, and without a spread it's a value-destroying one. Growth with ROIC < WACC just makes the hole deeper faster. Demand surges also mislead. They're often pull-forwards or fashions. Peloton is the US cautionary example. Pandemic demand was read as structural. Capacity and inventory were built for a TAM that evaporated. A peak value of ~$50bn in early 2021 fell ~95% within two years. Its subscription retention was good, but retention on a shrinking installed base gives you a smaller boat. It doesn't give you a moat.

In India, look at Paytm. It showed extraordinary user and GMV growth into its 2021 listing, India's largest-ever IPO at the time. But that growth rode zero-MDR UPI rails. It was volume without a toll, with negative unit economics in the core, and the stock fell ~75% within a year.

Ask this of every growth story: growth of what, earning what spread, behind what wall?

False moat 3: High market share. Share is a photograph of the past. On its own it keeps nobody out in the present. It matters only when it activates a mechanism: scale costs, density, network effects. Share without a mechanism is just a bigger target. Nokia is the global cautionary example. In 2007 it had ~40% of global handsets, a fortress balance sheet, the industry's best distribution. Then the iPhone/Android platform shift reset the basis of competition, and the share meant nothing. Within six years the handset business was gone (sold).

Kodak owned film. Its moat was in the chemistry and not in the customer, and digital dissolved it.

India's example is BSNL. A literal former monopoly with 100% share, it's now a fiscal ward. In white goods, Voltas's long-held #1 position in room ACs has been ground down by Lloyd and others discounting through the same dealer channel. Share falls a few points a year while trade discounts rise. That's the signature, and the Greenwald lens formalizes it later: share churn >~2%/yr = weak barriers. When you see high share, don't ask "how high?" Ask "held by what?"

False moat 4: Execution / operational excellence. Running hard isn't a wall, because the competitor can run hard too. Operational excellence produces temporary leads. They persist only if they crystallize into a structural source. Toyota's TPS became process power, but most "great execution" doesn't. Jet Airways is India's cautionary example. For two decades it was India's best-run full-service airline by reputation and product, and it ceased flying in 2019. Excellence inside a structurally moat-less industry (commodity product, no pricing power, brutal operating leverage, powerful input suppliers) compounds nothing.

In the US, Bed Bath & Beyond was a category-killer celebrated for merchandising and store operations through the 2000s. Then e-commerce reset retail's cost and convenience frontier. There was no lock-in, no cost structure, no intangible to slow the bleed. It went bankrupt in 2023. IndiGo is the near-exception that proves the rule. It executes brilliantly and owns a real unit-cost advantage: fleet commonality, order-book scale, aircraft utilization, lowest CASK in its market, ~60%+ domestic share. Grade it as a narrow cost moat in a terrible industry. The industry still caps the width, so even IndiGo's returns swing violently with fuel and fare cycles. Execution is the ante. Structure is the edge.

False moat 5: The celebrity founder / superstar manager. If the moat is a person, the business has key-person risk, and that's no barrier. People leave, age, get overconfident, or turn out to be the risk themselves. Management quality matters enormously. Phase 6 and the capital-allocation lens deal with it.

But management operates moats. It can't substitute for one.

Yes Bank is India's cautionary example. Rana Kapoor was celebrated for a decade as India's most aggressive dealmaker-banker, and "a lender who never says no" was reported as praise. Reported ROEs of ~18 to 20% rested on under-recognized credit risk. RBI's asset-quality divergence reviews later found reported GNPAs understated by thousands of crores. In March 2020 the bank was rescued by RBI-led reconstruction, with AT1 bonds written to zero. The lesson generalizes: in lending, the "moat" can be fabricated by simply not recognizing losses yet.

Banking returns must clear a full credit cycle before you believe them.

WeWork is the US version. A charismatic founder narrated a real-estate arbitrage into a "technology platform." There was no switching cost, no network effect, no cost advantage. In fact it paid more than landlords' alternatives. The 2019 IPO attempt collapsed on contact with disclosure, and bankruptcy followed in 2023.

When a pitch leads with the founder, try deleting the founder's name. Then check what's left.

Claimed moatWhy it feels like a moatWhy it isn'tThe numbers that expose it
Great productCustomers love it todayLovable is copyable; excellence invites entryShort excess-return history; gross margin cracks on first credible rival; no retention evidence
Hot growthDemand feels like destinyGrowth without spread destroys value; surges mean-revertROIC < WACC or negative; unit economics worsen as growth slows; cohort decay
High market shareBig = safe, surelyShare is an outcome; without a mechanism it's a targetShare drifting >~2%/yr; rising discounts/A&P to defend it; margin ↓ with share ↓
ExecutionThe team hits every quarterRivals can hire operators too; excellence is replicablePeer margins converge over 5–10 yrs; no structural cost gap in the unit costs
Celebrity founderThe person is the storyKey-person risk ≠ barrier; incentives can hide riskReturns not yet through a full cycle; accrual red flags (Phase 2); leverage doing the work

How to measure a moat

To measure a moat, treat the claim as a falsifiable prediction and test it against 10 years of history, long enough to include at least one downturn, because one great year is weather and ten is climate. The test has five rows: ROIC against the hurdle, gross-margin stability, market-share stability, cash conversion and incremental ROIC. The result is one of three verdicts, and you may underwrite only a confirmed moat.

7 min read, on its own page

Wide moat vs narrow moat

Width. It takes two inputs: the size of the spread (ROIC minus WACC, through the cycle) and its expected duration. A narrow moat means excess returns are more likely than not to persist 10 years out. A wide moat means more likely than not 20 years out, with 10 nearly certain. No moat is anything less. Prices already capitalize the known width. Your edge usually comes from spotting width changing before the fade (or the widening) is consensus.

4 min read, on its own page

Common mistakes & how experts think differently

1. Reading a high ROIC as a moat. It's the most common error in the wild. High returns are the evidence a moat would leave. But cyclical peaks, accounting distortions, un-attacked niches, and not-yet-recognized credit risk leave the same fingerprint for a while. An expert checks the level first, then persistence, then the mechanism. No mechanism, no moat. File it under "unproven" and watch what entry does.

2. Grading brand by fame instead of behavior. "Everyone knows this brand" is a statement about advertising reach. An expert asks the only question that pays: does the name change what customers do? Do they pay more, rebuy without comparing, forgive a price hike? Airlines, most electronics, and most retail brands fail it. Asian Paints, Coca-Cola, and (in its niche) Moody's pass it.

Fame is free to admire and worthless to underwrite.

3. Calling "network effects" on anything with users. If users can multi-home in one tap, if the network clears locally (city-level), or if the toll is set by a regulator, the network effect is capped. It's real, but narrow. An expert stress-tests the claim with the four cap-out questions before granting the label. And remember UPI. Even Visa-grade network physics can be neutralized by public rails.

4. Confusing being big with being lower-cost. Scale is a moat only if it translates (fixed-cost spreading, purchasing terms, density) into a unit-cost gap versus the marginal competitor. An expert demands the unit-cost comparison (CASK, cost/tonne, opex per store, cost per transaction) and won't infer cost advantage from market share. Watch for the reverse blindness too, which is skipping DMart-style moats because gross margins are thin. Low prices at high ROIC are the moat. You see it in turns, and margin hides it.

5. Stopping at the story when the numbers are one click away. Every false-moat disaster above had a beautiful narrative and a checkable numbers trail. Pulling ten years of ROCE on screener.in or stockanalysis.com takes less time than reading one broker note. An expert's rule is no moat verdict without the evidence table. Cash-conversion checks run first, because a fabricated P&L fabricates the ROIC too.

6. Treating the moat photo as a moat film. This means assessing width and ignoring direction. Nokia was wide in 2007. Asian Paints printed a fine FY24 while Birla Opus was already hiring away its dealers. Experts spend most of their moat time on the derivative: incremental ROIC vs average, pricing-action outcomes, entrant behavior, regulatory posture.

7. Believing a moat is a reason to buy. A wide moat that's fully priced earns you the market return at best. The market pays up for famous moats because they're famous, and Phase 3's reverse-DCF told you what's assumed. An expert keeps two separate registers. One is business quality, the work you're doing here. The other is price versus value (Phase 3 + question 5 of the spine). The first never answers the second.

A moat tells you the spread can last. Only the price tells you whether you're being paid for it.

8. Letting management's slide deck do your classification. "Our moat is our people/culture/brand/data" appears in every investor presentation. Experts translate every claim into one of the five mechanisms, or into a false moat. Then they demand its specific evidence trail: retention for switching costs, price-through-inflation for brands, unit costs for scale, entry history for efficient scale.

Claims carry the burden of proof, and the annual report is where they post bail.


Worked examples

Worked Example 1: The entrant's pro-forma: pricing the attack on DMart (synthetic numbers)

The clearest way to see a moat is to work out what attacking it would cost. So build the attacker's per-store P&L. All the numbers here are synthetic, but they're calibrated to the real industry's shape.

Step 1: the incumbent's per-store economics (DMart-like). Start with a mature store doing ₹140 crore a year in revenue. Gross margin is 15.0%. Of that, ~1.5 points come from two sources: cash discounts earned by paying vendors in ~7 days, and private-label/assortment control. Operating costs are 7.5% of revenue, and there's no rent, because the store is owned. So:

  • Gross profit = 140 × 15.0% = ₹21.0 cr
  • Opex = 140 × 7.5% = ₹10.5 cr
  • Store EBITDA = ₹10.5 cr → 7.5% margin
  • Capital per store: land + building + fit-out ≈ ₹45 cr, inventory net of payables ≈ ₹5 cr → ₹50 cr
  • Pre-tax return on store capital = 10.5 / 50 = 21% (and the land is an appreciating asset besides)

Step 2: the entrant matches DMart's shelf prices. A well-funded rival leases a similar store nearby and matches prices on the key-value items. It has to, since price is the whole proposition. Now count its handicaps. It pays vendors in 45 days on standard terms, because it lacks the balance sheet to pay early. So it gets no cash discounts, and gross margin ≈ 13.5%. It leases, so rent ≈ 4.0% of revenue. And its store has to ramp. Assume it reaches ₹100 cr revenue by year 3. That's an aggressive assumption. DMart's brand and habit pull traffic.

  • Gross profit = 100 × 13.5% = ₹13.5 cr
  • Opex = 100 × 7.5% = ₹7.5 cr; rent = 100 × 4.0% = ₹4.0 cr
  • Store EBITDA = 13.5 − 7.5 − 4.0 = ₹2.0 cr → 2.0% margin
  • Capital: fit-out ₹12 cr + net inventory ₹8 cr (worse terms → more working capital) = ₹20 cr
  • Pre-tax return = 2.0 / 20 = 10%, before two loss-making ramp years and before DMart responds

Step 3: the verdict. The entrant earns ~10% pre-tax, below the ~12% INR hurdle, and that's in the good scenario. It gets there by matching prices set by a rival whose cost structure yields 21% at those same prices. To earn its cost of capital, the entrant must either price ~2 to 3% higher and lose the traffic that justifies the model, or replicate the system: owned sites, 7-day payments, cluster density. That takes a decade of patient capital, deployed at sub-hurdle returns to begin with. That negative-NPV spreadsheet on the entrant's desk is DMart's moat, stated in the entrant's own handwriting.

You can generalize the method. For any claimed moat, write the attacker's pro-forma. If a rational, well-funded rival earns above its cost of capital by attacking, the moat is imaginary. It's the efficient-scale logic again, and a preview of Greenwald's entry test, which comes next.

Worked Example 2: Running the numbers test on TCS's switching-cost claim (illustrative, ~FY25 scale)

Step 1: compute one year's return properly. These figures are illustrative, modeled on ~FY25 scale. Pull the actual annual report and redo them, because that's what the mini-project rubric rewards:

  • Revenue ₹2,55,000 cr; EBIT margin 24.3% → EBIT = 255,000 × 0.243 ≈ ₹62,000 cr
  • NOPAT = EBIT × (1 − 0.25) ≈ 62,000 × 0.75 ≈ ₹46,500 cr
  • Balance sheet: shareholders' equity ≈ ₹94,000 cr; borrowings ≈ nil; cash + investments ≈ ₹48,000 cr
  • ROIC on total book: invested capital = equity + net debt = 94,000 + (0 − 48,000)… stop. Check the convention first. On total capital employed, ROIC = 46,500 / 94,000 ≈ 49%. Excluding surplus cash (the operating business): IC ≈ 94,000 − 48,000 = ₹46,000 cr → operating ROIC ≈ 46,500 / 46,000 ≈ ~100%.
  • Read: the operating business runs on almost no capital, since its invested capital is essentially receivables and some equipment. Against a ~12% hurdle, the spread is enormous either way you compute it. Always show both numbers and say which you're using.

Step 2: persistence. Sketch the 10-year rows (illustrative). EBIT margin has stayed in a ~24 to 27% band for a decade, through COVID, wage inflation cycles, and demand swings. ROCE (pre-tax, ex-cash) has stayed far above 50% every single year. CFO/net income runs ~90 to 100%, so the accruals are clean. Dividend + buyback payout runs ~80 to 100% of FCF, because the business can't absorb the capital.

That's a symptom of moat. Reinvestment needs are tiny relative to profits.

Step 3: tie the numbers to the mechanism. Why can TCS price at a ~3 to 8 point EBIT-margin premium to mid-tier peers hiring from the same Indian talent pool? Because ~95%+ of revenue renews from existing clients whose core workflows it already runs. The procedural switching cost turns into pricing on renewals and extensions. That pricing turns into the margin premium, and on near-zero capital the margin premium turns into the extreme ROIC. You can check each link, from mechanism to margin to ROIC. Verdict: switching-cost moat, confirmed. Width is wide-leaning on multi-decade evidence. But write down the falsifier you flagged with switching costs. If AI-led delivery deflates billable effort faster than contracts re-price, watch the incremental economics (revenue per employee, margin on new deals) before the average ROIC ever flinches.

Worked Example 3: Incremental ROIC as the direction instrument (synthetic)

Two companies both boast "20%+ ROIC." Compute the direction row for each, using Incremental ROIC = ΔNOPAT / ΔInvested Capital over the window.

Company W (claimed widening):

Year 0Year 5
NOPAT₹400 cr₹850 cr
Invested capital₹2,000 cr₹3,800 cr
  • Average ROIC: year 0 = 400/2,000 = 20% → year 5 = 850/3,800 = 22.4%
  • Incremental ROIC = (850 − 400) / (3,800 − 2,000) = 450 / 1,800 = 25.0%
  • Read: the new ₹1,800 cr earned 25%, above the old book's 20% and far above a 12% hurdle. Every reinvested rupee digs the moat deeper, the way DMart does by adding cluster stores and Visa by adding transactions on fixed rails. Direction: widening. For valuation, reinvestment here is worth funding, because the growth creates value.

Company E (eroding under the surface):

Year 0Year 5
NOPAT₹400 cr₹580 cr
Invested capital₹2,000 cr₹3,500 cr
  • Average ROIC: year 0 = 20% → year 5 = 580/3,500 = 16.6% (still looks fine in a screener)
  • Incremental ROIC = (580 − 400) / (3,500 − 2,000) = 180 / 1,500 = 12.0%
  • Read: the marginal rupee earns the hurdle and nothing more, a zero spread on new capital. The headline 16.6% is the old moat's echo. At the margin, the business has no moat left. Direction: eroding, and you could see it years before the average dipped below 12%. So model the fade, since growth adds no value at a 0 spread. Treat management's "we'll reinvest for growth" as value-neutral at best.
  • The habit to generalize: whenever average ROIC and incremental ROIC diverge, the incremental number is the forecast.

Worked Example 4: The pricing-power polygraph: brand vs price-taker through an input spike (synthetic, ₹)

Numbers-test row 2, gross-margin stability through an input-cost cycle, is your best brand test. Here it's made fully quantitative. Two synthetic Indian packaged-goods firms buy the same crude-linked input. Sundar Spices Ltd (synthetic) owns a brand with pricing power. Generic Masala Co (synthetic) is a private-label price taker. Watch the FY22 input spike sort them. Every figure is computed from the table.

FY (≈)19202122232425
Input cost (₹/pack)40414460645860
Sundar price (₹/pack)899198120138130133
Sundar gross margin %55.154.955.150.053.655.454.9
Generic price (₹/pack)62636466676667
Generic gross margin %35.534.931.29.14.512.110.4

Step 1: the shock. Input cost jumps from ₹44 to ₹60/pack in FY22, a +36.4% spike. It's crude-linked, the kind of input that whipsaws a price taker.

Step 2: the brand re-prices, and its margin barely notices. Sundar's gross margin stays in a 50.0 to 55.4% band, with a standard deviation of just 1.77pp. It dips to 50.0% in FY22 as list prices lag the cost. Then hikes that stick restore it fully to ~55% within about a year. Its gross margin's correlation with input cost is only −0.45. So margin is largely decoupled from the input, and that's the numerical fingerprint of pricing power.

Step 3: the taker can't, and the number proves it. Generic's margin whipsaws from 35.5% to 4.5%, a band 31pp wide with a stdev of 12.54pp. Its gross margin's correlation with input cost is −1.00. That's a textbook price taker. Every rupee of cost lands directly on margin, because it can't re-price.

Step 4: quantify the pass-through. From FY21 to FY23 the input rose ₹20/pack. To fully protect a 55% margin, price must rise by 20 ÷ (1 − 0.55) = ₹44. So the full-protection pass-through ratio is 1/(1−0.55) = 2.22. Sundar raised price by ₹40, a pass-through ratio of 2.00. That's near-complete, and it gave back only a few points, briefly. Generic raised price by ₹3, a ratio of 0.15. That's essentially zero pass-through.

The verdict, and the transferable method. You won't find pricing power in a survey. It shows up as two numbers: a gross-margin band that refuses to track inputs (low correlation, tight standard deviation) and a pass-through ratio near 1/(1−margin). Sundar shows a confirmed intangible (brand) moat. Generic shows none, whatever its shelf presence. The ROIC consequence follows mechanically. At comparable capital turns, the brand compounds returns above the ~12% hurdle straight through the cycle, while the taker's returns evaporate in the spike year. It's the Asian Paints row from the evidence table (gross margin holding through the crude cycle) reduced to a calculation you can run on any two competitors' filings.

Worked Example 5: Persistence versus a peak: reading two 10-year ROIC records (synthetic, US $)

Row 1 of the numbers test gives you three readings in one: level, stability, trend. Two synthetic US companies each print a 28% ROIC in their best year, so a point-in-time analyst calls both wonderful. Ten years and one downturn sort them out. Cascade Analytics Inc (synthetic) is a switching-cost compounder. Cyclone Materials Inc (synthetic) is a commodity cyclical. Use a USD hurdle of 9%.

FY (≈)16171819202122232425
Cascade ROIC %24252326182427262827
Cascade gross margin %80818082798182838283
Cyclone ROIC %412289−26228315
Cyclone gross margin %18243422141931201627

Step 1: level (the reading beginners stop at). Cascade averages 24.8% ROIC over the decade, and Cyclone averages 10.5%. Both pass a naive glance. Cyclone even matches Cascade's 28% peak in FY18, and hits 22% in FY22. That's how a cyclical peak impersonates a moat.

Step 2: stability (the reading that decides it). Cascade never falls below 18%. Its worst-year spread over the 9% hurdle is still +9pp, and it cleared the hurdle 10 years out of 10. Cyclone cleared it only 5/10. It printed −2% in the FY20 downturn, a −11pp spread that destroyed value, and it swings from −2% to 28%. You can quantify the gap with one statistic that works on any series, the coefficient of variation (stdev ÷ mean). It comes out at 0.11 for Cascade versus 0.82 for Cyclone.

A low CoV with a positive floor is persistence. A high CoV with a sub-hurdle floor is a cycle.

Step 3: corroborate with the gross-margin row. Cascade's gross margin holds in a 79 to 83% band (stdev 1.3pp), so pricing power is intact through the cycle. Cyclone's gross margin tracks its commodity spread, ranging from 14 to 34% (stdev 6.2pp), and its correlation with Cyclone's own ROIC is 0.99. Cyclone's "returns" belong to the cycle and not to the company.

The verdict. Cascade is a confirmed moat: level high, floor above the hurdle through a downturn, low volatility, stable margin. Cyclone has no moat. FY18 and FY22 were the cycle's gifts, and they say nothing about a barrier's width. It's Table B's Tata Steel lesson in synthetic clothes, so value Cyclone with mid-cycle tools and never give it a moat premium. As a numerical rule, the average ROIC tells you the level. The worst-year spread and the coefficient of variation tell you whether it's a moat or a mood.


Practice set

Problems 1 to 3 are guided, so the solution teaches the method. Problems 4 to 8 are independent, and 9 to 12 are timed at ≤6 minutes each, which is Phase 8 speed. Every company in the packets is synthetic. Classify each packet as one or more of the five moat sources, or as a false moat, then name the decisive evidence. Full solutions follow each problem. Write your verdict before you read them.

It's tempting to peek, and peeking teaches you nothing.

Problem 1 (guided packet). Nordbank Systems sells core-processing software to 900 cooperative banks. Gross revenue retention has been 98% for ten straight years, and the average client relationship runs 17 years. Contracts run 6 years with 5% annual price escalators. "De-conversion fees" are a disclosed revenue line. Gross margin has been 68% (±1pp) for a decade, and S&M is just 6% of revenue. ROCE: 26%, 24%, 27%, 25%, 26%, 23%, 26%, 27%, 25%, 26% (hurdle 9%, USD).

Solution. Switching costs: procedural (with a financial layer). Work the method. (1) Mechanism named. Replacing a bank's core system is high-risk workflow surgery, so clients stay 17 years and accept 5% escalators. The de-conversion fees literally price the exit barrier. (2) Numbers confirm. 98% retention is the direct lock-in reading. S&M at 6% says the revenue defends itself. Compare a SaaS company spending 40% of revenue to stand still. ROCE ≈ 25% ± 2pp across ten years gives a ~16-point spread over the hurdle with no bad year, which is persistence through a cycle. (3) False-moat check. Is this just a great product? It doesn't matter. Even a mediocre core system retains at ~95%+. The moat is the customer's cost of leaving, and the product's charm has little to do with it. Verdict: confirmed, wide-leaning.

Problem 2 (guided packet). Meadow Foods (branded staples) has a 10-year revenue CAGR of 11%, split ~6% volume + ~5% price/mix every year. That includes two years when palm-oil input costs rose ~40%. Gross margin stayed in a 51 to 53% band both times, recovering within four quarters. A&P held steady at 9 to 10% of sales. Market share went from 38% to 41% over the decade. ROCE is in the 40s (hurdle 12%, INR).

Solution. Intangibles: brand with pricing power. Two rows decide it. First, volume AND price are both positive every year. Customers accept ~5% annual price increases and still buy more units, so the behavior test is passed. Second, gross margin held through two input shocks. The re-pricing stuck, where a price taker's margin would have cratered. A&P stayed steady while share rose, so nobody is buying the brand with escalating ad spend. ROCE in the 40s against a 12% hurdle for ten years is persistence. Verdict: confirmed. Notice what you didn't rely on: fame, awards, or management's "iconic brand" language. You relied on prices sticking.

Problem 3 (guided packet). Trukmandi is a B2B logistics marketplace. GMV has grown 45%/yr for four years, while the take rate has slid from 2.0% to 1.1%. Incentives and discounts run at ~140% of net revenue, so contribution is negative. Surveys show the average shipper and the average trucker each actively use 2 to 3 rival platforms. Year-2 cohort GMV retention is 70%. Market share is ~30%, with two rivals inside 5 points. Management's deck says "powerful network effects."

Solution. False moat: hot growth wearing a network-effect costume. Run the four cap-out questions. Can users multi-home? Yes, both sides use rivals, so it fails. What's the take rate doing? It's falling while share is merely stable, so traffic is being bought instead of tolled. Is liquidity deepening? No. Cohort GMV decays to 70%. Negative contribution at 140% incentives means the "network" pays users to pretend. And a 45% GMV CAGR answers none of it: growth of what, earning what spread, behind what wall? Verdict: no moat demonstrated. It's unproven at absolute best, and the burn says the market is contestable.

This packet is the most common real-world pattern among venture-adjacent public companies, so learn its face.

Problem 4 (packet). Cementia Sur operates one of two cement plants serving a coastal region that consumes ~4 mn tonnes/year. Both plants run at 88 to 92% utilization. The nearest outside plant is ~350 km away, and freight would add ~₹900/tonne against realizations of ~₹5,200. No new plant has been built in the region in 18 years, even though both incumbents earn ROCE of 17 to 19% (hurdle 12%).

Solution. Efficient scale (regional). The market's size (4 mn t) roughly equals two efficient plants' capacity. A third 2 mn-t entrant would push regional utilization to ~65% and crater prices for all three, including itself. Meanwhile the 350-km freight wall stops outside capacity from arbitraging the returns, because cement's value-to-weight defines the catchment. The clinching evidence is 18 years of visible 17 to 19% ROCE with no entry. Rational capital has run the pro-forma (Worked Example 1's method) and declined. One width caveat is worth noting. Efficient scale dies if the catchment's demand booms, so track regional demand growth against incumbent capacity.

Problem 5 (packet). Glidewing Airlines has the industry's best NPS, "Most Loved Brand" awards eight years running, and an 86% load factor. Its yields (revenue per seat-km) are within ±1% of competitors on overlapping routes. CASK equals the peer median. ROCE over ten years: 4%, 9%, 22%, 6%, −3%, 2%, 15%, 7%, −1%, 8% (hurdle 12%).

Solution. False moat: a known brand without pricing power (plus execution). The kill shot is yields within ±1% of peers. Customers don't pay for the loved brand, so the intangible fails the only test that matters. It's the airline-brand contrast from earlier, word for word. CASK at the median means no cost advantage either. The ROCE row confirms it, clearing the hurdle ~2 years in 10 and swinging with the cycle. Look at the climate and you get no-moat, whatever the weather in a good year. NPS and awards are inputs. The numbers are outputs, so judge on outputs. Had CASK been decisively lowest-in-market with share gains at equal yields (the IndiGo pattern), you'd grade a narrow cost moat in a structurally hostile industry.

Problem 6 (packet). Voltcell makes battery-grade chemicals. This year it shows ROCE of 31%, EBITDA margin of 28% and net cash. The 10-year ROCE series: 6, 4, 9, 11, 3, 8, 12, 14, 19, 31 (hurdle 12%). Gross margin correlates ~0.9 with the lithium-to-chemical spread. Market share is stable at ~20% among five similar producers.

Solution. False moat: cyclical peak masquerading as quality (price taker). The ten-year average ROCE ≈ 11.7%, below the hurdle, and only the last two or three years are above it. Gross margin is a pass-through of the commodity spread, since a correlation of 0.9 means no pricing power. Today's 31% is the cycle's gift, and the cycle collects. Share stability across five undifferentiated producers is neutral here. Stable shares in a no-moat industry just mean nobody has an advantage. Treat it with mid-cycle normalization and never a moat premium. This is Table B's Tata Steel lesson wearing synthetic clothes. If you scored it "cost advantage," look again. No unit-cost-vs-peers evidence was offered at all.

Problem 7 (packet). PayOrbit runs a card network carrying 78% of its country's card volume. Its take rate is ~22bps and has been stable for ten years. Cardholders and merchant acceptance have both compounded ~12%/yr. Operating margin is 58%, and ROIC has been 40%+ every year for a decade (hurdle 9%). Last quarter, the payments regulator published a consultation paper proposing state-built, zero-fee interoperable QR rails for merchant payments.

Solution. Network effects: confirmed, with direction turning contested by regulation. This needs a two-part answer. Source: both sides are compounding together, the take rate is stable while share is dominant, and ROIC has run at 40%+ for a decade. PayOrbit is tolling traffic and isn't buying it. That's a textbook confirmed two-sided network, the Visa pattern. Direction: the consultation paper is the UPI scenario arriving on schedule. Public rails can neutralize the monetization while leaving the network intact. Verdict: wide moat historically, with direction eroding-contingent. Your job now is scenario work. What share of volume is exposed to zero-MDR rails? Does credit survive? Denying the moat would be wrong, and so would complacency.

Packets like this exist to stop you from treating "moat" as a single bit.

Problem 8 (packet). Meridian Tech Services gets 96% of its revenue each year from clients billed in the prior year. Its top-10 clients average 14 years' tenure. EBIT margin has been 23 to 25% for a decade, against 13 to 17% for mid-tier peers. ROCE is ~45%+ every year (hurdle 12%). CFO/net income is ~95%, and S&M is ~2% of revenue.

Solution. Switching costs: procedural (embedded workflows), the TCS pattern. Follow the evidence chain. Repeat revenue of 96% and 14-year tenures show the lock-in. The lock-in converts to renewal pricing, which shows up as an 8 to 10-point margin premium over peers hiring identical talent. On a working-capital-only balance sheet that premium becomes ~45% ROCE, since people businesses hold almost no invested capital. Then CFO confirms the accruals are real. S&M at 2% gives it away, because locked-in revenue doesn't need selling. Verdict: confirmed. For direction homework, log revenue per employee and margins on new signings, the incremental economics, to watch AI-deflation risk (see Worked Example 2).

Problem 9 (timed packet, 6 minutes). Kart&Go (discount retail) runs a gross margin of 13.8% against 26% for conventional peers. It pays suppliers in 9 days against a peer norm of 52. Opex/sales is 6.9%, and it owns 85% of its stores. Inventory turns 13× and ROCE is 21% (hurdle 12%). Third-party price audits find its everyday basket 6 to 8% below all rivals. Share has risen ~1pp per year for six years with no spike in promotions.

Solution. Cost advantage: scale/process, shared with customers (the DMart pattern). The decisive read is the lowest gross margin and the highest ROCE at the same time. Kart&Go hands the advantage to customers as 6 to 8% lower prices and still earns 21% through 13× turns. DuPont reveals it, and margin alone hides it. The 9-day payables are a purchasing-terms advantage bought with balance-sheet strength. Owned stores kill the rent line. Share gains without promotional spikes mean the advantage is structural. Nobody bought it. Verdict: confirmed, and likely widening, since each point of share adds density. If you called this "false moat, thin margins," you read margin without turns. Go back to the DuPont work and redo it.

Problem 10 (timed packet, 6 minutes). Nimbus Health's founder is on three magazine covers this quarter. The app has 90 million downloads, and 0.8% of monthly actives pay. Paying-user churn is 9%/month. CAC has doubled in two years. ROIC is heavily negative, funded by successive raises. The deck claims a "proprietary data moat," with no model-performance or retention evidence offered. Revenue is +130% YoY.

Solution. False moat: celebrity founder + hot growth (and an unevidenced data-moat claim). Ask the structural question: what stops a rival? The founder's fame doesn't. It's no barrier, and arguably it's a key-person risk. The downloads don't either, because 90m with 0.8% conversion is reach without lock-in. The data claim comes with no evidence that usage improves the product, and data moats call for extraordinary proof. The numbers convict. A 9%/month churn means the median payer leaves within 8 months, the opposite of switching costs. CAC doubling means the growth is bought on worsening terms. Negative ROIC means there's no spread to defend. Verdict: no moat. The only fair classification is "unproven business model, financed by narrative."

Write it kindly, and conclude it firmly.

Problem 11 (timed numeric, 5 minutes). From a filing you extract EBIT ₹840 cr, a tax rate of 25%, shareholders' equity of ₹2,600 cr, total borrowings of ₹1,300 cr, and cash & equivalents of ₹400 cr. The 10-year average of this ROIC (same method) is 17.5%, with a worst year of 13%. WACC ≈ 12%. Compute this year's ROIC, the spread, and state the persistence verdict.

Solution. NOPAT = 840 × (1 − 0.25) = ₹630 cr. Net debt = 1,300 − 400 = ₹900 cr. Invested capital = equity + net debt = 2,600 + 900 = ₹3,500 cr. ROIC = 630 / 3,500 = 18.0%. Spread = 18.0% − 12% = +6 points. A 10-year average of 17.5% with a 13% floor means the spread stayed positive even in the worst year, so persistence is confirmed. That passes numbers-test row 1. You'd still demand a named mechanism and the share/margin/cash rows before the overall verdict.

Problem 12 (timed numeric, 5 minutes). Five years ago: NOPAT ₹500 cr on invested capital ₹2,500 cr. Today: NOPAT ₹800 cr on invested capital ₹5,000 cr. WACC 12%. Compute average ROIC then and now, incremental ROIC, and the direction verdict.

Solution. Average ROIC then = 500/2,500 = 20%, and now = 800/5,000 = 16%. Incremental ROIC = (800 − 500)/(5,000 − 2,500) = 300/2,500 = 12.0%, right at the hurdle. The company doubled its capital to earn a zero spread on the new money. Its still-healthy 16% average is the legacy book's echo. Direction: eroding. So growth from here is roughly value-neutral. The fade belongs in your forecast, and the moat verdict on new capital is "none demonstrated."

If you answered "16% > 12%, all fine," you graded the photo and missed the film.

Problem 13 (guided packet). Rasa Beverages (synthetic) sells branded ready-to-drink. Over a decade, price/mix added ~4 to 5%/yr and volume ~3 to 4%/yr in every year. In the year its key input (sugar + concentrate) rose ~35%, gross margin fell from ~60% to ~54%. List-price hikes that stuck brought it back to ~60% within five quarters. A&P held at ~11 to 12% of sales while organized-market share rose from 44% to 48%. ROCE ran in the low-30s (hurdle 12%, INR). Classify, and name the decisive evidence.

Solution. Intangibles: brand with pricing power. Work the method. (1) Behavior test passed twice over. Price and volume rose together every single year, so customers accept ~4 to 5% annual increases and still buy ~3 to 4% more units. Gross margin dipped ~6 points in the input spike, then hikes that stuck restored it fully within five quarters. A price taker's margin would have stayed down. Compare Worked Example 4's Generic Masala, whose margin cratered and didn't recover. (2) Not bought with ad spend. A&P stayed flat while share rose four points, so the brand defends itself. (3) Persistence. Low-30s ROCE against a 12% hurdle is a ~20-point spread. You didn't rely on awards, awareness, or "iconic brand" language. You relied only on prices sticking and margins recovering. Verdict: confirmed. For direction homework, watch whether the next input cycle's hikes stick as fast as this one's did.

Problem 14 (guided packet). Sentinel Ratings (synthetic) is one of two credit-rating agencies an entire bond market prices off. Its ~48% share has been stable for 20 years, with the other agency at ~47% and a fringe third at ~5%. Investor mandates require two ratings. A rating costs an issuer a few basis points and saves multiples of that in lower coupons. Operating margin has been ~58% for a decade, with ROIC 30%+. The securities regulator both designates who may rate and periodically reviews fee levels. Name the primary and any stacked sources, and the width caveat.

Solution. Primary: efficient scale. Stacked: intangibles (license + reputation). Work it through. (1) Efficient scale. The market needs two trusted raters and no more. A third generalist adds nothing investors want, so a well-funded entrant's pro-forma is negative: it can't sell what issuers don't buy and investors don't trust. The evidence is 20 years of stable share at 30%+ ROIC with no successful entry. (2) Stacked intangibles. The regulator's designation is a legal entry barrier, and the reputation is what investors actually price off. Name both, because each has a different kill-switch. (3) A product that costs the customer negative money (a few bps that save multiples in coupon) is very hard to disrupt.

Now the width caveat, which is the standing rule for regulated tolls. The same regulator that blesses the duopoly can reset the fees. So an efficient-scale/license moat is wide against competitors and narrow against the state. Compare IRCTC, CDSL, and IEX/market-coupling from earlier. Verdict: confirmed, wide versus rivals and capped by the regulator. This is the Moody's pattern in synthetic clothes. Don't cite real Moody's figures here. Pull them.

Problem 15 (packet). QuickThali (synthetic) is a city-by-city Indian food-delivery app with 55% share in its home city. Its take rate is 18% and has been stable for three years. But restaurants and diners each keep 2 to 3 rival apps installed, per-order switching is one tap, and the network clears at city level. A diner in one city gains nothing from restaurants in another. Contribution per order turned positive only after a "platform fee" the company introduced this year, which a rival hasn't yet matched. Classify and size the moat.

Solution. Network effect: real but narrow (capped), and one decision away from a test. Run the four cap-out questions. (1) Global or local? Local. This is ~50 separate city networks, each attackable by a subsidizing entrant. (2) Multi-homing? Yes, one tap on both sides, so the network sets a floor on relevance and no ceiling on price. (3) Marginal user, value or congestion? Mixed. (4) Regulation? Not the live issue yet. The stable 18% take rate is encouraging, because it means QuickThali is tolling traffic and not buying it. Problem 3's falling take rate was the opposite. But multi-homing + local clearing + an unmatched new fee means the toll is untested.

Verdict: a narrow network moat at best. It isn't a false moat, since a real two-sided network with a positive, stable take rate exists. Its width hangs on whether the platform fee survives a competitor choosing not to charge it. So size it at narrow, and watch the fee more than the share.

Problem 16 (packet). Granite Ridge Aggregates (synthetic) is a US crushed-stone quarry. Its cash cost is $6.10/ton, against a regional peer median of $8.40. The nearest competing quarry is 55 miles away, and trucking crushed stone runs ~$0.15/ton-mile. So a rival delivering into Granite Ridge's core market adds ~$8/ton of freight against a ~$14/ton selling price. Permitted reserves last ~40 years at current extraction. ROIC has been ~19% for a decade (hurdle 9%, USD). Classify, and name the one datum you'd most want to monitor.

Solution. Cost advantage: location/resource (the classic aggregates moat), flavored with efficient scale. Crushed stone has near-zero value-to-weight, so freight defines a tight catchment. A quarry inside the catchment, with a $2.30/ton cash-cost edge and an ~$8/ton freight wall around it, earns 19% while rivals can't economically ship in. Your evidence is the unit-cost gap ($6.10 vs $8.40) plus the freight wall plus a decade of 19% ROIC. The small local market supports few quarries, which adds an efficient-scale strand. The one datum to monitor is permitted reserve life. Location/resource moats last only as long as the resource and the permit do. At 40 years, the reserves are comfortable. The kill-switch is a permit-renewal denial, or a nearer greenfield permit granted to a rival. Competitor pricing isn't the threat here. If you think in rupees, the identical logic governs Indian cement and aggregates, so check lead distances and reserve life in the annual report.

Problem 17 (packet). Lumina Ceramics (synthetic) makes tiles. Five years ago it earned NOPAT of ₹150 cr on invested capital of ₹1,000 cr. Today it earns NOPAT of ₹260 cr on invested capital of ₹1,600 cr. Over the same window its main input (gas) rose ~30%, and it lifted realizations enough to hold gross margin near 30% at both ends. WACC is 12%. Compute average ROIC then and now, incremental ROIC, the direction verdict, then say what the held gross margin adds to the reading.

Solution. Average ROIC then = 150/1,000 = 15.0%, and now = 260/1,600 = 16.25%, nudging up. Incremental ROIC = (260 − 150)/(1,600 − 1,000) = 110/600 = 18.33%. So the new ₹600 cr earns above both the old book (15%) and the 12% hurdle, a +6.33pp spread on new capital. Direction: widening. The marginal rupee out-earns the average, which is the signature of a deepening moat. In Problem 12, by contrast, incremental ROIC came in right at the hurdle. The held gross margin through a ~30% input rise is the corroborating row. Pricing power is intact, so the incremental-ROIC widening is a real economic signal and not an accrual artifact. On the rows shown, the verdict is confirmed-and-widening, though you still owe the cash-conversion and share rows before underwriting.

Problem 18 (timed numeric, 6 minutes). Sable Software Inc (synthetic), USD, hurdle 9%. From the filing: EBIT $600m, tax rate 25%, shareholders' equity $1,800m, total borrowings $500m, cash $300m. The 10-year ROIC series (%): 21, 23, 20, 24, 14, 22, 25, 24, 26, 25 (FY20 = 14% is the downturn year). Gross margin held in an 80 to 83% band throughout. Five years ago NOPAT was $300m on invested capital $1,500m. Compute (a) this year's ROIC, (b) the current spread and the worst-year spread, (c) five-year incremental ROIC, and (d) the integrated verdict.

Solution. (a) NOPAT = 600 × (1 − 0.25) = $450m. Net debt = 500 − 300 = $200m. Invested capital = 1,800 + 200 = $2,000m, so ROIC = 450/2,000 = 22.5%. (b) Current spread = 22.5% − 9% = +13.5pp. The worst year was 14%, so the worst-year spread is +5pp. The return stayed above the hurdle through the downturn, which is persistence's decisive test, and the series averages 22.4%. (c) Incremental ROIC = (450 − 300)/(2,000 − 1,500) = 150/500 = 30.0%, so new capital earns +21pp over the hurdle. (d) Confirmed, wide-leaning, and widening. The level is high, the floor stays comfortably positive through a downturn, the gross-margin band is tight (pricing/switching power), and incremental ROIC is above the average. The one row you still owe before underwriting is cash conversion (CFO/EBITDA, FCF/PAT).

Next time, run it first, because a fabricated P&L fabricates every number above it.


Applied mini-project: The Moat Evidence Table, on a real company

The task (≈4 hours). Pick one company from the six below, each of which carries a widely claimed moat. In India: Pidilite (Fevicol, brand/switching claim), Nestlé India (brand claim), or IEX (efficient-scale claim, currently contested by market coupling). In the US and globally: Costco (cost-advantage-shared claim), Adobe (switching-cost claim), or S&P Global (efficient-scale + intangible claim). Then:

  1. Pull the data. India: screener.in (10-year financials in one screen) plus the last two annual reports from the company site/BSE. US: stockanalysis.com or TIKR (free tier) plus the latest 10-K (SEC EDGAR). Read Item 1 (Business) and Item 1A (Risk Factors) for the mechanism and the disclosed threats.
  2. Build the five-row, 10-year evidence table from the numbers-test template. Row one is ROIC/ROCE vs hurdle. Compute at least three of the ten years yourself, by hand from the statements, stating your NOPAT, invested-capital, and adjustment choices, including the goodwill and surplus-cash treatments. Row two is the gross-margin band against the relevant input/demand cycle. Row three is the market-share trail from annual reports or industry bodies, with your source cited. Row four is CFO/EBITDA and FCF/PAT. Row five is incremental ROIC over the two halves of the decade.
  3. Classify the source(s) using the five mechanisms. Name the primary one, any stacked ones, and the specific evidence line that convinced you.
  4. Grade width and direction: none/narrow/wide with the Morningstar probability grammar, plus three named direction signals. Quote the filing or call where you found each.
  5. Write the one-page verdict ending with a pre-registered falsifier: "I would change this verdict if ___ (a measurable number) crossed ___ by ___."

Scoring rubric (be strict with yourself, pass mark ≥13/16):

Criterion0 points1 point2 points
Data completeness<7 years or key rows missing10 years, minor gaps10 years, all five rows, sources cited
ROIC/ROCE computationCopied from a website, no method shownHand-computed, conventions unstatedHand-computed, conventions + goodwill/cash adjustments stated and defended
Gross-margin cycle readingMargin reported without contextBand identifiedBand read against the named input/demand cycle with dates
Share evidenceAsserted without sourceSingle-point share citedMulti-year trail with named source
Cash-conversion checkAbsentComputedComputed and interpreted (accrual-quality verdict)
Source classificationWrong mechanism or slide-deck languageRight source, thin evidence linkRight source(s), each tied to its decisive evidence line
Width & directionNot graded, or graded without signalsGraded with generic signalsGraded with three specific, sourced, current signals
Verdict & falsifierVague ("great moat")Clear verdict, weak falsifierClear verdict + measurable, dated falsifier

File the table and verdict in your knowledge system. It becomes the spine of one of your two capstone dossiers at the end of the phase, so choose a company you're willing to live with for three more weeks.

Case Lab: run case XL-4.2 in the app's Cases tab. It's a ten-year evidence packet on a synthetic wide-moat compounder and a synthetic cyclical with the same recent ROIC. You run them side by side through all five numbers-test rows (level, stability via the worst-year spread and coefficient of variation, gross-margin band, cash conversion, incremental ROIC). By the end, the persistence-versus-peak distinction is muscle memory, before you build the real dossier.


Reading & resources

  • Pat Dorsey, The Little Book That Builds Wealth: chs. 2 to 8 (the sources, one per chapter; eroding moats; finding moats). The taxonomy you've just learned, from its author. [Paid] [Beginner]
  • Michael Mauboussin & Dan Callahan, Measuring the Moat (Credit Suisse/Morgan Stanley, latest update): free PDF, easily found via web search for the title. For now, read the sections on ROIC persistence/fade and "what is a moat." The full framework is M4.05's text. [Free] [Intermediate]
  • Heather Brilliant & Elizabeth Collins, Why Moats Matter (Morningstar): chs. 1 to 3, the five-source methodology, width ratings, and moat trends. It's the source of the narrow/wide probability grammar. [Paid] [Beginner to Intermediate]
  • Warren Buffett, Berkshire Hathaway shareholder letters: 1991 (economic franchises vs businesses), 2007 ("Businesses – The Great, the Good and the Gruesome": See's, the moat/castle language, and why airlines are the gruesome). berkshirehathaway.com. [Free] [Beginner]
  • Pat Dorsey, "The Little Book That Builds Wealth" talks (Talks at Google / Manual of Ideas, YouTube): Dorsey walking the five sources with Q&A. Excellent recall practice once you've finished here. [Free] [Beginner]
  • Damodaran Online, data library ("Margins by Sector", "ROE/ROC by Industry", US + Global/India datasets, updated each January): your cross-sectional benchmarks for "is this ROIC actually high for the industry?" [Free] [Intermediate]
  • Filings to actually pull (the primary sources for everything above): Asian Paints annual report (MD&A + segment data, plus the margin and dealer-network discussion). TCS annual report (client-metrics tables). Visa 10-K Item 1 (the four-party model described by its owner). Moody's 10-K Item 1 (ratings economics). Avenue Supermarts annual report (inventory turns, payables, owned stores). AbbVie 10-K (the Humira cliff in the segment data). NPCI website, monthly UPI statistics. [Free] [Intermediate]
  • Podcasts for pattern library: Business Breakdowns, Visa episode (network economics narrated by practitioners), and Acquired, Costco episode (scale-economies-shared at maximum depth). Listen after the numbers work, never instead of it. [Free] [Beginner]
  • screener.in (India) · stockanalysis.com / TIKR (US): the 10-year tables your evidence work runs on. [Free/freemium tools]
  • Going deeper: Michael Mauboussin & Dan Callahan, Calculating Return on Invested Capital and Building an ROIC Tree (Credit Suisse / Morgan Stanley Counterpoint Global, free PDF; search the title) [Free] [Intermediate]. The definitive practitioner guide to computing ROIC cleanly (NOPAT, invested-capital, goodwill and lease adjustments). Use it to make your mini-project's hand-computed ROIC rows defensible instead of copied.
  • Going deeper: Bruce Greenwald & Judd Kahn, Competition Demystified, chapters 1 to 3: barriers to entry and the incumbent-advantage/share-stability test, the entry-barrier logic behind the efficient-scale and market-share rows you've worked with here. It previews the Greenwald lens M4.05 formalizes. Read it now only if the entry-pro-forma method (Worked Example 1) leaves you wanting the theory. [Paid] [Intermediate]

The Modern Analyst's Addendum

Everything above teaches this skill from first principles, by hand. That's how you learn it, and the mastery check still tests it that way. This addendum shows how a working analyst amplifies the same skill today. It adds; it never replaces. (R1/R10)

AI-Augment this skill

{ "skill": "Cross-checking a confirmed-moat verdict against ROIC-persistence base rates instead of treating a decade of high ROIC as proof it continues", "use": "Use an LLM to help assemble a company's 10-year ROIC/ROCE series from filings into a clean table, then run that series through a base-rate check: how often does a firm with THIS long a streak keep it going, per the published persistence literature.", "tools": ["Claude or ChatGPT to extract and tabulate a 10-year ROIC series from annual reports or 10-Ks", "screener.in / Tijori Finance (India) or stockanalysis.com / TIKR (US) for the raw line items", "a notebook with a small Markov transition-matrix model (the block below)"], "prompt": "Here are [company]'s EBIT, tax rate, shareholders' equity, and net debt for the last 10 fiscal years. Compute NOPAT, invested capital (state whether you are including or excluding surplus cash), and ROIC for each year. Flag any year where the company made a large acquisition or wrote off goodwill, since that changes the invested-capital base.", "verify": "Recompute at least three of the ten years yourself directly from the primary statements -- screeners and AI extractions differ in how they define invested capital (total book vs ex-surplus-cash, as the TCS worked example shows can move ROIC from ~49% to ~100%), and that convention choice must be stated, not inherited silently from a tool.", "diy": "The mastery check hands you raw statements and requires computing ROIC, ROCE, the spread, and incremental ROIC by hand, then delivering a confirmed/unproven/contradicted verdict -- with no tool and no base-rate table in the room. The workflow above only adds the humility check of how such streaks usually end, after the by-hand verdict is already done." }

Modern Data Analysis

By hand first. The five-row numbers test and the ROIC/incremental-ROIC arithmetic don't change. That's what the mastery check gates.

Today's workflow. One company's 10-year ROIC table is a photograph of that company alone. Professionals take it further and set it against a base rate. Across the whole cross-section of firms that once made the top ROIC quintile, how many are still there a decade later? Mauboussin & Callahan's The Base Rate Book (Credit Suisse, 2016) publishes this kind of quintile transition data, and it's already on the next module's reading list. The block below builds a small, transparent Markov model calibrated to reproduce their headline finding. Then it reads off the fade curve and a median "years until first exit."

A paragraph of base-rate reassurance becomes a number you can check.

Tools & sources (IN + US). For India, use screener.in / Tijori Finance for 10-year ROIC/ROCE series, plus company annual reports for the equity/debt/cash inputs. For the US, use stockanalysis.com / TIKR, or EDGAR's XBRL companyfacts/frames API for a multi-company panel. For the base-rate literature, read Mauboussin & Callahan, The Base Rate Book (Credit Suisse, 2016), and Mauboussin & Callahan, Calculating Return on Invested Capital (Morgan Stanley Counterpoint Global). Both are free PDFs, and both are already named in this phase's reading lists.

# recomputed in-session -- R3. A 5-quintile Markov model calibrated so a top-quintile firm has
# ~50% odds of still being top-two-quintile after 10 years (the published cross-sectional base
# rate this phase cites). Structure: each year, probability p of "staying put"; probability
# (1-p) of being redrawn uniformly across all 5 quintiles (mean-reversion component).
import numpy as np
from scipy.optimize import brentq

def build_matrix(p):
    T = np.full((5, 5), (1-p)/5)
    for i in range(5):
        T[i, i] += p
    return T

def top2_after_years(p, years, start=4):
    v = np.zeros(5); v[start] = 1.0
    dist = v @ np.linalg.matrix_power(build_matrix(p), years)
    return dist[3] + dist[4]                       # P(still in quintile 4 or 5)

p_star = brentq(lambda p: top2_after_years(p, 10) - 0.50, 0.0, 0.999)
# p_star -> 0.836 (the annual "stickiness" that reproduces the 10-year, 50% base rate)
fade = {yrs: top2_after_years(p_star, yrs) for yrs in (1, 3, 5, 10, 15, 20)}
# fade -> {1: 0.902, 3: 0.751, 5: 0.645, 10: 0.500, 15: 0.441, 20: 0.417}

Verify. Start with the TCS anchor: EBIT = 2,55,000×0.243 ≈ ₹61,965 cr and NOPAT ≈ ₹46,474 cr. ROIC on total book is 46,474/94,000 ≈ 49.4%, and ex-surplus-cash it's 46,474/46,000 ≈ 101.0%. Those match the "~49%" and "~100%" used above. The Company W/E incremental-ROIC anchor reproduces too. W's incremental ROIC is (850−400)/(3,800−2,000) = 25.0%, and E's is (580−400)/(3,500−2,000) = 12.0%. The calibrated transition matrix above hits its target (top2_after_years(p_star,10) = 0.500) by construction. A Monte Carlo simulation on the same matrix (200,000 draws) gives a median of 7 years and a mean of ~10.15 years until a top-quintile firm first drops out of the top two quintiles. The mean is above the median because the fade-time distribution is right-skewed, with most exits happening earlier than the average.

Quantitative lens

The empirical content of a competitive advantage period. You'll formalize the CAP as a valuation input soon, but the numbers test can already give it an empirical floor. The calibrated fade curve looks like this:

Years heldP(still top-2 quintile)P(has fallen out)
190.2%9.8%
375.1%24.9%
564.5%35.5%
1050.0%50.0%
1544.1%55.9%
2041.7%58.3%

Two readings matter more than the table's individual cells. First, the curve is convex early and flattens late. It falls fastest in years 1 to 10 and asymptotes toward ~40%, the 2-of-5-quintiles floor a fully random reassignment would produce. So most of the "fade risk" in a moat claim is front-loaded into the first decade. It isn't spread evenly across twenty years.

The second reading is more useful for a working verdict. The median firm that will eventually fall out of the top two quintiles does so by year 7. That's well inside the "gated multi-power stack" CAP band (~10 to 15 years) you'll soon learn to grant a well-evidenced moat. Now take a CAP claim in the 15 to 20-year range, the kind the width grading earlier calls "wide." On this base rate alone, it claims the company will outlast the median survivor by nearly double. That's a strong assertion, and the numbers test's five rows exist to earn assertions like it.

Limits of the model. This transition matrix is calibrated and was never estimated. It's built to reproduce one published statistic, the ~50%-in-a-decade figure cited across this phase's readings, with a simple persistence-plus-uniform-reversion structure chosen for transparency. Nobody fitted it from a raw panel of company-level ROIC histories. That raw panel is what Mauboussin & Callahan's Base Rate Book contains, and it wasn't available when this model was built. Treat the fade curve and the "median 7 years" figure as an order-of-magnitude illustration of what "the empirical content of a CAP" looks like. The structure is sound, but it isn't a precise re-derivation of the published research. Pull the actual Base Rate Book tables before you cite a persistence percentage in a real memo.

The model is also sector- and mechanism-blind. It says nothing about whether this specific company's moat is above or below the average fade rate. That judgment still needs the five-row numbers test and the named mechanism (see the evidence table and Worked Example 2).

A company that passes both should be argued to beat the base rate with evidence. Don't just assume it does.

  • G1 · QM1.01 (probability-distributions-estimation): the estimation and Markov-chain machinery behind the calibrated transition matrix above.
  • G2 · DA1.02 (pandas-data-wrangling): scales the ROIC extraction from one company's 10-year table to a multi-company persistence panel.
  • G3 · CN3.03 (when-frameworks-mislead): the consulting-side habit of not mistaking a calibrated model's output for a measurement of the specific case in front of you.

Teach it back & journal

Feynman prompt. Explain this to a smart 15-year-old who runs a profitable lemonade stand. Why will her 60% margins attract three copycat stands by next summer? What are the only five things that could stop them? Translate each source into lemonade terms: the secret recipe customers pay extra for, the loyalty card that makes leaving costly, the group chat where all the customers already are, the wholesale deal on lemons no one else can get, the street that's only busy enough for one stand. Then work out how she'd prove to a skeptical parent, with three summers of her notebook's numbers, which protection she actually has. Keep it to one page with no jargon. If you need the word "ROIC," you haven't finished understanding it, so try "profit per rupee of stuff the stand owns."

Journal reflection. Which of the five false moats are you temperamentally most vulnerable to: the great product you personally love, the growth story, the market-share leader, the brilliant operator, the magnetic founder? Find one position, past opinion, or admired company in your own notes where you granted a moat without running the numbers test. Run the five rows on it now. Write down what changed, and add the failure pattern to your checklist as a named rule: "When I feel ___, I must check ___ before saying 'moat'."


This module's flashcards and mastery quiz are wired into the app: see the node's Quiz and Reviews.

Advertisement

The gate

The module's flashcards and its quiz are in the app. The quiz is the gate: you need 85% to pass it, and the next module opens when you do.