Equal · Methodology
How every number here can be checked
Numbers come from code, never from a language model. AI only interprets, every interpretive claim must cite a computed figure, and uncited claims are dropped by code. This page shows the machinery.
Statement coverage: FY2021–FY2025 (annual, audited). Refreshed on a stated cadence, never silently.
100
companies covered
424
statement-years boot-validated (A = L + E enforced)
60
bank-years hand-verified on 3 identities (OJK)
99/99
price rows dual-source verified (as-of 2026-07-31)
100
company deep analyses, primary-source cross-checked at authoring
23
industry analyses, de-biased to industry-wide data
10
macro indicators, each cited (as-of 2026-07-31)
3
independent sources on the FX reference rate
Every count above is derived from recorded artifacts in the codebase: validated statements, recorded cross-check values, review dates. Nothing is self-reported.
§1
Where the numbers come from
| Data class | Source & method | Verification |
|---|---|---|
| Non-financial statements | Programmatic extraction from stockanalysis.com payloads (FY2021–2025): no hand-typing, no transcription errors. | Accounting identities (A = L + E) enforced at boot: unbalanced data cannot reach a page. Key figures re-checked against primary sources when each narrative is authored. |
| Bank figures | Hand-extracted from each bank’s audited OJK quarterly publication (Laporan Keuangan Publikasi Triwulan IV), bank-only/Individual basis: disclosed regulatory ratios are NEVER recomputed. | Every fiscal year cross-validated on three independent identities: assets = liabilities + equity; net interest income = interest income − expense; pretax − tax = net profit. Exact, every year, every bank. |
| Prices & market caps | A committed snapshot (deliberately not a live feed), regenerated as a whole so every row shares one as-of date. | Dual-source gate per ticker: an internal share-count consistency check plus an independent quote (2% tolerance). Discrepant rows are EXCLUDED and surfaced, never averaged. |
| FX & discount rates | BI middle rate / JISDOR; Indonesia & US 10Y yields; Damodaran country ERP and sector betas: each entered from the published figure with its date. | Cross-checked against independent quotes at entry; the full CAPM build (Rf, ERP, β relevering, weights) is displayed on every DCF panel. |
| Macro backdrop | Curated from official sources (BPS, Bank Indonesia, World Bank Pink Sheet) on a stated cadence. | Every indicator carries its own as-of date and source, visible on the page. |
| Narratives (company, industry, macro) | Hand-authored, bilingual, review-gated: never generated at runtime. | Written to a codified sell-side standard: a position with a counter-case, mandatory earnings-quality / capital-allocation / red-flag sections, every claim carrying a number or citation. |
§2
The verification protocol
- Full-set rule: any claim about a SET of companies (currency, membership, ratios) is verified for EVERY member or stated as partial; a sample presented as complete is itself an inaccuracy.
- Currency is never assumed: every ticker’s reporting currency is verified in both directions (many Indonesian exporters file USD; some aggregators silently convert). Mixed-currency aggregates refuse to sum.
- Honest gaps: a missing or not-meaningful figure renders as an em-dash or NM with its reason; never a zero, never interpolated. Charts lift the pen over missing years.
- Comps discipline: peer medians exclude NM values and print the usable count (“median of n of m”); EV includes minority interest; a company is valued against PEERS with its own multiple excluded from the band.
- AI containment: the only runtime AI is a cached trend memo. It cannot emit a number; every claim must cite a computed figure’s key, and invalid citations are dropped in code before rendering.
- Valuation posture: DCF output is “model output under stated assumptions”; every assumption is derived from the company’s own record or cited market data, shown with its basis, and adjustable. Never a price target.
§3
Formula reference
Every ratio the product shows, with its exact formula and why it matters, lives in the glossary: 61 terms across 7 groups, 43 of them rendered inline on report pages.
§4
Honest limitations
- Non-financial statement data originates from a reputable aggregator, not yet line-by-line reconciled to every audited IDX filing: identities are enforced and narrative-cited figures are primary-checked, and that is exactly what we claim, no more.
- Prices are a dated snapshot, not live; multiples pair that snapshot with the latest AUDITED fiscal year (trailing-FY convention): interim TTM data is deliberately excluded as unverifiable against audited statements.
- Everything here is educational analysis, not investment advice, and coverage is a chosen sample of the IDX, not the exchange.
Narrative reviews span 2026-06-26 → 2026-07-31. Colophon →