The Analyst's Path

Phase 0 · Orientation and foundations · free

The Analyst's Toolkit & Knowledge System

M0.04 · 16,897 words

You are three weeks into an 80-week program and have not yet debited anything. That is deliberate. An analyst's output is judgment, and judgment is manufactured from three raw materials: numbers you can trust (data sources), calculations you can audit (the…

Phase: 0 · Orientation & Foundations · Week: 3 (begin late in week 2 if the bootcamp is done) · Estimated hours: ~14 of module work

Where it sits. Behind you: the map and the five questions, how markets, exchanges, and regulators fit together, and the numeracy bootcamp. Ahead: your first full annual report and 10-K using the tools you install today. This module is unlike every other in the program: it produces almost no new finance knowledge. It produces infrastructure: the spreadsheet skills, data-source fluency, and personal knowledge system that the next 76 modules will deposit into. Treat it like moving into a workshop: by Sunday the benches are built and the filing cabinet is labeled. For years afterward, you only add to it.


Learning objectives

You will be able to:

  1. Build a clean analyst spreadsheet in Excel, Google Sheets, or LibreOffice Calc: inputs, calculations, and outputs separated; every assumption entered exactly once; no hardcodes inside formulas; correct relative, absolute, and mixed references.
  2. Use the core function kit fluently: SUM/AVERAGE/COUNT, IF/AND/OR/IFERROR, SUMIFS/COUNTIF, INDEX-MATCH, and XLOOKUP, and explain why INDEX-MATCH beats VLOOKUP.
  3. Work at keyboard speed: execute at least ten core shortcuts (navigation, selection, fill, anchor-toggling, paste-values) without touching the mouse.
  4. Navigate the data sources cold: read a screener.in company page block by block; retrieve annual reports and announcements from BSE/NSE; find any US 10-K on SEC EDGAR in under three minutes and run a full-text search; pull a 10-year view from stockanalysis.com or TIKR, industry benchmarks from Damodaran's library, and macro series from RBI and FRED.
  5. Operate a Zettelkasten: convert reading into atomic permanent notes, each one idea in your own words and linked, filed in the standard folder tree in plain markdown.
  6. Run the four-part knowledge system: permanent notes, company files, a mistakes-derived checklist, and a decision journal written before outcomes and never edited after.
  7. State and apply the AI policy: what AI may draft, what it may never do, and the verification rule keeping every number traceable to a primary source.

Prerequisites & connections

Builds on. The five questions, which your first permanent notes will capture, and the market map from (you know what NSE, BSE, SEC, a ticker, and a filing are, so the data tour has somewhere to land), and M0.03 (you computed compound interest by hand; today you automate it, which is the program's standing rule: by hand first, then the tool).

Feeds into everything. The guided annual-report read uses screener.in, BSE/NSE, and EDGAR tomorrow. Phase 1 hand-spreads filings into the workbook layout you learn here. Phase 2's common-size and ratio work extends today's build-alongs. Phase 3's models live and die on inputs/calcs/outputs discipline. Every module from here on ends by asking you to write permanent notes and, from Phase 6, checklist items; the decision journal you seed today is graded as a deliverable in M9.04 and is the raw material of the calibration scores in the app. The master map calls this system the analyst's real compounding asset. It is installed exactly once, today, and fed forever.


4.1 Why tools come before accounting

You are three weeks into an 80-week program and have not yet debited anything. That is deliberate. An analyst's output is judgment, and judgment is manufactured from three raw materials: numbers you can trust (data sources), calculations you can audit (the spreadsheet), and accumulated thinking you can retrieve (the knowledge system). Most self-taught investors bolt these on haphazardly over years, with insights evaporating in browser tabs. You will install all three properly in one week, while the cost is low, so the next 77 weeks of work lands in a structure built to hold it.

One framing to carry: a spreadsheet is an argument, not a calculator. When you eventually hand someone a valuation, you are claiming "if you accept these inputs, these conclusions follow." That claim is only checkable if inputs are visibly separated from logic and every number can be traced. Everything in section 4.2 serves that idea.

4.2 The spreadsheet: your workshop

#### 4.2.1 Choosing your tool

You need exactly one spreadsheet program, and any of these three works for the entire program:

ExcelGoogle SheetsLibreOffice Calc
CostPaid (Microsoft 365 subscription; one-time versions exist)Free (Google account)Free, open source
Works offlineYesLimited (offline mode exists but is clunky)Yes
Industry standard?Yes — every bank, fund, and consulting firmIncreasingly acceptedRare professionally
XLOOKUP available?Excel 365 / 2021+Yes (added 2022)Yes (24.8+, released 2024)
Where it shinesSpeed, shortcuts, large modelsFree, auto-saves, shareable linksFree, private, offline

Recommendation: if you already pay for Microsoft 365, use Excel, since it is what you'll meet professionally. Otherwise Google Sheets is the default free choice; keep LibreOffice as the offline backup. Every formula below works in all three (shortcut differences flagged in 4.2.5). Spend no more than ten minutes choosing: the skills are 95% portable, and that portability is the point, because your competence should never be hostage to a license.

While you are in settings: Indian filings quote lakh (1,00,000) and crore (1,00,00,000); the custom number format #,##,##0 renders Indian grouping in all three tools. Keep US sheets in standard grouping with $m or $bn in the header, and always label units. A sheet where nobody knows whether 4,521 is rupees, lakh, or crore is a defect.

#### 4.2.2 Layout discipline: inputs → calculations → outputs

The single highest-value habit in all of financial modeling costs nothing to adopt on day one:

  1. Inputs live in one place. Every assumption (a growth rate, a price, a tax rate) is typed into exactly one cell, in a clearly marked input block or input sheet. Convention, borrowed from banking: inputs in blue font, formulas in black, links pulled from other sheets in green. Set this now; it will be second nature by Phase 3.
  2. Calculations reference inputs, and never contain them. =B4*(1+$B$2) is auditable: change B2 and everything downstream updates. =B4*1.12 hides a buried assumption: six months on, nobody, including you, knows a 12% is in there, and updating it means hunting every cell. "No hardcodes inside formulas" is rule one of professional modeling and the most common amateur failure.
  3. Outputs are labeled and isolated. Answer cells sit apart, formatted so a reader finds them in seconds.
  4. The 60-second audit test. A stranger opening your sheet should trace any number to its origin within a minute. If they can't, restructure. That test, and not beauty, is the standard.

Two supporting habits: never merge cells (merging breaks selection, sorting, and formulas), and build time across columns, items down rows: years march left to right, line items stack vertically, as in essentially every professional model on earth.

#### 4.2.3 References: relative, absolute, mixed: and F4

When you copy a formula, cell references shift with it unless you anchor them with $:

FormNameWhat happens when copied
B2RelativeBoth column and row shift. Copied one cell down, B2 becomes B3.
$B$2AbsoluteNothing shifts. Always points at B2. Use for single inputs (a rate, a principal).
B$2Mixed (row locked)Column shifts, row doesn't. Use for a header row of rates.
$B2Mixed (column locked)Row shifts, column doesn't. Use for a label column of years.

The F4 key cycles a reference through all four forms (B2 → $B$2 → B$2 → $B2) in Excel, Google Sheets, and modern LibreOffice Calc (older Calc: Shift+F4). Get it into your fingers today. Mixed references are what make two-way sensitivity tables possible, and you build one below.

#### 4.2.4 The core function kit

You need perhaps a dozen functions to do 90% of analyst work. Here they are, demonstrated on the demo watchlist, a table you will reuse throughout. (ROCE = return on capital employed; D/E = debt-to-equity. Figures are illustrative, modeled on roughly FY25 scale, and pulling the real ones is part of your mini-project.)

ABCD
1CompanyTickerROCE %D/E
2TCSTCS640.0
3Asian PaintsASIANPAINT310.1
4ITCITC370.0
5TitanTITAN250.7
6PidilitePIDILITIND300.1
7Avenue SupermartsDMART190.0

Arithmetic & aggregation. =SUM(C2:C7) → 206. =AVERAGE(C2:C7) → 34.33. =MAX(C2:C7) → 64. =COUNTA(A2:A7) → 6 (counts non-empty cells; COUNT counts only numbers).

Logic. =IF(C2>=20,"Pass","Check") reads: if TCS's ROCE is at least 20, return "Pass", else "Check". Conditions combine with AND/OR: =IF(AND(C2>=20,D2<=0.5),"Quality screen pass","Check"). Run down the table and Titan alone returns "Check", because its illustrative D/E of 0.7 trips the leverage test. (Instructive: Titan's borrowing includes jewellery-trade gold-on-lease arrangements, a nuance a screen flattens, which is why screens start inquiries, never settle them.) =IFERROR(formula, "n/a") wraps any formula and returns your fallback instead of an ugly #N/A or #DIV/0!.

Conditional aggregation. =COUNTIF(C2:C7,">=30") → 4 (TCS, Asian Paints, ITC, Pidilite). =SUMIFS(C2:C7,D2:D7,"<=0.1") sums ROCE only for low-leverage names → 64+31+37+30+19 = 181. Syntax note: SUMIFS takes the sum range first, then pairs of (criteria range, criteria).

Lookups, the analyst's daily bread. You constantly need "fetch the value for X from that table."

  • INDEX-MATCH (works in every spreadsheet ever made): =INDEX($C$2:$C$7, MATCH("Titan", $A$2:$A$7, 0)) → 25. Read it inside out: MATCH("Titan", $A$2:$A$7, 0) finds Titan's position in the name column → 4 (fourth row of the range). The final 0 means exact match, so always use 0; omitting it invites silent approximate matches, a classic source of wrong numbers. Then INDEX($C$2:$C$7, 4) returns the 4th item of the ROCE column → 25.
  • XLOOKUP (modern, cleaner, now in all three tools): =XLOOKUP("Titan", $A$2:$A$7, $C$2:$C$7, "not found") → 25. Arguments: lookup value, the column to search, the column to return, and an optional if-not-found message. Exact match is the default (safe), it can look left as easily as right, and it doesn't break if columns are inserted.
  • Why not VLOOKUP? You'll meet =VLOOKUP("Titan",A2:D7,3,FALSE) everywhere, so know it, but prefer the two above. VLOOKUP counts columns by number (insert a column and the 3 silently points at wrong data), cannot look left of the lookup column, and defaults to approximate match if you forget FALSE. INDEX-MATCH and XLOOKUP have none of these traps.

That is the kit. You'll add EOMONTH/EDATE (date arithmetic) naturally in Phase 3; Excel's What-If Data Table duplicates what the mixed-reference grid below does portably.

#### 4.2.5 Keyboard fluency: the starter fifteen

Mouse-driven work is 3–5× slower than keyboard-driven work, and Phase 8's timed 60-minute teardowns will collect that difference, because every minute spent mousing is a minute not spent thinking. Learn these fifteen this week. The drill: the no-mouse hour, meaning you rebuild build-along 1 start to finish without touching the mouse.

