Sen. Thom Tillis (R-NC)
Senate · Republican (most recent term) · NC · in Congress 2015–present · Bioguide ID T000476
Party history: R 2015–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 before entering office (report year 2014) | 2014 | $2,831,140 | $8,925,568 | $15,019,995 |
| (b) Latest net worth estimate | 2025 | $2,961,031 | $6,663,014 | $10,364,998 |
| (c) Estimated gain / loss, nominal dollars, 2014 → 2025 (11 years spanned) | 2014–2025 | −$12,058,964 | −$2,262,553 | +$7,533,858 |
Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.
Reliability flags (net worth): none for these two endpoints. 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 |
|---|---|---|---|---|---|
| 2014 | $9,573,070 | $647,502 | $8,925,568 | $2,831,140 … $15,019,995 | computed |
| 2015 | $9,344,026 | $957,502 | $8,386,524 | $2,668,051 … $14,104,996 | computed |
| 2016 | $9,599,027 | $925,002 | $8,674,026 | $2,828,054 … $14,519,997 | computed |
| 2017 | $6,209,025 | $925,002 | $5,284,024 | $1,623,050 … $8,944,997 | computed |
| 2018 | $6,033,024 | $550,001 | $5,483,022 | $2,001,047 … $8,964,998 | computed |
| 2019 | $6,259,023 | $550,001 | $5,709,022 | $2,148,046 … $9,269,998 | computed |
| 2020 | $6,753,022 | $550,001 | $6,203,020 | $2,466,043 … $9,939,998 | computed |
| 2021 | $7,530,020 | $550,001 | $6,980,020 | $2,985,041 … $10,974,998 | computed |
| 2022 | $6,831,524 | $350,001 | $6,481,524 | $2,793,049 … $10,169,998 | computed |
| 2023 | $7,519,524 | $350,001 | $7,169,524 | $3,254,049 … $11,084,998 | computed |
| 2024 | $7,563,016 | $350,001 | $7,213,015 | $3,361,032 … $11,064,998 | computed |
| 2025 | $7,013,016 | $350,001 | $6,663,014 | $2,961,031 … $10,364,998 | 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.
2017 -4%
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +6.0% to +4.2%. 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2014→2015 | $6,876,512 | $6,801,012 | $18,702 | $0 | $0 | -0.8% | -1.0% … -0.8% | -129% … +127% | 72% | counted |
| 2015→2016 | $8,970,522 | $9,052,522 | $94,261 | $0 | $0 | +2.0% | +1.9% … +2.1% | -116% … +119% | 96% | counted |
| 2016→2017 | $5,903,020 | $5,655,020 | $32,060 | $0 | $0 | -3.7% | -4.2% … -3.5% | -111% … +103% | 61% | counted |
| 2017→2018 | $6,002,522 | $5,960,022 | $28,910 | $0 | $0 | -0.2% | -0.7% … -0.1% | -109% … +108% | 97% | counted |
| 2018→2019 | $5,950,022 | $6,184,022 | $34,060 | $0 | $0 | +4.5% | +4.0% … +6.2% | -106% … +115% | 99% | counted |
| 2019→2020 | $5,511,019 | $5,920,519 | $25,006 | $0 | $0 | +7.9% | +7.2% … +10.1% | -106% … +122% | 88% | counted |
| 2020→2021 | $6,680,020 | $7,497,520 | $23,006 | $0 | $0 | +12.6% | +11.1% … +17.2% | -96% … +122% | 99% | counted |
| 2021→2022 | $305,002 | $305,002 | $0 | $0 | $0 | +0.0% | +0.0% … +0.0% | -95% … +95% | 4% | excluded; not eligible: traced coverage 4% < 60% |
| 2022→2023 | $6,541,022 | $7,086,522 | $15,755 | $0 | $0 | +8.6% | +7.4% … +12.3% | -99% … +116% | 96% | counted |
| 2023→2024 | $6,569,016 | $7,188,016 | $20,304 | $0 | $0 | +9.7% | +9.1% … +11.7% | -95% … +115% | 87% | counted |
| 2024→2025 | $6,330,514 | $6,730,514 | $23,954 | $0 | $0 | +6.7% | +6.1% … +8.6% | -100% … +113% | 84% | 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 |
|---|---|---|---|---|---|---|
| 2014 | 7ffeb314-bfc3-472c-96ff-46660763ab82 | Senate annual | 06/11/2015 | 140 | 0 | Senate eFD report8cc59c0ff564ba7519da30773945dcf20ac03b2b9c0fb931431ae87109563ca1 |
| 2015 | caacfbda-c556-4b3c-9cb9-849d99436551 | Senate amendment | 10/11/2016 | 51 | 0 | Senate eFD reportaf66a9cba6fef78328d094a5790a8803cade8491aec9c7d77a20034760490a62 |
| 2016 | 7c429067-215b-4135-a139-294609c4464c | Senate amendment | 09/16/2017 | 54 | 0 | Senate eFD report78672ddabd9019993cf72fa9798ffd1c6b6976f41ea3415613f9efb14fa16845 |
| 2017 | a5641ff5-edce-4913-abcc-567e8937c2b5 | Senate amendment | 10/11/2018 | 50 | 0 | Senate eFD report97e735f593ea16a45e20827209a471d3379e8e7191d64ecc5cdb7927e6ddcc9b |
| 2018 | e38f97a2-e9d3-4d6d-ae4d-515a9be63d49 | Senate amendment | 08/12/2020 | 47 | 0 | Senate eFD reportdda85bf7ab71cbd07da6544ecd47cf33cc76a7a70641c4639ac404dfa51cebb2 |
| 2019 | ed4493b1-aec5-4cb3-a53e-b5173b58f1af | Senate annual | 08/12/2020 | 46 | 0 | Senate eFD reportac63f9a68d8cb234deac36e7f14aea8ef0bf051121198f8cc93582018c29d779 |
| 2020 | 008b142d-54f3-4e9b-8aca-f378eb9b9cf0 | Senate annual | 05/17/2021 | 43 | 0 | Senate eFD report8ac3d5742cb5313a6f94b637f80da9630f5827e3b3b5df2969fcaacb93fe32a7 |
| 2021 | 226a12d6-5d69-4362-accf-175d94e2760b | Senate annual | 07/08/2022 | 41 | 0 | Senate eFD report06af23b5b7d2bd5dcde9f9d67af301b7f4442da45a1028092ad570969dfdf130 |
| 2022 | 33659fbf-ad06-4919-a45f-55792574cc79 | Senate annual | 07/18/2023 | 49 | 0 | Senate eFD reportfb01eb90b21cb32902d1b28371a50164d611ac474b9271fb10d554594939bda3 |
| 2023 | 5f91f59d-3962-48bd-a19f-fa97f502642f | Senate annual | 08/09/2024 | 49 | 0 | Senate eFD report79c31e0090a8293b59f5aadce20e37dcba6168b820a817c3fb42481d3ce99841 |
| 2024 | cb89b62d-ebfa-4739-abb0-3ce34f5533b3 | Senate amendment | 07/26/2026 | 32 | 0 | Senate eFD report2215d4763ce980b98f4ddacce8a884825fdbb7dbf6cd4472f003b84859d6c6d9 |
| 2025 | 33b5d7d8-3980-4062-be85-bb00ca02d0bd | Senate annual | 08/12/2026 | 31 | 0 | Senate eFD report1fb7479226d43eccddc67947c968701eaa5bdcb16e9983a8f5b948e0bf54e227 |
Largest movers 2022→2023
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Morgan Stanley Brokerage Account X066 ⇒ HNACX - Harbor Capital Appreciation Fund - Retirem | JT | held | $100,001 - $250,000 | $250,001 - $500,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IWF - iShares Russell 1000 Growth ETF | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ MWTIX - Metropolitan West Total Return Bond Fd Cl I | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ CIVIX - Causeway International Value Fund - Institutiona | JT | held | $1,001 - $15,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley Brokerage Account X066 ⇒ IXN - iShares Global Tech ETF | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley Brokerage Account X066 ⇒ DODFX - Dodge & Cox International Stock Fund | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ TLT - iShares 20+ Year Treasury Bond ETF | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ WMCVX - Wasatch Small Cap Value Fund | JT | held | $15,001 - $50,000 | $1,001 - $15,000 | $0 | $0 |
Largest movers 2023→2024
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Morgan Stanley IRA Account x065 ⇒ HDGIX - The Hartford Dividend & Growth Fund Class I | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ MAHQX - Blackrock Total Return Fund Class I | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IVV - iShares Core S&P 500 | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ ABNFX - The Bond Fd of America Class F-2 Shares | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IWP - iShares Russell Midcap Growth ETF | JT | held | $1,001 - $15,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IEMG - iShares Core MSCI Emerging Markets ETF | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IWD - Russell 1000 Value Ishares ETF | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ OANMX - Oakmark Fund Institutional Class | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
Largest movers 2024→2025
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Morgan Stanley IRA Account x065 ⇒ IWF - iShares Russell 1000 Growth ETF | JT | held | $100,001 - $250,000 | $250,001 - $500,000 | $0 | $0 |
| Morgan Stanley Brokerage Account X066 ⇒ IWD - iShares Russell 1000 Value ETF | JT | held | $100,001 - $250,000 | $250,001 - $500,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ FBND - Fidelity Total Bond ETF | JT | held | $250,001 - $500,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley Brokerage Account X066 ⇒ IXN - iShares Global Tech ETF | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IWD - Russell 1000 Value Ishares ETF | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Huntersville Residence Description: Primary Residence - House (Huntersville, NC) | JT | held | $1,000,001 - $5,000,000 | $1,000,001 - $5,000,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ IVV - iShares Core S&P 500 | JT | held | $100,001 - $250,000 | $100,001 - $250,000 | $0 | $0 |
| Morgan Stanley IRA Account x065 ⇒ Morgan Stanley (Cornelius, NC) Type: Money Market Accoun | JT | held | $15,001 - $50,000 | $15,001 - $50,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).