Phase 2 · Week 24 · ~20 hours
Where it sits. "Fine, then I'll trust the cash-flow statement instead." That's the reflex most analysts carry out of the earnings-games work, which taught the seven earnings games and their master law: every earnings lie must live on the balance sheet. Breaking that reflex is the job here. Cash-flow totals are hard to fake. But the statement is divided into three labeled sections, operating, investing and financing, and the labels are where the games live. The first half teaches the cash-flow shenanigans. You'll see how financing inflows get dressed up as CFO through factoring, securitization and supplier finance. Stretched payables rent a quarter of cash flow. Capitalization moves operating outflows into CFI, and acquisitions pump CFO structurally. One-time items and classification differences wreck comparability on top of all that. The second half arms you with the four great quantitative screens: Beneish M-Score, Sloan accruals, Altman Z (with Z′ and Z″) and Piotroski F-Score. Each one comes with its full math and published coefficients. You also get the thresholds and the evidence behind them, then see where each one fails and work a complete computation. After that, the forensic case files throw you into real pre-collapse filings with the whole toolkit in hand.
Suggested hour budget. Core content: 8h · worked examples: 2h · practice set (including the full screen battery): 5h · mini-project: 3h · flashcards + mastery check: 2h.
App link. The Quality & Red Flags branch's screen-builder challenges run on this material. The app hands you a statement set, and you compute all eight Beneish indices, the accruals ratios, Z and F to tolerance. It also adds the cash-flow family to the "spot the red flag" drill deck. The gate mirrors the app, so you have to compute the screens correctly and interpret them correctly. Flag every high-growth company as a fraud and you fail the interpretation half.
Advertisement
Learning objectives
By the end you can:
- Explain why the cash-flow statement can lie without the cash total lying (classification between CFO/CFI/CFF is the game), and name Schilit's cash-flow shenanigan families with two real examples each.
- Detect and reverse financing-dressed-as-operating inflows: recompute adjusted CFO and adjusted DSO when receivables are factored or securitized, and reclassify supplier-finance (reverse-factoring) balances into debt, recomputing net debt/EBITDA.
- Quantify a payables stretch: compute DPO, isolate the one-time CFO boost as ΔAP, and explain why the boost is a level shift that reverses when suppliers push back.
- Read capitalization and acquisitions through the cash-flow lens: show why improper capitalization inflates CFO permanently while FCF is largely immune, and demonstrate with numbers how a serial acquirer's CFO is structurally flattered by acquired working capital.
- Standardize CFO across US GAAP, IFRS, and Ind AS (interest and dividend classification) before comparing companies or feeding any screen.
- Compute the Beneish M-Score from raw statements: all eight indices (DSRI, GMI, AQI, SGI, DEPI, SGAI, LVGI, TATA) with the published coefficients, apply the M > −1.78 flag, and explain its false-positive behavior on genuine high-growth firms.
- Compute the Sloan accruals ratio both ways (balance-sheet and cash-flow methods), reconcile the difference between them, and state the decile evidence for why high accruals predict poor earnings persistence and returns.
- Compute Altman Z with the original public-manufacturer coefficients (1.2 / 1.4 / 3.3 / 0.6 / 1.0, zones 1.81 / 2.99), choose correctly among Z, Z′, and Z″, and compute the Piotroski F-Score (all nine signals), then combine all four screens into a triage workflow whose limits you can articulate from memory.
Prerequisites & connections
Builds on. M1.05, statement articulation: you can't see a misclassified cash flow unless you know where each flow belongs. M1.06 to M1.08, for the baseline treatments of receivables derecognition and capitalization, plus debt. M2.01 to M2.03, because every screen input is a ratio you can already build, and the M-Score is largely a bundle of ratio changes. M2.04, for CFO construction, FCF, CFO/EBITDA and FCF/PAT conversion. The tests here are those same tools pointed at liars. M2.05, benchmarking, since a classification game shows up only against peers and the company's own history. And M2.06, the earnings games: most of them leave the gap between CFO and net income that the accruals mathematics here formalizes.
Feeds into. M2.08, where you'll run the full battery on the pre-collapse filings of Enron, WorldCom, Wirecard, Satyam, DHFL and Cox & Kings. Phase 3, because a DCF discounts free cash flow, so if CFO is dressed up, your valuation inherits the costume. The M5 sector playbooks, where each sector's red-flag panel carries its own cash-flow tells. M8, whose rapid teardown runs a ten-minute quality pass on CFO/NI, accruals and a screen glance. And the red-flags and quality-of-earnings checklist this phase produces.
In short. The bottom line of the cash-flow statement tells the truth, but its section labels are negotiable. So managements relabel borrowings as operating inflows and operating costs as investing outflows. Your defenses are a small set of adjustments: add back sold receivables, reclassify supplier finance, charge acquisitions against FCF. Then come four screens with decades of testing behind them: Beneish for manipulation, Sloan for accrual quality, Altman for distress, Piotroski for fundamental strength. Use them as triage that tells you where to read, never as a verdict.
Core teaching content
Cash flow manipulation
Cash flow manipulation is moving cash between the sections of the cash flow statement, or borrowing it from next year, so that operating cash flow looks stronger than the business made. It creates no new cash, which is why it leaves tracks, such as a new liability or a shrunken receivables book. Analysts test for it by comparing operating cash flow with net income and by checking which line produced the year's cash.
5 min read, on its own page
Receivables factoring
Receivables factoring is selling a company's unpaid customer invoices to a financier for cash today. Booked as a true sale, it raises operating cash flow and lowers days sales outstanding, although the economics match a loan and no debt line shows it. Analysts add the sold balance back to receivables and net debt, and they take the growth in that balance out of operating cash flow.
7 min read, on its own page
Payables stretching
Payables stretching is paying suppliers later than usual so that cash stays in the business and operating cash flow looks better. The gain is a one-time loan from suppliers, so repeating it means stretching further, and it reverses if payment terms snap back. Analysts watch days payable outstanding (DPO) and the payables ageing table to tell a silent stretch from stable terms.
3 min read, on its own page
4.5 Operating outflows shifted to investing: capitalization, seen from the cash side
When you studied the earnings games, their section 4.6, cost parked, taught capitalization as an earnings game: park an expense on the balance sheet and the P&L smiles. Now watch the same move on the cash-flow statement. This is what makes it the most powerful single shenanigan in the book: the cash paid for a capitalized cost exits through CFI ("capital expenditure"), not CFO. One journal-entry choice inflates EBIT, EBITDA, net income and CFO at the same time. That's every headline metric but one.
The arithmetic of the lie. Say a company spends ₹100 crore a year maintaining its network and expenses it, as it should: EBIT −100, CFO −100. Now it capitalizes the same spend over 10 years. Year-one EBIT takes only ₹10 crore of depreciation, so the P&L is flattered by ₹90 crore. CFO is flattered by the full ₹100 crore, for as long as the spend continues, because depreciation is a non-cash add-back. The earnings flattery shrinks as depreciation stacks up. The CFO flattery never decays. That's why serial capitalizers show gorgeous CFO right up to the write-off.
The one metric that survives: free cash flow. FCF = CFO − capex is immune, to first order, because the relocated outflow reappears in the capex line you subtract. That's the deep reason free cash flow became your anchor metric. But the immunity has two leaks. (1) The capitalized spend may be routed to a line outside your capex definition, such as "purchase of intangibles," "capitalized software," "additions to CWIP," or, worst of all, an acquisition (section 4.6). Then a lazy CFO − PP&E capex misses it. The fix is to define capex as all investing outflows for operating assets, intangible additions included. (2) If you, like much of the market, quote EV/EBITDA or CFO conversion instead of FCF, the immunity does you no good, because you never invoked it.
The tests. The whole cost parked panel from the earnings games applies: capex ≫ D&A for years, CWIP ageing, capitalization-policy footnotes, useful-life drift. Add the cash-side instrument. Recompute FCF including every investing line that smells operating, and compare its trend with CFO's. A widening gap between CFO and FCF with no growth story is capitalization talking. And read the capex note itself, because "growth capex" that never produces revenue growth is maintenance spend in a costume.
Comparability is a problem too. Two companies with nothing to hide can classify the same economics differently. Netflix expenses its content through CFO, where content additions appear as an operating use of cash. Legacy studios historically routed production spend through investing lines. So a naive CFO comparison between them means nothing until you standardize. Software firms are the same. US GAAP requires expensing most R&D (a CFO outflow), while IFRS and Ind AS capitalize qualifying development (a CFI outflow). An IFRS software company will therefore show structurally higher CFO than an identical US GAAP one. Rule: before comparing CFO across firms, move every content/development/customer-acquisition outflow to one consistent bucket.
On the record. WorldCom is the eternal exhibit. Roughly $3.8bn of network "line costs," operating fees paid to other carriers, were capitalized as assets across 2001-02. Later findings took the total misstatement past $11bn, the largest accounting fraud of its era, and the CEO was convicted. The capitalization faked operating cash flow as well as profits, by the full capitalized amount, so the market's "but cash flow confirms the earnings!" defense was circular. Schilit's files add Tyco's ADT dealer program. Tyco paid hundreds of millions to "dealers" for customer contracts and classified the payments as investing outflows, while the subscription revenue those contracts produced flowed through CFO. That was an operating cost of acquiring customers, exiled to CFI for good.
4.6 AA2: Acquisitions as a cash-flow pump
This is the subtlest family and the one most likely to fool a good analyst. No rule is broken and no judgment is stretched. The distortion is built into the format of the statement.
The mechanics. When Company A buys Target T, the whole purchase price, including T's receivables, inventory and payables, flows out through CFI ("acquisitions, net of cash acquired"). Nothing about the deal touches CFO. From day one, though, the benefits of T's working capital flow into CFO. A collects T's receivables, sells T's inventory and uses T's supplier terms. A bought a river with CFI money and reports the water as CFO rain. Under both US GAAP and IFRS/Ind AS, the working-capital changes shown inside CFO exclude balances acquired in a business combination. So the acquired receivables book can be harvested without ever showing up as a working-capital drag.
The two-path proof (numbers you'll reuse in Worked Example 2). Take two identical strategies for adding a division with ₹40 crore of working capital and ₹200 crore of fixed assets:
- Build it: capex −200 in CFI, plus −40 of working capital funded in CFO. CFO shows the strain of growth.
- Buy it: acquisition −240 in CFI. CFO shows zero working-capital strain, because the ₹40 crore arrived pre-funded.
Same economics, yet CFO is ₹40 crore higher on the buy path, on every deal, forever. So a serial acquirer reports structurally flattered CFO and "cash conversion" next to an organic grower of identical quality. Then there's the aggressive garnish. Run the acquired receivables book down after closing by collecting old balances and tightening terms, and CFO gets a further one-time injection. Really, that's a partial liquidation of something you paid for through CFI.
The defense: charge acquisitions against free cash flow. For any company that acquires routinely, acquisitions are capex:
Acquirer's FCF = CFO − capex − acquisitions (net of cash acquired) − capitalized intangible additions
On the two-path numbers above, this metric comes out identical for builder and buyer, and the pump vanishes. Back it up with organic metrics. Does the roll-up grow its revenue at all without deals? What does CFO look like in the first deal-free year? The treadmill stops then, and the true conversion shows. Watch for the tell-tale reversal: a roll-up pauses acquiring, and "cash conversion" mysteriously collapses. The market calls it a slowdown. You know it was never conversion in the first place.
On the record. Schilit's acquisition-accounting chapters use Tyco again: hundreds of deals a year in the late 1990s, with CFO constantly refreshed by acquired working capital and dealer-program classification. The pattern generalizes to every era's serial acquirer. The earnings games' big bath already showed you the sibling trick on the earnings side: have the target pre-book expenses and reserves in the stub period so the combined P&L blooms. Acquisition games and earnings games run on the same deal flow.
4.7 Unsustainable operating inflows (part two): One-time items, taxes, and the classification traps that break comparability
Not every CFO distortion is a scheme. Some are just events. But you have to strip them out, or your trends, your conversion ratios and every screen in sections 4.10-4.13 inherit the noise.
The one-time inflow checklist. Scan the CFO reconciliation and the notes for these:
- Tax windfalls: large refunds of past years' taxes (in India often with interest, split between other income and CFO), one-time settlements, or a swing in the cash-tax rate around losses. To test, compare cash taxes paid (disclosed under both IFRS/Ind AS and US GAAP) with the P&L tax charge over 3 to 5 years.
- Stock-based compensation's tax history (US): excess tax benefits from employee option exercises sat in CFO before 2006. They moved to CFF under FAS 123R (2006 to 2016), then moved back into CFO under ASU 2016-09 (2017 onward). A US company's CFO series that crosses those boundaries isn't comparable without restatement. The general lesson: know the vintage of every rule that touches your metric.
- Litigation and insurance receipts, escrow releases, government grants: real cash, zero persistence.
- Trading-book effects: under US GAAP, purchases and sales of trading securities run through CFO, so a portfolio drawdown can pass for operating strength. It's mostly a financial-company issue, but conglomerates carry trading books too.
- Hedge terminations and derivative unwinds: monetizing an in-the-money swap pulls years of future benefit into today's CFO.
- Deferred-revenue surges from a single mega-contract: real operating cash, but check whether the obligation engine (new bookings) repeats before you extrapolate.
The standing trap: interest and dividend classification. The single largest structural CFO difference across your two home markets comes from the rulebook itself:
| Flow | US GAAP (ASC 230) | IFRS (IAS 7, pre-IFRS 18) | Ind AS 7 (non-financial companies) |
|---|---|---|---|
| Interest paid | CFO | CFO or CFF (option) | CFF |
| Interest received | CFO | CFO or CFI (option) | CFI |
| Dividends received | CFO | CFO or CFI (option) | CFI |
| Dividends paid | CFF | CFF or CFO (option) | CFF |
So an Indian company's reported CFO excludes interest paid, and a leveraged Ind AS filer will show materially higher CFO than an identical US GAAP filer. Every cross-border comparison, every CFO/EBITDA benchmark and every screen input has to be standardized first. Here's the convention we use (pick one and hold it): US-style CFO = reported CFO − interest paid + interest received + dividends received, with signs as needed depending on where the company put them. Practice Problem 9 drills the conversion. Two forward notes. IFRS 18 (effective for periods beginning 1 January 2027, check status when you read this) removes the IAS 7 options. It pushes interest paid to financing and interest received to investing for non-financial companies, converging on the Ind AS geography. And financial companies classify interest inside CFO everywhere, one of several reasons the screens below exclude financials.
India presentation note. The Ind AS 7 indirect format shows a subtotal, "operating profit before working capital changes", that Indian annual reports have carried for decades. Use it. It splits CFO into the earnings engine and the working-capital swing at a glance, which is the decomposition the composition test (section 4.2) wants.
Cash flow statement red flags
Cash flow statement red flags are patterns in operating cash flow that suggest profit is not turning into cash, or that the cash flow has been flattered. Examples are net income rising for years while operating cash flow lags it, and one sudden good cash year just before a refinancing. In India, Schedule III ratios and ageing tables expose some of these signs in the filing itself.
4 min read, on its own page
4.9 The screens: why mechanical models earn a place in a judgment business
Everything so far needs you to read filings: slow, deep work, one company at a time. The four screens below exist because you also need the opposite tool. It's a fast, mechanical, emotion-free pass over hundreds of companies, or over one company's decade, that tells you where to spend your reading hours. Each was published in a peer-reviewed paper and estimated on real samples of manipulators, bankrupts or winners. Each has survived decades of out-of-sample abuse. Treat them the way a doctor treats a blood panel. An abnormal value orders the biopsy, and the diagnosis comes later. Your operating creed, before the math:
- Screens point, filings convict. No screen output is ever a conclusion. It's a ranked reading list.
- Base rates rule. Outright fraud is rare, a low single-digit percent of listed firms in any year. So a screen that flags 10% of the market will be wrong about most of its flags. That's by design, because missing a fraud costs you far more than reading an innocent company's annual report. Set your thresholds knowing which error you'd rather make.
- Know each model's home turf. All four were estimated mostly on US non-financial firms, often manufacturers, decades ago. They carry to India and to modern asset-light businesses directionally, without their original calibration. None apply to banks, NBFCs or insurers. Financial firms' balance sheets make "current assets," "working capital" and "accruals" mean different things, and their forensic panel comes in the sector playbooks.
- Standardize inputs first (section 4.7). Compute CFO on one convention. Use consolidated Indian statements, because standalone ones hide subsidiary games. And note that IFRS 16/Ind AS 116, which put leases onto the balance sheet from FY2019-20, breaks time-series comparability for any leverage-flavored input that crosses that boundary.
One story for motivation. In 1998, an MBA student team at Cornell ran the Beneish model on a Wall Street darling as a class project. They flagged it as a likely earnings manipulator and rated the stock a sell. The company was Enron, three years before the collapse. The screen didn't "know" anything. It just refused to be charmed, and that refusal is what a screen is for.
Beneish M-score
A statistical model that combines eight ratios into a single score estimating the likelihood that a company has manipulated its earnings. Values above roughly minus 1.78 are conventionally treated as a flag. False positives are frequent, particularly for firms growing quickly or changing their business mix, and a real fraud can score cleanly if the manipulation doesn't show up in these eight ratios. Use it to decide where to spend the afternoon.
8 min read, on its own page
Accruals ratio
The gap between reported profit and cash flow, scaled by assets. It puts a number on how much of a company's earnings exists only as an accounting entry. One usable form is net profit minus operating cash flow, divided by average total assets. A manufacturer earning ₹615 crore with ₹785 crore of operating cash flow on ₹6,200 crore of assets scores minus 2.7%, meaning cash exceeded profit.
5 min read, on its own page
Altman Z-score
A model that estimates how close a manufacturer is to bankruptcy, built from five ratios: working capital, retained earnings and operating profit against total assets, market value of equity against total liabilities, and sales against total assets. For the original public-manufacturer version, a score above 2.99 is the safe zone, below 1.81 is the distress zone, and the range between is uncertain. Treat a falling score as the signal, and the level as context.
5 min read, on its own page
Piotroski F-score
The F-Score's genius is its deliberate crudeness: nine yes/no questions any analyst can answer from two years of statements in five minutes. A mediocre business getting better outscores a great business having a soft year. F is the screen for "is this cheap company fixing itself?", which is the question a value analyst needs answered before the falling knife hits the floor.
4 min read, on its own page
4.14 The combined workflow: four instruments, one dashboard, and the honesty about limits
What each screen is for (the one-line versions):
| Screen | Question | Flag | Home turf | Blind spot |
|---|---|---|---|---|
| Beneish M | Does the accounting resemble known manipulators'? | M > −1.78 | Non-financial, data-rich, growthy | Flags honest fast growers; misses frauds outside its 1980s pattern book |
| Sloan accruals | How much profit is bookkeeping rather than cash? | Top decile of your universe (≳ +8–10% of assets) | Everything non-financial | Says nothing about which accrual lies; negative ≠ safe (liquidation, baths) |
| Altman Z / Z′ / Z″ | Will it live? | < 1.81 / 1.23 / 1.10 (grey above) | Z: listed manufacturers; Z″: the rest | Imports market mood via X4; cyclicals dip at troughs; blind to fraud (fake assets score fine) |
| Piotroski F | Is this (cheap) business getting better or worse? | ≤ 2–3 weak; ≥ 8 strong | Value universe | Direction not level; growth firms mis-scored; nine coarse binaries |
The workflow. It becomes a page of the phase's red-flags checklist:
- Standardize (section 4.7): consolidated statements, one CFO convention, one screen-input sheet per company. Exclude financials from all four screens.
- Compute the battery for the company and its 3 to 5 benchmarking peers, five years deep where the data allows. A screen value on its own means little. A screen divergence, from peers or from the company's own history, means a lot. That's the benchmarking law again.
- Triage. An M-flag or top-decile accruals sends you to the earnings-game panel and the cash-flow panel of sections 4.3-4.8, aimed at the specific residue the indices point at. Z in grey or distress sends you to the leverage, covenant and liquidity work, plus the refinancing calendar. Low F on a cheap stock means deciding whether you're early or wrong.
- Read the ranked filings. The screens have just ordered your reading list, nothing more.
- Document it in your decision journal: which screens fired, what the filing showed, your severity call on the earnings games' ladder from aggressive to fraudulent. Calibrating your own false-positive rate over months is how the capstone standard (≥80% caught, <20% false positives) becomes achievable when you reach the forensic case files.
The limits, plainly, because your edge is knowing them:
- Vintage and domain. All four models were estimated on US firms, decades ago, mostly manufacturers. Intangible-heavy modern businesses distort AQI, X5 and every asset-scaled input. Directional use travels. Exact cutoffs don't. Re-rank within your own market and sector.
- Garbage in, garbage out. Screens compute on reported statements. Satyam fabricated over ₹5,000 crore of cash and its liquidity ratios looked pristine. Wirecard's fictitious escrow cash did the same. A wholesale fabrication passes any screen built on the fabricated numbers. Screens catch distortion. Only external verification catches invention: auditor bank confirmations, channel checks, the scuttlebutt of the rapid teardown. That's why the forensic case files come next.
- Bayes rules the flags. With a ~2% fraud base rate, a screen flagging 10% of companies at even 80% sensitivity delivers mostly false positives. That's acceptable. The screen's job is to concentrate your reading, and an M-flag that "merely" finds aggressive-but-legal accounting has still protected your capital. You adjust the numbers and reprice management's character either way, as the earnings games' ladder taught.
- Regime breaks. IFRS 16 / Ind AS 116 (FY19-20) put leases on balance sheets, so LVGI, X1, X4 and leverage signals jump across that boundary with no change in behavior. ASU 2016-09 moved SBC tax benefits back into US CFO (2017). Standards evolve, so recompute consistently across breaks or restrict your windows.
- Screens are public. Everyone computes M, Z and F, and sophisticated manipulators manage to the screens: they smooth the DSRI and factor the receivables. Section 4.3 exists partly to defeat receivable screens. Your adjustments from sections 4.3-4.8 keep the tools sharp after the whole market owns them. That means computing the screens on adjusted inputs, with receivables grossed up for factoring and payables net of supplier finance.
4.15 The two families the map deferred: key metrics and acquisition accounting
Everything in sections 4.3 to 4.14 attacks a line in an audited statement, and every one of those attacks leaves a residue somewhere an auditor has signed. Two families avoid that constraint entirely. The first redefines the metric the market actually prices, which no auditor examines. The second uses a legitimate transaction, the acquisition, to manufacture the look of growth inside statements that are entirely correct.
Schilit, Perler and Engelhart give these their own headings in Financial Shenanigans (4th ed.), and the reason is jurisdictional. A US filer's non-GAAP measures answer to Regulation G and Item 10(e) of Regulation S-K. Those demand a reconciliation to the nearest GAAP measure with equal or greater prominence (section 4.11 of the full-filing capstone teaches the rulebook and the rebuild). An Indian filer's investor-presentation "adjusted EBITDA" answers to nobody. The SEBI listing regulations prescribe the results format, and the auditor's limited review covers that format and leaves the deck alone. Same company, two documents, one of them audited. The unaudited one is usually the one the analyst quotes.
KM1: metrics that overstate performance
Four moves, in ascending order of how hard they are to see.
The bespoke measure. An "adjusted EBITDA" that adds back items which recur every single year is a definition of profit that leaves out the cost of being in business. Stock compensation is the largest example, and section 4.10 of the free-cash-flow work already dismantled it. Restructuring charges in eight of ten years, "pre-opening costs" at a chain whose business model is opening stores, "growth investments" that are marketing, integration costs at a company that acquires every year: all of them are the same move. The test is arithmetic. Total the add-backs over five or ten years and compare the cumulative wedge with cumulative reported profit. If the wedge is a large fraction of the profit, the adjusted measure is the company's opinion of itself.
The cherry-picked operating metric. Same-store sales, cohort retention, active users, gross merchandise value, annual recurring revenue and bookings are all defined by the company. Nothing constrains the definition except the company's own prior disclosure, and often not even that. A retailer that counts a store as comparable only after twenty-four months has excluded its newest and weakest cohort without saying so. A subscription business that reports "annualised run-rate revenue" from the last month of the quarter has annualised its best month.
The definition that moves without a restated history. This move matters most, because it converts a definitional change into apparent growth and leaves the prior-year comparative untouched. Mechanically, it's also the easiest to catch, because the company has to describe the new definition somewhere.
The migration to a softer metric. Watch the sequence a decelerating company runs. Revenue growth slows, so the deck leads with bookings. Bookings slow, so it leads with annual recurring revenue. That slows, so it leads with gross merchandise value or a wholly invented aggregate. WeWork's April 2018 bond offering documents introduced "community adjusted EBITDA", which added back general and administrative costs, marketing and development, and the metric drew wide public criticism at the time. The general rule: a company changes its headline metric when the old one stops flattering it. Treat the change as the signal, and read the old metric anyway.
KM2: balance-sheet metrics distorted to hide deterioration
The same trick, pointed at the balance sheet, and usually at leverage or working capital.
Days sales outstanding computed on receivables net of factored balances falls while collection performance stays the same or gets worse. That's why section 4.3 insisted you gross the sold balance back up before computing anything. Days sales outstanding computed on billed receivables only, with contract assets and unbilled revenue excluded, does the same job for a project business. Days payable outstanding computed on trade payables excluding acceptances or channel-finance balances hides the stretch that section 4.4 measures.
Adjusted net debt is the other favourite. Two exclusions do most of the work. One is lease liabilities, which are debt in every economic sense and which IFRS 16 and Ind AS 116 have put on the face of the balance sheet since 2019. The other is supplier-finance balances, bank debt wearing a payable's clothes. Both standard setters have since forced the second one into the open. The IASB's supplier-finance amendments to IAS 7 and IFRS 7 (issued May 2023) apply to annual periods beginning on or after 1 January 2024, and the FASB's ASU 2022-04 added Topic 405-50 for fiscal years beginning after 15 December 2022. Verify the effective dates and any later amendment against the standard setters' own websites before relying on them in a memo, since transition provisions move.
Denominator swaps complete the family. Covenant EBITDA that includes a full year of an acquisition completed in month eleven, plus "run-rate synergies" not yet delivered, produces a net-debt-to-EBITDA ratio no lender would recognise. Return on capital employed computed on capital employed excluding goodwill and capital work in progress flatters a serial acquirer and a company mid-build at the very moment each is most exposed. Whenever a ratio improves and neither its numerator nor its denominator is a statement line you can point at, the definition has moved.
The detection habit: rebuild it, then diff the words
Two mechanical steps catch nearly all of this, and neither requires judgment.
Rebuild the metric from the audited statements. If the deck says adjusted EBITDA is ₹620 crore, take reported operating profit, add depreciation and amortisation, then add back each named item one at a time until you reach 620. Every add-back you cannot tie to a line or a note is a question. If you cannot reach the number at all, you have found something more interesting than a question.
Then diff the definition. Put this year's footnote or glossary entry for the metric beside last year's and read them word for word. Definitional changes are almost always disclosed. Usually it's a line or two in a place nobody reads: the glossary at the back of the annual report, a footnote to the operating-metrics table, or a parenthesis in the management discussion. A company that changed a definition and restated the history is being straight with you. One that changed a definition and left the prior year on the old basis has manufactured a growth rate, and you can compute its size.
AA1: acquisitions used to boost revenue and earnings
Three mechanisms, all legal.
The deferred-revenue haircut. When one company buys another, the acquirer must recognise the identifiable assets and liabilities at fair value (section 4.5 of the consolidation work). The target's deferred revenue is a liability. Its fair value is the cost of fulfilling the remaining obligation plus a normal margin on that fulfilment, which is typically far below what the target was carrying. The write-down destroys revenue. The target would have recognised it, the acquirer never will, and nobody ever reports it. Then in year two there's no haircut, so the same underlying business appears to grow. The size of the phantom growth is the haircut divided by the depressed year-one figure.
Two qualifications keep this current. US GAAP narrowed the effect sharply. ASU 2021-08 requires an acquirer to measure acquired contract assets and contract liabilities from customer contracts under ASC 606, as if it had originated them, for public business entities in fiscal years beginning after 15 December 2022. IFRS 3 and Ind AS 103 carry no equivalent carve-out. So the haircut is still live for IFRS and Ind AS filers, and for any pre-2023 US comparative you're reading. Verify the effective dates against the FASB and IASB texts before quoting them.
Pre-close revenue shifting. Between signing and closing, the target's revenue belongs to nobody the market is watching. A target that slows shipments or delays contract signatures in its final stub weeks hands that revenue to the acquirer's first reported quarter. The tell is a stub-period revenue figure that does not reconcile to the target's own last public quarters, which is visible only if the target was listed and you go and read them.
The missing organic split. Most acquirers report consolidated growth and leave the reader to guess how much of it was bought. The split is computable whenever the deal's contribution is disclosed anywhere, in the business-combination note, the segment note, or the pro-forma disclosure that IFRS 3 and ASC 805 require. Compute it every time. A company that will not disclose the contribution of an acquisition it completed this year has told you something without meaning to.
AA3: acquisitions used to hide a decline
The most durable of the family, and the hardest to see while it works.
A company whose organic revenue is shrinking can hold its headline growth rate constant indefinitely, provided each year's acquisitions are large enough. The base grows every year, so the deals must grow too. It's the same treadmill section 4.1 described, in a different uniform. Reported growth stays smooth. Organic growth decays underneath it. Nothing in the audited statements is wrong.
Five signals travel together. Acquisitions appear in every year of the ten-year record. The organic figure is either absent or defined so that acquired businesses count as organic after twelve months, which converts last year's deal into this year's organic growth. Goodwill and acquired intangibles rise as a share of total assets while tangible operating assets don't. Cash conversion falls, because acquired working capital flatters CFO once and then stops (section 4.6). And the adjusted earnings measure adds back acquisition and integration costs that have now recurred for a decade, so KM1 and AA3 run as one machine. Steinhoff and Valeant both appear in the forensic case files for this reason, and the sector playbooks cover the same play in its subscription-metric form.
The counter is the pro-forma bridge, worked in full in WE7. Rebuild three numbers for every year: organic revenue, the annualisation of last year's deals, and this year's new deals. Their sum is the reported increase, and the ratio of the first to the sum is the only growth number worth quoting.
Common mistakes & how experts think differently
- "The cash-flow statement can't lie." Novices leave the earnings games by moving their faith from net income to CFO. Experts trust one line, the net change in cash, and treat everything above it as presentation. Their reflex on any impressive CFO print is the composition test (section 4.2): which line produced it? Profit plus D&A is strength. A payables jump, a receivables collapse or "other operating liabilities" is a claim that needs evidence.
- Adjusting for factoring with the level instead of the change (or the other way round). The sold-receivables level corrects stocks: add it to receivables (DSO) and to net debt. The change in the level corrects flows: subtract Δsold from CFO. Novices subtract the whole ₹200 crore program from CFO, double-counting years of old sales, or add only this year's growth to net debt, missing the financier's full claim. Experts keep the stock/flow split mechanical. Balance-sheet metrics take the level, and cash-flow metrics take the change.
- Reading a screen as a verdict. The learner who shorts every M > −1.78 and "clears" every M < −1.78 has misread both tails. Experts know the flag's anatomy. A hypergrower with clean books carries elevated SGI, DSRI, AQI and TATA by construction, so its flag means "read the receivables and soft-asset notes." A mature company growing 4% that clears the threshold is a five-alarm signal, because nothing mechanical explains it. Same score, opposite priors. And a clean score proves nothing, since wholesale fabrication (Satyam's cash) feeds the screen fabricated inputs.
- Mixing model vintages and variants. You'll see Z′ coefficients read against original-Z zones, and the 1968 percentage-scaled printing (0.012·X1) mistaken for a different model. You'll see Beneish's 8-variable coefficients bolted onto the 5-variable variant, and TATA computed as NI − CFO but benchmarked against balance-sheet-accrual sample means. Experts carry one rule: coefficients, thresholds and variable definitions travel as a set, so verify the set against the original paper before professional use.
- Feeding unstandardized inputs. Novices run the battery on standalone Indian statements, where subsidiary games are invisible. They compare an Ind AS CFO (interest paid in CFF) with a US GAAP CFO (interest in CFO). They span the IFRS 16/Ind AS 116 boundary with LVGI or X4, or compute Sloan's balance-sheet accruals across an acquisition year. That's the very case Hribar and Collins warned about. Experts build one input sheet per company (consolidated, one CFO convention, regime breaks flagged) before any formula runs.
- Reading negative accruals or a mid-range F as safety. Deeply negative accruals can mean a healthy asset-heavy firm. They can also mean a shrinking one liquidating working capital (Worked Example 3), or a big-bath year manufacturing next year's "improvement." A Piotroski 4 can be a growth company investing hard or a decliner in slow collapse. F measures direction and ignores level. Experts never read the total without the components.
- Running the screens on financial companies. A bank's "current liabilities" are deposits, its "receivables" are its loan book, and its leverage is its business model. So every one of the four models returns confident nonsense. Experts park banks, NBFCs and insurers for the sector-specific forensic panel and say so in the memo, instead of reporting a meaningless Z.
- Stopping at the score. The novice reports "M = −1.44, flagged" and moves on. The expert reports which index moved, because the decomposition is the reading list. DSRI 1.33 and AQI 1.57 point at receivables and capitalized costs, DEPI at useful lives, TATA at the whole accrual complex. Then the expert computes the screens again on adjusted inputs, with receivables grossed up for factoring and supplier finance reclassified to debt. Screens on adjusted numbers are the professional's edge now that the whole market has learned the naive versions.
Worked examples
WE1: The factoring arc: build, plateau, unwind (Saraswati Cables Ltd, synthetic Indian mid-cap; ₹ crore)
Saraswati's underlying business never changes: sales ₹1,460 crore a year (₹4 crore a day), true receivables ₹360 crore (true DSO 90 days), true CFO ₹120 crore, EBITDA ₹240 crore, and reported net debt of ₹400 crore throughout. From Year 1 it sells receivables non-recourse, derecognized under Ind AS 109. The sold balance outstanding goes from ₹80 crore in Y1 to ₹160 crore in Y2. It stays at ₹160 crore in Y3 because the bank caps the limit, then drops to ₹60 crore in Y4 as credit tightens and the program is cut.
| ₹ crore | Y1 | Y2 | Y3 | Y4 |
|---|---|---|---|---|
| Sold balance outstanding (EOY) | 80 | 160 | 160 | 60 |
| Δ sold balance | +80 | +80 | 0 | −100 |
| Reported receivables (360 − sold) | 280 | 200 | 200 | 300 |
| Reported DSO (÷4) | 70 | 50 | 50 | 75 |
| Reported CFO (120 + Δsold) | 200 | 200 | 120 | 20 |
| Reported CFO/EBITDA | 83% | 83% | 50% | 8% |
| Adjusted CFO (reported − Δsold) | 120 | 120 | 120 | 120 |
| Adjusted DSO ((reported AR + sold)÷4) | 90 | 90 | 90 | 90 |
| Adjusted net debt (400 + sold) | 480 | 560 | 560 | 460 |
Read the reported line the way the market did. Two years of "improving collections" (DSO from 90 to 50) and superb 83% cash conversion. Then a Year-3 "normalization" that analysts excuse. Then a Year-4 collapse blamed on "one-off working-capital outflows." The adjusted line shows what the derecognition note said all along. This is a completely flat business renting its cash flow from a bank at a fee: ≈2% on balances sold, a couple of crore a year buried inside finance or other expenses. True leverage peaks at 2.33× EBITDA against the reported 1.67×. Every mechanism from section 4.3 shows up. The boost equals the program's growth (Y1 to Y2). It stalls at the cap in Y3, the bounded-game law of section 4.1. And it reverses on shrinkage in Y4, with the double hit: no new boost, and the old one drains back. The Ctrl-F hunt costs ten minutes. The Year-4 surprise cost real holders their capital.
WE2: Build vs buy: the serial acquirer's CFO pump (Organica vs Acquira, synthetic; ₹ crore)
Both companies start with a base business producing CFO = EBITDA = ₹100 crore. Each year for three years, each adds one identical division: ₹200 crore of fixed assets and ₹40 crore of working capital, contributing ₹60 crore of EBITDA from its first year (all of it cash, before working-capital funding). Organica builds, with capex through CFI and working capital funded through CFO. Acquira buys the same division pre-assembled for ₹240 crore. All of that goes through CFI, as section 4.6 explained, since acquired working capital never appears as a CFO drag.
| ₹ crore | Y1 | Y2 | Y3 | Cumulative |
|---|---|---|---|---|
| EBITDA (both) | 160 | 220 | 280 | 660 |
| Organica CFO (100 + 60k − 40) | 120 | 180 | 240 | 540 |
| Acquira CFO (100 + 60k) | 160 | 220 | 280 | 660 |
| Organica CFO/EBITDA | 75% | 82% | 86% | 82% |
| Acquira CFO/EBITDA | 100% | 100% | 100% | 100% |
| Organica FCF (CFO − 200 capex) | −80 | −20 | +40 | −60 |
| Acquira FCF (CFO − 240 acquisitions) | −80 | −20 | +40 | −60 |
The economics are identical, yet Acquira reports ₹120 crore more cumulative CFO and a picture-perfect 100% conversion. That's the format artifact, compounding one deal at a time. The defense metric from section 4.6, FCF with acquisitions charged, is identical for the two companies in every single year. The pump vanishes the moment you stop letting acquisitions live outside the subtraction.
Two extensions worth fixing in memory. First, the garnish. Say Acquira squeezes each acquired receivables book by ₹15 crore after closing (collecting old balances, tightening terms). Then CFO gets a further ₹45 crore across the three years. That's a partial liquidation of assets it paid for through CFI, reported as operating strength. Second, the treadmill's end. In Year 4, with no new deal, both companies report CFO of ₹280 crore and conversion converges. Acquira's "deterioration" headline is just the pump switching off.
So when a roll-up's conversion collapses in its first deal-free year, what you're seeing is the statement format telling the truth for the first time.
WE3: The full battery on a shrinking firm (Ridgeline Fastener Corp, synthetic US small-cap manufacturer; $m)
Kavery (sections 4.10-4.13) showed the battery on a flagged grower. Now for the mirror image, the profile the screens must not confuse with it. Ridgeline is losing its market. Sales are down 15%, margins are compressing, and management is shrinking the balance sheet to survive. Statements (Y2 = current year; beginning-of-Y1 total assets = 750):
| $m (IS) | Y1 | Y2 | $m (BS) | Y1 | Y2 | |
|---|---|---|---|---|---|---|
| Sales | 800 | 680 | Cash | 20 | 32 | |
| COGS | 560 | 493 | Receivables | 130 | 96 | |
| Gross profit | 240 | 187 | Inventory | 190 | 140 | |
| SG&A | 168 | 155 | Other CA | 20 | 16 | |
| Depreciation | 40 | 36 | Current assets | 360 | 284 | |
| EBIT | 32 | −4 | Net PP&E | 320 | 292 | |
| Interest | 28 | 26 | Other non-current | 40 | 36 | |
| PBT | 4 | −30 | Total assets | 720 | 612 | |
| Tax | 1 | 0 | Trade payables | 96 | 70 | |
| Net income | 3 | −30 | Short-term debt | 60 | 84 | |
| Taxes payable | 4 | 2 | ||||
| Other CL | 30 | 26 | ||||
| Current liabilities | 190 | 182 | ||||
| Long-term debt | 240 | 170 | ||||
| Equity (Y2: RE 160) | 290 | 260 |
Y2 CFO (indirect): −30 NI + 36 dep + 34 (fall in AR) + 50 (fall in inventory) + 4 (fall in other CA) − 26 (fall in AP) − 2 (fall in taxes payable) − 4 (fall in other CL) = +62. Capex was $8m. There were no dividends and no equity issue, and LTD was paid down by $70m. Market cap $70m (P/B 0.27, deep value territory). All figures synthetic.
Beneish: DSRI (96/680)÷(130/800) = 0.869 · GMI (240/800)÷(187/680) = 1.091 · AQI 0.0588÷0.0556 = 1.059 · SGI 0.850 · DEPI 0.1111÷0.1098 = 1.012 · SGAI 0.2279÷0.2100 = 1.085 · LVGI 0.5752÷0.5972 = 0.963 · TATA (−30 − 62)/612 = −0.150.
M = −4.84 + 0.920(0.869) + 0.528(1.091) + 0.404(1.059) + 0.892(0.850)
+ 0.115(1.012) − 0.172(1.085) + 4.679(−0.150) − 0.327(0.963)
= −4.84 + 0.799 + 0.576 + 0.428 + 0.758 + 0.116 − 0.187 − 0.703 − 0.315 = −3.37
M = −3.37, far below −1.78. Nothing here resembles the manipulator profile. The giant negative TATA alone, with cash earnings far above book earnings, pulls M down by 0.70.
Sloan (both methods): CF method: (−30 − 62)/((720+612)/2) = −92/666 = −13.8%. BS method: (ΔCA − ΔCash) = (−76 − 12) = −88; (ΔCL − ΔSTD − ΔTP) = (−8 − 24 + 2) = −30; accruals = −88 − (−30) − 36 = −94 → −14.1%. Reconciliation: BS − CF = −2 = ΔTaxes payable, which Sloan's formula strips and CFO includes. That's deeply negative, and it's not a quality signal. Ridgeline is converting inventory and receivables into cash because it's shrinking. Here's the warning from section 4.11 in the flesh: negative accruals from liquidation are a distress symptom wearing quality's uniform.
Altman: X1 = (284−182)/612 = 0.167 · X2 = 160/612 = 0.261 · X3 = −4/612 = −0.007 · X4 = 70/352 = 0.199 · X5 = 680/612 = 1.111.
Z = 1.2(0.167) + 1.4(0.261) + 3.3(−0.007) + 0.6(0.199) + 1.0(1.111)
= 0.200 + 0.366 − 0.022 + 0.119 + 1.111 = 1.77 → distress zone (< 1.81)
Note what holds Z up at all: asset turnover, since X5 contributes 1.11 of the 1.77. Z′ (book X4 = 260/352 = 0.739) = 1.74, which is grey under Z′ zones. Z″ = 6.56(0.167) + 3.26(0.261) + 6.72(−0.007) + 1.05(0.739) = 2.68, marginally "safe" under Z″ zones, because dropping X5 removes Ridgeline's only strong input. So the lesson from section 4.12 gets sharper: variants are different models with different blind spots. A manufacturer belongs on Z, and Z says distress.
Piotroski: ROA −30/720 < 0, so 0. CFO 62 > 0, so 1. ΔROA (−4.2% vs 3/750 = 0.4%), so 0. CFO > NI, so 1. ΔLEVER 170/666 = 25.5% vs 240/735 = 32.7%, so 1. ΔLIQUID 1.56 vs 1.89, so 0. No issuance, so 1. ΔMARGIN 27.5% vs 30%, so 0. ΔTURN 0.94 vs 1.07, so 0. F = 4/9. And here's the punchline: Kavery also scored 4. Same F, opposite diseases. Kavery's points came from growth and profits (signals 1, 2, 3, 9), with every cash and balance-sheet signal failing. Ridgeline's came from cash generation and deleveraging (2, 4, 5, 7), with every growth signal failing. The total is a coincidence. The components are the diagnosis.
The dashboard, side by side. Kavery: M −1.42 (flagged), accruals +8.75%, Z 4.37 (safe), F 4. Ridgeline: M −3.37 (clean), accruals −13.8%, Z 1.77 (distress), F 4. One company has an earnings-quality problem and no solvency problem. The other has a survival problem and pristine earnings quality. The battery is designed so these two never get confused, as long as you read all four instruments, and their components, together.
WE4: The screen the company managed to: Beneish on reported vs adjusted inputs (Neelkanth Ceramics (synthetic), Indian listed manufacturer; ₹ crore)
Section 4.14's final limit warned that the whole market now computes the M-Score, so sophisticated managements manage to it. The cheapest way is factoring receivables. That suppresses DSRI (the model's premature-revenue sensor) and flatters CFO, which softens the dominant TATA term. Watch the trick work, then watch the section 4.3 adjustment undo it. Neelkanth (synthetic) sells receivables non-recourse (derecognised under Ind AS 109), and the sold balance outstanding grew from ₹80 crore to ₹220 crore during Year 2.
Income statement:
| ₹ crore | Year 1 | Year 2 |
|---|---|---|
| Sales | 1,200 | 1,500 |
| COGS | 780 | 990 |
| Gross profit | 420 | 510 |
| SG&A | 220 | 251 |
| Depreciation | 46 | 52 |
| EBIT | 154 | 207 |
| Interest | 24 | 32 |
| PBT | 130 | 175 |
| Tax | 40 | 45 |
| Net income | 90 | 130 |
Balance sheet:
| ₹ crore | Year 1 | Year 2 |
|---|---|---|
| Cash | 55 | 50 |
| Trade receivables (reported) | 150 | 175 |
| Inventory | 210 | 285 |
| Other current assets | 35 | 52 |
| Current assets | 450 | 562 |
| Net PP&E | 460 | 508 |
| Other non-current assets | 90 | 177 |
| Total assets | 1,000 | 1,247 |
| Trade payables | 140 | 175 |
| Short-term debt | 45 | 70 |
| Other current liabilities | 75 | 92 |
| Current liabilities | 260 | 337 |
| Long-term debt | 180 | 220 |
| Equity | 560 | 690 |
Extras: Reported CFO Year 2 = ₹117 crore (indirect: 130 NI + 52 dep − 25 ΔAR − 75 ΔInv − 17 ΔOCA + 35 ΔAP + 17 ΔOCL = 117). Sold (derecognised) receivables outstanding: ₹80 crore (Y1) and ₹220 crore (Y2). No dividends and no equity raise, so equity rises by exactly net income. All figures synthetic.
Step 1: the reported M-Score. Every index on the reported numbers:
| Index | Computation | Value |
|---|---|---|
| DSRI | (175/1,500) ÷ (150/1,200) = 0.1167 ÷ 0.1250 | 0.933 |
| GMI | (420/1,200) ÷ (510/1,500) = 0.3500 ÷ 0.3400 | 1.029 |
| AQI | [1 − (562+508)/1,247] ÷ [1 − (450+460)/1,000] = 0.1419 ÷ 0.0900 | 1.577 |
| SGI | 1,500 ÷ 1,200 | 1.250 |
| DEPI | [46/(46+460)] ÷ [52/(52+508)] = 0.0909 ÷ 0.0929 | 0.979 |
| SGAI | (251/1,500) ÷ (220/1,200) = 0.1673 ÷ 0.1833 | 0.913 |
| LVGI | [(220+337)/1,247] ÷ [(180+260)/1,000] = 0.4467 ÷ 0.4400 | 1.015 |
| TATA | (130 − 117) ÷ 1,247 | 0.010 |
M = −4.84 + 0.920(0.933) + 0.528(1.029) + 0.404(1.577) + 0.892(1.250)
+ 0.115(0.979) − 0.172(0.913) + 4.679(0.010) − 0.327(1.015)
= −4.84 + 0.859 + 0.543 + 0.637 + 1.115 + 0.113 − 0.157 + 0.049 − 0.332 = −2.01
M = −2.01, comfortably clean. DSRI below 1 says collections are improving, with reported DSO at just 175 ÷ (1,500/365) ≈ 43 days. The accrual wedge is trivial (TATA 0.010: CFO of 117 almost matches net income of 130). The one elevated index, AQI 1.58, isn't enough to flag on its own. A cash-focused analyst moves on.
Step 2: adjust for the factoring (section 4.3), then rescore. Gross up receivables by the sold balance. Reclassify that balance to the short-term borrowing it economically is, so current assets, current liabilities and total assets each rise by the sold balance. Then strip the program's ₹140 crore growth from CFO (adjusted CFO = 117 − 140 = −₹23 crore). Only four indices move, and the rest are unchanged:
| Index | Adjusted computation | Reported → Adjusted |
|---|---|---|
| DSRI | (395/1,500) ÷ (230/1,200) = 0.2633 ÷ 0.1917 | 0.933 → 1.374 |
| AQI | [1 − (782+508)/1,467] ÷ [1 − (530+460)/1,080] = 0.1207 ÷ 0.0833 | 1.577 → 1.448 |
| LVGI | [(220+557)/1,467] ÷ [(180+340)/1,080] = 0.5296 ÷ 0.4815 | 1.015 → 1.100 |
| TATA | (130 − (−23)) ÷ 1,467 | 0.010 → 0.104 |
M = −4.84 + 0.920(1.374) + 0.528(1.029) + 0.404(1.448) + 0.892(1.250)
+ 0.115(0.979) − 0.172(0.913) + 4.679(0.104) − 0.327(1.100)
= −4.84 + 1.264 + 0.543 + 0.585 + 1.115 + 0.113 − 0.157 + 0.488 − 0.360 = −1.25
Adjusted M = −1.25, flagged. Same company, same filing, opposite verdict. The only change is whether you read the reported numbers or the economic ones. Adjusted DSO is 395 ÷ (1,500/365) ≈ 96 days, against 43. DSRI crosses 1, the accrual wedge balloons once the borrowed cash leaves CFO, and LVGI rises as the hidden leverage surfaces. (AQI actually eases, because grossing up adds hard current assets. It's a reminder to read the moving parts as well as the total.) Here's the professional edge from section 4.14 in a single computation. Now that everyone has learned to compute M, the analyst who computes it on adjusted inputs is the one it still protects.
WE5: When the balance-sheet accruals method lies: an acquisition year (Millbrook Machinery Inc. (synthetic), US-listed manufacturer; $m)
Section 4.11 preferred the cash-flow accruals method and warned that the balance-sheet method "goes blind right where the interesting accruals live." Hribar & Collins (2002) named the worst blind spot: acquisitions. In WE3 the reconciliation gap was a trivial ₹2 crore. Here's the same effect at full size, large enough to flip a clean company into a false top-decile flag. Millbrook (synthetic) bought a division midway through Year 2 for $300m (net of cash acquired). It took on $80m of receivables, $60m of inventory, $90m of fixed assets and $100m of goodwill, and assumed $30m of payables. It funded the deal with $150m of new long-term debt and a $90m equity issue.
| $m | Year 1 | Year 2 | $m | Year 1 | Year 2 | |
|---|---|---|---|---|---|---|
| Cash | 40 | 33 | Trade payables | 100 | 145 | |
| Receivables | 120 | 245 | Short-term debt | 50 | 50 | |
| Inventory | 150 | 250 | Taxes payable | 8 | 10 | |
| Other current assets | 20 | 27 | Other current liabilities | 42 | 45 | |
| Current assets | 330 | 555 | Current liabilities | 200 | 250 | |
| Net PP&E | 300 | 385 | Long-term debt | 150 | 300 | |
| Goodwill & other non-current | 70 | 170 | Equity (Y2: paid-in 300 + RE 260) | 350 | 560 | |
| Total assets | 700 | 1,110 |
Extras: Net income Year 2 = $120m. Depreciation $45m, EBIT $175m, sales $900m, capex $40m, market cap $980m. No dividends, so retained earnings rise from 140 to 260, by exactly net income. CFO Year 2 = $93m (indirect: 120 NI + 45 dep − 45 ΔAR − 40 ΔInv − 7 ΔOCA + 15 ΔAP + 2 Δtaxes-payable + 3 ΔOCL = 93). That uses organic working-capital changes only, because the acquired balances came in through CFI. All figures synthetic.
Cash-flow method (immune). Accruals = 120 − 93 = 27, and average TA = (700 + 1,110)/2 = 905. Ratio = 27 ÷ 905 = +3.0%, unremarkable.
Balance-sheet method (corrupted).
Accruals_BS = (ΔCA − ΔCash) − (ΔCL − ΔSTD − ΔTP) − Dep
= (225 − (−7)) − (50 − 0 − 2) − 45
= 232 − 48 − 45 = 139
Ratio = 139 ÷ 905 = +15.4%. That's squarely in the danger decile, a screaming (and false) manipulation flag.
Reconcile the $112m gap (BS accruals 139 vs CF accruals 27). It's $110m of acquired net working capital (receivables 80 + inventory 60 − payables 30) that the balance-sheet method counts as an accrual, though none was ever booked. Add the $2m of taxes payable that Sloan's formula deliberately strips, the same tiny artifact as in WE3. The cash-flow method is immune because acquired balances arrive through CFI. And Altman Z confirms the CF verdict: X1 = 305/1,110 = 0.275 · X2 = 260/1,110 = 0.234 · X3 = 175/1,110 = 0.158 · X4 = 980/550 = 1.782 · X5 = 900/1,110 = 0.811, which gives:
Z = 1.2(0.275) + 1.4(0.234) + 3.3(0.158) + 0.6(1.782) + 1.0(0.811)
= 0.330 + 0.328 + 0.520 + 1.069 + 0.811 = 3.06 → safe (> 2.99)
So here's a solvent, unremarkable company that the balance-sheet accruals method would have you short. The rule from section 4.11, made concrete: in any acquisition, divestiture or currency-translation year, compute accruals from the cash-flow statement. Treat a spike in the balance-sheet method as deal geometry until a filing proves otherwise.
WE6: A same-store number and a net-debt number, both rebuilt (Vardhaman Retail (synthetic), Indian listed value-fashion chain; ₹ crore)
Vardhaman Retail (synthetic) is a listed value-fashion chain. Its FY26 annual report leads with revenue growth of 22% and same-store sales growth of 9%, and its investor deck reports net debt of ₹180 crore against EBITDA of ₹620 crore. Revenue was ₹3,600 crore in FY25 and ₹4,392 crore in FY26. The store estate went from 300 at the start of FY26 to 380 at the end.
The FY25 report defined a comparable store as one open for the whole of the preceding financial year. The FY26 report defines it as one open for the whole of the two preceding financial years and not refurbished during the year. The store-level disclosure in the FY26 report splits the estate as follows.
| Cohort | Stores | FY25 revenue | FY26 revenue | Growth |
|---|---|---|---|---|
| Open throughout FY24 and FY25, not refurbished | 240 | 2,520 | 2,746.8 | +9.0% |
| Open throughout FY25 only | 45 | 500 | 480 | −4.0% |
| Refurbished during FY26 | 15 | 180 | 144 | −20.0% |
| Opened during FY25 or FY26 | 80 | 400 | 1,021.2 | n/a |
| Total | 380 | 3,600 | 4,392 | +22.0% |
Solution. Step 1, rebuild the reported metric. The FY26 definition admits only the first cohort, so its same-store number is 2,746.8 ÷ 2,520 − 1 = 9.000%, which ties to the headline. The metric's arithmetic holds up.
Step 2, rebuild it on last year's definition. The FY25 definition admits the first three cohorts, 300 stores in total. FY25 revenue is 2,520 + 500 + 180 = 3,200 and FY26 revenue is 2,746.8 + 480 + 144 = 3,370.8, so same-store growth is 3,370.8 ÷ 3,200 − 1 = 5.338%. The definitional change is worth 3.66 percentage points. It's worth that much because the two cohorts the new definition leaves out are the two that shrank.
Step 3, place the growth. Comparable stores on the old basis added 170.8 of revenue and new space added 621.2. So 78.4% of the year's ₹792 crore of revenue growth came from opening stores, and only the rest from selling more in existing ones. A chain growing 22% on 5.3% of same-store growth is buying its growth with capital expenditure. That's a strategy, and no fraud, but it's a different investment case from the one the headline implies.
Step 4, rebuild the net debt. Reported net debt is borrowings of 900 less cash of 720 = 180, giving 180 ÷ 620 = 0.29× of EBITDA. The balance sheet also carries lease liabilities of 1,450 under Ind AS 116. The trade-payables note discloses channel-financing balances of 260 owed to banks, not suppliers. EBITDA here is post-Ind AS 116, so rent is already out of it and the lease liability belongs in the debt. Adjusted net debt = 900 + 1,450 + 260 − 720 = ₹1,890 crore. Adjusted net debt to EBITDA is 3.05×, ten and a half times the reported figure.
Step 5, check the payables. Trade payables of 690 against cost of goods sold of 2,900 give a reported days-payable outstanding of 86.8 days. Strip the 260 of channel finance, which is a bank facility, and supplier days fall to 54.1 days. The 32.7-day difference is the financing the deck did not mention.
Read it. Nothing above is an accounting irregularity, and every figure came from the company's own disclosures. Two metrics were built to be read a particular way. Rebuilding them turned a 9%-growth, 0.29×-levered compounder into a 5.3%-growth, 3.05×-levered store-opening programme. What would break this reading is a real reason for the definition change, disclosed at the time with the history restated. That's what a straight company does, and it's quick to check.
WE7: The organic bridge and the deferred-revenue haircut (Beacon Systems (synthetic), US-listed software company; $m)
Beacon Systems (synthetic) is a US-listed software company with a December fiscal year that reports under IFRS as a foreign private issuer, so IFRS 3 applies to its acquisitions. It bought Halyard Software on 1 April 2026. Halyard's revenue run rate was $240m a year and stayed flat. Halyard's deferred revenue at close was $70m and was recognised at a fair value of $42m in the purchase price allocation. Beacon's own standalone revenue was $800m in FY2025, $940m in FY2026 and $1,060m in FY2027.
Solution. Step 1, build the reported line. Halyard contributes nine months of FY2026, 240 × 9 ÷ 12 = 180, less the deferred-revenue haircut of 70 − 42 = 28. Reported FY2026 revenue = 940 + 180 − 28 = $1,092m, growth of 36.5%. Reported FY2027 revenue = 1,060 + 240 = $1,300m, growth of 19.05%.
Step 2, decompose the FY2027 increase. Revenue rose by 1,300 − 1,092 = 208. Three things produced it:
| Source | Amount | Share |
|---|---|---|
| Organic (Beacon standalone, 940 to 1,060) | 120.0 | 57.7% |
| Annualisation of Halyard (nine months to twelve) | 60.0 | 28.8% |
| Deferred-revenue haircut not repeating | 28.0 | 13.5% |
| Reported increase | 208.0 | 100.0% |
The three sum to 208.0 exactly, which is the check that the bridge is complete.
Step 3, read the organic rate. Beacon standalone grew 17.50% in FY2026 and 12.77% in FY2027. Organic growth decelerated by nearly five points in a year in which the reported growth rate looked like a healthy 19%. On the pro-forma basis, treating FY2026 as though Halyard had been owned all year with no haircut, revenue would have been 940 + 240 = 1,180, and FY2027 growth against that base is 10.17%.
Step 4, name what the haircut did. Twenty-eight million dollars of revenue that Halyard's customers paid for, and that Halyard would have recognised, was recognised by nobody. It depressed FY2026 and so inflated FY2027's growth rate by 13.5% of the increase. Had Beacon been a US domestic filer applying ASU 2021-08 in a fiscal year beginning after 15 December 2022, the haircut would largely not have arisen. The FY2027 growth rate would have been correspondingly lower, and closer to the truth.
Read it. Three growth rates describe the same company in FY2027: 19.05% reported, 10.17% pro-forma and 12.77% organic. All three are defensible, and only one tells you what the business Beacon already owned did during the year. The disclosure that makes this computable is the business-combination note. Under IFRS 3 and ASC 805 it must give the acquiree's revenue since the acquisition date and the pro-forma combined revenue as though the deal had closed at the start of the period. Read that note before you read the growth rate on the cover.
Practice set
Problems 1 to 4 are guided (cash-flow games, so follow the steps). Problems 5 to 9 are independent. P5 to P8 run the full screen battery on one synthetic statement set, just as the app's screen-builder drill does, and P9 is the classification-conversion drill promised in section 4.7. Problems 10 to 12 are interpretation and timed work. Solve each on paper before you read the solution.
P1 (guided). Meghdoot Appliances (synthetic) has COGS of ₹2,920 crore, spread evenly over the year. Its DPO moves from 50 to 68 days during the year with no supplier-finance program and no disclosure. (a) Compute the one-year CFO boost. (b) What DPO would be needed next year to repeat the boost? (c) A supplier squeeze forces terms back to 50 days the following year. Quantify the CFO hit.
Solution. (a) Boost ≈ (DPO_new − DPO_old)/365 × COGS = (68 − 50)/365 × 2,920 = 18/365 × 2,920 = ₹144 crore. Equivalently, daily COGS = 2,920/365 = ₹8 crore, and 18 extra days × 8 = 144. (b) Another +18 days, so DPO 86. That's the treadmill: the level shift has to be repeated to recur. (c) Snap-back to 50 releases the whole stretch. Payables fall by 18 days × 8 = ₹144 crore of CFO drain in one year, which is the loan from suppliers being recalled. Together, the three answers are the lesson of section 4.4: a one-time boost, a need to escalate, a symmetric reversal.
P2 (guided). Arjuna Textiles (synthetic) reports: revenue ₹1,825 crore, trade receivables ₹220 crore, CFO ₹210 crore, net debt ₹480 crore. The notes disclose non-recourse factoring: sold receivables outstanding ₹130 crore at year-end (₹40 crore at the prior year-end). Compute reported DSO, adjusted DSO, adjusted CFO, and adjusted net debt.
Solution. Daily sales = 1,825/365 = ₹5 crore. Reported DSO = 220/5 = 44 days. Adjusted receivables = 220 + 130 = 350, so adjusted DSO = 350/5 = 70 days. Adjusted CFO = 210 − Δsold = 210 − (130 − 40) = ₹120 crore, because the change corrects the flow. Adjusted net debt = 480 + 130 = ₹610 crore, because the level corrects the stock. The company's real collection cycle is 26 days worse than reported, ₹90 crore (43%) of its CFO was program growth, and leverage is understated by ₹130 crore. That's the triple distortion of section 4.3, quantified.
P3 (guided). Vulcan Industries (synthetic) shows: EBITDA ₹400 crore, reported CFO ₹260 crore, gross debt ₹700 crore, cash ₹100 crore. Trade payables include a bank-intermediated supplier-finance balance of ₹340 crore (prior year ₹180 crore), disclosed under the new IAS 7-style note. (a) Reported vs adjusted net debt/EBITDA. (b) Organic CFO.
Solution. (a) Reported net debt = 700 − 100 = 600, and 600/400 = 1.50×. Adjusted: reclassify the program to debt, so net debt = 600 + 340 = 940, and 940/400 = 2.35×. (b) Organic CFO = 260 − ΔSCF = 260 − (340 − 180) = ₹100 crore, so 62% of reported CFO was program growth. A lender covenant at 3.0× looks comfortable at 1.5×. It looks much less so at 2.35×, with a bank that can cancel the program at will. That's Carillion's geometry (section 4.3).
P4. Sequoia Consolidated (synthetic serial acquirer) reports CFO ₹380 crore, PP&E capex ₹120 crore, capitalized intangible additions ₹40 crore, and acquisitions (net of cash acquired) ₹400 crore, which brought in ₹60 crore of acquired working capital. (a) Compute standard FCF and acquirer's FCF (section 4.6). (b) Explain how the ₹60 crore flatters next year's reported CFO relative to an organic builder of the same division.
Solution. (a) Standard FCF = 380 − 120 = ₹260 crore, and acquirer's FCF = 380 − 120 − 400 − 40 = −₹180 crore. The company is consuming ₹180 crore of outside capital a year while the headlines print ₹260 crore of "free" cash flow. (b) The builder would fund ₹60 crore of working capital through CFO as the division grows. Sequoia bought it pre-funded through CFI, so its CFO permanently skips that drag. If it then runs the acquired receivables down, it harvests further CFO that it paid for in the acquisition line. Charge deals against FCF, or be structurally fooled on every deal, forever.
The battery set (P5–P8): Trident Engineering Ltd (synthetic Indian listed manufacturer; ₹ crore; consolidated; CFO already standardized). Beginning-of-Year-1 total assets = 1,600; market cap = 2,400; ₹30 crore of equity was issued in Year 2; no dividends. Year 2 CFO = −15 (130 + 95 − 200 ΔAR − 130 ΔInv − 10 ΔOCA + 70 ΔAP + 5 ΔTaxes + 25 ΔOCL = −15).
| IS (₹ cr) | Y1 | Y2 | BS (₹ cr) | Y1 | Y2 | |
|---|---|---|---|---|---|---|
| Sales | 2,000 | 2,500 | Cash | 100 | 60 | |
| COGS | 1,300 | 1,650 | Trade receivables | 300 | 500 | |
| Gross profit | 700 | 850 | Inventory | 350 | 480 | |
| SG&A | 360 | 475 | Other current assets | 50 | 60 | |
| Depreciation | 90 | 95 | Current assets | 800 | 1,100 | |
| EBIT | 250 | 280 | Net PP&E | 900 | 1,000 | |
| Interest | 60 | 80 | Other non-current assets | 100 | 200 | |
| PBT | 190 | 200 | Total assets | 1,800 | 2,300 | |
| Tax | 66 | 70 | Trade payables | 260 | 330 | |
| Net income | 124 | 130 | Short-term debt | 90 | 170 | |
| Taxes payable | 30 | 35 | ||||
| Other current liabilities | 120 | 145 | ||||
| Current liabilities | 500 | 680 | ||||
| Long-term debt | 400 | 560 | ||||
| Equity (Y2: RE 530) | 900 | 1,060 |
P5. Compute all eight Beneish indices and the M-Score for Trident's Year 2. Flag or no flag? Which indices drive the result?
Solution. DSRI = (500/2,500)/(300/2,000) = 0.2000/0.1500 = 1.333. GMI = (700/2,000)/(850/2,500) = 0.3500/0.3400 = 1.029. AQI = [1 − (1,100+1,000)/2,300]/[1 − (800+900)/1,800] = 0.08696/0.05556 = 1.565. SGI = 2,500/2,000 = 1.250. DEPI = [90/(90+900)]/[95/(95+1,000)] = 0.09091/0.08676 = 1.048. SGAI = (475/2,500)/(360/2,000) = 0.1900/0.1800 = 1.056. LVGI = [(560+680)/2,300]/[(400+500)/1,800] = 0.53913/0.50000 = 1.078. TATA = (130 − (−15))/2,300 = 145/2,300 = 0.063.
M = −4.84 + 0.920(1.333) + 0.528(1.029) + 0.404(1.565) + 0.892(1.250)
+ 0.115(1.048) − 0.172(1.056) + 4.679(0.063) − 0.327(1.078)
= −4.84 + 1.227 + 0.544 + 0.632 + 1.115 + 0.121 − 0.182 + 0.295 − 0.353 = −1.44
M = −1.44 > −1.78, so flagged. The drivers: DSRI 1.33 (receivables grew 67% on 25% sales growth), AQI 1.57 (the ₹100 crore jump in other non-current assets, with the soft-asset share up by more than half), SGI 1.25 feeding the growth-pressure term, and TATA 0.063 (NI +130 vs CFO −15). Against the paper's clean-sample means (≈1.03/1.04/1.13 for DSRI/AQI/SGI), Trident is squarely on the manipulator side. Your reading list: the receivables ageing, the capitalization note behind "other non-current assets," and the QIP and issuance documents.
P6. Compute Trident's Sloan accruals ratio by both methods and reconcile the difference.
Solution. Average TA = (1,800 + 2,300)/2 = 2,050. CF method: accruals = 130 − (−15) = 145 → 145/2,050 = +7.1%. BS method: (ΔCA − ΔCash) = (300 − (−40)) = 340; (ΔCL − ΔSTD − ΔTP) = (180 − 80 − 5) = 95; accruals = 340 − 95 − 95 (dep) = 150 → 150/2,050 = +7.3%. Reconciliation: BS − CF = 150 − 145 = 5 = ΔTaxes payable. Sloan's balance-sheet formula deliberately strips it while CFO includes it, so a ₹5 crore cash-tax deferral flattered CFO. Both readings are at the edge of the danger decile. Profits are being manufactured faster than cash by ≈7% of assets, the same disease P5's DSRI and TATA reported.
P7. (a) Compute Trident's Altman Z (original model) and state the zone. (b) Which variant actually governs, and why? (c) Recompute Z if the market cap halves to ₹1,200 crore, and state the lesson.
Solution. (a) WC = 1,100 − 680 = 420; TL = 2,300 − 1,060 = 1,240. X1 = 420/2,300 = 0.183 · X2 = 530/2,300 = 0.230 · X3 = 280/2,300 = 0.122 · X4 = 2,400/1,240 = 1.935 · X5 = 2,500/2,300 = 1.087.
Z = 1.2(0.183) + 1.4(0.230) + 3.3(0.122) + 0.6(1.935) + 1.0(1.087)
= 0.219 + 0.323 + 0.402 + 1.161 + 1.087 = 3.19 → safe (> 2.99)
(b) Trident is a listed manufacturer, so the original Z is the right tool. Z″ would be for a non-manufacturer or an EM credit where market prices are distrusted. For reference, Z″ = 6.56(0.183) + 3.26(0.230) + 6.72(0.122) + 1.05(1,060/1,240 = 0.855) = 3.66, safe on Z″ zones, and never mix the zone sets. (c) Halving MVE: X4 = 1,200/1,240 = 0.968, so Z loses 0.6 × (1.935 − 0.968) = 0.58, giving Z ≈ 2.61, grey zone. Nothing about the business changed. Mr. Market's mood walked in through X4. Z borrows the market's opinion, which is useful information and also a circularity to respect (section 4.12).
P8. Compute Trident's Piotroski F-Score, all nine signals shown.
Solution. Beginning TA: Y1 1,600; Y2 1,800. Avg TA: Y1 (1,600+1,800)/2 = 1,700; Y2 2,050.
| # | Signal | Computation | Point |
|---|---|---|---|
| 1 | ROA > 0 | 130/1,800 = 7.2% | 1 |
| 2 | CFO > 0 | −15 | 0 |
| 3 | ΔROA > 0 | 7.2% vs 124/1,600 = 7.75% (fell) | 0 |
| 4 | CFO > ROA | −0.8% vs 7.2% (no) | 0 |
| 5 | ΔLEVER < 0 | 560/2,050 = 27.3% vs 400/1,700 = 23.5% (rose) | 0 |
| 6 | ΔLIQUID > 0 | 1,100/680 = 1.62 vs 800/500 = 1.60 (rose) | 1 |
| 7 | No equity issued | ₹30 crore issued | 0 |
| 8 | ΔMARGIN > 0 | 34.0% vs 35.0% (fell) | 0 |
| 9 | ΔTURN > 0 | 2,500/1,800 = 1.39 vs 2,000/1,600 = 1.25 (rose) | 1 |
F = 3/9, weak zone. The full Trident dashboard: M −1.44 (flagged) · accruals +7.1% (top-decile edge) · Z 3.19 (safe) · F 3 (weak). Here's a verdict-shaped sentence for your journal: an earnings-quality problem at a solvent company. Read the receivables, the soft assets and the issuance documents before believing the 25% growth. Don't short it as a bankruptcy, and don't buy it as a compounder until the notes answer.
P9 (the section 4.7 conversion drill). Nalanda Chemicals (synthetic, Ind AS) reports CFO ₹500 crore. Its cash-flow statement shows interest paid ₹120 crore in CFF, interest received ₹30 crore in CFI, dividends received ₹10 crore in CFI. A US GAAP peer, Delta Chem Inc., reports CFO of ₹450 crore-equivalent. (a) Restate Nalanda's CFO to the US convention. (b) Who converts more cash, naively and properly? (c) Why will this drill matter less after IFRS 18 (and for whom not at all)?
Solution. (a) US-style CFO = 500 − 120 (interest paid into CFO) + 30 + 10 (interest and dividends received into CFO) = ₹420 crore. (b) Naively 500 > 450, so Nalanda "wins." Properly, 420 < 450 and the ranking reverses. The whole gap was geography, chiefly Ind AS parking interest paid in CFF. (c) IFRS 18 (periods beginning 1 Jan 2027, check adoption status) removes the IAS 7 options and pushes non-financial companies toward the Ind AS-style geography, which shrinks the trap between IFRS and Ind AS filers. But US GAAP keeps interest in CFO, so comparisons between US filers and anyone else still need the restatement. And financial companies keep interest inside operations everywhere, because for them it is operations. That's one reason they're excluded from every screen above.
P10 (interpretation). Four non-financial companies, inputs standardized. Rank them for forensic reading priority and name the panel each triggers:
| M-Score | Accruals (CF) | Z (correct variant) | F | Note | |
|---|---|---|---|---|---|
| W | −2.9 | −2% | 4.2 | 7 | mature FMCG |
| X | −1.5 | +11% | 3.5 | 4 | 30% grower, just raised equity |
| Y | −2.6 | −1% | 1.4 | 2 | steel maker, refinancing due |
| Z | −2.0 | +3% | 2.5 | 6 | roll-up, 6 deals this year, "conversion" 105% |
Solution. X first: earnings-quality panel. An M flag plus top-decile accruals plus a capital-raise incentive all point the same way. Run the revenue tests from the earnings games and the receivables and factoring hunt above. Solvency isn't the issue (Z 3.5). Y second: distress panel, and no fraud panel. The screens say the books are clean (M clean, accruals negative), but Z 1.4 is distress. That calls for leverage and coverage work. Check the covenant headroom and the refinancing calendar too. Remember that cyclicals dip at troughs by design. Z third: format-artifact panel. Every screen looks tolerable, but 105% conversion on six deals is the pump from section 4.6. Hribar and Collins tell you the deal year corrupts balance-sheet accrual measures anyway. Recompute acquirer's FCF (CFO − capex − acquisitions − intangibles) and demand the first deal-free year. W last, but not never. Clean scores on reported numbers aren't exoneration (Satyam would have screened beautifully). W earns a light pass on a long rotation: the cash-yield test and the related-party note. Ranking: X, Y, Z, W.
P11 (timed, 10 minutes). From a screener export: NI ₹240 crore, CFO ₹60 crore, total assets ₹2,600 crore (prior year ₹2,200 crore). Compute the accruals ratio (CF method), state the decile neighborhood, and name the two Beneish variables this single fact will move.
Solution. Accruals = 240 − 60 = 180, and average TA = (2,600 + 2,200)/2 = 2,400, giving +7.5%. That's knocking on the top decile of a typical universe, danger territory, so rank locally to confirm. It feeds TATA directly: (NI − CFO)/TA = 180/2,600 = 0.069 on year-end assets, huge against the 4.679 coefficient. And it almost certainly moves DSRI, because the usual carrier of a profit-cash wedge is receivables outrunning sales (confirm in the balance sheet). Two numbers, one division, and your ten reading minutes are already allocated.
P12 (timed, 10 minutes). Kishkindha Auto Components (synthetic) reported CFO ₹300 crore this year; the factoring note shows sold receivables outstanding of ₹250 crore (prior year ₹150 crore). The bank has now capped the program at ₹250 crore. Business otherwise steady. Forecast next year's reported CFO (a) at the cap, (b) if the bank cuts the program to ₹150 crore.
Solution. Organic CFO = 300 − Δsold = 300 − 100 = ₹200 crore. (a) At the cap, Δsold = 0, so reported CFO ≈ ₹200 crore. That's a 33% "deterioration" with zero change in the business. Expect a "working-capital normalization" line in the press release (section 4.8, pattern 3 turning into pattern 4). (b) Program cut: Δsold = −100, so reported CFO ≈ 200 − 100 = ₹100 crore. That's the double hit: the boost is gone and the prior boost drains back. You've just forecast the cliff a year before the market narrates it, and that's what the adjustment habit from section 4.3 earns you.
Problems 13 and 14 are guided, and they cover new territory: variant selection and the accruals method corrupted by acquisitions. P15 to P17 are independent, and P18 is a timed stretch tying a cash-flow game to a screen.
P13 (guided). Foundry Works LLC (synthetic, US private manufacturer) reports (US$m): current assets 240, current liabilities 160, total assets 500, retained earnings 120, EBIT 55, book equity 210, total liabilities 290, sales 620. Being unlisted, it has no market price. (a) Which Altman variant applies, and what changes in it? (b) Compute the score. (c) State the zone, and the error you would make by reading it against the 2.99/1.81 bands.
Solution. (a) With no market price, use Z′ (private manufacturers). X4 becomes book equity ÷ total liabilities, and every coefficient is re-estimated. (b) X1 = (240−160)/500 = 0.160 · X2 = 120/500 = 0.240 · X3 = 55/500 = 0.110 · X4 = 210/290 = 0.724 · X5 = 620/500 = 1.240.
Z′ = 0.717(0.160) + 0.847(0.240) + 3.107(0.110) + 0.420(0.724) + 0.998(1.240)
= 0.115 + 0.203 + 0.342 + 0.304 + 1.238 = 2.20
(c) Z′ zones are > 2.90 safe · 1.23 to 2.90 grey · < 1.23 distress, so 2.20 is grey: a watch, not an alarm. Reading it against the original Z's 2.99/1.81 bands would still say "grey" here, by luck, but the habit is fatal. The variants are separately estimated models, and each carries its own zones (section 4.12). A Z′ of 1.5 is grey, while the same number on Z zones is distress.
P14 (guided). Meridian Instruments (synthetic) made a large acquisition this year that brought in ₹160 crore of receivables-plus-inventory and ₹50 crore of payables. It reports (₹ crore): net income 180, CFO 120, average total assets 3,000; and balance-sheet changes ΔCA 380, ΔCash 20, ΔCL 150, ΔSTD 40, ΔTaxes payable 10, depreciation 90. (a) Accruals ratio, cash-flow method. (b) Accruals ratio, balance-sheet method. (c) Reconcile the gap and say which to trust.
Solution. (a) CF: (180 − 120)/3,000 = +2.0%, unremarkable. (b) BS: (ΔCA − ΔCash) − (ΔCL − ΔSTD − ΔTP) − Dep = (380 − 20) − (150 − 40 − 10) − 90 = 360 − 100 − 90 = 170 → 170/3,000 = +5.67%. (c) The ₹110 crore gap (BS accruals 170 vs CF accruals 60) equals the acquired net working capital (₹160 − ₹50 crore). The balance-sheet method counts acquired receivables and inventory as an accrual though none was booked. The cash-flow method is immune, because those balances entered through CFI (Hribar & Collins 2002). Trust the CF method (+2.0%). The BS +5.67% is deal geometry with no manipulation in it, the same failure WE5 shows at full size.
P15. A fast-growing company's eight Beneish indices are DSRI 1.20, GMI 0.95, AQI 1.10, SGI 1.45, DEPI 1.00, SGAI 1.15, LVGI 1.25, TATA 0.02. (a) Compute the M-Score. (b) Flag or not? (c) A colleague computes −0.68 and flags it: what did they get wrong?
Solution. (a)
M = −4.84 + 0.920(1.20) + 0.528(0.95) + 0.404(1.10) + 0.892(1.45)
+ 0.115(1.00) − 0.172(1.15) + 4.679(0.02) − 0.327(1.25)
= −4.84 + 1.104 + 0.502 + 0.444 + 1.293 + 0.115 − 0.198 + 0.094 − 0.409 = −1.89
(b) −1.89 < −1.78, so not flagged, despite a 45% sales surge (SGI 1.45) and receivables outrunning sales (DSRI 1.20). A real fast grower can clear the screen. (c) They flipped the negative coefficients. SGAI and LVGI carry −0.172 and −0.327, so rising SG&A intensity and leverage lower M. Treating those two terms as positive adds ≈ 2 × (0.198 + 0.409) ≈ 1.21 and produces the spurious −0.68 "flag." The signs are the trap, and the coefficients travel as a set (section 4.10).
P16. Deccan Forgings (synthetic, India) reports (₹ crore): COGS 1,825, trade payables 500 (of which acceptances, meaning bank-accepted bills, 280, and prior-year acceptances 160), EBITDA 520, reported CFO 300, gross debt 900, cash 120. (a) Reported DPO and DPO excluding acceptances. (b) Net debt/EBITDA, reported vs adjusted. (c) Organic CFO.
Solution. (a) Reported DPO = 500/1,825 × 365 = 100.0 days. Excluding acceptances, true supplier credit = 220/1,825 × 365 = 44.0 days. So 56 of the 100 days are bank-intermediated, a financing arrangement wearing a payables label (section 4.3). (b) Reported net debt = 900 − 120 = 780, so 1.50×. Reclassify acceptances to debt and you get (780 + 280)/520 = 1,060/520 = 2.04×. (c) Organic CFO = 300 − Δacceptances = 300 − (280 − 160) = ₹180 crore, so 40% of reported CFO was the program's growth. A 3.0× lender covenant looks comfortable at 1.50×. It looks much tighter at 2.04×, with a bank that can withdraw the line at will (Carillion's geometry, section 4.3).
P17. Konkan Cement (synthetic) this year: ROA positive; CFO positive; ROA rose vs last year; CFO is below net income; long-term debt/average assets fell; current ratio fell; the company raised equity via a QIP; gross margin rose; asset turnover fell. (a) Compute the Piotroski F-Score. (b) Interpret it, and say why the total alone is not the diagnosis.
Solution. (a) ROA > 0 (1) · CFO > 0 (1) · ΔROA > 0 (1) · CFO > NI, no (0) · ΔLEVER < 0 (1). ΔLIQUID > 0 fails because the current ratio fell (0). No equity issued fails because of the QIP (0). ΔMARGIN > 0 (1) · ΔTURN > 0, no (0). So F = 5/9. (b) It's the muddled middle. Profitability is improving (signals 1 to 3, and 8) while cash conversion, liquidity, dilution and turnover deteriorate. F measures direction of travel and ignores level. A 5 built from improving-profit signals is a different animal from a 5 built from deleveraging signals, so read the components. WE3's two 4s (Kavery and Ridgeline) showed opposite diseases behind an identical total.
P18 (timed, 10 minutes). Palladium Tools (synthetic) reports trade receivables of ₹120 crore (prior year) and ₹140 crore (current); sales ₹1,000 crore (prior) and ₹1,300 crore (current); reported CFO (current) ₹150 crore; net income (current) ₹120 crore; year-end total assets ₹1,400 crore. A note discloses non-recourse factoring with sold balances outstanding of ₹60 crore (prior) and ₹200 crore (current). (a) Reported DSRI. (b) Factoring-adjusted DSRI. (c) Reported vs adjusted TATA. (d) One sentence: which way does adjusting move the M-Score, and why?
Solution. (a) Reported DSRI = (140/1,300) ÷ (120/1,000) = 0.1077 ÷ 0.1200 = 0.90. Receivables are apparently shrinking against sales, a "clean" sensor. (b) Adjusted receivables are 340 now (140+200) and 180 prior (120+60), so DSRI = (340/1,300) ÷ (180/1,000) = 0.2615 ÷ 0.1800 = 1.45. (c) Reported TATA = (120 − 150)/1,400 = −0.021, with CFO above NI, which looks pristine. Adjusted CFO = 150 − (200 − 60) = ₹10 crore, so adjusted TATA = (120 − 10)/1,400 = +0.079. (d) Adjusting moves M sharply up, toward a flag. DSRI swings from 0.90 to 1.45 and TATA from −0.021 to +0.079, and both carry positive weights (0.920 and the dominant 4.679). The factoring had suppressed the two variables the screen leans on hardest.
P19 (guided). The definition that moved. Aravalli Digital (synthetic, India) reported 42.0m "active users" in FY25 under a definition of any account that opened the app in the previous 30 days. In FY26 it reported 58.0m under a new definition, any account that opened the app in the previous 90 days, and did not restate the prior year. The FY26 annual report's operating-metrics footnote discloses both bases: on the 30-day basis the count was 45.0m in FY26, and on the 90-day basis it was 54.0m in FY25. Revenue was ₹1,260 crore in FY25 and ₹1,395 crore in FY26. (a) What growth rate did the company report, and what are the two like-for-like growth rates? (b) How much of the reported growth is definitional? (c) Compute revenue per active user on a consistent basis and on the basis a reader of the two covers would use, and say which one is a lie.
Solution. (a) Reported: 58.0 ÷ 42.0 − 1 = 38.10%. Like-for-like on the FY25 (30-day) basis: 45.0 ÷ 42.0 − 1 = 7.14%. Like-for-like on the FY26 (90-day) basis: 58.0 ÷ 54.0 − 1 = 7.41%. The two consistent bases agree closely, and that tells you something: the underlying user growth is about 7% on either definition. (b) 38.10 − 7.14 = 30.96 percentage points, so roughly four-fifths of the headline growth is the definition. (c) On a consistent 30-day basis, revenue per active user is 1,260 ÷ 42.0 = ₹30.00 and 1,395 ÷ 45.0 = ₹31.00, an improvement of 3.33%. On the mixed basis a cover-reader would use, it's 1,260 ÷ 42.0 = ₹30.00 falling to 1,395 ÷ 58.0 = ₹24.05, a decline of 19.83%. Neither number is a lie in isolation. The mixed pair is, because its numerator and denominator are measured on different definitions of the same word. The disclosure that saves you is a footnote the company did publish, and finding it took one comparison of two glossaries.
P20. The serial acquirer's organic rate. Sahyadri Industrial (synthetic, India, ₹ crore) reports revenue of 2,000 in FY25, 2,500 in FY26 and 3,100 in FY27. Its business-combination notes disclose acquired-company revenue included in the consolidated figures of nil in FY25, 260 in FY26 and 700 in FY27; of the FY27 figure, 420 is the full-year contribution of businesses bought during FY26 and 280 is the contribution of businesses bought during FY27. (a) Reported and organic growth for FY26. (b) Reported and organic growth for FY27, computed by stripping all acquired revenue from both years. (c) The company's investor deck defines "organic" as including any acquired business owned for more than twelve months. What growth rate does that definition produce for FY27, and what is wrong with it?
Solution. (a) Reported FY26 = 2,500 ÷ 2,000 − 1 = 25.0%. Organic = (2,500 − 260) ÷ 2,000 − 1 = 2,240 ÷ 2,000 − 1 = 12.0%, so slightly under half the headline was bought. (b) Strip acquired revenue from both years: FY26 organic base 2,240, FY27 organic 3,100 − 700 = 2,400, giving 7.14%. Organic growth nearly halved while the reported rate barely moved, from 25.0% to 24.0%. (c) On the deck's definition the FY26 acquirees count as organic in FY27, so the comparison is (3,100 − 280) = 2,820 against a FY26 base of 2,500 + (420 − 260) = 2,660, giving 6.02%. The definition isn't absurd, and it isn't neutral either. It converts last year's purchase into this year's organic growth, and it makes the annualisation of a deal look like operating performance. State which convention you're using. When a company won't state its own, compute both.
Applied mini-project
Task: adjust a real company's cash flow, then run the full battery (choose Option A or B; ~3 hours). Both subjects are large companies presumed clean, and that's deliberate. The forensic case files give you the frauds. This project trains the harder skill: making the adjustments and not crying wolf.
Option A (India): JSW Steel, the acceptances workout. Pull the two most recent consolidated annual reports from jswsteel.in (Investors → Reports & Presentations) or the BSE annual-report archive, and pull 10-year summary figures from screener.in (export to Excel). JSW has for years disclosed material acceptances within trade payables, the classic Indian quasi-debt line (section 4.3). Rating agencies routinely adjust for it. Pull the actual filing and the latest CRISIL or ICRA rationale, free on their sites, to see the professional treatment. Then do six things. (1) Find the acceptances and supplier-credit balances in the trade-payables and borrowings notes for both years. (2) Recompute net debt and net debt/EBITDA with acceptances reclassified to debt, against the reported figures. (3) Compute reported and adjusted DPO. (4) Subtract the year's growth in the balance from CFO for an organic figure. (5) Run the four-screen battery on reported and adjusted inputs, using the original Z, since it's a listed manufacturer. (6) Write a one-page memo. Is the reliance growing or shrinking? What would a bank-limit cap do to next year's CFO? And say explicitly why none of this, by itself, is an accusation.
Option B (US): Procter & Gamble, the supplier-finance and DPO decade. Pull the two most recent 10-Ks from SEC EDGAR (sec.gov → EDGAR full-text search "supply chain finance" → PG). They carry the ASU 2022-04 supplier-finance disclosures. Also build a 10-year DPO series from historical 10-Ks or from a free aggregator such as stockanalysis.com, and verify any aggregator number against the filing. P&G ran one of the corporate world's most famous disclosed payment-terms extensions in the mid-2010s. Do steps (1) to (6) as in Option A, with the program balance in place of acceptances and the original Z, since it's a listed manufacturer. Then add one more step. Estimate roughly how many dollars of cumulative CFO the DPO extension contributed across the decade (ΔDPO/365 × COGS, year by year), and state what fraction of FCF growth that explains. Label all derived figures "illustrative, computed from filings; recheck against the 10-K."
Deliverables (both options): the one-page memo, plus your screen-input sheet. That's one page with every input, its filing source, your CFO convention, and columns for reported and adjusted figures. The sheet becomes a page of the phase's red-flags checklist.
Rubric (score 0/1/2 per criterion; pass ≥ 9/12):
| Criterion | 0 | 1 | 2 |
|---|---|---|---|
| Disclosure hunt | Missed the program/acceptances | Found, partially quantified | Found, quantified both years, cited note and page |
| Adjustments | Wrong direction or double-count | Mostly right | Stock/flow logic exact: levels to debt/DSO-DPO, changes to CFO |
| Screen computation | Errors in ≥2 screens | One screen off | All four correct to tolerance, correct variant, work shown |
| Input hygiene | Standalone/unstandardized inputs | Minor lapses | Consolidated, one CFO convention, regime breaks flagged |
| Interpretation | Verdict language or "all clear" | Reasonable | Flags read against base rates and the honest alternative; next-reads named |
| Memo craft | Disorganized | Clear | One page, conclusion first, numbers sourced, a PM could act on it |
Reading & resources
- Schilit, Perler & Engelhart, Financial Shenanigans, 4th ed., Part Three "Cash Flow Shenanigans" (his three cash-flow families) and the acquisition-accounting shenanigans chapters. The source taxonomy for sections 4.3-4.7. Read it alongside those sections. [Paid] [Intermediate]
- Mulford & Comiskey, Creative Cash Flow Reporting (Wiley). The book-length treatment of everything in sections 4.3-4.8: sustainable against reported CFO, classification games, a whole methodology for "adjusted CFO." It's the natural next book if the first half above gripped you. [Paid] [Advanced]
- Beneish, "The Detection of Earnings Manipulation," Financial Analysts Journal (1999), free on SSRN. The model, the sample, the cost-ratio cutoff analysis, and the sample-mean benchmarks in section 4.10. Pair with Beneish, Lee & Nichols, "Earnings Manipulation and Expected Returns," FAJ (2013) (also on SSRN) for out-of-sample evidence and the investing use-case. [Free] [Advanced]
- Sloan, "Do Stock Prices Fully Reflect Information in Accruals and Cash Flows About Future Earnings?", The Accounting Review (1996), findable free via Google Scholar. The persistence regressions and decile portfolios behind section 4.11. Pair with Hribar & Collins, "Errors in Estimating Accruals," Journal of Accounting Research (2002) for why the cash-flow method wins. [Free] [Advanced]
- Altman's originals: the 1968 Journal of Finance paper, the free 2000 NYU Stern working paper "Predicting Financial Distress of Companies: Revisiting the Z-Score and ZETA Models" (pages.stern.nyu.edu; it restates Z, Z′ and Z″ with coefficients and is your verify-first source for section 4.12), and the 2005 Emerging Markets Review article for Z″(EM). [Free] [Intermediate–Advanced]
- Piotroski, "Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers," Journal of Accounting Research (2000), free PDF widely hosted (Chicago Booth). All nine signals, the value-universe restriction, the returns tables. [Free] [Advanced]
- CFA Program Level II reading "Evaluating Quality of Financial Reports": the curriculum's treatment of Beneish and accruals-based quality measures; good drill problems. [Paid] [Intermediate]
- UK Parliament, Work & Pensions and BEIS Committees joint report on Carillion (2018), at parliament.uk, free. Read the reverse-factoring sections: hidden debt narrated by legislators, with the numbers. [Free] [Intermediate]
- The standards texts for the new disclosure weapons: FASB ASU 2022-04 (fasb.org) and the IASB's "Supplier Finance Arrangements" amendments to IAS 7/IFRS 7 (ifrs.org, effective 2024); plus Schedule III ageing-table and ratio-disclosure text (mca.gov.in). Twenty minutes each; they tell you exactly what companies must now show you. [Free] [Advanced]
- Data for the drills: screener.in (Indian 10-year statements, exportable; build your screen-input sheet from it, then verify against the AR), SEC EDGAR full-text search (efts.sec.gov; search "supplier finance," "factoring," "securitization" across all filings; the disclosure hunt at market scale), and the BSE annual-report archive. [Free] [Beginner–Intermediate]
- Mukherjea, Ranjan & Desai, Diamonds in the Dust, the forensic/accounting-quality screening chapter (continuity from M2.06): a working example of a screen battery adapted to Indian filings. [Paid] [Beginner–Intermediate]
- Going deeper: Dechow, Ge, Larson & Sloan, "Predicting Material Accounting Misstatements," Contemporary Accounting Research (2011), free on SSRN. Builds the F-score (a predicted-probability-of-misstatement model) on the SEC's AAER enforcement sample, the larger, modern successor to Beneish's 1999 work. Read it to see how the approach of section 4.10 was re-estimated a generation later, and which variables survived. [Free] [Advanced]
- Going deeper: Green, Hand & Soliman, "Going, Going, Gone? The Apparent Demise of the Accruals Anomaly," Management Science (2011), free on SSRN. The evidence behind the caution in section 4.11 that the accrual anomaly's raw returns decayed as arbitrage capital arrived. It's also a clean case study in how a screen can keep working as a quality discriminator long after its alpha fades. [Free] [Advanced]
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 to the hand method and never replaces it. (R1/R10)
AI-Augment this skill
{
"skill": "The cash-flow shenanigans — factoring, securitization, supplier finance, the payables stretch, capitalization from the cash side, acquisitions as a pump — and the four quantitative screens: Beneish M, Sloan accruals, Altman Z/Z'/Z'', Piotroski F",
"use": "This module has the sharpest division of labour in Phase 2: the screens are arithmetic a machine should do, the ADJUSTMENTS to their inputs are judgment a machine cannot do, and the difference is where your edge lives now that everyone owns the screens. (1) Ask for the input sheet, not the score: extract the twenty-odd line items each screen needs, from the filing, with a note reference per cell, and let your own code compute M, the accruals ratio, Z and F. A tool that reports a Beneish M has hidden every input decision inside one number. (2) Ask it to hunt the adjustments of §§4.3–4.8 across the notes: factored or securitized receivables, supplier-finance and reverse-factoring balances (which many filers now disclose separately), receivables sold with recourse, acquisition-related working capital acquired through investing. Those are the gross-ups that keep a receivables screen honest, and finding them is document work. (3) Ask which Altman variant the company's business actually calls for and why, then check the answer against §4.12's selection rule yourself — the variants are different estimated models and reading a Z' against Z zones is the commonest error in the field. (4) Ask it to state, for each screen, the specific innocent explanation of this company's flag; you need that sentence in the memo whether or not you believe it.",
"tools": ["Document/PDF AI — NotebookLM or Claude file upload for the screen input sheet with note references, and for the factoring, supplier-finance and acquisition disclosures", "Chat assistants — Claude, ChatGPT for variant selection, the innocent-explanation pass and reconciling two accrual constructions", "Coding assistants — for the four screen functions, the peer panel and the backtest harness below"],
"prompt": "From the attached filings, produce ONLY an input sheet: a table [Line item | Year t-1 | Year t | Note or page reference] covering sales, COGS, SG&A, depreciation excluding amortization of acquired intangibles, net income from continuing operations, CFO, cash, receivables, inventory, other current assets, current assets, net PP&E, total assets, trade payables, short-term debt, taxes payable, current liabilities, long-term debt, retained earnings, book equity, and market capitalisation. Separately list any disclosed factored, securitized or supplier-finance balances and any working capital acquired through acquisition. Do NOT compute any score, index or ratio. Where a figure is not disclosed, write NOT DISCLOSED.",
"verify": "You compute the scores; the tool only fetches the inputs. Recompute at least one screen by hand against the module's worked Kavery figures to prove your implementation, then verify each input against the note it came from — a Beneish M is a weighted sum of eight ratios and a single wrong receivables figure moves DSRI and TATA together, which is exactly the correlated error the score cannot show you. Confirm the depreciation figure excludes amortization of acquired intangibles, confirm consolidated Ind AS statements and one CFO convention per §4.7, and confirm the screen is not being applied to a bank, an NBFC or an insurer, where none of the four models means anything. Then hold the last line: screens point, filings convict. A model asked whether a company is manipulating will answer; the model was estimated on 74 manipulators from 1982–1992 and does not know your company exists (Guardrail 1-5).",
"diy": "The gate is unaided: you compute all eight Beneish indices and the M-score, both accrual constructions and their reconciliation, all three Altman variants with the right zones, and all nine Piotroski signals from two years of statements on paper. Nothing in this callout is admissible in that room."
}
Modern Data Analysis
By hand first. You computed every index, both accrual constructions, all three Z variants and all nine F signals on Kavery with a pencil, and you reconciled the ₹21 crore gap between the two accrual methods. That's the only way you'll ever know what a score is made of, and the gate keeps you there. The code below does what the hand version can't. It runs the battery over a universe and over a decade, which is how the workflow of section 4.14 was always meant to be run.
Today's workflow. Write each screen once as a function of two years of statements, and three new things become possible. The battery becomes a panel. Step 2 of the workflow in section 4.14 asks for the company plus three to five peers, five years deep. That's thirty screen computations: an afternoon by hand, a loop in code. And it's the only way to see a divergence, where a single run shows only a level. The adjustments become variants of the same run. Compute M on reported inputs, then again on inputs adjusted as in sections 4.3-4.8, with receivables grossed back up for factoring and securitization, payables net of supplier finance, and acquired working capital removed. Report both. That pair is your edge in a world where every screen is public and manipulators manage to the screens. The reported-input M is what everyone else sees. The adjusted-input M is what the company was trying to stop anyone from seeing. And the models become testable. With the screens as functions, you can generate a universe with a known answer and measure what each screen really does. The Quantitative lens below does just that, and every published cutoff here deserves that test before you trust it on your market.
Tools & sources (IN + US). Use pandas for the panel, numpy for the battery and the harness, and scipy.stats.norm.cdf to turn a Beneish M into its implied probability. For India, start with consolidated Ind AS statements from the annual report. Add the receivables and CWIP ageing schedules and the bank-statement-agreement disclosure from the 2021 Schedule III amendments, plus the factoring and bill-discounting disclosures. Read the related-party note for terms. Check CARO 2020 clauses (ix)(d) on short-term funds used long-term and (iii)(f) on on-demand related-party loans, and the exchanges' Reg 30 filings for auditor exits (BSE/NSE). Use screener.in for the ten-year series you reconcile, and MCA21 for the ecosystem entities. For the US, use EDGAR XBRL companyfacts and the SEC's Financial Statement Data Sets for a true universe instead of a peer handful. Add the 10-K's receivables-sold and supplier-finance-program disclosures, and 8-K Item 4.01 for auditor changes. And read the primary papers themselves: Beneish 1999 on SSRN, Sloan 1996, Hribar and Collins 2002, Altman 1968 plus the free 2000 NYU restatement of all three Z variants, and Piotroski 2000. The standing instruction in section 4.12 applies, because these coefficients are widely reproduced with typos.
# The four screens as functions of two years of statements — R3: recomputed in-session,
# verified against the module's own Kavery worked figures (M -1.42, ACC 8.75%, Z 4.37, F 4).
def beneish_m(a, b, cfo): # a = prior year dict, b = current year dict
DSRI = (b["ar"]/b["s"]) / (a["ar"]/a["s"]); GMI = a["gm"] / b["gm"]
soft = lambda y: 1 - (y["ca"] + y["ppe"]) / y["ta"]
AQI, SGI = soft(b)/soft(a), b["s"]/a["s"]
dr = lambda y: y["dep"] / (y["dep"] + y["ppe"])
DEPI, TATA = dr(a)/dr(b), (b["ni"] - cfo) / b["ta"]
SGAI = (b["sga"]/b["s"]) / (a["sga"]/a["s"])
LVGI = ((b["ltd"]+b["cl"])/b["ta"]) / ((a["ltd"]+a["cl"])/a["ta"])
return (-4.84 + .920*DSRI + .528*GMI + .404*AQI + .892*SGI
+ .115*DEPI - .172*SGAI + 4.679*TATA - .327*LVGI)
sloan = lambda ni, cfo, ta_t, ta_p: (ni - cfo) / ((ta_t + ta_p) / 2)
altman = lambda wc, ta, re, ebit, mve, tl, s: (1.2*wc/ta + 1.4*re/ta + 3.3*ebit/ta
+ .6*mve/tl + 1.0*s/ta)
Verify. Prove the implementation before you trust the panel. Run it on Kavery and require M = −1.42, accruals = +8.75% (cash-flow method) and +7.0% (balance-sheet method), Z = 4.37, Z′ = 2.46, Z″ = 5.02, F = 4/9. If any of those misses, the bug is yours, and every panel row inherits it. Then verify the inputs, every time: depreciation excluding amortization of acquired intangibles, one CFO convention, consolidated statements, no financial companies, and normalized EBIT decided deliberately. Section 4.12 already showed that including Kavery's one-time land-sale gain moves Z from 4.31 to 4.37, so a screen inherits your input hygiene, just as the benchmarking work warned. Recompute both accrual constructions and investigate the gap instead of picking the convenient one. Hribar and Collins tell you the gap is where acquisitions, divestitures and translation hide, which is where the interesting accruals live.
Quantitative lens
The four screens were published with hit rates on their own samples. Beneish estimated an eight-variable probit on 74 identified manipulators against roughly 2,300 controls from 1982 to 1992 data. Sloan reported roughly 10.4% annual size-adjusted abnormal return to the extreme-accrual decile spread over 1962 to 1991. Altman's original model classified about 95% of firms correctly one year before bankruptcy, falling to about 72% two years out. Piotroski's high-F value portfolio beat its universe's average one-year market-adjusted return by about 7.5 percentage points over 1976 to 1996. Those are the papers' figures on the papers' samples, and you've already been told to pull them and verify. What none of them tells you is how a screen behaves on a universe like the one you actually screen. Once the screens are functions, you can answer that yourself by generating a universe whose answer you already know.
The harness. Build 40,000 synthetic firms, each with two years of fully articulated statements, with a 2% prevalence of manipulation and 30% of the universe made up of real fast growers. The manipulators inflate revenue into receivables, park costs in soft non-current assets and stretch depreciation lives, the three residues the earnings games taught. Then run the battery against ground truth. All figures below come from that synthetic run, generated in-session. They're properties of the harness and measure no real market, and the harness's design assumptions are stated after the results.
| Screen and threshold | Flags | Recall | Precision | Lift over the 2% base rate |
|---|---|---|---|---|
| Beneish M > −1.78 | 2.9% | 98.1% | 66.6% | 33.3× |
| Beneish M > −2.22 (wide net) | 16.3% | 100.0% | 12.1% | 6.0× |
| Sloan accruals, top decile | 10.0% | 97.2% | 19.1% | 9.6× |
| Altman Z < 1.81 | 8.9% | 3.2% | 0.7% | 0.4× |
| Piotroski F ≤ 3 | 6.9% | 1.5% | 0.4% | 0.2× |
| M-flag and top-decile accruals | 2.9% | 96.6% | 66.5% | 33.2× |
Five findings, each of which changes how you use the dashboard.
One. The widening decision has a price, and now you can quote it. Moving the cutoff from −1.78 to −2.22 raises the flag rate from 2.9% to 16.3% and buys 1.9 points of recall. The cost is precision, which falls from 66.6% to 12.1%, a 5.5-fold degradation. Section 4.10 tells you to pick per your error preference and say which you used. This is the exchange rate.
Two. The false positive is structural, and it lands where you were told it would. Among clean firms, the M-score flags 0.1% of mature companies and 3.1% of real fast growers, a 32.7-fold difference. So 31.1% of all M-flags in this universe are clean fast growers, and the precision of a flag depends enormously on who it lands on: 95.3% on a mature company against 40.6% on a grower. That's the arithmetic behind the parenthesis in section 4.10, that a mature, slow-growth firm clearing −1.78 is a much louder alarm. It also gives you a usable rule: read the flag conditional on SGI, never on its own.
Three. Two of the four screens are the same instrument. The correlation between the M-score and the Sloan accruals ratio is 0.907. That's unsurprising once you notice that TATA carries the model's heaviest weight (4.679) and is the accruals ratio. So the intersection of an M-flag and a top-decile accruals reading has precision 66.5%, against the M-score's own 66.6%. The second screen adds nothing, because it's measuring the same thing twice. Here the earnings games' lesson on conditional independence turns up somewhere it's easy to miss: four numbers on a dashboard don't make four pieces of evidence.
Four. Z and F are orthogonal to the M-score, and that's a feature. Correlation with the M-score is 0.071 for Altman Z and −0.103 for Piotroski F. Altman Z flags 8.9% of the universe but only 3.2% of manipulators, below its flag rate on clean firms. As a manipulation detector it's worse than useless. Inflated and fabricated assets improve X1, X2 and X3. The section 4.12 lesson that M and Z answer different questions is more than a caveat. It's measurable, and the measurement is that Z carries no manipulation signal at all.
Five, and this is the finding to keep: the screens catch gross manipulation and are close to blind to subtle manipulation. Hold everything else fixed and shrink only the size of the lie. With revenue inflated 4 to 16%, the M-score's recall is 98.1%. At 2 to 8% it's 78.8%. At 1 to 4% it's 34.9%. At 0.5 to 2% it's 9.3%, with precision down to 15.9%. The screen's power lives almost entirely in the magnitude of the distortion. So it's at its weakest in the first year of a manipulation, when the numbers are still small, and at its strongest in the year the treadmill (section 4.2 of the earnings games) has already forced the lie to grow. A screen is a late-stage instrument. That's a strong argument for running it every year on a decade of history and reading the trajectory of the score, instead of asking a single year whether a company is clean.
Here are the limits of this harness, stated plainly, because a synthetic backtest that oversells itself is worse than none. The absolute recall figures are an artefact of how aggressively the synthetic manipulators manipulate. That's why finding five varies it, and why the relative results are the ones to carry. The 2% prevalence is assumed, not measured. Real prevalence is unknowable, because undetected manipulation is missing from every sample by construction. Firms are drawn independently, with no industry structure, no serial correlation, no cycle and no strategic response. So nothing here speaks to manipulators who manage to the screens, the very behaviour the last bullet of section 4.14 warns about, and the reason the adjusted-input version of each screen matters. The generator embeds the residues the screens were built to find, which flatters them. A fabrication that never touches receivables, margins or accruals (Satyam's invented cash, Wirecard's fictitious escrow) is invisible to every screen here. No amount of harness tuning changes that, because the screens compute on the fabricated numbers. And a synthetic universe can't validate a coefficient. Only the original papers and out-of-sample work on your own market can. Use the harness for what it's good for: understanding the shape of each screen's error, and setting a threshold with your eyes open.
Do it in code: implement the four screens as functions, verify them against Kavery, run the battery over your universe and over each company's decade, and then run this harness with your own assumed prevalence and manipulation magnitudes to see the precision you are actually buying. Report the flag with its implied probability, its SGI context, and the innocent explanation you could not eliminate. See G1/QM1.02, G2/QD1.03 and G2/DA2.01.
Where this goes next: galaxy cross-links
- G1 · QM1.02 Hypothesis Testing & Regression: what a probit model like Beneish's actually is, what its coefficients mean, and why a score estimated on 74 cases from 1982–1992 travels directionally and not calibratedly.
- G2 · QD1.03 Backtesting Engine, the harness above done properly on real data: point-in-time inputs, survivorship control, look-ahead discipline and out-of-sample testing, which are the four ways a forensic backtest lies to you.
- G2 · DA2.01 Supervised Machine Learning: classification with a 2% positive class, where precision, recall and the cost asymmetry between a missed fraud and a libelled company are the entire design problem, and where a learned classifier is a complement to reading the filing and never a substitute for it.
- G2 · QD1.02 Signal & Factor Construction: the accruals ratio and cumulative CFO/EBITDA as constructed quality factors, with the winsorisation, sector-neutralisation and universe ranking that keep a screen from being driven by three outliers.
- G2 · DA1.02 Pandas Data Wrangling: the input sheet, the peer battery and the reported-versus-adjusted pair of every score as a reproducible frame rather than a spreadsheet nobody can re-run.
Teach it back & journal
Feynman prompt. Explain to a smart 15-year-old why "the money a shop says its business earned" can be borrowed money in disguise. Use three pocket-money jars: earned (chores), sold stuff (old bike), borrowed (from a sibling). The rule at home is that only the earned jar proves you're responsible. So a clever kid borrows from a sibling and drops the note into the earned jar, or sells next month's chore IOUs to a cousin for cash today. The total money is real either way. The label is the lie, and the tell is always a new debt to someone (the sibling, the cousin) that doesn't show on the kid's "what I owe" list. Then explain the four screens as smoke detectors in one paragraph. They don't prove fire. They tell you which room to check, they sometimes beep at burnt toast (a fast-growing company with nothing to hide), and they can't smell a fire in a room whose numbers were invented wholesale. One page, no undefined jargon.
Journal reflection. You've watched organizations classify their way to targets: contractors excluded from attrition, regretted-vs-non-regretted exits redefined, engagement survey timing moved after the offsite. That's the same move as dressing a financing inflow as operating. The totals are true and the labels are negotiable. Write half a page. (1) Take one KPI-classification game you saw yourself and map it to its cash-flow cousin: an inflow relabeled, an outflow exiled, a one-time item annualized. (2) Pick one of the four screens that has an analogue you could have built in a field you know well. In HR, say, that might be an "accruals ratio" for promised against delivered hires. (3) Then the base-rate lesson. When your screen flagged a team, how often was the innocent explanation true, and what does that teach you about reading an M-Score flag charitably but verifying mechanically? Close with the sentence you'll write in every memo where the screens fire but the filings exonerate.
This module's flashcards and mastery quiz are wired into the app: see the node's Quiz and Reviews.