ActionExcel (Windows)Google SheetsLibreOffice Calc
Jump to edge of dataCtrl+ArrowCtrl+ArrowCtrl+Arrow
Select to edge of dataCtrl+Shift+ArrowCtrl+Shift+ArrowCtrl+Shift+Arrow
Edit active cellF2F2 or EnterF2
Cycle $ anchorsF4F4F4 (6.1+)
Copy / cut / pasteCtrl+C / X / Vsamesame
Paste values onlyCtrl+Alt+V, then VCtrl+Shift+VCtrl+Shift+V
Undo / redoCtrl+Z / Ctrl+Ysamesame
Fill down / fill rightCtrl+D / Ctrl+Rsamesame
Select entire row / columnShift+Space / Ctrl+Spacesamesame
Insert row/column (row selected)Ctrl+Shift+=Ctrl+Alt+=Ctrl+=
Show formulas instead of valuesCtrl+`Ctrl+`Ctrl+`
AutoSumAlt+=(type =SUM)(type =SUM)
Next / previous sheetCtrl+PgDn / PgUpAlt+Down / Alt+UpCtrl+PgDn / PgUp
Format cells dialogCtrl+1(Format menu)Ctrl+1
New sheetShift+F11Shift+F11(right-click tab)

(Mac users: Cmd generally replaces Ctrl; F4 becomes Cmd+T in Excel for Mac. Minor variants exist across versions, and the point is to learn your tool's set cold.)

#### 4.2.6 Build-along 1: the compound-interest table

Open a blank workbook. Name the file analyst-toolkit and the sheet compounding. You are rebuilding, as a machine, what you did by hand in the bootcamp: ₹1,00,000 invested at 12% a year for 30 years.

Step 1: input block (blue font).

AB
2INPUTS
3Principal (₹)1,00,000
4Annual rate12%
5Years30

Step 2: the calculation table. In row 8, headers: Year | Opening | Interest | Closing. Then:

  • A9: 1 · A10: =A9+1, filled down to year 30 (select A10, Ctrl+Shift+Down after setting the range, Ctrl+D).
  • B9 (opening, year 1): =$B$3, absolute, because it is the input.
  • C9 (interest): =B9*$B$4, opening balance times the rate; the rate is anchored because every row uses the same input cell.
  • D9 (closing): =B9+C9.
  • B10 (opening, year 2): =D9, last year's closing. Relative on purpose: each row chains to the one above.
  • Select B10:D10, fill down to year 30.

Your first five rows should read (₹):

YearOpeningInterestClosing
11,00,000.0012,000.001,12,000.00
21,12,000.0013,440.001,25,440.00
31,25,440.0015,052.801,40,492.80
41,40,492.8016,859.141,57,351.94
51,57,351.9418,882.231,76,234.17

Step 3: the check cell, a habit for life. Every model carries at least one independent cross-check. Here it is the closed form from the bootcamp, FV = P × (1 + r)^n. F9: =$B$3*(1+$B$4)^A9, filled down; G9: =D9-F9, which must show 0 (rounding dust aside). Year 30 reads ₹29,95,992 both ways. If the columns disagree, a formula is wrong, and the sheet caught it itself, which is the whole point of check cells.

Step 4: a two-way sensitivity grid (mixed references earn their keep). Below the table, build: rates across the top, horizons down the side.

BCDEF
44Closing value (₹)8%10%12%14%
4510 yrs
4620 yrs
4730 yrs

In C45, type one formula: =$B$3*(1+C$44)^$B45. Principal fully anchored; the rate anchored to row 44 (so it slides across columns but never down); the years anchored to column B (so they slide down rows but never across). Copy C45 to the whole grid. Results:

Closing (₹)8%10%12%14%
10 yrs2,15,8922,59,3743,10,5853,70,722
20 yrs4,66,0966,72,7509,64,62913,74,349
30 yrs10,06,26617,44,94029,95,99250,95,016

Sit with that bottom row for a second. It is the bootcamp's lesson made visceral: at 30 years, the gap between 8% and 14% is not "6 points," it is five times the money. One formula, correctly anchored, produced all twelve numbers. That is what mixed references are for.

Step 5: the no-mouse hour. Delete the calculation table (keep inputs) and rebuild it entirely by keyboard. Then change the principal to ₹5,00,000 and watch everything flow. If any cell fails to update, you have a hardcode. Find it and fix it.

#### 4.2.7 Build-along 2: a mini common-size income statement

A common-size statement expresses every P&L line as a percentage of revenue, which is the fastest x-ray in analysis: absolute rupees become structure (where does each ₹100 of sales go?), and different-sized companies become comparable. Phase 2 builds a discipline on this; today you build the skeleton.

New sheet: common-size. Enter this P&L for Hindustan Unilever, with figures illustrative, modeled on ~FY24 scale; pull the actual annual report (numbers in ₹ crore):

ABC
1Line item₹ crore% of revenue
2Revenue60,000
3Materials & purchases30,000
4Employee costs3,000
5Advertising & promotion5,400
6Other expenses7,800
7EBITDA=B2-SUM(B3:B6)
8Depreciation & amortisation1,200
9EBIT=B7-B8
10Other income900
11Finance costs300
12Profit before tax=B9+B10-B11
13Tax3,300
14Profit after tax=B12-B13

In C2: =B2/$B$2, formatted as a percentage. Fill down C2:C14. The $B$2 anchor is doing the work: every line divides by the same revenue cell. Your results: revenue 100.0%, materials 50.0%, employees 5.0%, A&P 9.0%, other 13.0%, EBITDA 23.0%, D&A 2.0%, EBIT 21.0%, other income 1.5%, finance costs 0.5%, PBT 22.0%, tax 5.5%, PAT 16.5%.

Read it like an analyst for thirty seconds: half of every sales rupee buys materials; nine paise are spent telling you about the soap (that A&P line is a moat under construction, so hold the thought until Phase 4); 16.5 paise reach shareholders. Whether these are good numbers is Phase 2's question, but you can now produce the x-ray on demand, and the guided annual-report read has you run one on real filing numbers.

4.3 The data-source tour: where the numbers live

Two categories, one iron rule. Primary sources are the legal record: what the company filed with an exchange or regulator (BSE/NSE/MCA for India, SEC EDGAR for the US). Aggregators (screener.in, stockanalysis.com, TIKR) re-arrange filed numbers for speed. Aggregators are for looking; primary sources are for citing: any number entering a memo, model, or note must trace to a primary source you personally opened (working agreement 7). Aggregators standardize and occasionally err; reconcile before you rely. Bookmark everything below into a browser folder called analyst-sources today; interfaces drift, so each entry gives the durable menu path as well as the URL (all URLs as of mid-2026, verify).

#### 4.3.1 screener.in: the Indian analyst's home page

URL: https://www.screener.in. Free registration unlocks watchlists and exports; the paid tier adds more saved screens and columns (limits change; verify).

Walkthrough: read a company page. Search "TCS" → you land on https://www.screener.in/company/TCS/consolidated/. Note the URL's last segment: consolidated (whole group, subsidiaries included) vs standalone (parent entity alone), and the toggle sits atop the page. Default to consolidated; Phase 1 treats the distinction fully. Walk the page top to bottom:

  1. Summary strip: market cap, current price, 52-week high/low, stock P/E, book value, dividend yield, ROCE, ROE, face value.
  2. Pros / Cons: auto-generated from ratios, zero context. Machine output, never analysis.
  3. Peer comparison: the company beside its sector, with medians, your first cross-sectional glance.
  4. Quarterly results: the last ~12 quarters of sales, expenses, OPM, PAT. Where trend breaks show first.
  5. Profit & loss (annual): ~10–12 years on one screen, with compounded-growth mini-tables (sales/profit CAGR over 10/5/3 years/TTM) beneath. This block is why the Phase-8 teardown starts here.
  6. Balance sheet / Cash flows: same annual sweep.
  7. Ratios: efficiency days (debtor days, inventory days), ROCE trend.
  8. Shareholding pattern: promoter %, FII/DII and public, quarterly. Promoter stake and pledging are India-critical governance signals you'll use from Phase 2 onward.
  9. Documents: annual reports (multiple years), credit-rating reports, and concalls: transcripts, notes, presentations. Your transcript source for Indian companies.

Build your watchlist (do it now): on any company page, click "Add to watchlist" (requires login). Add the ten Indian starter-bank names from the master map: Asian Paints, Pidilite, DMart, TCS, Titan, ITC, HDFC Bank, Bajaj Finance, Divi's Labs, InterGlobe Aviation. Screener emails you when they announce results, your first automated information flow.

Query screens: the "Screens" tab accepts queries with AND/OR, e.g. Market Capitalization > 5000 AND Return on capital employed > 20 AND Debt to equity < 0.5 (market cap in ₹ crore); "Show all ratios" lists every variable. Screens generate candidates, never conclusions.

Also worth knowing: Trendlyne (alerts/analyst data) and Tijori (business-mix breakdowns) are freemium, and nothing in the program requires them.

#### 4.3.2 NSE & BSE: the primary record for India

Under SEBI's LODR regulations, listed Indian companies file results, annual reports, and material announcements with the exchanges, making the exchange websites the legal record and the place to verify anything an aggregator shows.

NSE (https://www.nseindia.com): search a symbol (e.g., TITAN) in the top search bar → the quote page (/get-quotes/equity?symbol=TITAN) carries tabs for corporate information: announcements, financial results, shareholding, annual reports. For all-company sweeps use the menu: Market Data / Companies Listing → Corporate Filings → Announcements or Annual Reports (/companies-listing/corporate-filings-annual-reports).

BSE (https://www.bseindia.com): search the company in the "Get Quote" box → the company page (note the six-digit scrip code, e.g. 500325 for Reliance Industries) → left menu Corp Information → Annual Reports / Announcements / Shareholding. All-company archive: Corporates → Corporate Filings → Announcements (/corporates/ann.html). BSE's annual-report archive is the deepest free one for India, with many companies back into the 1990s, which matters when Phase 8 has you reading ten years of reports oldest-first.

Results season floods the announcement pages, so filter by company and category ("Result," "Investor Presentation"), and download the actual PDF. For unlisted companies (a promoter's private entity, say), the record lives at MCA (https://www.mca.gov.in → "View Public Documents," small fee) is relevant to governance work in Phases 2 and 8.

#### 4.3.3 SEC EDGAR: every US filing since the 1990s, free

URL: https://www.sec.gov/edgar. No login, no fee, and the primary record for all US-listed companies.

Walkthrough: find Apple's latest 10-K in under three minutes:

  1. Go to https://www.sec.gov/edgar/search/, or click "Company Filings" from sec.gov.
  2. Type "Apple" or the ticker AAPL in the company box; the autocomplete resolves to Apple Inc, CIK 0000320193 (the CIK is EDGAR's permanent company ID, since tickers change and CIKs don't).
  3. On the company's filing page, filter: tick "Annual & quarterly reports" or type 10-K in the form-type box.
  4. Open the newest 10-K: you land on the filing index page (a filing is a bundle of documents); click the primary document (e.g., aapl-20240928.htm). The bundle also holds exhibits and XBRL data files.
  5. Save it into your filings folder (4.4.4). Time yourself; under three minutes is the bar.

The form-type glossary you need this week (one line each; the guided read and Phase 1 go deep): 10-K annual report · 10-Q quarterly · 8-K material events between reports · DEF 14A the proxy statement (pay, board, governance) · 20-F the annual report of foreign private issuers (Infosys's US listing files this).

Full-text search, EDGAR's superpower. the same page (https://www.sec.gov/edgar/search/) searches the text inside filings from 2001 to the present. Exact phrases go in quotes, as in "material weakness", and then you filter by form type (10-K), date range, or company. Three uses: (a) one company, and every "going concern" mention across a decade; (b) across companies, to see who else writes "take-or-pay"; (c) the Phase-8 Ctrl-F list ("related party", "restated", "pledge") at archive scale. EDGAR also serves a company-facts API and quarterly Financial Statement Data Sets (XBRL extracts) are how the program's app builds its real-company snapshots from these; know they exist.

#### 4.3.4 stockanalysis.com & TIKR: the fast ten-year view

For US companies, stockanalysis.com (https://stockanalysis.com) is the quickest free long-history view: https://stockanalysis.com/stocks/COST/financials/ gives Costco's income statement with roughly a decade visible free (toggle to balance sheet, cash flow, and ratios; paid unlocks ~30 years and exports; free-tier limits change, so verify). Clean, fast, no login. International coverage exists via /quote/ URLs but is thinner; for India, screener.in remains your tool.

TIKR (https://app.tikr.com, free signup) covers global markets including India on one interface, covering financials, estimates and transcripts, with the free tier delayed and feature-limited (limits change; verify). Its value to you: one consistent layout across an Indian and a US company side by side, which you will exploit from Phase 2's benchmarking onward. Koyfin (https://www.koyfin.com) is a similar freemium terminal, strongest on charts and macro dashboards.

Position all three correctly: they are speed. The 1–2 hour teardown uses them to see ten years in one glance. The numbers you publish still reconcile to filings.

#### 4.3.5 Damodaran's data library: free industry benchmarks

URL: https://pages.stern.nyu.edu/~adamodar/Data → Current Data (page datacurrent.html). Aswath Damodaran (NYU) publishes, free, the industry-benchmark tables analysts elsewhere pay terminals for: margins, ROE/ROIC, betas, costs of capital, debt ratios, working-capital norms by sector, and equity risk premiums by country, for the US, Europe and emerging markets (India in the EM and global cuts), and globally. Updated each January; the archive keeps prior years.

Concrete use: Phase 2 computes a company's operating margin and asks "against what?", Damodaran's sector table is the against-what. Navigation: on Current Data, open the table (e.g., "Margins by Sector (US)"), find the industry row, and note the sample size ("number of firms") before trusting any average. Do one pull now for the mini-project. Whenever a module cites an ERP or sector margin, the standing instruction is: pull the live number here; never freeze one.

#### 4.3.6 Macro: RBI and FRED

You'll build a full macro dashboard in Phase 7; today you install the two taps it drinks from.

RBI (https://www.rbi.org.in): the homepage's Current Rates panel shows the repo rate, SDF/MSF rates, and CRR/SLR. Whenever this program says "check the policy rate," this is where. The Database on Indian Economy (DBIE) portal at https://data.rbi.org.in serves downloadable time series: CPI, money supply, bank credit growth, FX reserves, exchange rates. Two publications to know by name: the Weekly Statistical Supplement and the annual Handbook of Statistics on the Indian Economy. (For GDP/CPI at the statistical source, MOSPI is at https://www.mospi.gov.in; Phase 7 walks it.)

FRED (https://fred.stlouisfed.org, St. Louis Fed): the world's friendliest macro database, with 800k+ series, each with a chart, permanent series ID, and CSV download. Search naturally or go direct with IDs worth memorizing: DGS10 (10-yr Treasury yield), FEDFUNDS (Fed policy rate), CPIAUCSL (US CPI), UNRATE (unemployment), T10Y2Y (10y–2y curve spread, the recession-signal series). FRED mirrors many international series, including Indian CPI and GDP from IMF/OECD sources, though RBI/MOSPI remain the primary Indian record.

#### 4.3.7 Earnings calls and presentations

Transcripts are Phase 8 fuel; know the taps now. India: screener.in's Documents block, the exchanges' announcement pages (transcripts are mandatory LODR filings), and company investor-relations pages. US: company IR pages, plus The Motley Fool's free transcript library (https://www.fool.com/earnings-call-transcripts/); Seeking Alpha's deep archive sits behind a partial paywall. File transcripts you use into the company's filings folder like any other document.

#### 4.3.8 The routing table

You need…Go toPath/URL
Indian company, 10-yr numbers fastscreener.in/company/<TICKER>/consolidated/
Indian annual report (recent)screener.in Documents, or NSE/BSEcompany page → Annual Reports
Indian annual report (old, pre-2010)BSE archiveCorporates → Corporate Filings → Annual Reports
Indian announcement/result/transcriptNSE or BSECorporate Filings → Announcements
Unlisted Indian company recordsMCAmca.gov.in → View Public Documents
US 10-K/10-Q/8-K/proxySEC EDGARsec.gov/edgar/search → company → form filter
Phrase search across US filingsEDGAR full-text searchsec.gov/edgar/search (2001–present)
US company, 10-yr numbers faststockanalysis.com/stocks/<TICKER>/financials/
India + US on one interfaceTIKR (free tier)app.tikr.com
Industry benchmarks (margins, betas, ERP)Damodaranpages.stern.nyu.edu/~adamodar → Data (January refresh)
India policy rate / macro seriesRBI / DBIErbi.org.in (Current Rates) · data.rbi.org.in
US/global macro seriesFREDfred.stlouisfed.org (DGS10, CPIAUCSL, …)

4.4 The knowledge system: installed today, fed forever

#### 4.4.1 Why notes beat memory

The uncomfortable arithmetic of this program: over 80 weeks you will study ~76 companies, work hundreds of problems, and read a dozen serious books. Two years after any module, your unaided memory of it will be a smudge. The analysts who compound, the Mungers with their latticework and the fund managers with twenty years of company files, are not the ones with better memory; they externalized their thinking into a system that accumulates, so every new company read collides with every old one. Sönke Ahrens' How to Take Smart Notes (the Zettelkasten method, built on sociologist Niklas Luhmann's 90,000-card slip-box) supplies the design; your job today is a 90-minute installation.

Design principles, non-negotiable: plain text (markdown files, readable in 2056, no lock-in, searchable); atomic (one idea per note); your own words (transcription is not understanding, and writing-as-if-explaining is the test); linked (a note's value is its connections; links surface cross-domain patterns folders hide); fed by every module (each module's final section prompts notes; the system dies only if you stop feeding it).

Tooling: Obsidian (https://obsidian.md, free for personal use) is the recommended editor, since it renders [[wikilinks]] and draws the link graph, but the system is deliberately tool-agnostic: any text editor over a folder of .md files works. The folder is the system. Backup rule: two copies minimum, a live folder on cloud sync plus a monthly zip elsewhere. Losing this folder in year 3 would be the most expensive accident available to you.

#### 4.4.2 The three note types and the workflow

Ahrens distinguishes: fleeting notes, anything captured in the moment ("why does HUL spend 9% on ads?") into the inbox, processed within 48 hours, then deleted; literature notes, brief in-your-own-words summaries of what a source said, kept with the reference; and permanent notes, the product: one distilled idea, written as a standalone claim, linked into the web. Daily flow, ten minutes at day's end: empty the inbox, write 1–3 permanent notes, link them. Not twenty notes a day. Two good ones. Luhmann averaged six.

#### 4.4.3 What "atomic" looks like

Take this passage, from the orientation teaching: "Value is created only when a company earns returns on invested capital above its cost of capital and can reinvest at that spread; growth without the spread destroys value." A bad note copies the sentence. A good permanent note is titled with the claim, argues it in your words, attaches a number, and links out:

```markdown # Growth only creates value when ROIC beats the cost of capital ID: 202607141020 · Tags: #valuation #roic #five-questions

