The Analyst's Path

Phase 2Financial statement analysis and quality of earningsFinance trackM2.0620,968 words1 h 56 min of readingabout 20 hours of study9 concept pagesfree

Shenanigans I: Earnings Games

The word "shenanigan" implies a binary, honest or dishonest, and almost nothing you will meet is binary. Financial reporting quality runs along a spectrum, and putting a company on it is the first judgment you make, before any test fires.

Phase 2 · Week 23 · ~20 hours

Where it sits. So far in Phase 2 you've learned to turn statements into judgment. You've worked through margins and DuPont, liquidity and the cash conversion cycle, ROIC built by hand, free cash flow, and the benchmarking habit that makes any number mean something. All of that assumed the statements were trying to tell the truth. Drop that assumption and you need Schilit's earnings-manipulation taxonomy. It covers the seven moves managements use to make profit appear where it isn't, or hide where it is. You'll learn each one with the journal entries that create the lie, the residue it leaves on the statements and the test that catches it. Next week the hunt moves to cash-flow games and the quantitative screens (Beneish, Sloan, Altman, Piotroski), and after that you'll sit inside the real pre-collapse filings. Competency C2, judge quality of earnings, gets its teeth here.

Suggested hour budget. Core content: 8h · worked examples: 2h · practice set (the seeded mini-filing drill): 5h · mini-project: 3h · flashcards + mastery check: 2h.

App link. This material powers the Quality & Red Flags branch's "spot the red flag" drills, where a footnote, a ratio trend or a revenue-recognition excerpt appears and you tap the shenanigan. It also feeds the seeded-filing cases in the case engine. The gate mirrors the app's scoring. You must catch planted shenanigans and keep your false-positive rate low. A forensic analyst who cries fraud at every rising DSO is as useless as one who misses WorldCom.


Advertisement

Learning objectives

By the end you can:

  1. Explain why managements manipulate: compensation targets, debt covenants, capital-raising windows, the meet-or-beat culture and the smoothness cult, and the India-specific pressures of promoter pledges and working-capital drawing power. Use incentives as your first screening question.
  2. Name and define the seven earnings-manipulation moves — the ground Schilit's Financial Shenanigans maps — and classify any described scheme into the correct family in under a minute.
  3. Write the journal entries that create each distortion: premature revenue, fictitious revenue, gross-ups, improper capitalization, reserve creation and release. State exactly which accounts carry the lie.
  4. Read the balance-sheet residue: given statement extracts, identify the sediment each earnings game deposits (receivables, contract assets, CWIP, understated provisions, bloated other income) and articulate why every earnings lie must leave one.
  5. Run the specific detection test for each family: DSO and receivables-quality trends, deferred-revenue and billings tests, unbilled-revenue ratios, capex vs D&A, depreciation-rate and useful-life checks, provision roll-forwards, other-income share of PBT, CWIP ageing, each with the thresholds that separate noise from signal.
  6. Apply the India overlay: promoter-entity round-tripping, "other income" games, and capital-work-in-progress parking, using the disclosure arsenal (Schedule III ageing tables and mandated ratios, CARO 2020, Rule 11(e), the RPT note, pledge data) that Indian filings hand you.
  7. Summarize the anchor cases accurately in three factual sentences each, distinguishing adjudicated findings from allegations: WorldCom, Satyam, Enron, Luckin Coffee, Wirecard, Toshiba, Tesco, Valeant; Manpasand, DHFL, IL&FS, Yes Bank, Vakrangee, CG Power.
  8. Diagnose seeded mini-filings at a ≥80% catch rate with <20% false positives, grading severity on the aggressive-to-fraudulent ladder rather than shouting "fraud" at every anomaly.

Prerequisites & connections

