Rep. Ro Khanna (D-CA)
House · Democrat (most recent term) · CA-17 · in Congress 2017–present · Bioguide ID K000389
Party history: D 2017–present. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.
Estimated net worth (from public disclosures)
Not available. no report year could be computed (validated X-mark decoding of a scanned filing: Schedule A is usable, but Schedule D (liabilities) is not parsed from scanned filings, so net worth is not computed).
No figure is shown rather than guessing. Net worth is computed only from electronic filings (text-readable Schedule A and Schedule D); scanned filings are used only where explicitly validated, and their liabilities are not parsed.
- What this is: Net worth = Schedule A assets (each value range at its midpoint; low–high range shown) minus Schedule D liabilities (midpoints / ranges). Low = assets at range floors minus liabilities at range ceilings; Mid = midpoints; High = assets at ceilings minus liabilities at floors. Low and High are outer bounds of the reported ranges, not likely outcomes.
- What it excludes / understates: exact values (only ranges are reported); a personal residence is not reported as an asset (although a mortgage on it may be listed as a liability, which then lowers the estimate); retirement and federal accounts (e.g. Thrift Savings Plan, defined-benefit pensions) are only partly or not reported; assets of excepted/blind trusts, cash held below reporting thresholds, vehicles, household goods and most spouse/dependent items exempt from reporting are not included; liabilities on a personal residence, revolving credit under thresholds and loans to family may be omitted by filers.
- Open-ended top ranges (e.g. “Over $50,000,000”) are counted at their lower bound and flagged, so such values are understated.
- The change is a change in estimated net worth in nominal dollars (no inflation adjustment). It includes salary, gifts, inheritances, business income and re-valuation as well as investment results, and it is subject to range-bracket noise; it is not an investment return and implies nothing about conduct.
Estimated year-over-year change
Bars: midpoint estimate; whisker: same-position floor/ceiling band. Axis clipped to −100%…+150%. Years with insufficient traceable holdings are omitted.
| Year (t−1 → t) | Opening value (mid) | Closing value (mid) | Income (mid) | Buys (mid) | Sales (mid) | Est. gain | Same-position band | Strict envelope | Traced coverage | Status / flags |
|---|---|---|---|---|---|---|---|---|---|---|
| 2020→2021 | $20,433,194 | $62,237,608 | $4,025,250 | $46,083,132 | $19,771,058 | +95.5% | +94.2% … +98.8% | -282% … +473% | 43% | excluded; not eligible: traced coverage 43% < 60%; OCR-derived (scanned filing; validated, see method) - years 2020, 2021; high turnover (buys+sells > 100% of opening value); many new/exited positions |
| 2021→2022 | $62,948,624 | $34,769,846 | $3,767,608 | $58,270,252 | $57,483,106 | -40.0% | -41.7% … -39.4% | -226% … +146% | 68% | excluded; not eligible: OCR continuity check failed (10/13 held positions within +-1 bracket; need >= 5 and >= 88%); OCR-derived (scanned filing; validated, see method) - years 2021, 2022; high turnover (buys+sells > 100% of opening value); many new/exited positions |
| 2022→2023 | $42,091,871 | $132,949,614 | $9,455,742 | $47,541,700 | $39,219,934 | +218.5% | +164.8% … +239.1% | -136% … +573% | 60% | excluded; not eligible: OCR continuity check failed (20/25 held positions within +-1 bracket; need >= 5 and >= 88%); OCR-derived (scanned filing; validated, see method) - years 2022, 2023; high turnover (buys+sells > 100% of opening value); many new/exited positions |
| 2023→2024 | $118,636,078 | $115,643,642 | $4,454,680 | $0 | $0 | +1.2% | -2.4% … +2.3% | -108% … +110% | 61% | excluded; not eligible: Schedule B (transactions) of the later year not decodable reliably, so purchases / sales are unknown; OCR-derived (scanned filing; validated, see method) - years 2023, 2024 |
| 2024→2025 | $180,078,841 | $88,685,870 | $2,240,798 | $38,275,690 | $35,225,072 | -51.2% | -54.6% … -38.8% | -157% … +54% | 90% | counted; OCR-derived (scanned filing; validated, see method) - years 2024, 2025 |
How Rep. Khanna's figures were obtained (method per year)
All of Rep. Khanna's annual reports are scanned images with no text layer (116–367 pages each, mostly attached brokerage statements and checkbox-grid schedules). The House Clerk index lists no electronic (text) annual report for him in any year 2016–2025 (all Doc IDs start with 8 or 9, none with 1). His ~119 periodic transaction reports are scanned images too, so there is nothing to parse electronically. For 2020–2025 the Schedule A/B grids use the House ‘X-mark’ checkbox form: the value, income-amount and transaction-amount brackets are read from which column holds the X. Decoding: two independent decoders per cell (ink density, and centroid of the largest ink blob) must find exactly one mark in the same column, otherwise the cell is dropped (never guessed); column bounds come from the ruled grid, with strict geometry checks. Validation gates are in the README (§ Task 2). Hand spot-checks of rendered crops against the decoder (8–12 rows each) were run on 2020 p38, 2021 p40/p76, 2022 p80/p141, 2023 p100/p151, 2024 p60 and 2025 p70 (value, income, type, Schedule B amounts); no value/income disagreement was found, but these are small samples and were read via an image-description tool, which was not always consistent between views — they are not a full manual transcription, so no year is labelled ‘manually verified from filing images’.
| Report year | Doc ID | Filed | Method | Sch. A rows kept | Decoder agreement | Value coverage | Income coverage | Sch. B rows | Caveats |
|---|---|---|---|---|---|---|---|---|---|
| 2020 | 8218200 | 7/29/2021 | X-mark checkbox decoding (scanned image) | 1,913 | 99.5% | 93.5% | 92.2% | 0 (Sch. B not used) | Halftone-speckled scan: 93 value cells and 121 income cells accepted only through a stricter second rule (one dominant mark, other cells ≤ 60% of its ink, independent decoder agrees); 6.5% of rows dropped as unreadable. Schedule B (transactions) NOT used (only 82% of its rows had a readable type/amount). |
| 2021 | 8219143 | 8/10/2022 | X-mark checkbox decoding (scanned image) | 2,803 | 100.0% | 100.0% | 99.9% | 3,904 | Cleanest scan. Block C income-type vs Block D amount disagree on 34% of rows (filer's own marks: e.g. type 'Dividends' with amount 'None'); amounts were read as marked. Both-box ‘Sale’+‘Partial Sale’ marks on 560 Schedule B rows counted as a sale. |
| 2022 | 8219881 | 8/9/2023 | X-mark checkbox decoding (scanned image) | 2,539 | 100.0% | 100.0% | 96.3% | 7,481 | 286 rows have an income type 'None' with no amount mark (treated as income None per the form). ~20% of owner codes unreadable (owner is not used for matching). |
| 2023 | 8220593 | 8/12/2024 | X-mark checkbox decoding (scanned image) | 2,803 | 100.0% | 100.0% | 98.1% | 4,667 | Rows are mostly Schedule A for two large pools (spouse trusts, dependent-child trusts). |
| 2024 | 9115596 | 8/13/2025 | X-mark checkbox decoding (scanned image) | 2,951 | 100.0% | 98.7% | 100.0% | 0 (Sch. B not used) | Wavy scan (rows drift up to ±10 px across the page); decoded with per-block row rules. 40 value cells dropped. 33 of 164 Schedule B grid pages could not be decoded, so Schedule B is NOT used for this year (purchases/sales unknown) and the 2023→2024 pair is not counted. |
| 2025 | 9116272 | 8/10/2026 | X-mark checkbox decoding (scanned image) | 3,122 | 100.0% | 95.0% | 97.0% | 5,151 | Thin-stroke ‘x’ marks; Schedule B decoded with a lower ink threshold (both decoders must agree). 164 value cells (5%) dropped. Many asset names are garbled in the cover/continuation pages; positions are matched by name only where the spelling is unambiguous. |
Not achievable with the current tools: report years 2016–2019 (Doc IDs 9111561, 9113638, 9115242, 8217503): older typed / letter-coded layouts whose OCR fails the validation gates (2018: 35 of 67 table pages unparsed, income read for 9%; 2019: 12% income coverage; 2016–2017 not usable). Seven small amendments (8217774, 8217775, 8218509, 8219341, 8220123, 8220779, 8221318) and the ~119 PTRs are not integrated. Because more than 95% of the assets are held by a spouse or dependent child, and the form's top bracket for those is open-ended, values are very coarse.
Why no ranking: only the 2024→2025 pair passes all gates (traced coverage 90%, held-position bracket continuity 114/121 = 94%); 2020→2021 fails traced coverage (43%), 2021→2022 and 2022→2023 fail the OCR continuity gate (77% and 80% of held positions within ±1 bracket against ≥ 88% required), and 2023→2024 is excluded because that year's Schedule B could not be decoded. One year-pair is below the 3 needed to rank. Every pair is still listed in the table above with its status; excluded pairs are shown for transparency and must not be read as estimates.
Filings used
Each annual-report year uses one filing (most recently filed version among originals/amendments whose Schedule A row count is ≥ 40% of the largest). Electronic (text) PDFs are parsed. Scanned/image-only filings are OCR-read and used only if they pass the explicit validation gates described in the project README (value/income coverage, two-engine agreement, exact bracket snapping, page completeness, year-to-year position continuity); such years are labelled OCR-derived below. Scanned filings that fail validation are listed as “insufficient data – scanned”.
| Report year | Doc ID | Type | Filed | Schedule A rows | Rows with unparsed value | Source (official filing) / SHA-256 |
|---|---|---|---|---|---|---|
| 2020 | 8218200 | House annual [X-mark decoded] | 7/29/2021 | 1913 | 0 | 8218200.pdf21f51446167c45cbd4cae0e99e0d1628879b05d7a280777291f0c7e1dcfb05e9 |
| 2021 | 8219143 | House annual [X-mark decoded] | 8/10/2022 | 2803 | 0 | 8219143.pdf80845c0e81d35bf07e2840e0b94e6ade967e896f4f99dab7c21743972e164145 |
| 2022 | 8219881 | House annual [X-mark decoded] | 8/9/2023 | 2539 | 0 | 8219881.pdf36331a50a936df8a1ddbdfde18e1f7a7added9560b509dd8fc69e87c6c233335 |
| 2023 | 8220593 | House annual [X-mark decoded] | 8/12/2024 | 2803 | 0 | 8220593.pdf28a888b97d5230abe7e7e6d41261ccd8f1b68f53b50ea367f07aec60fac3b3ae |
| 2024 | 9115596 | House annual [X-mark decoded] | 8/13/2025 | 2951 | 0 | 9115596.pdf207b0a21b62ab875e574861ab49ad9bc87293fb87acf6ff3dd6856daac8500c8 |
| 2025 | 9116272 | House annual [X-mark decoded] | 8/10/2026 | 3122 | 0 | 9116272.pdfa5fe8e8dc1ae06d1ee65efbb513f3f1e52523c876fb983c3eb8bf9550c115efc |
Scanned filings not used — insufficient data – scanned
| Index year | Doc ID | Type | Filed | OCR status | Source |
|---|---|---|---|---|---|
| 2016 | 9111561 | O | 8/10/2017 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 9111561.pdf |
| 2017 | 9113638 | O | 8/10/2018 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 9113638.pdf |
| 2018 | 8217774 | A | 12/16/2020 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8217774.pdf |
| 2018 | 9115242 | O | 8/8/2019 | OCR attempted - failed validation: G3 unparsed table pages 35/67; G4 income coverage 9% < 90% | 9115242.pdf |
| 2019 | 8217503 | O | 8/12/2020 | OCR attempted - failed validation: G2 trusted-snap rate 89% < 92%; G3 unparsed table pages 6/31 | 8217503.pdf |
| 2019 | 8217775 | A | 12/16/2020 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8217775.pdf |
| 2020 | 8218509 | A | 12/22/2021 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8218509.pdf |
| 2021 | 8219341 | A | 1/24/2023 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8219341.pdf |
| 2022 | 8220123 | A | 2/1/2024 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8220123.pdf |
| 2023 | 8220779 | A | 2/27/2025 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8220779.pdf |
| 2024 | 8221318 | A | 2/4/2026 | not OCR-processed (outside scope: report year before 2012, or not needed for rankability) | 8221318.pdf |
Largest movers 2024→2025
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| HEDGE FUND SELECT: ELT ASSOCIATES LLC COMMITMENT CLASS A SERIES 1 | — | held | $5,000,001 - $25,000,000; $5,000,001 - $25,000,000 | $1,000,001 - $5,000,000; $1,000,001 - $5,000,000 | $0 | $0 |
| VANGUARD SPECIALIZED PORTFOLIO VANGUARD DIVIDEND APPRECIATION MI | — | held | $5,000,001 - $25,000,000 | $1,000,001 - $5,000,000 | $0 | $0 |
| TPG TECH ADJACENCIES ACCESS LLC | — | held | $250,001 - $500,000; $500,001 - $1,000,000; $1,000,001 - $5,000,000; $1,000,001 - $5,000,000 | $100,001 - $250,000; $250,001 - $500,000; $250,001 - $500,000; $500,001 - $1,000,000 | $422,504 | $0 |
| WEST STREET CAPITAL PARTNERS VIIL.P. | — | held | $1,000,001 - $5,000,000; $1,000,001 - $5,000,000 | None; $250,001 - $500,000; $250,001 - $500,000 | $0 | $0 |
| REDBIRD SERIES 2019 ACCESS LLC | — | held | $1,000,001 - $5,000,000; $1,000,001 - $5,000,000 | $500,001 - $1,000,000; $500,001 - $1,000,000 | $0 | $0 |
| SPOTIFY TECHNOLOGY S.A. CMN | — | held | $500,001 - $1,000,000; $1,001 - $15,000; $1,000,001 - $5,000,000 | $250,001 - $500,000; $1,001 - $15,000 | $0 | $0 |
| WEST STREET CAPITAL PARTNERS CO-INVEST A, SLP | — | held | $500,001 - $1,000,000; $1,000,001 - $5,000,000 | $100,001 - $250,000; $250,001 - $500,000 | $0 | $0 |
| GS FS TRSY SOLUTIONS MM FUND MUTUAL FUND | — | held | $100,001 - $250,000; $250,001 - $500,000; $1,000,001 - $5,000,000 | $100,001 - $250,000; $100,001 - $250,000; $250,001 - $500,000 | $40,002 | $0 |
Method (summary)
- Schedule A asset rows are read from each annual report; the dollar range for each row is converted to its midpoint. Open-ended top ranges (“Over $50,000,000”) are excluded from the traced set and counted as a coverage loss.
- Positions are matched year to year by owner code (self/SP/DC/JT) + normalised asset name. A position that appears only in year t is included only if Schedule B shows a purchase of it in year t (opening value 0); a position that disappears is included only if Schedule B shows a sale (closing value 0). Otherwise it is excluded as unexplained.
- Estimated gain = (closing − opening + reported income − purchases + sale proceeds) ÷ opening, all at midpoints, for the traced positions. “Capital gains” income is not added again (it is already in value change and sale proceeds).
- A year counts only if traced opening value ≥ $50,000 and traced coverage ≥ 60% of the opening midpoint. A member is ranked only with ≥ 3 such years (exactly 2 = “limited data”, shown but unranked). Average = geometric mean of (1+yearly estimate).
Limitations
- Ranges are wide (up to a factor of 5 or more, and up to $50M+ open-ended); a holding can move between ranges without any real change in value, and stay in a range while moving materially. Yearly estimates are therefore noisy; the “strict envelope” shows the mathematical worst/best case and is typically wider than ±100%.
- Purchases and sales are only disclosed as ranges and only for transactions over $1,000; partial sales, dividend reinvestment, spousal/dependent accounts and retirement-plan funds are reported inconsistently. Excepted/blind trusts, personal residences and certain pensions are not reported at all.
- Filers sometimes change how they list assets (e.g. listing a brokerage account vs. its individual holdings), which can make positions untraceable across years; these are excluded rather than guessed.
- Asset values in an annual report are as of Dec 31 of the reporting year; the report year t−1→t covers that calendar year. Late or amended filings are used when filed; extensions can delay them.
- The text of these reports is machine-parsed from PDFs; parse errors are possible. Every number links back to the cited filing. This is not investment advice.
- Use of these filings is restricted by 5 U.S.C. § 105(c) (no unlawful, commercial or credit-rating purpose, and none for solicitation of money).
Generated 2026-10-01 by an automated pipeline. Data: Office of the Clerk, U.S. House of Representatives (disclosures-clerk.house.gov); member roster: unitedstates/congress-legislators (CC0).