A company that reinvests at returns below what its capital costs is running a machine that turns ₹1 into 90 paise — faster growth just runs the machine harder. Growth is an amplifier, not a virtue: it amplifies the spread between ROIC and WACC, whichever sign it has. So the second of the five questions ("is this a good business?") is really: is there a spread, and how long can it last?

Example to self: a firm earning 8% on new projects when its capital costs 12% loses 4 paise per rupee reinvested — growing at 30% makes that worse, not better.

Source: M0.01 §the-five-questions Links: [[202607141025-wacc-is-an-opportunity-cost]] · [[202607141030-the-five-questions]] ```

Title = a full-sentence claim (searchable, argues something). ID = timestamp (stable even if you rename). Body = your words + one concrete number. Links = at least one. That's the atom. Thirty of these, honestly linked, will outperform three hundred pages of highlights, because highlights are the collector's fallacy, the feeling of acquisition standing in for the work of understanding.

#### 4.4.4 The folder tree: create it now

`` analyst-brain/ ├── 00-inbox/ # fleeting notes; emptied within 48h ├── 10-notes/ # permanent atomic notes (the Zettelkasten) ├── 20-companies/ # one markdown file per company, forever ├── 25-filings/ # downloaded ARs/10-Ks/transcripts, one subfolder per company ├── 30-sectors/ # sector playbook notes (filled from Phase 5) ├── 40-checklist/ # master-checklist.md + mistakes-log.md ├── 50-journal/ # decision journal; one file per entry └── 90-templates/ # the four blank templates below ``

Naming conventions, and every file in the tree is plain markdown carrying the .md extension: permanent notes 10-notes/YYYYMMDDhhmm-short-slug (e.g., 202607141020-growth-needs-roic-above-wacc); company files 20-companies/titan; journal entries 50-journal/2026-07-14-hul-volume-prediction. Lowercase, hyphens, no spaces. Resist the urge to add folders. In a Zettelkasten, links do the organizing; folders are just parking. If you're debating taxonomy for more than five minutes, you're procrastinating with extra steps.

#### 4.4.5 Template 1: the permanent note

Save as 90-templates/permanent-note:

```markdown # <The claim, as a full sentence> ID: <YYYYMMDDhhmm> · Tags: #<topic> #<topic>

<The idea in your own words. 3–10 sentences. Write it as if explaining to a colleague who missed the class.>

<One concrete number, example, or company that makes it real.>

Source: <module/book/filing, section or page> Links: [[<related-note>]] · [[<related-note>]] ```

#### 4.4.6 Template 2: the company file

One page per company you ever touch, cumulative for life. At week 3 you can honestly fill only the snapshot and open questions; the rest fills as the program teaches you to see. Save as 90-templates/company-file:

```markdown # <Company Name> Tickers: NSE <___> / BSE <___> or NYSE/Nasdaq <___> · CIK/scrip: <___> Filings: <link to screener page / EDGAR company page> First studied: <date> · File status: <skeleton / working / deep-dived>

## What it does (one sentence) <Plain words. If you can't write this, stop and find out.>

## Business model & revenue engine [fills from Phase 4] <How ₹1/$1 of revenue is earned and what it costs to earn it.>

## Key numbers (update each pass) [fills from Phases 1–2]

FYRevenueOPM %PATROCE/ROIC %CFOFCFNet debt

Source + date for every figure: <filing, page>

## Moat hypothesis & evidence [fills from Phase 4] ## Top 3 risks [fills from Phase 2 on] ## People: management / promoter / incentives [Phases 2, 8] ## Valuation notes: what is the price implying? [Phase 3 on] ## Open questions

  • <the things you cannot yet answer — the most valuable section>

## Log (append-only)

  • <date>: <what you did/learned in one line>

```

#### 4.4.7 Template 3: the checklist seed

Your investment checklist has one governing rule, taken from aviation via Atul Gawande and from investors Mohnish Pabrai and Guy Spier, who built theirs by autopsying other investors' documented losses: an item earns its place only by pointing at a real mistake, either yours or a documented disaster. A checklist of borrowed platitudes ("buy good companies!") checks nothing. Save as 40-checklist/master-checklist; the program seeds it with six items whose source-mistakes you will meet properly in Phase 2's forensic case files:

```markdown # Master checklist (grows ONLY from logged mistakes) Rule: every item carries (a) the failure it guards against, (b) the date added. Review quarterly; merge, never delete.

  • [ ] Can I explain how this company makes money in two plain sentences? — guards: complexity hiding rot (Enron). added 2026-07
  • [ ] Did operating cash flow track reported profit over 5 years? — guards: paper profits (Satyam; Manpasand). added 2026-07
  • [ ] Are receivables or inventory growing much faster than sales? — guards: channel stuffing / fake sales. added 2026-07
  • [ ] What % of promoter holding is pledged (India)? — guards: forced-sale spirals (Zee, CG Power). added 2026-07
  • [ ] Did I read the auditor's opinion — and check for auditor resignation? — guards: the auditor knew (Satyam; Manpasand; IL&FS group). added 2026-07
  • [ ] Are there material related-party transactions? — guards: value tunneled out of minority shareholders' reach (IL&FS, DHFL). added 2026-07

```

Companion file 40-checklist/mistakes-log: every graded miss in this program (a failed gate, a wrong practice answer that reveals a pattern, later a bad journaled call) gets one line: date, what happened, root cause, and either the checklist item it spawned or "no rule yet." The checklist is the distillate; the log is the mash.

#### 4.4.8 Template 4: the decision journal

The journal exists because memory is a revisionist: after outcomes arrive, your brain quietly rewrites what you believed and why (hindsight bias), which destroys the only data that can calibrate you. The defense is mechanical: write the entry before the outcome, include a falsifiable prediction with a confidence percentage, set a review date, and never edit, only append. Fields are fixed program-wide (the app's journal uses the same schema). Save as 90-templates/journal-entry:

```markdown # Decision: <one line> Date: <YYYY-MM-DD>

Decision. <What exactly you are deciding/predicting — one falsifiable sentence.>

Thesis. <WHY — three sentences maximum. If it takes more, you don't understand it yet.>

Disconfirming evidence. <The strongest CURRENT facts against you — sought honestly, stated fairly.>

Base rate. <The outside view: how often does this kind of thing work out, for the reference class — not for you specially?>

Confidence: <NN>% <that the decision proves right by the review date, as defined in "Decision.">

