How every number on stonks gets its source.
Each number traces to the SEC filing (by accession number), agency release, or API request that produced it, plus the date we fetched it: its vintage. Nothing is entered by hand. If a value can’t show its source, it isn’t published.
Macro series come directly from the agencies: the U.S. Treasury, the New York Fed, BLS, EIA, BEA, and the World Bank. Company fundamentals come from SEC EDGAR’s XBRL data, as filed. We never scrape other data sites. Licenses are on the sources page.
When an agency revises a value, we store the new figure as a new vintage beside the old one. Pages show the latest vintage; earlier ones stay queryable, and the revision tracker shows what changed.
Each fundamentals metric maps from us-gaap tags through a published fallback chain, one tag per period. Restatements replace originals: income and cash-flow figures come from the latest filing that reports the period, balance-sheet figures from the latest filing that reports the preferred tag. Revenue, for example, prefers the Revenues total and falls back to RevenueFromContractWithCustomerExcludingAssessedTax when the total is missing, too small to be one, or no longer the company’s top line. The winning tag is recorded on every value and shown on hover. A missing tag leaves the cell empty, never zero. Derived values (free cash flow, YoY changes, indexes) record their inputs and formula.
Every fetch must pass sanity checks: no empty results, bad or duplicate dates, non-finite values, zeros where a zero can’t occur, or implausible jumps. A failing series isn’t written; the failure goes to the status page. New series stay unlisted until they have enough history to be useful.
When we get something wrong, the fix goes in the corrections log: what was wrong, when we found it, and what changed.