Rep. C. A. Dutch Ruppersberger (D-MD)
House · Democrat (most recent term) · MD-2 · in Congress 2003–2025 · Bioguide ID R000576
Party history: D 2003–2025. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.
Estimated net worth (from public disclosures)
| Estimate | Report year | Low | Mid | High |
|---|---|---|---|---|
| (a) Estimated net worth at the earliest available report (2013); the member entered office earlier, in 2003 | 2013 | $450,027 | $1,330,012 | $2,209,998 |
| (b) Latest net worth estimate | 2023 | $1,652,025 | $2,716,012 | $3,780,000 |
| (c) Estimated gain / loss, nominal dollars, 2013 → 2023 (10 years spanned) | 2013–2023 | −$557,973 | +$1,386,000 | +$3,329,973 |
Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.
Reliability flags (net worth): 2013: 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket. Included in the recommended dollar-gain ranking.
Net worth by report year (mid; Low–High)
| Report year | Assets (mid) | Liabilities (mid) | Net worth mid | Low … High | Status / flags |
|---|---|---|---|---|---|
| 2013 | $1,737,514 | $407,501 | $1,330,012 | $450,027 … $2,209,998 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2014 | $1,869,514 | $582,502 | $1,287,013 | $279,029 … $2,294,997 | computed |
| 2015 | $2,214,014 | $1,312,502 | $901,512 | −$431,973 … $2,234,997 | computed |
| 2016 | $2,431,514 | $1,312,502 | $1,119,012 | −$296,972 … $2,534,997 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2017 | $2,259,012 | $550,001 | $1,709,011 | $623,024 … $2,794,998 | computed |
| 2018 | $1,860,510 | $175,000 | $1,685,510 | $881,021 … $2,489,999 | computed |
| 2019 | $2,103,010 | $175,000 | $1,928,009 | $1,041,019 … $2,814,999 | computed |
| 2020 | $2,372,508 | $75,000 | $2,297,508 | $1,395,016 … $3,199,999 | computed |
| 2021 | $2,145,010 | $32,500 | $2,112,510 | $1,240,020 … $2,984,999 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2022 | $2,701,012 | $32,500 | $2,668,512 | $1,622,025 … $3,714,999 | computed |
| 2023 | $2,716,012 | $0 | $2,716,012 | $1,652,025 … $3,780,000 | computed |
- 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.
2014 -7%
Reliability flags: 3 unparsed value(s).
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +9.5% to +4.0%. This band is narrow because it moves both years together; the true uncertainty is larger — see the per-year “strict envelope” column and the limitations.
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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2013→2014 | $1,547,012 | $1,603,512 | $75,601 | $446,010 | $211,004 | -6.7% | -9.2% … -0.2% | -119% … +106% | 93% | counted |
| 2014→2015 | $1,837,014 | $1,806,512 | $85,702 | $218,506 | $146,003 | -0.9% | -2.8% … +3.7% | -97% … +95% | 98% | counted |
| 2015→2016 | $1,589,012 | $1,566,511 | $85,702 | $0 | $0 | +4.0% | +2.9% … +6.5% | -79% … +87% | 72% | counted |
| 2016→2017 | $1,738,006 | $1,538,506 | $85,202 | $48,502 | $415,502 | +14.5% | +13.1% … +17.9% | -71% … +100% | 74% | counted |
| 2017→2018 | $2,184,012 | $1,820,010 | $85,202 | $388,004 | $922,503 | +11.7% | +9.2% … +17.5% | -84% … +108% | 97% | counted |
| 2018→2019 | $1,477,510 | $1,620,508 | $85,102 | $308,506 | $245,504 | +11.2% | +9.2% … +15.9% | -95% … +117% | 79% | counted |
| 2019→2020 | $873,004 | $732,502 | $0 | $65,001 | $150,001 | -6.4% | -9.5% … +0.8% | -86% … +73% | 42% | excluded; not eligible: traced coverage 42% < 60% |
| 2020→2021 | $1,132,502 | $615,002 | $0 | $65,001 | $138,002 | -39.2% | -42.5% … -37.7% | -107% … +28% | 48% | excluded; not eligible: traced coverage 48% < 60%; many new/exited positions |
| 2021→2022 | $425,002 | $725,002 | $75,101 | $0 | $0 | +88.3% | +83.4% … +100.0% | -24% … +200% | 22% | excluded; not eligible: traced coverage 22% < 60% |
| 2022→2023 | $2,453,510 | $2,586,010 | $78,952 | $32,500 | $0 | +7.3% | +6.7% … +7.6% | -73% … +87% | 91% | counted |
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 |
|---|---|---|---|---|---|---|
| 2013 | 10001332 | House annual | 5/11/2014 | 31 | 1 | 10001332.pdf1d94816013c4934d0aff46b0344170b70759eee4a3cbae0e859b7cdb0bf6579f |
| 2014 | 10005594 | House annual | 5/6/2015 | 32 | 0 | 10005594.pdf17755b37eb6320dc77aca2b069aa3f110e5953421e852a3c3eb0e8df4214d277 |
| 2015 | 10010578 | House annual | 5/13/2016 | 33 | 0 | 10010578.pdf7fec2200b6e5362f15f1406fe73d9e20c05216e2ce91e4cdc6e3717fd61b7c57 |
| 2016 | 10015353 | House annual | 4/24/2017 | 33 | 1 | 10015353.pdf4ad9a5e536cd3c30e628650f996624c45adf0df3587e5926492c5d32353640fd |
| 2017 | 10020978 | House annual | 5/2/2018 | 29 | 0 | 10020978.pdffb49875d5f36647e8fd28659eeaed11005573bfbe2656e8f605129b2b0638588 |
| 2018 | 10026898 | House annual | 5/15/2019 | 31 | 0 | 10026898.pdf7c4156cb23efbf650badd1c4c80877891e9265978d8864b33b39ad209638404c |
| 2019 | 10035132 | House annual | 7/22/2020 | 23 | 0 | 10035132.pdfbca9726556de3cb61a9d66d733f7d789ca5d134fc2013e38519456f42c4ba62d |
| 2020 | 10039932 | House annual | 6/16/2021 | 19 | 0 | 10039932.pdfb9b32db5b35c459b5871aedc7a2425c8949e8152be162bff9e6ffdb09d4d627b |
| 2021 | 10047017 | House annual | 5/16/2022 | 20 | 1 | 10047017.pdf6651d4ef055049291c97d3db82e6f4dd364ab06fc89e3499fc3500fc1236345e |
| 2022 | 10052064 | House annual | 5/5/2023 | 26 | 0 | 10052064.pdfada3778bef22f6981df870e130aa67393bcd0350e4dab5c139abcd65aae38375 |
| 2023 | 10058985 | House annual | 4/29/2024 | 25 | 0 | 10058985.pdf637949793dfe328cbaa6413c2d13047c042ef09388a30c68f4bd5d08b6e48396 |
Largest movers 2017→2018
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Sandy Shores Equity Group, LLC ⇒ House #8, 50% Interest [RP] | JT | held | $100,001 - $250,000 | None | $0 | $375,000 |
| Sandy Shores Equity Group, LLC ⇒ House #3, 50% interest [RP] | JT | held | $100,001 - $250,000 | None | $0 | $375,000 |
| Exchange Traded Funds ⇒ Vanguard Emerging Markets (VWO) [EF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| Exchange Traded Funds ⇒ ISHARES Core S&P 500 (IVV) [EF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| Exchange Traded Funds ⇒ Vanguard US Small Cap (VB) [EF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| Exchange Traded Funds ⇒ ISHARES MSCI EAFE (EFA) [EF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| Federated TRSRY OBLG (TOSXX) [MF] | — | new | — | $100,001 - $250,000 | $175,000 | $75,000 |
| Exchange Traded Funds ⇒ Vanguard US Mid Cap (VO) [EF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
Largest movers 2018→2019
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Exchange Traded Funds ⇒ SPDR Trust S&P 500 (SPYD) [EF] | — | held | $1,001 - $15,000 | $100,001 - $250,000 | $65,001 | $0 |
| Cash Deposits ⇒ TDAM FDIC Insured Deposit [IH] | — | held | $100,001 - $250,000 | $50,001 - $100,000 | $0 | $0 |
| Exchange Traded Funds ⇒ SPDR Portfolio Lrg Cap (SPLG) [EF] | — | held | $50,001 - $100,000 | $100,001 - $250,000 | $65,001 | $32,500 |
| Exchange Traded Funds ⇒ SPDR Trust Sm EFT (SPSM) [EF] | — | held | $15,001 - $50,000 | $100,001 - $250,000 | $113,502 | $32,500 |
| Exchange Traded Funds ⇒ Market Vectors (GDX) [EF] | — | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Federated TRSRY OBLG (TOSXX) [MF] | — | held | $100,001 - $250,000 | $15,001 - $50,000 | $0 | $105,502 |
| Exchange Traded Funds ⇒ ISHARES Corporate Bond (LQD) [EF] | — | held | $15,001 - $50,000 | None | $0 | $0 |
| Exchange Traded Funds ⇒ Vanguard Short Corp Bond (VCSH) [EF] | — | held | $50,001 - $100,000 | $50,001 - $100,000 | $32,500 | $0 |
Largest movers 2022→2023
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Summit Community Bank [BA] | SP | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Delaware Life ⇒ Compass 2 Variable Annuity [IH] | — | held | $15,001 - $50,000; $50,001 - $100,000 | $50,001 - $100,000; $15,001 - $50,000 | $0 | $0 |
| TDAM IRA ⇒ IroQuois Fed. CD [BA] | — | new | — | $15,001 - $50,000 | $32,500 | $0 |
| TDAM IRA ⇒ Market Vectors (GDX) TDAM [EF] | — | held | $50,001 - $100,000 | $50,001 - $100,000 | $0 | $0 |
| Sandy Shores Equity Group, LLC (Land) [RP] | SP | held | $100,001 - $250,000 | $100,001 - $250,000 | $0 | $0 |
| TDAM IRA ⇒ SPDR Portfolio LgCap (SPLG) TDAM [EF] | — | held | $100,001 - $250,000 | $100,001 - $250,000 | $0 | $0 |
| Md.529 - College Investment Plan ⇒ Enrollment Portfolio 2024 [5P] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| TDAM IRA ⇒ SPDR Trust S&P 500 (SPYD) TDAM [EF] | — | held | $100,001 - $250,000 | $100,001 - $250,000 | $0 | $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).