What would change my mind. <Specific, observable triggers — "if X falls below Y" — decided NOW, while you are sane.>

Review date: <YYYY-MM-DD>


## Review (append-only; add at review date) Outcome: <what happened> Process score (0–2): <did I follow my own process?> Calibration note: <was NN% honest?> Lesson → mistakes-log / checklist: <link or "none"> ```

Two of the fields deserve unpacking, because they are the module's only genuinely new concepts:

Base rate, the outside view. Before asking "will this work?", ask "how often does this kind of thing work?" Predict that a mid-cap will compound earnings 25% a year for a decade and the inside view (its story) may feel compelling, but the reference class ("what fraction of all listed companies ever sustained that?") is brutally thin, low single digits. Starting from the base rate and adjusting beats starting from the story every time humans have checked (Kahneman's planning-fallacy work; Mauboussin's Base Rate Book, a Phase 6 companion). At week 3 your base rates will be rough guesses. Write them anyway, because the habit is the point.

Confidence % and calibration. "Fairly sure" is unfalsifiable; "70%" is a claim you can score. A calibrated judge is right about 70% of the times they say 70%. Your first ten entries (and later the app's calibration dashboard) will show whether your 80%s are really 55%s, a humbling discovery worth more than any single correct call. For now the journal fills with process decisions and study predictions, and not trades. That is by design: the instrument gets calibrated on cheap decisions before it prices expensive ones (worked entry in Worked example 3).

4.5 AI as tool, not crutch

This program works with zero AI, since every explanation is written out, every problem solved, every source primary and public. That is a feature: your value as an analyst is precisely the judgment that survives when the convenience layer goes away. The standing policy for every module after this one:

Three sanctioned uses. (1) Accelerator for work you've already done by hand at least once: formatting a table, drafting prose you will rewrite, recalling function syntax. (2) Sparring partner: "attack this thesis," "what am I missing?", where the output is questions you then investigate yourself. (3) Drill generator: extra practice problems, which you solve and verify independently.

Three absolute bans. (1) Never a source of record. No number enters your model, memo, or notes from an AI. Language models generate plausible figures. Ask for a company's FY24 revenue and you may get a confident wrong number, or the right number on the wrong fiscal-year basis, or standalone when you needed consolidated. The failure mode isn't lying; it's fluent approximation, which is worse, because it reads exactly like knowledge. Every number: from the filing, which you opened. (2) Never your memory. The knowledge system is your memory; outsource recall and the latticework never forms, and the latticework is the analyst. (3) Never your reps. Working agreement 2: every core skill is performed by hand before automation touches it. An AI-drafted DCF you lightly edited teaches you approximately nothing, and Phase 8's timed, closed-book certification will collect the debt.

The dependency test, applied honestly once a quarter: if every AI vanished tomorrow, would your workflow degrade in speed only, or in capability? Speed-only is the acceptable answer. When you do use AI within policy, note it ("summary draft: AI, verified against 10-K pp. 34–41"), which is the same traceability you demand of every number.

4.6 The toolkit completion checklist (this is the gate)

The gate for the week is this checklist at 100%, plus five permanent notes, plus the mastery check. Print it; check boxes only when literally true:

  • [ ] Spreadsheet chosen and configured (Indian number format tested; blue-input convention set)
  • [ ] Build-along 1 complete: compounding table + check column ties to (1+r)^n + sensitivity grid from one mixed-ref formula
  • [ ] Build-along 2 complete: HUL common-size statement, all percentages correct
  • [ ] No-mouse hour done (table rebuilt keyboard-only); ten shortcuts performed cold
  • [ ] screener.in account live; ten-company starter watchlist created; one query screen saved
  • [ ] Can pull an annual report from BSE or NSE unaided (done at least once)
  • [ ] Found a 10-K on EDGAR in under 3 minutes; ran one full-text search with a form-type filter
  • [ ] stockanalysis.com and TIKR opened; ten-year view located for one US company
  • [ ] One Damodaran industry table pulled; noted sample size and January cadence
  • [ ] RBI Current Rates panel and one FRED series (with series ID) located and downloaded
  • [ ] analyst-brain/ folder tree created; all four templates saved in 90-templates/
  • [ ] Five permanent notes written (three from the mini-project + two from the practice set), each atomic, own-words, linked
  • [ ] Company files opened for one Indian + one US company (snapshot + open questions filled)
  • [ ] Checklist seeded (six program items + at least one of your own); mistakes-log created
  • [ ] One decision-journal entry written, all eight fields, review date on the calendar
  • [ ] Backup running: cloud sync + a dated zip archived somewhere else

Common mistakes & how experts think differently

1. Hardcoding assumptions inside formulas. =B7*1.12 works today and lies tomorrow. The 12% is invisible, unupdateable, unauditable. Experts treat every constant inside a formula as a defect. The reflex: if a number can change, it gets a labeled input cell, in blue, in the input block, once.

2. Trusting the lookup defaults. VLOOKUP without FALSE, MATCH without ,0: both silently return approximate matches, which on unsorted data means confidently wrong numbers flowing downstream unflagged. Experts write exact-match arguments every time, and prefer XLOOKUP/INDEX-MATCH partly because their defaults are safe.

3. Formatting first, structure later. Beginners spend an hour on borders and colors around a broken layout. Experts build structure (inputs/calcs/outputs, time across, items down, check cells), then format for five minutes. A plain sheet that traces beats a beautiful sheet that doesn't.

4. Treating aggregator numbers as the record. screener.in and stockanalysis.com standardize: line items reclassified, other income repositioned, "adjusted" figures without their footnotes. The novice pastes; the expert reconciles against the filing before any number matters. When they disagree, the filing wins, always.

5. The collector's fallacy. Hoarding PDFs, highlights, and bookmarks feels like progress and produces nothing retrievable. The expert's test of "did I learn it?": can I write the idea from memory, in my own words, and connect it to something I know? That is exactly a permanent note, which is why the gate counts notes rather than highlights.

6. Folder-perfectionism and system-tinkering. Redesigning taxonomies, trialing a fourth note app: procrastination wearing a productivity costume. Luhmann used paper slips in wooden boxes. The system above is deliberately boring; experts pour creativity into the contents of notes, not their container.

7. Journal entries written after the verdict, or too vague to be wrong. "IT looks good, confidence high" cannot be scored, and an entry written after results is hindsight cosplay. Experts write falsifiable predictions with percentages and review dates before outcomes, then let the record embarrass them into calibration. The never-edit rule exists because the urge to "clarify what I really meant" is universal.

8. Copying someone else's checklist wholesale. A 60-item borrowed checklist gets skimmed, not used; items carrying no scar tissue carry no attention. Experts keep checklists short, personal, and mistake-derived, with every line a tombstone that has a name on it.

9. Using AI to skip the reps. The subtle version: "I'll have it draft the summary and just review." Review-reading builds a tenth of the understanding that writing does, and none of the retrieval strength. Experts automate what they have mastered, never what they are still learning.


Worked examples

Worked example 1: common-size x-ray of Apple (US)

Figures illustrative, modeled on ~FY24 scale (actual FY24 revenue ≈ $391bn); pull the real 10-K via the EDGAR walkthrough. All in $bn; every percentage computed as line ÷ revenue.

Line$bnComputation% of revenue
Revenue390390/390100.0%
Cost of sales210210/39053.8%
Gross profit180180/39046.2%
R&D3131/3907.9%
SG&A2626/3906.7%
Operating income (EBIT)123123/39031.5%
Tax (and net other items)2929/3907.4%
Net income9494/39024.1%

Reading it: Apple keeps 46 cents of every revenue dollar after building the device (gross margin), spends under 8 on R&D and under 7 on everything else corporate, and lands 31.5 cents of operating profit, roughly ten times the net margin of a typical grocer. Now set it beside build-along 2: HUL's structure (23% EBITDA, 16.5% PAT) and Apple's (31.5% EBIT, 24.1% NI) are different shapes of excellent, one built on advertising-fed brands and distribution, one on a hardware-software ecosystem. Same x-ray, two economics. Phase 2 teaches you to judge these; today you can produce them, which is the prerequisite.

Worked example 2: lookups and flags on the demo watchlist (India)

Using the 4.2.4 table (A1:D7). Three tasks, fully traced:

(a) Pull Pidilite's D/E with INDEX-MATCH. =INDEX($D$2:$D$7, MATCH("Pidilite", $A$2:$A$7, 0)) MATCH scans A2:A7 for "Pidilite" with exact match → position 5. INDEX returns the 5th value of D2:D7 → 0.1. ✓

(b) Same, with XLOOKUP, protected. =XLOOKUP("Pidilite", $A$2:$A$7, $D$2:$D$7, "not on list")0.1; misspell the name and you get "not on list" instead of #N/A, since the if-not-found argument is your built-in IFERROR.

(c) Quality flag column. In E2: =IF(AND(C2>=20, D2<=0.5), "Pass", "Check"), filled to E7:

CompanyROCE %D/EFlagWhy
TCS640.0Passboth tests clear
Asian Paints310.1Passboth clear
ITC370.0Passboth clear
Titan250.7CheckROCE fine; D/E 0.7 > 0.5
Pidilite300.1Passboth clear
Avenue Supermarts190.0CheckD/E fine; ROCE 19 < 20

Count the passes: =COUNTIF(E2:E7,"Pass")4. And note what the flags actually are: not verdicts but questions. "Check" on Titan means "go find out what that leverage is" (gold-on-lease, it turns out), which is a fact you'd only learn in the filing. The spreadsheet sorts; the analyst inquires.

Worked example 3: a complete decision-journal entry (week-3 grade)

A real entry appropriate to where you are: a study prediction, cheap to be wrong about, perfect for calibration:

Decision: Predict HUL's FY25 disclosures before reading them. Date: 2026-07-14 Decision. Before opening HUL's FY25 annual report (scheduled read: 2026-07-18), I predict: (a) underlying volume growth for the year was between 2% and 6%, and (b) advertising & promotion spend was at least 8.5% of revenue. Thesis. Large Indian FMCG rarely escapes low-to-mid single-digit volume growth in a soft rural-demand year; HUL's scale makes double digits implausible. And HUL has historically defended brand spend even in weak years, because cutting A&P is margin-borrowing from the future. Disconfirming evidence. Recent-quarter commentary flagged weak mass-segment demand, so volumes could undershoot 2%. Competitive pressure from D2C brands might have forced A&P above my range while margin pressure argued below it; my (b) could be right for wrong reasons. Base rate. Of the last ~10 years of large-cap Indian FMCG annual volume prints I've seen referenced, the large majority sat between roughly 0% and 7%; double-digit years are rare and usually post-shock rebounds. Confidence: 70% that both (a) and (b) hold. What would change my mind. If the AR shows a demerger/portfolio reshuffle that redefines "volume growth," the prediction is void rather than wrong, so journal the definitional lesson instead. Review date: 2026-07-18 (after the guided annual-report read).

Note the machinery working: falsifiable numbers, a stated reference class, honest counter-evidence, a percentage that can be scored, and a pre-committed review date that happens to be your next module. This is the habit at miniature scale; by Phase 9 the same eight fields will carry position-sized decisions.

Worked example 4: the all-in cost of one trade (India)

You buy 200 shares of Bharat Ispat (synthetic) at ₹1,500 and, some weeks later, sell all 200 at ₹1,575, a clean ₹15,000 (5%) gross gain. Your discount broker charges zero brokerage on equity delivery. So the trade was free? Build the contract note and see. All rates below are illustrative, mid-2026; SEBI, the exchanges, and the GST Council revise them; verify against your broker's tariff sheet and the current circulars. The arithmetic, given these rates, is exact.

The illustrative delivery rate card. STT 0.10% on the buy and on the sell; NSE transaction charge 0.00297% each side; SEBI turnover fee ₹10 per crore (0.0001%) each side; stamp duty 0.015% on the buy side only; a depository (DP) charge of ₹13.50 per scrip on the sell; GST 18% on (brokerage + transaction + SEBI + DP); brokerage ₹0.

ChargeBuy (₹3,00,000)Sell (₹3,15,000)Basis
Brokerage0.000.00discount broker, delivery
STT300.00315.000.10% each side
Exchange txn8.919.360.00297% each side
SEBI fee0.300.32₹10/crore each side
Stamp duty45.000.015%, buy side only
DP charge13.50flat, sell side only
GST (18%)1.664.17on brokerage + txn + SEBI + DP
Side total355.87342.34line items rounded to the paisa

All-in cost = 355.87 + 342.34 = ₹698.21.

Read it like an analyst. Three facts jump out. (1) "Zero brokerage" is not "zero cost": ₹698 of statutory and exchange charges survived the free brokerage, and STT alone (₹615) is 88% of the bill; stamp duty (₹45) and the DP charge (₹13.50) are almost all the rest, while exchange, SEBI, and GST together come to under ₹25. (2) The stack is asymmetric: stamp duty hits only the buy, the DP charge only the sell. (3) Scale it to the decision that matters: ₹698 is 0.23% of the ₹3,00,000 you committed, so the stock must rise about a quarter of a percent before you break even, and the frictions eat 4.7% of your ₹15,000 gain. On a single, patient, delivery round trip that is a rounding error, but run it fifty times a year and you have handed over 11% of your capital to costs before the market has done anything, which is precisely why turnover is a risk, not a virtue (Phase 9). The workflow habit: build this stack once in your analyst-toolkit workbook as an inputs-driven mini-calculator, with rates in blue, one formula per charge and the total isolated. It is the 60-second-audit discipline turned on your own trading.

Worked example 5: what zero-commission trading really costs (US)

A US brokerage advertises $0 commissions. You buy 500 shares of Coastal Foods (synthetic) quoted $79.98 bid / $80.02 ask; you take the ask at $80.02 and later, with the quote unchanged, sell at the bid $79.98. Commission is genuinely $0 both ways. What did the trade cost? Fee rates below are illustrative, mid-2026; the SEC resets its Section 31 fee periodically and FINRA's activity fee changes; verify current values. The arithmetic is exact given these rates.

  • Bid–ask spread, the real toll. You bought at $80.02 and can only sell at $79.98: that 4-cent gap is a cost you pay the market, (80.02 − 79.98) × 500 = $20.00 round-trip.
  • SEC Section 31 fee (sells only, ~$27.80 per $1,000,000 of proceeds): 0.0000278 × (500 × 79.98) = $1.11.
  • FINRA Trading Activity Fee (sells only, ~$0.000166 per share): 0.000166 × 500 = $0.08.
  • Commission: $0 buying + $0 selling.

All-in round-trip cost = 20.00 + 1.11 + 0.08 = $21.19 on a ~$40,000 position, about 0.05%. But look at the composition: the spread is $20.00, roughly 94% of the entire cost; the statutory fees are loose change and the commission really is zero.

Read it beside Worked example 4. Two markets, opposite cost structures, one lesson. In India the visible statutory charges (STT, stamp duty, GST) dominate and brokerage can be zero; in the US the invisible spread dominates and commission is zero. In both, "free" trading is a marketing claim, not an accounting fact, and the spread yawns widest exactly where beginners trade most, in thin, volatile small-caps. For a fund investor the recurring analogue is the expense ratio, quietly compounding against you every year (Phase 9 treats turnover and cost as first-class risks). The analyst's habit is the same in both hemispheres: before any trade, know the all-in cost and what price move merely gets you back to zero.


Practice set

Work every problem before opening its solution (working agreement 3). Problems 1–5 are guided, 6–10 independent, 11–12 timed.

P1 (guided). Reference prediction. Cell D2 contains =B2*C2. (a) You copy it to D7. What formula results? (b) Cell E5 contains =$B$2*C5; you copy it to F5. What results? (c) Cell C10 contains =$B$3*(1+C$9)^$B10; you copy it to D11. What results?

Solution. (a) Both references are relative and the copy moves 5 rows down, 0 columns: =B7*C7. (b) $B$2 is fully locked; C5 moves 1 column right, 0 rows: =$B$2*D5. (c) $B$3 locked → unchanged. C$9: row locked, column free → moves 1 column right → D$9. $B10: column locked, row free → moves 1 row down → $B11. Result: =$B$3*(1+D$9)^$B11, exactly the sensitivity-grid behavior from build-along 1.

P2 (guided). Kill the hardcode. A colleague's sheet computes year-*n* value as =B4*1.12^A7 (B4 = principal, A7 = year). List two concrete failure modes of this formula, then rewrite it properly assuming you add the rate as an input in B2.

Solution. Failures: (i) the 12% is invisible, so an auditor reading outputs can't see the assumption, and "what rate did we use?" requires opening formulas cell by cell; (ii) updating the rate means editing every formula that embeds it, and miss one and the sheet silently mixes 12% and the new rate. (Also legitimate: sensitivity analysis is impossible without restructuring.) Rewrite: put 12% in B2 (blue input), then =$B$4*(1+$B$2)^A7. One change in B2 now updates every dependent cell.

P3 (guided). Table by hand, then by formula. On paper, compute the first three rows of a compounding table: ₹2,00,000 at 10%. Then verify year 3 with the closed form.

Solution. Y1: interest 2,00,000 × 0.10 = ₹20,000 → closing ₹2,20,000. Y2: 2,20,000 × 0.10 = ₹22,000 → ₹2,42,000. Y3: 2,42,000 × 0.10 = ₹24,200 → ₹2,66,200. Closed form: 2,00,000 × 1.10³ = 2,00,000 × 1.331 = ₹2,66,200. ✓ The table and the formula are the same mathematics wearing different clothes, which is why a check column can catch errors in either.

P4. Lookups. Using the demo watchlist (A1:D7 in 4.2.4): (a) write INDEX-MATCH to fetch ITC's ROCE; state what MATCH returns. (b) Write the XLOOKUP equivalent with a not-found guard. (c) Why does =VLOOKUP("ITC",A2:D7,3,FALSE) break if someone inserts a new column between A and C, and why doesn't your (a) break?

Solution. (a) =INDEX($C$2:$C$7, MATCH("ITC", $A$2:$A$7, 0)); MATCH returns 3 (third position); INDEX returns 37. (b) =XLOOKUP("ITC", $A$2:$A$7, $C$2:$C$7, "not found") → 37. (c) VLOOKUP's 3 is a hardcoded column count; inserting a column makes the third column something else. The formula still returns a value, just the wrong one (the worst kind of error). INDEX-MATCH references the ROCE range itself ($C$2:$C$7 shifts to $D$2:$D$7 automatically on insertion), so it keeps pointing at the data.

P5. Conditional aggregation. Same table: (a) formula for how many companies have ROCE ≥ 30, and the answer; (b) formula for the average ROCE of all six, and the answer; (c) formula counting companies that pass both ROCE ≥ 20 and D/E ≤ 0.5 (hint: COUNTIFS), and the answer.

Solution. (a) =COUNTIF(C2:C7,">=30") → TCS 64, Asian Paints 31, ITC 37, Pidilite 30 → 4. (b) =AVERAGE(C2:C7) = 206/6 = 34.33. (c) =COUNTIFS(C2:C7,">=20",D2:D7,"<=0.5") → excludes Titan (D/E 0.7) and DMart (ROCE 19) → 4.

P6. Common-size a synthetic retailer. (Synthetic drill company.) Revenue ₹8,000 cr; COGS ₹6,000; employee costs ₹480; rent ₹320; other opex ₹400; D&A ₹240; interest ₹80; tax ₹120. Build the P&L down to PAT and common-size every line. What single line most defines this business's economics?

Solution. EBITDA = 8,000 − (6,000+480+320+400) = ₹800 (10.0%). EBIT = 800 − 240 = ₹560 (7.0%). PBT = 560 − 80 = ₹480 (6.0%). PAT = 480 − 120 = ₹360 (4.5%). Full common-size: COGS 75.0%, employees 6.0%, rent 4.0%, other 5.0%, EBITDA 10.0%, D&A 3.0%, EBIT 7.0%, interest 1.0%, PBT 6.0%, tax 1.5%, PAT 4.5%. The defining line is COGS at 75%, a thin-gross-margin reseller: it buys at 75 and sells at 100, so tiny moves in purchase terms or pricing swing profit violently (a 2-point gross-margin slip would erase 44% of PAT: 160/360). Compare HUL's 50% materials line: different business, different physics.

P7. Route the request. Name the source (and the path) you'd use for each: (a) an Indian company's FY2008 annual report; (b) every 10-K since 2010 mentioning the exact phrase "vendor financing"; (c) today's repo rate; (d) average operating margin for US apparel companies; (e) ten years of Costco's financials on one screen inside two minutes; (f) the transcript of an Indian company's latest earnings call.

Solution. (a) BSE archive: bseindia.com → Corporates → Corporate Filings → Annual Reports (deepest free Indian AR archive; screener's Documents block rarely reaches that far back). (b) EDGAR full-text search (sec.gov/edgar/search): "vendor financing" in quotes, form type 10-K, date range 2010–present, since FTS covers 2001 onward, so 2010 is inside coverage. (c) RBI homepage, Current Rates panel (rbi.org.in). (d) Damodaran data library: Data → Current Data → Margins by Sector (US) → Apparel row; note the number of firms; January refresh. (e) stockanalysis.com/stocks/COST/financials/, the free ~decade view. (f) screener.in company page → Documents → Concalls (or the NSE/BSE announcements page, since transcripts are mandatory LODR filings; or the company's IR page).

P8. Write the screen. In screener.in query syntax, screen for: market cap above ₹20,000 crore, ROCE above 25%, and debt-to-equity below 0.3. Then state, in one sentence, what a screen's output is and is not.

Solution. Market Capitalization > 20000 AND Return on capital employed > 25 AND Debt to equity < 0.3 (market cap is denominated in ₹ crore on screener; variable names per its "Show all ratios" list). A screen's output is a list of candidates for investigation, companies whose standardized numbers matched three filters on one day. It is not a judgment about quality, honesty, or value, none of which live in three ratios.

P9. Write two permanent notes. From the bootcamp's material, write one atomic note on inflation as compounding in reverse and one on the rule of 72. Full template: claim-title, ID, your own words, one number, source, at least one link. (These two count toward your five-note gate.)

Solution (model answers; yours must be your own words, grade on atomicity, not phrasing). Note 1: # Inflation is compounding running against you, with the body "The same exponential arithmetic that grows an investment shrinks a currency's purchasing power. At 6% inflation, prices double in roughly 12 years (72/6), meaning a rupee held as cash loses half its real value over that span while nominally unchanged. This is why 'safe' cash is only nominally safe, and why every return in this program gets a real-vs-nominal check. Example: ₹1,00,000 under a mattress for 24 years at 6% inflation buys what ≈ ₹25,000 buys today (two halvings)." Source: the numeracy bootcamp. Links: [[rule-of-72]], [[real-vs-nominal-returns]]. Note 2: # The rule of 72 estimates doubling time from a growth rate, with the body "Years to double ≈ 72 ÷ growth rate in percent. It works because ln(2) ≈ 0.693 and 72 is a divisor-friendly stand-in for 69.3 that stays accurate within tolerance across ordinary rates (roughly 4%–15%). At 12%: 72/12 = 6 years/doubling, so 30 years ≈ 5 doublings ≈ 32×, close to the exact 29.96× from build-along 1. Use it to sanity-check any compounding claim in seconds." Source: the numeracy bootcamp. Links: [[inflation-compounds-in-reverse]], [[compound-interest-table]].

P10. Repair the journal entry. A learner writes: "2026-07-14. I think TCS will do well because IT is recovering. Feeling quite confident." List every field missing or defective, then rewrite the entry properly (invent reasonable specifics).

Solution. Defects: no falsifiable decision (what does "do well" mean, by when?); thesis is an assertion without mechanism; no disconfirming evidence; no base rate; "quite confident" is not a confidence %; no what-would-change-my-mind; no review date; and "IT is recovering" is itself unsourced. Rewrite (model): Decision: "Before TCS's next quarterly results (review date: the announcement day), I predict constant-currency revenue growth of 2–5% YoY and attrition below 15%." Thesis: sector commentary and peer prints suggest stabilizing demand; TCS's scale makes extreme prints unlikely. Disconfirming: discretionary spend remains weak per recent peer calls; a large-deal ramp-down could undercut the range. Base rate: over the past ~8 quarters, TCS's CC growth has mostly printed low single digits, so my range brackets the recent distribution rather than assuming acceleration. Confidence: 65%. Change-my-mind: peer results this cycle materially below expectations, or a profit warning. Review: results day, when you score both predictions and log calibration.

P11 (timed, 10 minutes). Sprint build. From a blank sheet: inputs ($10,000 principal; 7% rate), a 10-year compounding table, a check cell against (1+r)^n, and a one-row sensitivity for 5%/7%/9% at year 10. Stop at 10 minutes.

Solution. Layout per build-along 1. Year-10 closing: 10,000 × 1.07¹⁰ = $19,671.51 (table and check cell must agree). Sensitivity row, formula =$B$3*(1+C$8)^10 copied across: 5% → $16,288.95; 7% → $19,671.51; 9% → $23,673.64. If you finished inside 10 minutes with zero hardcodes and a working check cell, log it in the toolkit checklist; if not, run the no-mouse hour again and retry in two days.

P12 (timed, 5 minutes). EDGAR sprint. (a) Find the filing date of Costco's most recent 10-K. (b) Construct (don't run past the results page) a full-text search for the exact phrase "membership fee" restricted to Costco's 10-K filings. (c) One sentence: why might you search a phrase across all companies' filings?

