Official portrait of Rep. Keith Ellison (D-MN)
Official portrait: unitedstates/images (public domain; source GPO Member Guide)

Rep. Keith Ellison (D-MN)

House · Democrat (most recent term) · MN-5 · in Congress 2007–2019 · Bioguide ID E000288

Party history: D 2007–2019. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.

Estimated net worth (from public disclosures)

EstimateReport yearLowMidHigh
(a) Estimated net worth at the earliest available report (2013); the member entered office earlier, in 20072013−$596,994−$399,498−$202,003
(b) Latest net worth estimate2019−$246,994−$149,498−$52,001
(c) Estimated gain / loss, nominal dollars, 2013 → 2019 (6 years spanned)2013–2019−$44,991+$250,001+$544,993

Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.

Reliability flags (net worth): no computable net worth for year(s) inside the span: 2018. Not in the recommended dollar-gain ranking (shown only in the full list).

Net worth by report year (mid; Low–High)
Report yearAssets (mid)Liabilities (mid)Net worth midLow … HighStatus / flags
2013$25,503$425,002−$399,498−$596,994 … −$202,003computed
2014$25,503$425,002−$399,498−$596,994 … −$202,003computed
2015$25,503$450,002−$424,498−$626,994 … −$222,003computed
2016$25,503$175,000−$149,498−$246,994 … −$52,001computed
2017$33,003$175,000−$141,998−$245,994 … −$38,001computed
2019$25,503$175,000−$149,498−$246,994 … −$52,001computed
Read this first. Members report asset values only as ranges (e.g. “$15,001 – $50,000”), never exact dollars. Every figure below is an estimate computed from range midpoints, not a measured return. Figures cannot be interpreted as investment performance, and they do not show wrongdoing or skill. Methodology and limitations are at the end and in the project README. Sources: public financial disclosure reports filed with the Clerk of the U.S. House of Representatives and/or the Secretary of the Senate (Senate eFD), linked below.
Insufficient data to rank. Only 0 comparable year-pair(s) could be computed (minimum 3 to rank). 6 annual filing(s) were usable (text-readable, validated OCR, or validated X-mark decoding) and 0 scanned/image-only filing(s) could not be used (older layouts failing validation, small amendments not integrated). See the method-per-year section below.

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. gainSame-position bandStrict envelopeTraced coverageStatus / flags
2013→2014$25,503$25,503$201$0$0 +0.8%+0.1% … +0.8%-176% … +178%100%excluded; not eligible: traced prior-year value below $50,000
2014→2015$0$0$0$0$0 n/an/a … n/an/a … n/a0%excluded; not eligible: traced prior-year value below $50,000
2015→2016$0$0$0$0$0 n/an/a … n/an/a … n/a0%excluded; not eligible: traced prior-year value below $50,000
2016→2017$25,503$33,003$302$0$0 +30.6%+30.4% … +33.4%-172% … +234%100%excluded; not eligible: traced prior-year value below $50,000

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 yearDoc IDTypeFiledSchedule A rowsRows with unparsed valueSource (official filing) / SHA-256
201310000742House annual5/12/20146010000742.pdf
98ab5625493f70407532a56c2b237022e63522c7b24276fc96dd861cbd578ffd
201410005694House annual4/27/20156010005694.pdf
6e4edc1920d35556ff54fcd9b2467e6afbce9e64dfea0da5eadb4f3094564d6c
201510010818House annual5/13/20166010010818.pdf
60d49f2e9c81ff988b3269fb8afe359dd6d81113fa023ce7e3ce46acc827ae9c
201610015135House annual5/12/20176010015135.pdf
14d9c7247a853cba4a083291d850ae5269254cfd36a154a455978422da617d46
201710021200House annual5/15/20186010021200.pdf
c11ab1249e886371cdea1c2eb3f0ec9c9778090d790ebcf57605801cc80d5eb4
201910025313House amendment3/12/20196010025313.pdf
6cf2145fa43a91623ce3d312110a166d5fdfae2fb96153007231a744d2786c73

Method (summary)

  1. 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.
  2. 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.
  3. 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).
  4. 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

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).