Builds on. M1.01 (you will read and write journal entries throughout, since every shenanigan is just a debit and a credit in the wrong place, time, or amount), M1.06 (the ASC 606 / IFRS 15 / Ind AS 115 five-step model, bill-and-hold and principal-vs-agent rules: the honest baseline against which revenue too soon and revenue that isn’t cheat), M1.07 (capitalization vs expensing, depreciation, impairment: the baseline for cost parked), M1.08 (provisions: the baseline for cost hidden, profit in a jar and the big bath), M2.01–M2.04 (every detection test is a ratio you already know how to build), M2.05 (benchmarking, where a red flag is almost always a divergence: from peers, from the company's own history, or from its own cash flow).

Feeds into. M2.07 (cash-flow shenanigans and the quant screens; the earnings games here usually leave a CFO-vs-net-income divergence that M2.07 formalizes), M2.08 (the forensic case capstone works the real filings of the companies you meet here), Phase 3 (a DCF built on manipulated inputs is a precise valuation of a fictional company), M5 (each sector playbook carries its own red-flag panel), M8.02 (the teardown's quality-of-earnings pass is this week's work compressed to ten minutes), and the red-flags checklist artifact this phase produces.

In short. Accrual accounting runs on management's estimates and timing choices. You're about to learn the seven ways those choices get bent, the trace each bend leaves on the balance sheet and the test that finds it. Every bend leaves a trace because every earnings lie has to live somewhere until it dies.


Core teaching content

Earnings management

Earnings management is the use of accounting choices and timing to make reported profit land where management wants it, for example on a bonus target or the analysts' consensus. Much of it is legal, and it still undermines the analysis. An analyst starts with the incentives, such as pay tied to profit targets and loan covenants, because they show which numbers are most likely to be shaped.

8 min read, on its own page

Financial shenanigans

Financial shenanigans are accounting tricks that push reported profit away from what the business really earned, either by inflating it now or by hiding some of it for later. They fall into seven moves in three families. An analyst catches them with one law: every earnings lie must live on the balance sheet, so each test compares a balance-sheet account with the profit and loss line it feeds.

4 min read, on its own page

Premature revenue recognition

Premature revenue recognition is booking revenue before the company has earned it. The customer is real, but the sale is counted in the wrong period, or too much of the contract is counted too soon. Analysts watch for it because it pulls profit forward from later quarters, which then start weak, and it shows up as receivables growing faster than revenue.

7 min read, on its own page

Fictitious revenue

Fictitious revenue is revenue that does not come from a genuine sale to an independent customer. Money that leaves the company and comes back as payment for supposed sales is one form, and sales to entities the promoter controls are another. Analysts care because fabricated revenue needs a fabricated asset behind it, such as cash that earns almost no interest, so the balance sheet carries the evidence.

9 min read, on its own page

Operating vs non-operating income

Operating income is the profit a business earns from running its operations, while non-operating income, such as a gain on selling land or interest on spare cash, is not part of the business. Some managements label windfalls as operating, because markets value operating profit at a high multiple and look at a one-off gain once. Analysts rebuild core EBIT to strip those items out.

4 min read, on its own page

Capitalizing expenses

Costs that should hit the P&L today are parked on the balance sheet as assets and dribbled out (or never released) as depreciation, amortization, or impairment. Pre-tax profit inflates immediately by the full amount parked. Depreciation claws back only a sliver per year. Flag an EBITDA margin that expands while FCF deteriorates. Look for accounting-policy changes that move a cost from opex to the balance sheet.

7 min read, on its own page

Unrecorded liabilities

Unrecorded liabilities are costs a company owes but has not put through its accounts, so profit looks higher than it should. The cost may simply be left out, or covered by releasing a reserve built in an earlier year. Analysts check that payables and provisions keep pace with activity, and they read the provisions note to see how much has been reversed.

3 min read, on its own page

Cookie jar accounting

Over-providing in good years and releasing the excess in bad ones, so reported profit looks steadier than the business is. A company that provides ₹80 crore more than it needs against warranty claims this year has ₹80 crore available to release when trading disappoints. Smoothed earnings are worth less than steady earnings, and they are usually valued as though they were the same thing.

2 min read, on its own page

Promoter related party transactions

Promoter related party transactions are dealings between a listed company and entities owned by its promoter group, such as family firms and trusts. They matter because money and risk can be routed through those entities, away from the minority shareholders. An analyst reads the related-party note before the profit and loss account and checks the terms of each deal as well as the totals.

4 min read, on its own page

4.10 The residue table, the workflow, and the severity ladder

The master residue table. Commit it to memory. It's the whole week on one screen:

MoveThe lieBalance-sheet sedimentFirst test (build it in minutes)
Revenue too soonTomorrow's real revenue todayReceivables ↑, contract assets/unbilled ↑, deferred revenue ↓DSO trend; unbilled ÷ revenue; billings = revenue + ΔDR
Revenue that isn’tA sale with no substance behind itRP receivables, loans/advances out, fake cash, thin-margin gross-upsRPT note; cash-yield test; gross margin ≈ 0 lines; loans+advances vs revenue
Windfall as operationsA real gain that is not the businessShrinking asset base; other income ↑ share of PBTCore-EBIT bridge; other income ÷ PBT; exceptional-items history
Cost parkedExpenses as assetsPP&E/CWIP/capitalized-cost bloat; falling dep rate; stale goodwill; unimpaired dudsCapex ÷ D&A; dep ÷ gross block; CWIP ageing; EBITDA↑ while FCF↓; divergence notes
Cost hiddenExpenses never bookedPayables/accruals ↓ vs activity; thin provisions vs experienceProvision roll-forward (reversals!); assumption vs claims/peers; payables days
Profit in a jarToday's profit bankedProvisions/deferred revenue swell in good yearsCounter-cyclical accruals; DR de-linked from billings
The big bathKitchen-sink chargesOver-written-down assets; fat fresh provisionsBath size/composition; next-year margin-bridge decomposition

The 20-minute QoE residue pass. This becomes one section of the phase's red-flags checklist, and later a ten-minute pass inside the company teardown. It runs in five steps.

  1. Read the cash flow statement first. Is CFO tracking EBITDA and net income over 3–5 years?
  2. Scan balance-sheet deltas against revenue growth: receivables, unbilled, inventory, loans & advances, CWIP, payables, provisions.
  3. Read four notes: revenue recognition policy, related parties, provisions roll-forward, contingent liabilities.
  4. Compute the panel: DSO trend · unbilled ÷ revenue · capex ÷ D&A · dep ÷ gross block · other income ÷ PBT · CFO ÷ EBITDA · provision reversals.
  5. Ctrl-F the filing: "related party," "bill and hold," "change in estimate," "useful life," "no longer required," "exceptional," "one-time," "capitalised/capitalized," "pledge," "resigned."

Anything that fires twice gets a page of its own in your company file.

The severity ladder for your write-ups. Score every finding on it. It has four rungs.

  • L1 policy choice: legal and disclosed. Adjust and move on.
  • L2 estimate stretch: legal-ish and directional. Adjust hard and dock management credibility.
  • L3 misclassification: the core-vs-reported gap is now material, and earnings quality is officially low.
  • L4 suspected fabrication: residue inconsistent with any honest explanation. That's walk-away or short-side research territory. In a memo, describe the evidence, not your verdict.

The gate scores your false positives as heavily as your catches. L1–L2 findings mislabeled as L4 destroy analyst credibility. The forensic boy-who-cried-wolf gets ignored the one time it matters.

Boundary marker. Two whole weapon classes wait for you next week. The first is cash-flow shenanigans, which make CFO itself lie through payables stretching, receivable factoring and misclassified flows. The second is the quantitative screens (Beneish M-Score, Sloan accruals, Altman Z, Piotroski F), which turn the instincts you're building now into batch arithmetic. Until then, carry one bridge sentence: most earnings games leave CFO lagging net income, so a manipulator's next move is usually to manipulate CFO too.


Common mistakes & how experts think differently

  1. One flag, one verdict. Novices see rising DSO and shout fraud. Experts think in base rates and clusters. DSO can rise for innocent reasons. The mix may have shifted to enterprise customers, a big launch may have landed in March, or terms may have been extended competitively. What experts refuse to ignore is convergence. Rising DSO plus falling CFO conversion plus an auditor resignation isn't three coincidences. One flag = a question. Three aligned flags = a position.
  2. Treating "audited" as "true." Audits sample. They rely on management representations and third-party confirmations, and forged documents fool them (Satyam's bank letters, Wirecard's escrow confirmations, Luckin's fabricated transactions). Experts treat the audit as one control layer. They put more weight on internally generated cross-checks: cash yields, peer margins, revenue per employee, physical observation. A forger has to fake those consistently too, and that's much harder.
  3. Anchoring on the income statement. The P&L is the manipulated document, and reading it harder won't help. Experts read in the order the lies can't easily follow. They start with the cash flow statement and move on to the balance-sheet deltas. Then come the notes. The P&L comes last.
  4. Missing that legal earnings management still costs you money. "It's all within GAAP" isn't an all-clear. A company stretching lives and releasing reserves to hit numbers is (a) overstating the earnings you're capitalizing and (b) telling you about its culture. Schilit makes the point himself. Most catastrophes begin inside GAAP. Experts adjust the numbers and the management-quality score (C7) at the same time.
  5. Forgetting the growth alibi. High-growth companies legitimately show rising receivables, heavy capex and negative FCF. Experts normalize before judging. They use DSO (not AR growth), unbilled ratios (not levels), capex vs disclosed capacity adds, and cohort economics. The clean case in your practice set (P10) is there to train this reflex. Catching shenanigans is easy. Not catching honest growth is the skill.
  6. Assuming size, prestige, or promoter skin-in-the-game immunizes. WorldCom and GE were blue chips. Enron was "the smartest room." Satyam won corporate-governance awards, Yes Bank was a market darling and Wirecard was in the DAX. A promoter with 60% holding and 90% of it pledged has more incentive to inflate, not less. Experts scan every company with the same checklist, and when the narrative is beloved they raise their vigilance.
  7. Writing verdicts instead of evidence. Saying "XYZ is a fraud" in a memo is legally dangerous, and it's lazy analysis. Experts write: "receivables grew 2.4× revenue growth; 40% of sales are to promoter-affiliated entities per the RPT note; CFO/EBITDA has averaged 0.3 for three years; we cannot reconcile reported margins with peer economics; we pass at any price until these reverse." The evidence does the condemning.
  8. Stopping at detection. You're not learning this to become a short-seller. You're learning it because quality of earnings gates everything downstream. A DCF on manipulated NOPAT, a moat verdict on fake ROIC persistence and a P/E on inflated E are all precise nonsense. Experts run the QoE pass before they let themselves fall in love with a business.

Worked examples

WE1: Premature revenue at a software company: the entries, the cliff, and the deferred-revenue tell (synthetic)

Meridian Systems (synthetic, US, $m) signs identical contracts. Each is a software license of $2.4m (control transfers on delivery, point-in-time) bundled with 3 years of support worth $1.2m ($0.4m/year, over time). Total contract $3.6m.

Honest accounting, per deal, year 1: Dr AR 3.6 / Cr Revenue 2.4 / Cr Deferred revenue 1.2, then each year Dr Deferred revenue 0.4 / Cr Revenue 0.4. Year-1 revenue: $2.8m.

Aggressive accounting: allocate almost everything to the license "performance obligation." Year-1 revenue becomes $3.6m, an overstatement of $0.8m per deal (+29%).

Meridian signs 100 deals in Y1, 115 in Y2 (+15%), 115 in Y3 (flat):

$mY1Y2Y3
Aggressive revenue (3.6 × deals)360.0414.0 (+15.0%)414.0 (0.0%)
Honest revenue (2.8 × new + 0.4 × prior cohorts)280.0362.0 (+29.3%)408.0 (+12.7%)
Honest year-end deferred revenue80.0132.0138.0
Aggressive deferred revenue~0~0~0

Read the table twice. (1) Aggressive Meridian reports more revenue in every year, until signings merely stop growing. Then it reports zero growth while the honest twin still grows 12.7%. Pull-forwards convert durable growth into fragile growth that depends entirely on new signings. (2) The residue isn't subtle. A subscription-and-support software company with a near-zero deferred-revenue balance has told you its policy before you've read a word of it. The confirming tests are billings = revenue + Δ deferred revenue (aggressive Y2 billings = 414 + 0 = 414, the same as revenue, with no backlog being built) and the allocation language in the revenue-recognition note. At criminal scale, with fictitious deals layered on, this is the shape of many 1990s software frauds. It's also the reason ASC 606's allocation rules exist.

WE2: Channel stuffing: the DSO arc and the Q5 cliff (synthetic)

Deccan Beverages (synthetic, India, ₹ crore) reports accelerating quarterly sales while retail-audit data shows end-consumer offtake growing ~4% per quarter. Meanwhile its credit terms stretch from 30 to 90 days.

Q1Q2Q3Q4Q5
Reported (primary) revenue300330370420260
Receivables160210290435405
DSO = AR ÷ rev × 9148.557.971.394.3141.8
Estimated secondary offtake295307319332345

Add up Q1–Q4. Cumulative primary sales are 1,420 and cumulative secondary is 1,253. Gap = ₹167 crore sitting in the channel, roughly 46 days of distributor sales that end-customers haven't bought.

The treadmill jams in Q5. Distributors refuse more stock and destock instead. Reported revenue collapses 38% below Q4 even as consumer demand (345) grows on trend, and management blames "temporary industry softness." Yet every quarter's diagnosis was there in two numbers. DSO was rising ~15 days per quarter while revenue growth accelerated. And primary and secondary sales were diverging.

There's a cost hidden twist as well. If Deccan's rebate/returns provision stayed at 1% of sales while it stuffed with 90-day terms and scheme discounts, Q1–Q4 profit is doubly overstated. This arc is one of the most repeated patterns in markets: the Q5 "correction," the unchanged consumer reality, the management euphemism. You'll see it again in autos (wholesale vs VAHAN registrations) and consumer staples worldwide.

WE3: CWIP parking with capitalized interest: six-times-overstated PBT (synthetic)

Aravalli Infratech (synthetic, India, ₹ crore) built a plant that was substantially complete at the end of Year 2 but remains in CWIP through Year 4. During Years 3–4 it capitalizes, per year, ₹60 of borrowing costs (10% on ₹600 of project debt) and ₹30 of general overhead and idle-period costs. Both are improper. IAS 16/Ind AS 16 permit only costs necessary to bring the asset to use, and IAS 23/Ind AS 23 require capitalization to cease when the asset is substantially ready. Commissioning would also start depreciation: ₹700 asset ÷ 20 years = ₹35/year.

Year 3, reported PBT: ₹150. Now do the honest version together: 150 − 60 (interest to P&L) − 30 (overheads to P&L) − 35 (depreciation) = ₹25. Reported profit is 6× reality. CFO looks great too, because the interest and overhead cash outflows are classified as investing (the WorldCom signature).

The residue is all there. CWIP stands at ₹800+ against gross block of, say, ₹900 (CWIP/gross block ≈ 0.9, absurd for an operating company). The Schedule III CWIP ageing table shows the project crossing into the 2–3 and >3-year buckets. Capitalized borrowing costs disclosed in the finance-cost note grow while P&L interest stays flat, and asset turnover falls every year.

Three questions kill it in a management call. Ask when it commissions, and what has changed in the completion estimate each year. Then ask how much interest and overhead has been capitalized to date. Then watch for the endgame, because it's always one of two. Either a giant commissioning-year depreciation-and-interest hit arrives, or a "strategic review" impairment (the big bath) buries the parked costs in one exceptional line.

WE4: The big bath and the manufactured turnaround (synthetic)

Hudson Retail (synthetic, US, $m). A new CEO arrives after a $290m-EBIT year and takes a Year-0 "transformation charge" of $500m. It's made up of store-asset impairments of $300m, a restructuring provision of $150m (severance $90m, lease exits $60m) and an inventory write-down of $50m. The market applauds the "decisive reset." Year 1 EBIT prints $410m, a $120m improvement that management attributes to "operational excellence."

Before you applaud, take that improvement apart.

  1. Impaired assets no longer depreciate. $300m ÷ 10-year average remaining life = $30m of annual depreciation relief.
  2. Written-down inventory sold in Year 1 carries artificially low COGS. 80% sold × $50m = $40m of gross-margin flattery (one-time).
  3. The provisions note's roll-forward shows $25m "reversed — no longer required," credited within opex.
  4. That leaves the real operating improvement: 120 − 30 − 40 − 25 = $25m, about a fifth of the headline.

Check one more thing. The real restructuring cash costs ($90m severance) were charged against the provision, so they touched no Year-1 P&L at all. Nothing here is necessarily illegal. Impairment tests, NRV write-downs and restructuring provisions are legitimate mechanics you've already learned. But the Year-1 story is mostly an accounting echo. Once the one-time echoes (the inventory flattery and the release) fade, Year 2 will need $65m of new real improvement just to stand still.

The test carries over to every case. After any kitchen-sink quarter, build the margin bridge yourself. Take out depreciation relief, inventory flattery and reserve releases first, and only the remainder is a turnaround.

WE5: Capitalizing opex: the margin-and-EPS lift, and the one metric it cannot fool (synthetic)

Beacon Software (synthetic, US, $m) spends $120m a year on customer-acquisition marketing and internally developed software. A defensible policy expenses these costs as incurred. US GAAP expenses most internal software development and all customer-acquisition marketing. IFRS/Ind AS capitalize development only when all six IAS 38/Ind AS 38 criteria are met, and routine marketing never. The rest of the business: revenue $800m, other cash operating costs $500m, ordinary depreciation $40m; tax 25%; 100m shares; steady-state PP&E capex $40m.

Honest books: expense the full $120m. EBITDA = 800 − 500 − 120 = $180m; EBIT = 180 − 40 = $140m (17.5% margin); net income = 140 × 0.75 = $105m; EPS $1.05. Cash: CFO = 105 + 40 = $145m; FCF = 145 − 40 = $105m.

Aggressive books: capitalize $90m of the $120m into an intangible amortized over 5 years ($18m/yr), expense the other $30m. EBITDA = 800 − 500 − 30 = $270m; D&A = 40 + 18 = $58m; EBIT = 270 − 58 = $212m (26.5% margin); net income = 212 × 0.75 = $159m; EPS $1.59. Cash: CFO = 159 + 58 = $217m; total capex = 40 + 90 (the newly capitalized spend now sits in investing) = $130m; FCF = 217 − 130 = $87m.

Metric ($m unless noted)HonestAggressiveEffect
EBITDA180270+90 (+50%), exactly the capitalized amount
EBIT140212+72 (+51%)
EBIT margin17.5%26.5%+9.0 pp
EPS ($)1.051.59+0.54 (+51%)
CFO145217+72
FCF10587−18

Read the last two rows together. EBITDA, EBIT, margin, EPS and CFO all jump, because a single $90m cash outflow was relabeled from operating expense to investing ("additions to intangibles"). But free cash flow falls $18m. That number isn't noise. It's the real cash tax paid on $72m of fictitious pre-tax profit (0.25 × 72 = 18).

So the WorldCom lesson of section 4.6a gets sharper. Capitalization can do worse than leave FCF flat. It can make FCF worse, because the government taxes the fake profit in cash. The tells: capex ÷ D&A jumps from 1.0× to 2.24× (130 ÷ 58) with no new capacity to show for it. A "capitalized software and customer-acquisition costs" line appears and swells, and the EBITDA-up/FCF-down scissor opens.

Undoing it takes one subtraction. Expense the $90m and the margin drops straight back from 26.5% to 17.5%. Anyone paying a software multiple on the 26.5% bought accounting, not economics.

Konkan Consumer Ltd (synthetic, India, ₹ crore) carries a warranty-and-returns provision that has historically run at ~2% of sales, in line with actual claims. Consensus PBT is ₹500 crore; tax 25%; 50 crore shares.

Year 1 (a boom year). True PBT before any reserve game is ₹580 crore. Printing a 16% beat would reset expectations impossibly high, so management over-charges the provision by ₹80 crore beyond anything claims experience justifies (Dr Warranty/returns expense 80 / Cr Provision 80). That's the cookie jar. Reported PBT = 580 − 80 = ₹500 crore. It's bang "in line," with ₹80 crore now banked on the balance sheet.

Year 2 (demand slumps). True PBT falls to ₹430 crore, a ₹70 crore miss against the ₹500 consensus. Management reverses ₹90 crore of the jar as "no longer required" (Dr Provision 90 / Cr Expense), crediting the P&L. Reported PBT = 430 + 90 = ₹520 crore, a ₹20 crore beat, in the year the business actually deteriorated.

₹ crore (EPS in ₹)Year 1Year 2Growth
Reported PBT500520+4.0%
True (un-manipulated) PBT580430−25.9%
Reported EPS7.507.80+4.0%
True EPS8.706.45−25.9%

The manipulation converted a 26% earnings collapse into a 4% beat-and-grow. No revenue was faked and no cash moved. Profit was time-shifted from a year that had too much into one that had too little (profit in a jar on the way in, cost hidden on the way out).

So where's the residue? The IAS 37/Ind AS 37 provisions roll-forward carries a conspicuous "unused amounts reversed ₹90 crore" in Year 2, and that's the column to read first. The provision as a share of sales swings counter-cyclically, with a fat charge in the boom and a net release in the slump, while claims paid per unit never changed. The closing balance whipsaws. A company whose provisions fatten in good years and melt in bad ones is managing the path of earnings, the warning of section 4.8. Put the question on the call: "Your warranty provision spiked as a share of sales in FY1 and then reversed ₹90 crore in FY2. What changed in claims experience?" There's rarely a good answer.


Practice set

Problems P1–P2 are guided mechanics. P3–P10 are the seeded mini-filing drill: eight synthetic filings (labeled synthetic; any resemblance to real companies is generic pattern, not fact). For each: (a) name the shenanigan family (one of the seven moves, or "clean"), (b) cite the two or three lines of evidence, (c) state the confirming test you would run next, (d) grade severity L1–L4. One of the eight is clean. Your restraint is being tested as much as your catch rate. P11 is timed. Gate: ≥80% catch on seeded items with <20% false positives. Write your full answer before you read any solution (working agreement #3).


P1 (guided: the entries that lie). Write the journal entries a manipulator books, and beneath each the honest treatment, for: (i) recognizing ₹40 crore of bill-and-hold revenue where the arrangement fails the "substantive reason" test; (ii) a ₹25 crore round-trip: advance to an affiliate returning as product revenue; (iii) capitalizing ₹18 crore of routine plant maintenance into PP&E; (iv) releasing ₹12 crore of an old restructuring provision into other income to cover a weak quarter.

Solution. (i) Booked: Dr AR 40 / Cr Revenue 40 and Dr COGS (say) 28 / Cr Inventory 28, with the goods still in the seller's warehouse. Honest: no entry until control transfers (or until all bill-and-hold criteria are really met), and the goods remain inventory. Residue: DSO up, and a "customer-owned stock" reclass inside the warehouse. (ii) Booked: Dr Advance to affiliate 25 / Cr Cash 25; then Dr AR—affiliate 25 / Cr Revenue 25; Dr Cash 25 / Cr AR—affiliate 25. Honest: the first entry may be legitimate lending (disclosable), but no revenue exists, because the "sale" lacks economic substance. Consolidated cash is flat and an advance now sits where cash was. Residue: loans & advances rising with revenue, plus RPT note traffic. (iii) Booked: Dr PP&E 18 / Cr Cash 18. Honest: Dr Repairs & maintenance (opex) 18 / Cr Cash 18. Maintenance restores. It doesn't enhance. Residue: capex ÷ D&A drifts up, and the EBITDA margin is flattered by the full 18 now and repaid by ~1–2/year of depreciation later. (iv) Booked: Dr Provision 12 / Cr Other income (or Cr Opex) 12. Honest: a release is proper only when the obligation has really lapsed, and it must appear in the IAS 37/Ind AS 37 roll-forward as "unused amounts reversed," where you'll find it. Residue: provisions shrink in the weak quarter, and "write-backs" recur in other income.


P2 (guided: residue matching). Match each residue (1–8) to the most likely family: (1) deferred revenue falls while reported revenue accelerates; (2) unbilled contract assets go from 22% to 47% of revenue; (3) "profit on sale of land" inside other operating income; (4) capex ÷ D&A at 3.2× for a business adding no disclosed capacity; (5) warranty provision cut from 2.1% to 0.9% of sales, claims unchanged; (6) provisions balloon in a record year, shrink the next; (7) new-CEO ₹600 crore "transformation charge," margins +500bps the year after; (8) receivables from related parties triple while consolidated CFO stalls.

Solution. (1) Revenue too soon: pull-forward drains the deferred-revenue tank. (2) Revenue too soon again, in its percentage-of-completion form: over-time recognition outrunning billing rights. (3) Windfall as operations: a gain dressed as the business. (4) Cost parked: costs parked as capex (confirm no genuine expansion). (5) Cost hidden: assumption game. (6) Profit in a jar: cookie-jar creation, then release. (7) The big bath, then the echo. (8) Revenue that isn’t: related-party revenue of doubtful substance.


P3 (mini-filing: NovaCloud Ltd, synthetic SaaS, $m). Y1→Y2: Revenue 200 → 260 (+30%). Deferred revenue 84 → 70. Contract assets (unbilled) 12 → 39. DSO on billed receivables 68 → 82 days. CFO 30 → 12. Policy note: "for certain multi-year arrangements, the Company has concluded the license component is the predominant performance obligation, recognized on delivery."

Solution. Revenue too soon, severity L2–L3. Start with billings = 260 + (70 − 84) = 246 < 260. Reported revenue exceeds what customers were even billed. Unbilled contract assets tripled (6% → 15% of revenue). Deferred revenue falling at a "growing" SaaS company inverts the honest signature you saw in WE1, and CFO conversion is collapsing (15% of revenue → 4.6%). The policy note gives you the mechanism, front-loading multi-year value into an upfront "license." Confirming tests: allocation percentages in the rev-rec note, the remaining-performance-obligation (RPO) disclosure trend, receivable ageing. It's not yet L4. The customers appear real, and the timing is the lie.


P4 (mini-filing: Kaveri Constructions, synthetic EPC, ₹ crore). Revenue 1,200 → 1,500. Contract assets (unbilled) 280 → 640. EBIT margin 11% → 14% (listed peers on similar order books: 7–9%). CFO/EBITDA: 0.2. Notes: "total estimated costs on three major projects were revised during the year"; retention receivables +60%.

Solution. Revenue too soon, via percentage-of-completion abuse; severity L3. Unbilled at 43% of revenue (from 23%) shows recognized progress far ahead of billing rights. Margins sit 500–700bps above peers bidding the same tenders. When that happens someone is mis-estimating, and it's usually the outlier. Downward cost "revisions" mid-project are the lever itself (% complete = cost incurred ÷ total estimated cost). Cut the denominator and you inflate both progress and margin. Cash conversion of 0.2 says the client isn't certifying what the P&L is claiming. Confirming tests: project-wise disclosures/order-book margin guidance, the history of "exceptional cost overruns" (the reckoning), unbilled ageing, mobilization-advance movements. Expect a future quarter of "unforeseen cost escalation." That's the treadmill's bill.


P5 (mini-filing: Suvarna Consumer, synthetic India, ₹ crore). Revenue +32% to 950. Receivables +85% to 310. New line: "loans & advances to associates ₹120" (prior year nil). RPT note: sales of ₹380 (40% of revenue) to two distribution entities controlled by the promoter family; balances outstanding ₹185. CFO: −45. Promoter pledge: 61% of holding.

Solution. Revenue that isn’t (related-party revenue with a round-trip financing leg), severity L4-suspected. 40% of "growth" is sales to promoter-owned distributors whose receivables (185) are half of what they "bought." The goods may be sitting unsold, or the sales may lack substance. At the same time the company advanced ₹120 to associates, leg 1 of the round-trip that finances leg 2's "collections." CFO is negative in a 32%-growth year, and the 61% pledge supplies the motive (section 4.1). Confirming tests: Rule 11(e)/CARO conduit commentary, secondary offtake evidence (does the end market see these goods?), ageing of RP receivables, and whether the distributors file accounts (an MCA21 lookup with your company-research toolkit). Your memo should state the facts and decline the stock. The word "fraud" belongs to regulators.


P6 (mini-filing: PixelBazaar, synthetic India e-commerce, ₹ crore). "Revenue from operations" 4,200 (prior year 900; footnote: "the Company reassessed its role and concluded it acts as principal"). Gross margin 2.8%. Inventory ₹15. Vendors ship directly to customers; returns are borne by vendors; the platform's take-rate is ~7%.

Solution. Revenue that isn’t, by grossing up agency revenue; severity L2–L3 (classification, not fabrication). The 4.7× revenue jump came from a policy reassessment, not from business. Gross margin is 2.8%, with ₹15 of inventory on ₹4,200 of "sales." There's no inventory risk and no fulfillment responsibility, and vendors bear returns. All three control indicators point to agent. Honest revenue ≈ 7% × GMV ≈ ₹294 crore. Confirming tests: check who sets price and whether there's a contractual fulfillment obligation. Then compare the disclosure with peers reporting net. Now the valuation sting. Anyone paying "1× sales" is paying ~14× the real (net) revenue, and gross-ups exist to fool that shortcut.


P7 (mini-filing: Mahanadi Industrials, synthetic India, ₹ crore). Reported EBIT 240 (prior year 180). Inside "other operating income": profit on sale of surplus land ₹95 (prior year ₹10). Treasury interest of ₹25 (prior year ₹20) also classified within operating income. Management commentary: "operational excellence drove 33% EBIT growth."

Solution. Windfall as operations (one-time gains inside operating income), severity L2. Core EBIT this year = 240 − 95 − 25 = 120. Last year = 180 − 10 − 20 = 150. The core business declined 20% while headline EBIT "grew 33%." Other income ÷ PBT jumped, a land-sale windfall was placed inside operating income, and the commentary claims the gain as "excellence." Confirming tests: the eight-quarter other-income history, the remaining land bank (how many more quarters can be "excellent"?), and where the segment note places the gain. It's fully legal and materially misleading. For anyone applying a 20× multiple to the 240, it's fatal.


P8 (mini-filing: VoltGrid Telecom, synthetic US, $m). Revenue 2,000. EBITDA 820 (41% margin; peers 33–35%). "Capitalized network development and subscriber-acquisition costs" 480 (prior year 150; policy note: subscriber-acquisition costs now amortized over 6 years, previously expensed). Capex ÷ D&A: 3.4×. FCF: −220. Disclosed network capacity: unchanged.

Solution. Cost parked, by improper capitalization; severity L3. A policy change moved subscriber-acquisition costs to the balance sheet. That's a period marketing cost with no controllable future asset behind it, and the incremental ₹/$330 of newly capitalized spend is ~40% of EBITDA. Margins sit 600–800bps above peers with no structural reason. Capex ÷ D&A is 3.4× while capacity is flat, so what did the "capex" build? The EBITDA-up/FCF-down scissor is the WorldCom signature, and capitalization fools every metric except FCF. Recompute it. Expensing the incremental 330 gives EBITDA ≈ 490 (24.5% margin, below peers, which is what the game was hiding). Confirming tests: the soft-asset roll-forward, whether the amortization life is reasonable (6-year customers in a churning market?), and next year's capex "step-down" promises.


P9 (mini-filing: Snehal Finance, synthetic India NBFC, ₹ crore). AUM +38%. GNPA steady at 1.1% for eight quarters. Stage-2 loans: 4% → 11% of book. "Interest accrued but not received": +2.3×. Note: fresh term loans of ₹240 disbursed to entities of a borrower group whose earlier facilities fell due in the same quarter. Borrowings: 35% commercial paper maturing <90 days.

Solution. Cost parked, as failure to impair via evergreening; severity L3–L4. The Stage-2 swell (4% → 11%) is tomorrow's GNPA queueing in plain sight while reported GNPA sits frozen at 1.1%. The two series cannot both be true for long. Interest accrued-but-not-received growing 2.3× means the P&L is recognizing income that cash isn't confirming. Fresh loans to a stressed group, timed to their repayments, are the evergreening circle drawn in the notes (Dr New loan / Cr Cash; Dr Cash / Cr Interest income, the lender paying itself). CP-heavy funding adds the IL&FS/DHFL refinancing fragility, and the lending playbook will formalize ALM later. Confirming tests: RBI/auditor divergence disclosures, restructured-book trends, group-exposure concentration, collection-efficiency disclosures. History rhymes here. This same cluster preceded both IL&FS (2018) and DHFL (2019).


P10 (mini-filing: Verdant Kitchens, synthetic US, $m), TIMED, 15 minutes. Revenue +24% to 620. DSO 41 → 46 (note: "enterprise customers, now 38% of mix vs 24%, are contracted on 60-day terms"). Deferred revenue +40%. CFO/EBITDA 0.97. Capex ÷ D&A 1.6×; note discloses two new fulfillment centers commissioned, volume +21%. Warranty provision steady at 1.8–2.0% of sales; roll-forward shows utilization ≈ additions.

Solution. Clean: no shenanigan (the false-positive test). The DSO drift of 5 days is small, and a disclosed, verifiable mix shift to longer contractual terms explains all of it. Deferred revenue outgrowing revenue is the honest SaaS/subscription signature, a backlog building (compare P3's inversion). Cash conversion is ~1. Capex ÷ D&A of 1.6× is matched by named, commissioned capacity and volume growth. Provisions track experience with a boring roll-forward. Verdict for your memo: earnings quality high, and monitor DSO against the stated terms mix.

If you flagged this one, log why. The usual culprit is treating any rising DSO as guilt, i.e., testing the number against zero when you should test it against its explanation. The <20% false-positive bar exists to train that reflex out of you.


P11 (TIMED, 10 minutes: rapid classification). One line each; name the family: (a) Q4 delivers 42% of annual revenue every year, driven by a December distributor incentive scheme. (b) Warranty provision cut from 2.1% to 0.9% of sales; claims paid per unit unchanged. (c) A new CEO writes off ₹600 crore as "legacy cleanup"; next year EBITDA margin +500bps. (d) "Liabilities no longer required, written back: ₹85 crore" appears in other income for the fourth consecutive year. (e) A division is sold at a ₹140 crore gain reported within EBITDA; the division's operating losses were moved to "discontinued operations." (f) A cash-rich company's ₹5,000 crore of deposits yield 1.2% while one-year FD rates are 7%.

Solution. (a) Revenue too soon: channel stuffing/cut-off (quarter-end spring-loading). Test DSO and the Q1 hangover. (b) Cost hidden: an assumption game (provision vs unchanged claims experience). (c) The big bath. Decompose next year's "improvement" the way WE4 does. (d) Cost hidden: a release of reserves, and evidence of a jar built in an earlier good or bath year. (e) Windfall as operations: the gain kept in operations and the losses exiled below the line, both hands of the asymmetry. (f) Revenue that isn’t territory. The cash-yield test says the cash may not exist or isn't the company's (the Satyam tell). Escalate to L4-suspected and verify custody, liens and the interest-income arithmetic.


Extension set (P12–P17): two guided, three independent mini-filings, one timed stretch. Same rules: write your full answer before reading any solution, name the family, cite two or three lines of evidence, state the confirming test, grade severity L1–L4.

P12 (guided, capitalizing opex: restate the margin and EPS). Nimbus Analytics (synthetic, US, $m) reports revenue $500m and total cash operating costs of $430m, of which $60m is customer-acquisition and internal-software spend a defensible policy expenses. Management instead capitalizes $45m of it into a 3-year-life intangible (full-year amortization) and expenses the other $15m. Tax 25%; 40m shares. Compute (a) reported EBIT and EBIT margin; (b) honest (fully expensed) EBIT and margin; (c) the EPS overstatement in %.

Solution. Amortization = 45 ÷ 3 = $15m. (a) Recognized costs = (430 − 60) + 15 expensed + 15 amortization = $400m, so reported EBIT = 500 − 400 = $100m, a margin of 20.0%. (b) Expense the full $60m and capitalize nothing. Costs are $430m, so honest EBIT = $70m, a margin of 14.0%. That's a +6.0 pp margin lift from accounting alone. (c) Reported EPS = 100 × 0.75 ÷ 40 = $1.875, and honest EPS = 70 × 0.75 ÷ 40 = $1.3125. That's a +42.9% EPS overstatement. The EBIT gap equals capitalized 45 − amortization 15 = $30m. Each future year then carries $15m of amortization drag until the intangible unwinds (or a big-bath impairment buries it). Confirming tests: capex ÷ D&A, the soft-asset roll-forward, the EBITDA-up/FCF-down scissor. Severity L2–L3 (misclassification, disclosed once in the policy note).


P13 (guided: reading the provisions roll-forward). Kadamba Appliances (synthetic, India, ₹ crore) discloses a warranty-provision roll-forward: opening ₹60, additions charged to P&L ₹30, amounts used (claims paid) ₹40, unused amounts reversed ₹45, closing ₹?. Sales ₹2,000 crore; historical claims run ~2% of sales. Compute (a) the closing balance; (b) the net effect of the warranty line on this year's PBT; (c) the PBT overstatement vs an honest experience-based policy, and name the family.

Solution. (a) Closing = 60 + 30 − 40 − 45 = ₹5 crore. (b) Net P&L = additions 30 (expense) − reversals 45 (credit) = −₹15 crore. The warranty line added ₹15 crore to PBT in a year the company paid ₹40 crore of real claims. (c) An honest experience-based charge ≈ 2% × 2,000 = ₹40 crore of expense. The company booked a ₹15 crore credit instead, so PBT is overstated by ₹55 crore. Family: cost hidden (releasing reserves into income), which is evidence of a jar filled in an earlier year. The ₹45 crore "unused amounts reversed" is the confession sitting in the IAS 37/Ind AS 37 roll-forward. The closing balance collapsing from 60 to 5 while sales are strong says the book is now under-reserved, and that's tomorrow's problem. Next test: the additions-rate (30 ÷ 2,000 = 1.5%) vs the claims-rate (2.0%), and the reversal trend across years. Severity L2–L3.


P14 (mini-filing: Girnar Agrochem, synthetic India, ₹ crore). Revenue +40% to 1,260 (an increase of ₹360). RPT note: ₹300 of the increase is sales to two distributors newly incorporated this year, both controlled by the promoter's family. New balance-sheet line "loans & advances to related parties" ₹280 (prior nil). Receivables from the two distributors ₹250, ageing >300 days. CFO −60 (prior +140). No interest income disclosed on the ₹280 crore of advances. Promoter pledge 58%.

Solution. Revenue that isn’t (related-party revenue with a round-trip financing leg), severity L4-suspected. 83% of the entire revenue increase (300 ÷ 360) went to promoter entities that didn't exist last year. At the same time the company pushed ₹280 crore out as "advances" (leg 1) that return as the receivable/"sale" (leg 2). Consolidated cash never arrives, so CFO is −60 on 40% "growth." Receivables ageing past 300 days say the goods may be sitting unsold. And there's no interest on ₹280 crore of advances, the cash-yield tell that the money isn't really out working. The 58% pledge supplies the motive (section 4.1). Confirming tests: Rule 11(e)/CARO conduit commentary, MCA21 filings of the two distributors, secondary offtake evidence, RP-receivable ageing. Your memo should state the facts and decline the stock. "Fraud" is the regulator's word.


P15 (mini-filing: Cascade Materials, synthetic US, $m). Reported operating income (EBIT) $180 (prior $150). Inside "operating income": a $70 gain on sale of a distribution center (prior $0) and $22 of treasury/investment income (prior $18). Management commentary: "operational discipline drove 20% EBIT growth."

Solution. Windfall as operations, with one-time gains inside operating income; severity L2. Core EBIT this year = 180 − 70 − 22 = $88m. Prior-year core = 150 − 0 − 18 = $132m. So the core business shrank ~33% while headline EBIT "grew 20%." A non-recurring asset-sale gain and recurring-ish treasury income both sit inside operating income, and the "discipline" story claims a windfall as operations. Confirming tests: eight-quarter other-income ÷ PBT, the remaining saleable real estate (how many more "excellent" quarters are in the asset base?), and where the segment note places the gain. It's fully legal and materially misleading, and it's fatal to anyone applying an operating multiple to the $180m.


P16 (mini-filing: Deccan Logistics, synthetic India, ₹ crore). Gross block ₹3,000 (stable mix, no disposals). Depreciation fell from ₹240 to ₹165 year-on-year. Accounting-policy note: truck useful lives revised from 8 to 12 years; listed peers depreciate similar fleets over 7–8 years. PBT ₹400.

Solution. Cost parked, by depreciating too slowly (the useful-life stretch); severity L2. Implied depreciation rate = 240 ÷ 3,000 = 8.0%, falling to 165 ÷ 3,000 = 5.5%. The implied life ≈ 1 ÷ 0.055 ≈ 18 years, beyond even the revised 12-year life, so salvage values were probably lifted too. Holding the rate at 8% would have charged ₹240. The "change in estimate" lifted PBT by ₹75 crore, about 19% of the ₹400 PBT, with no cash effect and one line of disclosure. The evidence is falling depreciation ÷ gross block on a stable fleet, and lives well above peers. It's legal (a prospective IAS 8/Ind AS 8 estimate change), but it's directional. Adjust the numbers and dock management credibility. Then watch for the endgame, a future "fleet modernization" write-off (the big bath) that settles the deferred bill in one exceptional line.


P17 (TIMED, 12 minutes: the integrated QoE pass; stretch). Aster Devices (synthetic, US, $m). Revenue 1,000 (+18%). Reported EBIT 210, which includes a $40 gain on sale of a building and $15 of treasury interest. The company also capitalized $60 of customer-acquisition costs that peers expense (amortized over 5 years → $12 this year). Deferred revenue fell from $120 to $96 while revenue "grew." The provisions roll-forward shows $25 "reversed — no longer required," credited to opex. Compute/answer: (a) core EBIT after stripping the one-time items; (b) adjusted core EBIT after also reversing the improper capitalization (net of amortization) and removing the reserve release; (c) billings = revenue + Δ deferred revenue; does the growth-quality flag fire? (d) which families are present? (e) severity for the worst finding.

Solution. (a) Core EBIT = 210 − 40 − 15 = $155m. (b) Net capitalization benefit = 60 − 12 = $48m, and the reserve release = $25m. So adjusted core EBIT = 155 − 48 − 25 = $82m, and reported EBIT is 2.56× the adjusted figure. That's a 61% overstatement of the headline, or +156% versus the honest number. (c) Billings = 1,000 + (96 − 120) = $976m < $1,000m revenue, so the flag fires. Reported revenue exceeds what customers were billed, and deferred revenue is falling at a "growing" company. That's the revenue too soon pull-forward signature. (d) Four moves converge. Windfall as operations (gain + treasury inside operating income), cost parked (capitalized marketing), cost hidden emptying an earlier jar (the reserve release), and revenue too soon (the deferred-revenue drain). (e) L3 (material misclassification). No single item reads as outright fabrication. Stacked, though, they overstate EBIT by more than 150% of the honest figure, and the convergence of four families is itself the signal (Common Mistakes #1: one flag is a question, four aligned flags are a position). Scoring: all five parts inside 12 minutes = fluent. This composite "adjusted core earnings" walk is the teardown's quality pass in miniature.


Applied mini-project

Task. One real quality-of-earnings residue pass (choose Option A or B; 3 hours).

Option A (India): Manpasand Beverages, the pre-collapse filings. Pull the FY2016 and FY2017 annual reports (BSE archives: bseindia.com → company → Annual Reports; cross-check numbers on screener.in), filings published before the auditor's May 2018 resignation. Compute for both years: (1) revenue growth vs receivables growth and DSO; (2) capex ÷ D&A, and CWIP + gross-block build vs reported volume growth; (3) advertising expense as % of revenue vs any listed beverage peer (e.g., Varun Beverages); (4) CFO ÷ EBITDA; (5) other income ÷ PBT; (6) promoter holding and pledge from the shareholding pattern. Then write a two-page QoE memo dated mid-2017, as if the collapse hasn't happened. Give your three strongest concerns, each with the number, the note citation, the family and a severity grade. Add one page of "what would change my mind."

Option B (US): Luckin Coffee, the pre-revelation record. Pull from SEC EDGAR: the F-1 (May 2019 IPO) and the Q3 2019 results 6-K; pair with the January 2020 anonymous short report (published by Muddy Waters, available on their site). Compute/extract: store-count growth vs revenue per store per day; sales & marketing spend vs claimed customer acquisition; receivables and prepayments trends; the report's core evidence classes (store traffic counts, receipt sampling). Write the same two-page memo, dated January 2020. Say which families the report alleges (map each claim to revenue too soon, revenue that isn’t or cost hidden). Say which of the company's own filed numbers corroborate or contradict it, and what you'd verify next.

Both options: end with one paragraph applying the severity ladder from section 4.10, and the language you'd use in a client memo (evidence, not verdicts).

Rubric (score 0/1/2 per criterion; pass ≥ 9/12):

Criterion012
ComputationsErrors or missingMostly correctAll correct, shown, sourced to filing page/note
Evidence citationAssertions without citesSome note/page citesEvery claim tied to a specific note, table, or disclosure
Family classificationWrong familiesRight families, thin reasoningRight families with mechanism (entries/residue) explained
Severity calibrationVerdict language / everything is fraudReasonable gradesL1–L4 grades defended; innocent explanations weighed
Memo craftDisorganizedClearConclusion-first, two pages, a decision a PM could act on
False-positive disciplineFlags everythingMostly disciplinedExplicitly tests each flag against the honest alternative

Case Lab: run case CL-2.4 in the app's Cases tab. It's a synthetic filer, and you run the full residue pass on it: cash flow statement first, then balance-sheet deltas, the four notes and the ratio panel. You catch the planted shenanigans across all seven moves and grade each on the L1–L4 ladder. You're scored on catches and false positives against the model answer. It's the mastery gate's ≥80%-catch / <20%-false-positive bar, made interactive.


Reading & resources

  • Schilit, Perler & Engelhart, Financial Shenanigans, 4th ed., Part Two, "Earnings Manipulation Shenanigans" (Ch. 3–9). The source taxonomy. What you've just worked through is its drill-sergeant version. Your Phase-2 reading spine already assigns it, so read the earnings-manipulation chapters this week. [Paid] [Intermediate]
  • Thornton O'Glove, Quality of Earnings. The 1987 classic: differential disclosure, the accounts-receivable/inventory diagnostic, dissecting the annual report. Dated examples, immortal method. [Paid] [Intermediate]
  • Mulford & Comiskey, The Financial Numbers Game: Detecting Creative Accounting Practices. Deeper reference on classification and recognition games. [Paid] [Advanced]
  • Primary case documents (all free; read at least two this week): the WorldCom Special Investigative Committee (Beresford) report (via SEC EDGAR); the Powers Report on Enron; Ramalinga Raju's confession letter (7 Jan 2009, public record, widely archived); Toshiba's Independent Investigation Committee summary (English, 2015); the SFO–Tesco deferred prosecution agreement and statement of facts (sfo.gov.uk); the Muddy Waters Luckin report (muddywatersresearch.com, Jan 2020). [Free] [Intermediate]
  • SEC Accounting and Auditing Enforcement Releases (AAERs), at sec.gov → Enforcement → AAERs: an inexhaustible, indexed library of adjudicated shenanigans; read one per week forever. SEBI orders database (sebi.gov.in → Enforcement → Orders) for the Indian equivalents (Vakrangee, Zee-related interim orders, and hundreds more). [Free] [Advanced]
  • 2Point2 Capital's blog post on Manpasand Beverages (2016). A masterclass in public-information forensic reasoning on an Indian mid-cap, written pre-collapse. [Free] [Intermediate]
  • Saurabh Mukherjea, Rakshit Ranjan & Salil Desai, Diamonds in the Dust, the forensic-screening chapter (the Marcellus adaptation of accounting-quality checks to Indian filings). [Paid] [Beginner–Intermediate]
  • MCA Schedule III (as amended 2021): the bare text of the ageing-table, ratio, and fund-routing disclosures (mca.gov.in): twenty minutes that upgrades every Indian AR you ever read. Pair with any Big-4 free guide to CARO 2020. [Free] [Intermediate]
  • Howard Schilit interviews/lectures (search his Google Talk and long-form podcast appearances), the taxonomy narrated by its author, with cases. [Free] [Beginner]
  • Going deeper: the Luckin Coffee enforcement record (SEC AAER / litigation release, December 2020). Read the SEC's own order (sec.gov → Enforcement → search "Luckin Coffee") beside the January 2020 Muddy Waters report you already have, and watch a fabricated-revenue case (revenue that isn’t) travel from an anonymous short-seller's store-traffic counts to an admitted ~RMB 2.2bn fabrication and a $180m settlement. Note how the fake sales required fake cash and fake expenses to balance (the sediment law, in an adjudicated file). A free way to see revenue that isn’t, end-to-end. [Free] [Intermediate] (check the current URL and figures)
  • Going deeper. Dan McCrum, Money Men (2022): the Wirecard exposé from the inside. The Financial Times journalist's account of the multi-year effort to prove that €1.9bn of "escrow cash" never existed: a case study in how forged third-party confirmations defeat audits, and why the cross-checks a forger must also fake (cash yield, the substance of third-party-acquiring revenue) beat the audited number every time. Pair with the KPMG special-audit summary. [Paid] [Intermediate]

The Modern Analyst's Addendum

Everything above teaches this skill from first principles, by hand — that is 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": "The seven earnings-manipulation moves, the master law that every earnings lie lives on the balance sheet, the residue table, the 20-minute QoE pass and the severity ladder",
  "use": "This module's gate scores false positives as heavily as catches, and that is exactly the discipline an AI tool will erode if you let it — a model asked to find red flags will find red flags in a clean filing, every time, because that is what it was asked to do. Use it where its output is checkable and its enthusiasm is harmless. (1) The Ctrl-F sweep of §4.10 step 5 becomes a proper search: ask it to locate and quote every occurrence of 'change in estimate', 'useful life', 'no longer required', 'bill and hold', 'related party', 'exceptional', 'capitalised', 'pledge' and 'resigned', with the surrounding sentence and a page reference. Quotes with references are verifiable; conclusions are not. (2) Ask it to read the provisions roll-forward across five years and tabulate additions, amounts used and amounts REVERSED: the reversal column is the detector for cost hidden and profit in a jar, and it is pure extraction. (3) Ask it to summarise the related-party note's TERMS, not just its totals: interest-free, unsecured, no stated tenure, repayable on demand. (4) Ask it explicitly for the innocent explanation of each residue you have found, and require it to name the disclosure that would establish the innocent case. That is the false-positive discipline, delegated to the tool in the one direction where its fluency helps you rather than flattering you.",
  "tools": ["Document/PDF AI: NotebookLM or Claude file upload for the keyword sweep, the provisions roll-forward and the related-party terms across five years of filings", "Chat assistants: Claude, ChatGPT for the innocent-explanation pass and for candidate causes of a specific residue pattern", "Coding assistants: for the residue panel, the year-over-year text diff and the base-rate arithmetic below"],
  "prompt": "Attached are five years of one company's filings. Produce a table [Year | Note | Verbatim quote (max 30 words) | Page] for every occurrence of these phrases: <LIST>. Separately, tabulate the provisions roll-forward: opening, additions, used, reversed, closing, for each year, from the note only. Then, for each pattern I list here <PASTE MY RESIDUE FINDINGS>, give the strongest INNOCENT explanation and name the specific disclosure that would confirm it. Do not tell me whether this company is manipulating anything, and do not extrapolate a figure that is not in the filings.",
  "verify": "Every quote is opened in the filing and read in its paragraph, because a phrase match is not a finding and context reverses meaning routinely. Every extracted roll-forward is tied to the balance-sheet movement it must explain. And every flag is then scored on the severity ladder by you: L1 policy choice, L2 estimate stretch, L3 misclassification, L4 suspected fabrication — a tool has no basis for that scale and will happily hand you L4 language for an L1 fact. The master law is your real check: an earnings lie must leave balance-sheet sediment, so any flag that cannot be tied to a specific account growing faster than the P&L line that feeds it is not yet a flag. The Quantitative lens gives the reason to be this strict (Guardrail 1-5).",
  "diy": "The gate is unaided and it penalises false positives: you run the 20-minute residue pass, name the family, locate the sediment, compute the tests and score the severity from the filing on paper. Nothing in this callout is admissible in that room."
}

Modern Data Analysis

By hand first. You learned the residue table and the master law by working filings with a pencil, and the gate keeps you there. What the code adds is breadth over years and words, two things a pencil cannot cover, and it adds them to a judgment that stays entirely yours.

Today's workflow. Two techniques change this work in practice. The first is the residue panel. It computes the seven first tests of section 4.10 for every year and every peer at once. A rising DSO gets read against a peer set's DSO, and a capex-to-D&A ratio of three gets read against a sector where two is normal. That's the growth alibi of common mistake five, enforced mechanically.

The second is new to the modern toolkit, and forensic reading is where it pays off most: the year-over-year text diff. A filing's accounting-policy section, revenue-recognition note, risk factors and MD&A are largely copy-pasted from last year. So a difflib comparison of the two texts returns a short list of what the company chose to change: a useful life extended, a phrase about collectability softened, a segment definition redrawn, a sentence about a customer deleted. Deletions are the highest-signal output and the hardest thing in the world to notice by reading, because the eye can't see an absence. The diff is cheap, mechanical and deterministic, with no model in it at all. It turns the keyword sweep of section 4.10 from a hunt into a diff.

Tools & sources (IN + US). pandas for the residue panel, difflib for the text diff, pdfplumber for Indian note tables. India: the related-party note (Ind AS 24 / LODR Reg 23) read for terms, the provisions roll-forward, the CWIP and receivables ageing tables and the loans-to-promoters and bank-statement-agreement disclosures from the 2021 Schedule III amendments, the eleven mandated ratios with their >25% explanations, Rule 11(e) and CARO 2020 clauses, and the exchanges' Reg 30 filings for auditor resignations and CFO exits (BSE/NSE; MCA21 for the unlisted ecosystem entities the RPT note names). US: EDGAR full-text search for the phrase sweep across all filers at once, the companyfacts XBRL series for the panel, successive 10-Ks for the text diff, 8-K Item 4.01 for auditor changes, and the SEC's AAER releases and comment letters for the base rates the Quantitative lens needs.

# Base-rate arithmetic for a red-flag screen — R3: recomputed in-session, assumed prevalence
import difflib
sens, spec, prior = 0.80, 0.90, 0.02          # assumed screen quality and assumed base rate
lr_p, lr_n = sens / (1 - spec), (1 - sens) / spec           # 8.00 and 0.222
def post(p, lrs):
    o = p / (1 - p)
    for l in lrs: o *= l
    return o / (1 + o)
print(round(post(prior, [lr_p]) * 100, 1))                  # 14.0% -> 86% of flags are innocent
print([round(post(prior, [lr_p] * k) * 100, 1) for k in (1, 2, 3)])   # 14.0 56.6 91.3
print(round(post(prior, [lr_p ** 1.5]) * 100, 1))           # 31.6 if the flags are correlated
old, new = "receivables are considered fully recoverable", "receivables are considered recoverable"
print([d for d in difflib.unified_diff(old.split(), new.split(), lineterm="") if d[:1] in "+-"][2:])
#   ['-fully'] — one deleted word in a policy note, which no amount of re-reading would surface

Verify. A diff hit or a keyword hit gives you a location. It isn't a finding yet. Open the paragraph and read what changed and why. Then check whether the company explained it in the ratio-change or estimate-change disclosure it's obliged to make. Tie every residue ratio to the account it's made of, from the filing, before it enters a panel. A DSO computed from an aggregator's standardised revenue against a filing's receivables is two companies' arithmetic in one number. And keep the growth alibi open the whole time. High-growth companies legitimately show rising receivables, heavy capex and negative free cash flow, so normalise before judging, as common mistake five instructs. The boundary you've learned applies to code as much as to reading. Flags adjust exposure and demand answers. They don't deliver verdicts.

Quantitative lens

The gate penalises false positives, and the expert rule says one flag is a question while three aligned flags are a position. Both follow from one piece of arithmetic you should be able to do from memory. Manipulation is a low-prevalence event, and low prevalence destroys the predictive value of good tests.

Take a decent screen. It catches 80% of manipulators (sensitivity) and clears 90% of honest companies (specificity). Its positive likelihood ratio is 0.80 / 0.10 = 8, so each flag multiplies the odds of manipulation eightfold. That sounds decisive. Now assume a base rate of 2% among listed companies in a given year. One flag moves you from 2% to a posterior of 14.0%. In other words, 86% of everything the screen flags is innocent.

Run it on 1,000 companies. You get 16 true flags and 98 false flags. Four cases are missed and 882 companies are correctly cleared. So you read about 7.1 filings for every real case you find. Lower the assumed prevalence to 1% and the posterior falls to 7.5%. Raise it to 10% and it only reaches 47.1%. To get a single flag to a 50% posterior at a 2% base rate you'd need a specificity of 98.37%. No ratio screen you'll meet this week or next remotely has that.

That's the arithmetic behind "one flag is a question." Convergence fixes it, and the arithmetic shows how much. Two conditionally independent flags of LR 8 take 2% to 56.6%. Three take it to 91.3%, and four to 98.8%. Likelihood ratios multiply, so a cluster is categorically different from a list. The expert reflex in common mistake one is Bayesian. Style has nothing to do with it.

There's a large catch, and it's the limit that matters most here. Those multiplications require the flags to be conditionally independent given honesty, and the flags you've learned this week emphatically aren't. Rising DSO, falling CFO conversion and a widening EBITDA-to-FCF gap all move together in an honest company having a bad working-capital year, because they share a cause. Suppose three correlated flags carry only about one and a half independent flags' worth of evidence. Then the posterior at a 2% prior is 31.6%, not 91.3%.

The practical rule is easy to use. Prefer flags that are causally distinct over three flavours of the same working-capital observation. Take one from the balance-sheet residue, one from the notes and estimates, and one structural, such as an auditor resignation or a pledge. Convergence gets its power from independence. Count alone won't supply it.

A few more limits. The 2% base rate is an assumption. Nobody measured it. Real prevalence is unknown, and it varies by market, size decile and period. It's also systematically undercounted, because undetected manipulation is missing from every sample by construction. That biases prevalence estimates down and screen sensitivity estimates up. The 80/90 screen quality is illustrative too. Next week you'll get published hit rates for the named models, and those are what to substitute.

One direction is reliable, though. A clean screen moves 2% to 0.45%, so at low prevalence a negative result is far more informative than a positive one. That's a good argument for using these screens to allocate attention. Accusing is a different job.

Do it in code: write the posterior as a function of prior, sensitivity and specificity, and put your own assumed base rate in the memo beside the flag; then compute the pairwise correlation of your flags across the panel to see how many independent flags you actually have. See G1/QM1.01 and G2/DA2.01.

  • G1 · QM1.01 Probability, Distributions & Estimation: Bayes, likelihood ratios and the base-rate arithmetic above, the formal version of the severity ladder you've just learned.
  • G2 · DA2.01 Supervised Machine Learning: classification with heavily imbalanced classes, where precision, recall and the cost asymmetry between a missed fraud and a libelled company are the whole design problem, and where a model is a complement to reading the filing and never a replacement for it.
  • G2 · DA1.02 Pandas Data Wrangling: the residue panel across years and peers, and the text diff as a repeatable pipeline over successive filings.
  • G2 · DA2.03 Deep Learning, NLP & Time Series: the text side of this week's work taken seriously, tone, hedging and year-over-year language change measured rather than eyeballed, with the caution that a language signal is a lead and the filing is the proof.

Teach it back & journal

Feynman prompt. Explain to a smart 15-year-old how a company can "sell" things that aren't really sold, and why the trick always leaves a mark somewhere on its list of what it owns and owes. Use a school canteen that wants to impress the principal: it can count next month's lunch orders as this month's sales (what piles up? IOUs), call the money from selling an old freezer "lunch profit," or pretend the new paint job is "an investment" instead of a cost. End with the one rule that catches all three: if the profit is real, cash should eventually show up, so check the drawer, not the announcement. One page, no jargon undefined.

Journal reflection. You have watched organizations game KPIs: attrition definitions massaged, engagement scores surveyed into shape, hiring targets hit by reclassifying contractors. Write half a page connecting one KPI game you personally witnessed to its nearest family here (timing? classification? the jar?). Then answer honestly: under which pressure from section 4.1 (a bonus target, a boss's expectation, a number already promised) would you have been most tempted to bend a judgment call, and what does that tell you about how to read managements charitably but verify mechanically? Log one sentence you will reuse in every future memo when you find L1–L2 aggression but not fraud.


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.