Solution. (a) sec.gov/edgar/search → type "Costco" or COST in the company box → company filing page → filter form type 10-K → the top entry's filing date (Costco's fiscal year ends around end-August, so its 10-Ks file in the autumn, so your answer is whatever the page shows; the skill is the sixty-second retrieval). (b) At sec.gov/edgar/search: query "membership fee" in quotes; company filter "Costco Wholesale Corp"; form type 10-K. (c) Cross-company phrase search reveals which other businesses share an economic feature (membership models, take-or-pay clauses, related-party language) is pattern-hunting across the whole archive, which is exactly how Phase 8's Ctrl-F list scales beyond one document.

P13 (guided). The all-in cost of a delivery trade (₹). Using the illustrative delivery rate card from Worked example 4 (STT 0.10% each side; exchange 0.00297% each side; SEBI ₹10/crore each side; stamp duty 0.015% buy-side only; DP ₹13.50 on the sell; GST 18% on brokerage + exchange + SEBI + DP; brokerage ₹0), you buy 150 shares of Nandan Cements (synthetic) at ₹800 and sell all 150 at ₹840. Compute (a) the all-in cost, and (b) that cost as a percentage of your gross gain.

Solution. Buy value ₹1,20,000; sell value ₹1,26,000; gross gain ₹6,000. Buy side: STT 120.00 + exchange 3.56 + SEBI 0.12 + stamp 18.00 + GST 0.66 = ₹142.35. Sell side: STT 126.00 + exchange 3.74 + SEBI 0.13 + DP 13.50 + GST 3.13 = ₹146.49. (a) All-in ≈ ₹288.84 (paise rounded). (b) 288.84 ÷ 6,000 = 4.8% of the gain, nearly a twentieth of your profit consumed on one round trip, with STT (₹246) again the dominant line. The break-even move is 288.84 ÷ 1,20,000 ≈ 0.24%: the stock must rise about a quarter-percent before you are even. Same structure as Worked example 4 at a smaller size, and the percentages barely move, because the dominant charges are proportional to turnover, not fixed.

