Rep. Bill Foster (D-IL)
House · Democrat (most recent term) · IL-11 · in Congress 2008–present · Bioguide ID F000454
Party history: D 2008–present. 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 2008 | 2013 | $7,416,020 | $18,790,510 | $30,165,000 |
| (b) Latest net worth estimate | 2025 | $11,182,041 | $21,681,020 | $32,180,000 |
| (c) Estimated gain / loss, nominal dollars, 2013 → 2025 (12 years spanned) | 2013–2025 | −$18,982,959 | +$2,890,510 | +$24,763,980 |
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; 2025: 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 | $18,790,510 | $0 | $18,790,510 | $7,416,020 … $30,165,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2014 | $20,443,017 | $0 | $20,443,017 | $8,321,034 … $32,565,000 | computed |
| 2015 | $20,910,516 | $0 | $20,910,516 | $8,656,033 … $33,165,000 | computed |
| 2016 | $21,770,517 | $0 | $21,770,517 | $9,326,034 … $34,215,000 | computed |
| 2017 | $22,588,017 | $0 | $22,588,017 | $9,861,034 … $35,315,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2018 | $14,130,518 | $0 | $14,130,518 | $7,246,036 … $21,015,000 | computed; 2 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2019 | $14,905,518 | $0 | $14,905,518 | $7,746,036 … $22,065,000 | computed; 2 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2020 | $14,220,519 | $0 | $14,220,519 | $8,276,038 … $20,165,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2021 | $20,213,021 | $0 | $20,213,021 | $10,211,042 … $30,215,000 | computed |
| 2022 | $17,263,020 | $0 | $17,263,020 | $9,311,040 … $25,215,000 | computed |
| 2023 | $17,570,520 | $0 | $17,570,520 | $9,526,041 … $25,615,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2024 | $18,463,021 | $0 | $18,463,021 | $10,011,042 … $26,915,000 | computed |
| 2025 | $21,681,020 | $0 | $21,681,020 | $11,182,041 … $32,180,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
- 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.
2018 -40%
Reliability flags: 9 unparsed value(s).
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +0.8% to -1.3%. 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 | $18,640,509 | $19,203,014 | $17,107 | $1,328,510 | $0 | -4.0% | -8.1% … -3.0% | -130% … +122% | 100% | counted; many new/exited positions |
| 2014→2015 | $20,170,515 | $20,670,515 | $48,408 | $574,508 | $32,500 | +0.0% | -0.3% … +1.3% | -121% … +121% | 99% | counted |
| 2015→2016 | $20,670,515 | $21,530,516 | $35,006 | $1,191,016 | $648,504 | +1.7% | +0.8% … +5.3% | -121% … +124% | 99% | counted |
| 2016→2017 | $21,595,516 | $22,038,016 | $38,202 | $719,509 | $501,008 | +1.2% | +1.1% … +1.6% | -117% … +119% | 99% | counted |
| 2017→2018 | $22,238,016 | $13,430,516 | $81,206 | $250,001 | $75,000 | -40.0% | -42.9% … -29.7% | -127% … +47% | 99% | counted |
| 2018→2019 | $13,780,517 | $14,555,517 | $18,904 | $493,007 | $476,506 | +5.6% | +5.0% … +7.4% | -98% … +109% | 100% | counted |
| 2019→2020 | $14,555,517 | $13,663,017 | $85,058 | $2,641,512 | $1,576,011 | -12.9% | -16.3% … -3.1% | -112% … +86% | 100% | counted |
| 2020→2021 | $14,045,518 | $19,888,020 | $44,004 | $530,004 | $590,508 | +42.3% | +22.5% … +50.5% | -74% … +158% | 100% | counted |
| 2021→2022 | $18,713,020 | $17,263,020 | $92,060 | $1,255,006 | $1,529,508 | -5.8% | -9.0% … +3.9% | -105% … +94% | 93% | counted |
| 2022→2023 | $5,005,508 | $11,255,513 | $21,952 | $810,506 | $1,513,506 | +139.3% | +112.5% … +152.2% | -12% … +290% | 29% | excluded; not eligible: traced coverage 29% < 60%; many new/exited positions |
| 2023→2024 | $17,395,520 | $18,463,021 | $70,006 | $1,123,013 | $1,205,514 | +7.0% | +6.5% … +7.2% | -93% … +108% | 100% | counted |
| 2024→2025 | $18,088,020 | $21,306,020 | $93,507 | $551,008 | $356,508 | +17.2% | +10.9% … +19.6% | -89% … +123% | 98% | 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 | 10001554 | House annual | 5/8/2014 | 22 | 1 | 10001554.pdf7be19aec2d45b1f38fa7ef3c7b5a7abc9741783283f4d19bbaeff11154c5e378 |
| 2014 | 10005460 | House annual | 5/14/2015 | 35 | 0 | 10005460.pdf1978265633c23554adb7a326fe0eaaecdf654537e5f9d9b5265ee498e48d70b0 |
| 2015 | 10010401 | House annual | 5/3/2016 | 34 | 0 | 10010401.pdfb00bf410402fc0289a9cab6e5705f7f8f6e46596aead1428671bc4bb5a47e99c |
| 2016 | 10015751 | House annual | 5/3/2017 | 35 | 0 | 10015751.pdf1aa8406f29506de728fe3dfbd52dfdcb70f504f3dd1df745270538def086db05 |
| 2017 | 10020381 | House annual | 5/2/2018 | 36 | 1 | 10020381.pdfbd00792bdbce2c1c72cc82a94add58a8f5341ceb1ecc38db2151051d223a4298 |
| 2018 | 10026069 | House annual | 5/6/2019 | 37 | 2 | 10026069.pdf663f05fb044b39e57c759c6965a9a1f8d6b8c2a97aa9af29f18ad120f2c9f932 |
| 2019 | 10035642 | House annual | 7/15/2020 | 37 | 2 | 10035642.pdf725e2f248bac59f95f97c9e405c972d0ceee7df7b4aed090a0d8b4907ad0f375 |
| 2020 | 10040656 | House annual | 7/13/2021 | 48 | 1 | 10040656.pdfed760ff5fdf412e07568ab4b448d8dbc252b4e8a7d607ab573d4f4ab64545730 |
| 2021 | 10047102 | House annual | 5/16/2022 | 43 | 0 | 10047102.pdfb986c9ffca5729e43ab93a24b745f65391eba10c2cd593ae3ac8a9fbee37a56f |
| 2022 | 10052187 | House annual | 6/2/2023 | 45 | 0 | 10052187.pdf44cb3efccf9d997904d6227cbaa5f991329bb1e37636f6cc34fa8d754d6c24a3 |
| 2023 | 10057232 | House annual | 5/7/2024 | 47 | 1 | 10057232.pdffb12cb6b0e79d5fad0b630fd3e335008a492b7f935bae7453f8eb291c7179480 |
| 2024 | 10066184 | House annual | 4/28/2025 | 43 | 0 | 10066184.pdfa94153b669bd0bc7b9813388524db1d82490b30cbdaca48fffbdac7b5f4b9ec7 |
| 2025 | 10074956 | House annual | 4/18/2026 | 43 | 1 | 10074956.pdf658edd9c3fa8bfd0dc5ec5baa6d607313c448564cfaecfe80850302aa579ac6e |
Largest movers 2021→2022
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| CREF Stock Fund [MF] | — | held | $1,000,001 - $5,000,000 | $500,001 - $1,000,000 | $0 | $0 |
| ML1 ETF TX EX - Market Vectors Intermediate Municipal Index ETF [EF] | JT | new | — | $500,001 - $1,000,000 | $183,001 | $183,001 |
| BMO-Harris Bank (savings, checking and money market accounts) [BA] | JT | held | $100,001 - $250,000 | $500,001 - $1,000,000 | $0 | $0 |
| Thrivent Large Cap Stock Fund-A [MF] | SP | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $0 | $0 |
| Thrift Savings Plan G Fund [GS] | — | held | $250,001 - $500,000 | $500,001 - $1,000,000 | $0 | $0 |
| ML1 ETF ING GRO - Sector SPDR Communication Services [EF] | JT | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $0 | $8,000 |
| ML1 ETF ING GRO - Consumer Discretionary SPDR [EF] | JT | held | $500,001 - $1,000,000 | $250,001 - $500,000 | $0 | $75,000 |
| ML1 ETF ING GRO - Sector SPDR Energy [EF] | JT | held | $100,001 - $250,000 | $250,001 - $500,000 | $0 | $32,500 |
Largest movers 2023→2024
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| The Communication Services Select Sector SPDR Fund (XLC) [EF] | JT | held | $250,001 - $500,000 | $500,001 - $1,000,000 | $8,000 | $0 |
| Invesco National AMT-Free Municipal Bond ETFo (PZA) [EF] | JT | held | $1,000,001 - $5,000,000 | $1,000,001 - $5,000,000 | $32,500 | $175,000 |
| SPDR Nuveen Bloomberg Short Term Municipal Bond ETF (SHM) [EF] | JT | new | — | $100,001 - $250,000 | $75,000 | $32,500 |
| CREF Growth [MF] | SP | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Invesco Aerospace & Defense ETF (PPA) [EF] | JT | new | — | $100,001 - $250,000 | $75,000 | $0 |
| SPDR Select Sector Fund - Health Care (XLV) [EF] | JT | held | $500,001 - $1,000,000 | $500,001 - $1,000,000 | $0 | $83,001 |
| SPDR Select Sector Fund - Consumer Staples (XLP) [EF] | JT | held | $250,001 - $500,000 | $250,001 - $500,000 | $0 | $83,001 |
| VanEck Semiconductor ETF (SMH) [EF] | JT | held | $250,001 - $500,000 | $250,001 - $500,000 | $107,501 | $32,500 |
Largest movers 2024→2025
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| CREF Stock Fund [MF] | — | held | $500,001 - $1,000,000 | $1,000,001 - $5,000,000 | $0 | $0 |
| TIAA Traditional Retirement Annuity [FN] | — | held | $250,001 - $500,000 | $500,001 - $1,000,000 | $0 | $0 |
| CREF Stock Fund [MF] | SP | held | $250,001 - $500,000 | $500,001 - $1,000,000 | $0 | $0 |
| VanEck Semiconductor ETF (SMH) [EF] | JT | held | $250,001 - $500,000 | $500,001 - $1,000,000 | $73,002 | $0 |
| SPDR Select Sector Fund - Energy Select Sector (XLE) [EF] | JT | held | $100,001 - $250,000 | $50,001 - $100,000 | $0 | $0 |
| First Trust Cloud Computing ETF (SKYY) [EF] | JT | held | $50,001 - $100,000 | None | $8,000 | $8,000 |
| Thrivent Large Cap Stock Fund-A [MF] | SP | held | $500,001 - $1,000,000 | $500,001 - $1,000,000 | $0 | $65,001 |
| Invesco Aerospace & Defense ETF (PPA) [EF] | JT | held | $100,001 - $250,000 | $100,001 - $250,000 | $65,001 | $8,000 |
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).