P14 (guided). The review-load arithmetic of spaced repetition. Your knowledge system's daily loop schedules each new flashcard for review at 1, 3, 7, 14, and 30 days after you first learn it (five reviews, after which the card is "mature" and leaves this window). Suppose you add 10 new cards every day and have done so long enough to reach steady state. (a) How many review cards come due on a typical day, and how many total cards (reviews + new) do you face? (b) At about 8 seconds per card, how long is the daily loop? (c) What does this predict about the danger of skipping days?

Solution. (a) On any steady-state day, the cards due are those learned 1, 3, 7, 14, and 30 days ago, so five cohorts of 10 = 50 reviews, plus the 10 new cards = 60 cards/day. Notice the load is bounded: spaced repetition does not grow without limit, because each card graduates after five reviews (unlike re-reading everything, which grows forever). (b) 60 × 8 s = 480 s = 8 minutes, comfortably inside the ~30-minute daily budget the knowledge system assumes. (c) Skipping is the failure mode: miss three days and ~180 cards avalanche into one session, the loop blows past its budget, you abandon it, and the whole system dies, which is exactly why protecting the loop ranks the daily loop above almost everything. Little-and-often beats a heroic weekend.

P15. Route the request. Name the source (and the path) you would use for each, and flag whether it is a primary source or an aggregator: (a) the STT rate currently in force on equity delivery; (b) Costco's latest 10-K; (c) an Indian company's investor presentation from last quarter; (d) the average operating margin of US retail companies; (e) today's RBI repo rate; (f) a US company's latest earnings-call transcript, for free.

Solution. (a) The statute / exchange, not an aggregator: STT is fixed by law, and your broker's tariff sheet or the exchange circular states the operative rate. It changes, so verify at the source, never from memory. (b) SEC EDGAR (sec.gov/edgar/search → COST → form filter 10-K), which is primary. (c) screener.in Documents, the NSE/BSE announcement pages (Investor Presentation category; mandatory LODR filings and therefore primary), or the company IR page. (d) Damodaran's data library → Data → Current Data → Margins by Sector (US) → Retail row; note the number of firms; January refresh. A curated benchmark, not a filing. (e) RBI homepage, Current Rates panel (rbi.org.in), primary. (f) The company IR page or Motley Fool's free transcript library (Seeking Alpha's archive is partly paywalled). The habit underneath: aggregators for speed, primary filings for anything you cite.

P16. References, a lookup, and a buried rate. (a) Cell C45 contains =$B$3*(1+C$44)^$B45. Copied to E47, what formula results? (b) Using the demo watchlist (A1:D7 in the demo table above), write an XLOOKUP that fetches Avenue Supermarts' ROCE with a not-found guard, and state what it returns. (c) A colleague's trade-cost sheet computes GST in the total row as =0.18*(D5+D6+D7). Name the defect and rewrite it assuming the GST rate lives in input cell $B$1.

Solution. (a) $B$3 is fully locked (unchanged); C$44 has a locked row and free column → shifts two columns to E$44; $B45 has a locked column and free row → shifts two rows to $B47. Result: **=$B$3*(1+E$44)^$B47, the sensitivity-grid behavior from build-along 1. (b) =XLOOKUP("Avenue Supermarts", $A$2:$A$7, $C$2:$C$7, "not found")19. (c) The defect is a hardcoded 0.18 buried in a formula**, invisible to an auditor, and if the GST rate ever changes you must hunt down every cell that embeds it (rule one of the spreadsheet rules). Rewrite: =$B$1*(D5+D6+D7), with 0.18 typed once into blue input cell B1. Now the rate is visible, auditable, and updated in exactly one place.

P17. Which checklist items may be added? A learner proposes three items for the master checklist. Under the module's governing rule, decide whether each qualifies, and why: (a) "Buy only companies with ROCE above 20%." (b) "Did I check the percentage of promoter holding that is pledged?", added after I lost money in 2024 when a pledged-promoter mid-cap collapsed in a forced-sale spiral." (c) "Never invest in a business you don't understand, because Warren Buffett says so." Then state, in one sentence, the rule that decides all three.

Solution. (a) No: a screening platitude, not a mistake. It guards no specific logged failure; if it belongs anywhere it is a screen, which generates candidates, not a checklist item, which guards against a scar. (b) Yes: it points at a real, dated mistake and names the failure it guards against (the forced-sale spiral); this is exactly the form the template requires. (c) No: borrowed authority, not your scar. A checklist of admired quotes gets skimmed, not used; the item carries no attention because it carries no tombstone. The rule: an item earns its place only by pointing at a real mistake, yours or a documented disaster, with the failure named and the date added; review quarterly, merge, never delete.

P18 (timed, 6 minutes, stretch). The zero-commission trap, quantified ($). Using the illustrative US rate card from Worked example 5 (commission $0; bid–ask spread paid round-trip; SEC Section 31 fee ~$27.80 per $1,000,000 of sell proceeds; FINRA activity fee ~$0.000166/share on sells), you buy 1,000 shares of Kestrel Media (synthetic) at the $25.03 ask and later sell at the $24.97 bid. Compute (a) the round-trip spread cost, (b) the SEC fee, (c) the all-in round-trip cost, and (d) the percentage the position must rise just to break even.

Solution. (a) Spread = (25.03 − 24.97) × 1,000 = $60.00. (b) SEC fee = 0.0000278 × (1,000 × 24.97) = 0.0000278 × 24,970 ≈ $0.69. (c) Add the FINRA TAF 0.000166 × 1,000 ≈ $0.17 and $0 commission: all-in ≈ $60.86, of which the spread is 98.6%. (d) Buy principal = 1,000 × 25.03 = $25,030; break-even rise = 60.86 ÷ 25,030 ≈ 0.24%. Scoring: all four correct in six minutes = fluent cost awareness. The trap is answering "$0" to (c) because the broker advertised zero commission. The spread is the cost, and here it is roughly 70× the statutory fees. If you missed it, add "compute all-in cost before trading" to your workflow notes and re-run in two days.


Applied mini-project: install the system, run it once

Task. Stand up the complete toolkit and knowledge system, then push one Indian and one US company through it end to end. Pick Titan (NSE: TITAN) and Costco (Nasdaq: COST), or substitute any pair from the master map's starter bank you haven't used yet.

  1. Workshop. Finish both build-alongs in analyst-toolkit (compounding sheet with check column + sensitivity grid; HUL common-size sheet). Complete the no-mouse hour.
  2. Sources. For Titan: open the screener.in page (consolidated), add to watchlist, download the latest annual report PDF from screener's Documents or BSE/NSE, and save it to 25-filings/titan/. For Costco: retrieve the latest 10-K from EDGAR (time the retrieval; ≤3 minutes), run one full-text search on a phrase of your choice within its filings, and save the document to 25-filings/costco/. Pull one Damodaran table relevant to either (e.g., US retail margins), one FRED series (e.g., DGS10), and note the current repo rate from RBI, logging each source URL and access date.
  3. Knowledge system. Create the analyst-brain/ tree with all four templates. Open 20-companies/titan and costco: fill the snapshot line, tickers, filing links, and at least three open questions each (things you genuinely cannot yet answer, such as "why does Titan carry gold-on-lease debt and what does it cost?"). Seed the master checklist (six program items + ≥1 item from a mistake of your own, from any domain of life, with its story) and create the mistakes-log.
  4. First three permanent notes. From the material so far, write three atomic notes (suggested claims: the five questions; ROIC > WACC as the master test; compounding's exponential shape, but choose your own phrasing and at least one topic yourself). Link them to each other where honest.
  5. One journal entry. All eight fields, about a real current decision or a falsifiable study prediction (Worked example 3 is the pattern, but do not reuse its subject). Put the review date in your actual calendar.
  6. AI-policy statement. Three sentences at the bottom of your toolkit checklist: where (if anywhere) AI touched this project, and how each number remained traceable.

Deliverables: the workbook, the folder tree, two company files, the seeded checklist + log, three notes (+ two from P9 = the five-note gate), one journal entry, the completed toolkit checklist from 4.6.

Rubric (score 0 = missing/wrong, 1 = present with gaps, 2 = meets the bar):

Criterion012
Workbook: both build-alongs correct, check cell ties, zero hardcodes, mixed-ref grid works
Keyboard: no-mouse rebuild done; ten shortcuts demonstrated cold
Source retrievals: all seven pulls done, saved, each with URL + access date logged
Traceability: filing PDFs in 25-filings/, company files link to primary sources
Permanent notes ×3: atomic, claim-titled, own words, ≥1 link each, correctly filed
Company files ×2: snapshot honest, ≥3 genuine open questions each
Checklist + log: 6 seeds present, ≥1 personal mistake-derived item with its story
Journal entry: all 8 fields, falsifiable, % confidence, calendared review date

Pass: ≥13/16, with no criterion at 0. Self-score honestly; log your weakest row in the mistakes-log. That is the system eating its first real meal.


Reading & resources

  • **Sönke Ahrens, How to Take Smart Notes (2nd ed., 2022)**, the Zettelkasten source text; the front half (the three note types and the slip-box workflow) is the required core; the writing-focused back half is skimmable. [Paid] [Beginner]
  • **Tiago Forte, Building a Second Brain (2022)**, the alternative philosophy (PARA method, project-oriented); optional contrast read after Ahrens, not instead. [Paid] [Beginner]
  • **Atul Gawande, The Checklist Manifesto (2009)**, on why simple checklists beat expert improvisation in aviation and surgery; the intellectual basis of your 40-checklist folder. Full treatment returns in Phase 6. [Paid] [Beginner]
  • Zerodha Varsity, Module 3: Fundamental Analysis, at varsity.zerodha.com; chapters on reading an annual report pair perfectly with your new source fluency, and preview M0.05. [Free] [Beginner]
  • ExcelJet (exceljet.net), the cleanest shortcut lists and function write-ups (INDEX-MATCH, XLOOKUP) on the web; keep it bookmarked as your syntax reference. [Free] [Beginner]
  • Corporate Finance Institute / Wall Street Prep free Excel crash courses, signup-gated but free; 2–3 hours of drills that cement 4.2. Either one; don't do both. [Free] [Beginner]
  • Google Sheets function list, at support.google.com/docs → "Google Sheets function list"; the authoritative syntax reference if Sheets is your tool. [Free] [Beginner]
  • SEC, "How to Search EDGAR", at sec.gov/edgar/search-and-access: the official guides to company search and full-text search. Fifteen minutes, permanent capability. [Free] [Beginner]
  • Damodaran's data library, at pages.stern.nyu.edu/~adamodar → Data; also his short "data update" posts each January explaining what changed. [Free] [Beginner→Intermediate]
  • FRED + FRED Help, at fred.stlouisfed.org; the help center's "Getting to Know FRED" tutorials cover series search, graphing, and downloads. [Free] [Beginner]
  • RBI DBIE portal, at data.rbi.org.in; browse the Statistics section once now so Phase 7 isn't your first visit. [Free] [Beginner]
  • Obsidian, at obsidian.md, free for personal use; local markdown, wikilinks, graph view. (Any text editor is acceptable; the folder is the system.) [Free] [Beginner]
  • Anki, at apps.ankiweb.net; free on desktop/Android (iOS app is paid). The program's flashcard decks import here if you prefer it over the app's built-in scheduler. [Free/Paid] [Beginner]
  • **Michael Mauboussin, The Base Rate Book (Credit Suisse, 2016)**, a free PDF and easily searchable; skim the introduction now for what "outside view" means with real distributions; full use comes in Phases 3 and 6. [Free] [Intermediate]
  • Going deeper. Zerodha Varsity, "Markets and Taxation," plus the Zerodha brokerage calculator (zerodha.com/varsity and zerodha.com/brokerage-calculator). The clearest free walk-through of STT, stamp duty, GST, and exchange/SEBI charges on Indian trades, with a live calculator that reproduces Worked example 4's stack; rates change, so treat it as the place to verify the current numbers, not memorize them. [Free] [Beginner]
  • **Going deeper. Peter Brown, Henry Roediger & Mark McDaniel, Make It Stick: The Science of Successful Learning (2014)**. The cognitive-science case for retrieval practice and spacing behind the daily loop: why testing yourself (flashcards) beats re-reading, and why spaced review beats cramming. Pairs with Ahrens as the "why it works" to his "how to file it." [Paid] [Beginner]

The Modern Analyst's Addendum

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

AI-Augment this skill

``ai-augment-json { "skill": "The spreadsheet as a workshop — references, lookups, common-size structure and the check cell; the data-source routing table for India and the US; the plain-text knowledge system with atomic linked notes; the checklist; and the decision journal with a stated confidence and a review date", "use": "§4.5 already sets the policy for the whole program — three sanctioned uses, three absolute bans, and the quarterly dependency test. This callout does not amend it; it makes it operational and adds the one move §4.5 does not name. (1) THE MOVE §4.5 DOES NOT NAME: a syntax and structure assistant for the workshop itself. 'Why does XLOOKUP need a fourth argument and what happens without it?', 'give me the mixed-reference pattern for a two-way sensitivity grid' — these are questions about a TOOL, not about a company, and the tool's behaviour is deterministic, documented and instantly testable in the cell next door. This is the safest AI use in the program precisely because the verification is free. (2) THE SPARRING PARTNER, made specific: paste your own decision-journal entry and ask what would have to be true for the prediction to fail. The output is a list of things to go check, which you then check. (3) THE DRILL GENERATOR, per §4.5: more reference-prediction and lookup problems in the practice set's shape, solved and verified by you. (4) THE GLOSSARY DRAFT: a first pass at a term's definition, which you then REWRITE in your own words, because §4.4.2's whole design rests on the claim that writing-as-if-explaining is the test of understanding — and a pasted definition fails that test whatever its source.", "tools": ["Chat assistants — Claude, ChatGPT — for spreadsheet and notebook syntax, for sparring against a journal entry, and for drill generation", "Your spreadsheet (Excel, LibreOffice Calc or Sheets) and later a notebook — where every formula gets tested in the cell next door", "Obsidian or any plain-markdown editor over the analyst-brain folder — the notes stay yours, in text, and no assistant writes into them", "The routing table's primary sources: screener.in, nseindia.com, bseindia.com, mca.gov.in, sec.gov/edgar, fred.stlouisfed.org, rbi.org.in, pages.stern.nyu.edu"], "prompt": "I am building a two-way sensitivity grid in a spreadsheet: growth rates across row 9 starting at C9, discount rates down column B starting at B10, and the base value in B3. Give me the single formula for C10 — using the correct mixed references — that fills the whole grid when copied right and down, and explain which dollar sign locks which axis and why. Then give me one deliberately broken version of the same formula and tell me what symptom I would see in the grid if I wrote it.", "verify": "§4.5's three bans, restated as things you do rather than things you avoid. NEVER A SOURCE OF RECORD: every number in a model, memo or note traces to a filing you personally opened, and the trace gets written down in the format §4.5 already gives you — 'summary draft: AI, verified against 10-K pp. 34–41'. A note without that line is indistinguishable, six months later, from a note you verified. NEVER YOUR MEMORY: the knowledge system is the memory; if a permanent note is a paste, the latticework §4.4.1 exists to build did not get built. NEVER YOUR REPS: automate what you have already done by hand at least once, which is working agreement 2 and also §4.5's own dependency test. Run that test the way you ran the no-mouse hour in §4.2 — pick one hour a quarter, close every assistant, and rebuild something ordinary. If what degrades is your speed, you are inside policy; if what degrades is your capability, the debt is real and Phase 8's timed closed-book certification is where it gets collected.", "diy": "The gate is unaided and it is the §4.6 checklist. You predict what a mixed reference becomes when copied; you write an exact-match lookup from memory and say why the default is unsafe; you build a common-size statement with a check cell that ties; you reach an Indian annual report from BSE or NSE and a 10-K from EDGAR in under three minutes each; you name which of the routing table's sources holds a given number; and you write a decision-journal entry with all eight fields, a percentage, and a review date. No assistant is in that room." } ``

Modern Data Analysis

By hand first. You built the compounding table with a check column that ties to (1+r)^n, drove a sensitivity grid from one mixed-reference formula, x-rayed a common-size statement, walked EDGAR to a 10-K in under three minutes, pulled a Damodaran table and noted its sample size, and located a FRED series by its id. Keep every one of those. The check cell in particular is the ancestor of every assertion you will ever write in code, and the habit of noticing a sample size before trusting an average is the difference between a benchmark and a rumour.

Today's workflow. The routing table above is correct and it survives one layer down, where it stops being a set of bookmarks and becomes a set of addresses. On the US side, EDGAR's companyfacts endpoint returns every XBRL fact a filer has ever tagged, and each fact arrives carrying the accession number of the filing it came from, the period it covers and the tag it was reported under, which means a figure comes with its own citation attached. That is exactly what the aggregators strip off, and it is exactly what the iron rule of primary sources demands you put back. FRED does the same job for macro through its series ids, which is why you are told to memorise five of them: a series id is a permanent address, and a screenshot is not. On the Indian side there is no free equivalent covering the annual report, and the honest workflow says so rather than pretending symmetry: screener.in and the exchange portals are PDF-and-page views, so the reconcile step there stays a human opening a document. Say that out loud in your notes, because an asymmetry you have named is a workflow and an asymmetry you have not is a silent quality gap between your Indian and US work.

Tools & sources (IN + US). pandas for the tables, requests for the JSON endpoints, matplotlib for the common-size chart, and a plain markdown folder for everything that is prose. India: screener.in company pages and the Documents tab for annual reports, credit-rating reports and concall transcripts, the NSE and BSE corporate-filings archives (BSE's annual-report archive reaches furthest back and is free), quarterly Reg. 31 shareholding-pattern filings, MCA21 at mca.gov.in for unlisted group entities, the RBI's Current Rates panel and the DBIE portal at data.rbi.org.in, MOSPI for CPI and GDP at source, and AMFI for fund flows. US: SEC EDGAR full-text search at efts.sec.gov covering 2001 to the present, the EDGAR companyfacts API and the quarterly Financial Statement Data Sets (the XBRL extracts this program's own app builds its snapshots from), FRED with DGS10, FEDFUNDS, CPIAUCSL, UNRATE and T10Y2Y, Damodaran's Current Data page refreshed each January, and stockanalysis.com for the fast ten-year view that you then reconcile.

```python # A common-size x-ray with the check cell promoted to an assertion — recomputed in-session (R3) lines = {"Revenue":390, "Cost of sales":210, "R&D":31, "SG&A":26, "Tax & net other":29} pct = {k: v/lines["Revenue"] for k, v in lines.items()} ebit = lines["Revenue"] - lines["Cost of sales"] - lines["R&D"] - lines["SG&A"] ni = ebit - lines["Tax & net other"] assert (ebit, ni) == (123, 94) # the check cell, as code — module's WE1 print(f"{pct['Cost of sales']:.1%} {ebit/390:.1%} {ni/390:.1%}") # 53.8% 31.5% 24.1% # the same discipline on the cost stack of one trade (module's WE4/WE5) buy, sell = 200*1500, 200*1575 inr = sum([.0010*buy, .0000297*buy, .000001*buy, .00015*buy]) + .18*(.0000297*buy + .000001*buy) \

  • sum([.0010*sell, .0000297*sell, .000001*sell, 13.50]) + .18*(.0000297*sell + .000001*sell + 13.50)

usd = (80.02-79.98)*500 + .0000278*(500*79.98) + .000166*500 print(f"{inr:.2f} {inr/buy:.4%} | {usd:.2f} {usd/(500*80.02):.4%}") # 698.21 0.2327% | 21.19 0.0530% ```

Verify. Prove it against the module's own arithmetic. Worked example 1: cost of sales 53.8% of revenue, gross margin 46.2%, R&D 7.9%, SG&A 6.7%, EBIT 31.5% and net income 24.1%, with the subtraction chain closing on 123 and 94 exactly. Worked example 2: the exact-match lookup returns 0.1 for Pidilite, and the two-condition flag passes 4 of 6 names. Worked example 4: the Indian delivery round trip costs ₹698.21 all-in, of which ₹615.00, or 88.1%, is STT, amounting to 0.2327% of the capital committed and 4.66% of the ₹15,000 gain, so fifty such round trips a year hand over 11.64% of capital before the market has done anything. Worked example 5: the US round trip costs $21.19, of which the four-cent spread is $20.00, or 94.4%, for 0.0530% of a $40,010 position. Two markets, opposite compositions, one arithmetic. And the discipline the code adds over the spreadsheet: the check cell was something you looked at, and an assertion is something the machine refuses to proceed without.

Quantitative lens

Two questions raised here and answered only qualitatively. Both have exact arithmetic answers, and one of them changes what you should expect from the journal you are about to start.

How much journal does it take before a calibration number means anything? The decision journal asks for a percentage precisely so that it can later be scored, and the answer depends on how badly you are miscalibrated and on how many entries sit in the bin. Take the scenario set out above, in which you write 80% and your true rate is 55%, and test it properly. With ten entries you would reject "well calibrated at 80%" only on five or fewer hits, which happens 49.6% of the time when the truth is 55%: a coin flip. Twenty entries gets you to 74.8%, and 24 entries reaches the conventional 80% power. That is the good news, and it is genuinely good: a gross miscalibration is cheap to detect. The bad news is the gradient. Detecting a claimed 80% that is really 70% needs 137 entries in that bin; really 75% needs 528. Across five confidence bins, holding the ten-point standard, that is roughly 685 entries, or years of a weekly habit. And a single early result carries almost no information at all: eight hits out of ten gives a 95% interval of [49.0%, 94.3%], forty-five points wide, and observing eight or better happens 10.0% of the time even when your true rate is only 55%. Read together, these say something useful and slightly liberating. The first ten entries can catch the fact that you are grossly overconfident, which is the most common and most expensive error, and worth catching, and they can catch nothing finer. So start the journal now, on cheap decisions, exactly as the journal is designed to be used, and hold the expectation that the instrument sharpens over years rather than weeks. The alternative, starting it when the decisions get expensive, means the first calibrated reading arrives long after the first costly mistake.

What does turnover actually cost, once it compounds? The module computes two cost stacks and reads them beautifully as a single trade. Compound them and the reading changes character. Against a 12% gross return over thirty years, the Indian delivery stack at 0.2327% per round trip consumes 6.05% of terminal wealth at one round trip a year, 22.15% at four, and 53.12% at monthly. The US zero-commission stack at 0.0530% consumes 1.41%, 5.52% and 15.70% on the same schedule. The identity is the bootcamp's fee identity with a different input, and it says the same thing: a recurring cost should be quoted as a share of the terminal outcome, never as a share of this year's balance. But the composition matters as much as the size, and here the two markets differ in a way that changes what you can do about it. 88.1% of the Indian bill is STT: statutory, unnegotiable, and the same for a large order as a small one, while 94.4% of the US bill is the bid-ask spread, which the order-book depth walk shows growing convexly with size and shrinking with patience. In India the lever is frequency; in the US it is frequency and size. Both point the same way, which is the conclusion drawn in the AI-and-tools practice: turnover is a risk, not a virtue.

Honest limits, stated because both findings above look more decisive than they are. The calibration arithmetic assumes each prediction is independent of the others and that your true accuracy is a fixed number. Neither holds for a learner: your judgment improves across the sample, which is the entire point of keeping the journal and also what makes a single pooled test the wrong final instrument. The right one segments by period, and segmenting costs you sample size you did not have. The power figures also assume you decide in advance which bin you are testing; going looking for the bin that fails is a different and much weaker exercise. The turnover figures hold both rate cards fixed, when the data-source note says SEBI, the exchanges and the GST Council revise them; they assume the gross return is unaffected by the trading, which is generous to the trader, since the reason most people trade more is that they are chasing something; and they ignore taxes on realised gains, which for a high-turnover Indian portfolio would be a larger line than every charge computed here. Finally, neither finding says anything about whether any particular decision was right. Calibration measures whether your confidence tracks your accuracy; it is silent on whether the accuracy is any good.

Do it in code: promote the check cell to an assertion the routine cannot run without; pull one US figure through the companyfacts endpoint so you see a number arrive with its accession number attached, and notice what the aggregator you were about to trust had removed; log every journal entry as a row with a date, a probability and a resolution field so the calibration query is one line rather than a project; and compute your own turnover drag once, as a share of terminal wealth, before you decide how often to trade. See G1/QM1.01, G2/QD2.04 and G2/CS2.05.

  • Probability, distributions, sampling and estimation (QM1.01). The statistics behind the calibration work: what a proportion's confidence interval is, what power means, and why a small sample can be honest and uninformative at the same time.
  • G2 · QD2.04 Reproducible research, deployment and the quant stack. The knowledge system taken to its professional conclusion: an analysis whose every figure can be regenerated from its sources months later, which is the difference between work that is auditable and work that is merely persuasive.
  • Version control with Git (CS2.02). The analyst-brain/ folder as a versioned repository. The backup rule is two copies; version control is the same instinct with history, so you can see what you believed in week 3 without having preserved a separate copy of it.
  • APIs, HTTP, JSON and web scraping (CS2.05). How EDGAR's companyfacts and FRED's series endpoints actually work, what a permanent address buys you over a screenshot, and where scraping is and is not appropriate against a source that publishes an interface.
  • The AI tool landscape, a living catalog (AI0.02). The tool-evaluation rubric that keeps the policy usable as the tools change: what is it, what is it good and bad at, where does the data go, how do I verify its output, and what does it cost.

Flashcards

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


Mastery check

Closed notes except where a problem says otherwise; spreadsheet allowed only for P-marked numeric items. Pass threshold: ≥85%, meaning at least 11 of 12 items fully correct (numeric answers within ±1% unless stated). Passing Form A (or B on retake), plus the 4.6 toolkit checklist at 100%, plus five filed permanent notes, unlocks the guided annual-report read. Failed attempt → review misses, wait two days, take the other form.

Form A

A1 (MCQ). =C3*D3 sits in E3. Copied to E8, it becomes: (a) =C3*D3 (b) =C8*D8 (c) =$C$3*$D$3 (d) =H3*I3

A2 (MCQ). Which reference keeps the column fixed but lets the row shift when copied? (a) B$4 (b) $B4 (c) $B$4 (d) B4

A3 (numeric, spreadsheet allowed). B1 = 10,000; C2 = 8%; A5 = 20. What does =$B$1*(1+C$2)^$A5 return?

A4 (short). Give two distinct reasons an analyst prefers INDEX-MATCH over VLOOKUP.

A5 (MCQ). EDGAR full-text search covers filings from: (a) 1934 (b) 1993 (c) 2001 (d) 2015, onward.

A6 (MCQ). You need an Indian company's FY2006 annual report. Best first stop: (a) screener.in Documents block (b) the company's Google results (c) BSE Corporates → Corporate Filings → Annual Reports archive (d) TIKR.

A7 (short). Write a screener.in query: market cap over ₹10,000 crore, ROCE above 20%, debt-to-equity below 0.5.

A8 (MCQ). A permanent note, properly done, is: (a) a verbatim highlight filed by book (b) one idea, in your own words, titled as a claim, linked to other notes (c) a daily diary of what you studied (d) a summary of a whole chapter.

A9 (short). List six of the eight decision-journal fields.

A10 (MCQ). Which use of AI violates the module's policy? (a) generating extra practice problems you solve and verify yourself (b) asking it to attack your thesis, then investigating its objections in filings (c) pasting its figure for a company's revenue into your model because it "looked right" (d) having it reformat a table you built.

A11 (numeric). Revenue ₹5,000 cr, EBITDA ₹900 cr. EBITDA as a common-size percentage?

A12 (short). Name the four components of the knowledge system installed this week.

Form A key. A1: (b): both refs relative; copy moves 5 rows down. A2: (b) $B4, since the $ binds the column. A3: 46,609.57, from 10,000 × 1.08²⁰ = 10,000 × 4.660957. A4: any two of these: no hardcoded column count (survives column insertion); can look left of the lookup column; exact-match is explicit/safe rather than a forgettable fourth argument. A5: (c) 2001. A6: (c) the BSE archive, the deepest free Indian AR record; screener's document links rarely reach 2006. A7: Market Capitalization > 10000 AND Return on capital employed > 20 AND Debt to equity < 0.5. A8: (b): atomic, own words, claim-titled, linked. A9: any six of: date, decision, thesis, disconfirming evidence, base rate, confidence %, what-would-change-my-mind, review date. A10: (c): AI is never a source of record; every number traces to a filing you opened. A11: 18%, from 900/5,000. A12: permanent (atomic linked) notes; company files; the mistakes-derived checklist (+ mistakes log); the decision journal.

Form B

B1 (MCQ). =B2+C2 sits in D2. Copied to F2, it becomes: (a) =B2+C2 (b) =D2+E2 (c) =B4+C4 (d) =$B$2+$C$2

B2 (MCQ). Which reference keeps the row fixed but lets the column shift when copied? (a) $B4 (b) $B$4 (c) B$4 (d) B4

B3 (numeric, spreadsheet allowed). $20,000 compounds at 6% for 12 years. Closing value?

B4 (short). Name two advantages of XLOOKUP over VLOOKUP.

B5 (MCQ). A US company's annual report filing is the: (a) 8-K (b) 10-Q (c) DEF 14A (d) 10-K.

B6 (MCQ). Today's repo rate is found at: (a) FRED under DGS10 (b) the RBI homepage's Current Rates panel (c) screener.in's summary strip (d) Damodaran's data library.

B7 (short). Write a screener.in query: market cap over ₹5,000 crore, ROCE above 25%, and debt-to-equity below 0.2.

B8 (MCQ). In the Zettelkasten workflow, which notes are deleted after processing? (a) permanent (b) literature (c) fleeting (d) none, since you never delete anything.

B9 (short). Why must journal entries be written before the outcome and never edited after? Two reasons.

B10 (MCQ). A checklist item may be added when: (a) a famous investor recommends it (b) it sounds prudent (c) it traces to a specific logged mistake, yours or a documented disaster, with the failure named (d) the checklist looks too short.

B11 (numeric). Revenue ₹12,000 cr, PAT ₹1,500 cr. PAT as a common-size percentage?

B12 (short). Damodaran's data library: when does it refresh, and name two datasets it carries.

Two further Form B items, machine-graded, beyond the twelve scored above.

B13 (MCQ). Under the module's AI policy, which use is sanctioned? (a) pasting an assistant's figure for a company's revenue straight into your model (b) asking an assistant why a lookup formula needs its fourth argument, then testing the formula in the cell next door (c) filing an assistant's summary as a permanent note in place of your own words (d) letting an assistant hold a fact so that you need not remember it

B14 (MCQ). You need a US company's FY1996 annual report. Best first stop: (a) the company's investor-relations recent-filings page (b) EDGAR's company filing history, reached from the company's CIK, with the form type filtered to 10-K (c) EDGAR full-text search, which covers 2001 onward (d) a stock-screening site's summary strip

Form B key. B1: (b): two columns right, B→D and C→E. B2: (c) B$4. B3: $40,243.93, from 20,000 × 1.06¹² = 20,000 × 2.012196. B4: any two of these: exact match by default; no column counting (return range named explicitly); built-in if_not_found; can return from a column left of the lookup. B5: (d) 10-K. B6: (b) RBI Current Rates. B7: Market Capitalization > 5000 AND Return on capital employed > 25 AND Debt to equity < 0.2. B8: (c) fleeting: captured, processed within 48h, discarded. B9: (i) hindsight bias, since after outcomes memory rewrites what you believed, corrupting the record; (ii) calibration, since only pre-outcome, unedited predictions with percentages can honestly score whether your 70%s are 70%s. B10: (c): mistake-derived only. B11: 12.5%, from 1,500/12,000. B12: refreshes each January; any two of: sector margins, ROE/ROIC by sector, betas, costs of capital, debt ratios, working-capital norms, equity risk premiums by country. B13: (b): a question about the tool, whose answer is deterministic and testable in the cell next door; the other three break a ban (source of record, your reps, your memory). B14: (b): the CIK filing history reaches the 1990s, while full-text search starts at 2001 and cannot see a 1996 filing.


Teach it back & journal

Feynman prompt. A smart 15-year-old cousin says: "You're studying spreadsheets and note-taking? I thought you were learning investing." In one page, explain why an analyst's edge is manufactured from three boring things: auditable calculations, traceable numbers, and notes that compound. Use the 30-year sensitivity grid and the Satyam-derived checklist item as your two exhibits. No jargon; if you must use "base rate," teach it with the mid-cap example.

Journal reflection. Open a fresh entry (yes, using the template, which is also a rep): Which component of the system installed this week am I most likely to abandon by week 20, whether the daily notes, the journal, the checklist discipline, or source traceability? What does that prediction imply I should design against right now? State a confidence %, a review date (week 20), and what evidence at review would count as "abandoned."


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