Rep. Mac Thornberry (R-TX)
House · Republican (most recent term) · TX-13 · in Congress 1995–2021 · Bioguide ID T000238
Party history: R 1995–2021. 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 1995 | 2013 | −$687,993 | −$228,997 | $229,999 |
| (b) Latest net worth estimate | 2019 | −$395,994 | $207,002 | $809,998 |
| (c) Estimated gain / loss, nominal dollars, 2013 → 2019 (6 years spanned) | 2013–2019 | −$625,993 | +$435,999 | +$1,497,991 |
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 |
|---|---|---|---|---|---|
| 2013 | $521,004 | $750,000 | −$228,997 | −$687,993 … $229,999 | computed |
| 2014 | $471,505 | $375,000 | $96,504 | −$226,990 … $419,999 | computed |
| 2015 | $1,014,006 | $750,001 | $264,004 | −$377,989 … $905,998 | computed |
| 2016 | $998,002 | $750,001 | $248,002 | −$368,995 … $864,998 | computed |
| 2017 | $997,504 | $750,001 | $247,503 | −$379,992 … $874,998 | computed |
| 2018 | $957,003 | $750,001 | $207,002 | −$395,994 … $809,998 | computed |
| 2019 | $957,003 | $750,001 | $207,002 | −$395,994 … $809,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.
2018 -3%
Reliability flags: 2/5 years trading-dominated; 1 year(s) driven by income/one position/range artefact.
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +14.8% to +12.6%. 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 | $488,503 | $471,505 | $43,406 | $56,004 | $65,001 | +7.2% | +6.4% … +7.6% | -95% … +109% | 94% | counted; many new/exited positions |
| 2014→2015 | $463,504 | $831,004 | $502 | $8,000 | $8,000 | +79.4% | +74.4% … +91.5% | -32% … +191% | 98% | counted; single position drives the result (range jump) |
| 2015→2016 | $981,503 | $998,002 | $1,902 | $32,500 | $16,001 | +0.2% | +0.1% … +0.2% | -78% … +78% | 97% | counted; many new/exited positions |
| 2016→2017 | $248,002 | $231,502 | $902 | $24,002 | $48,502 | +3.6% | +0.9% … +4.5% | -111% … +118% | 25% | excluded; not eligible: traced coverage 25% < 60%; many new/exited positions |
| 2017→2018 | $989,504 | $957,003 | $100 | $0 | $0 | -3.3% | -3.7% … -2.4% | -76% … +70% | 99% | counted |
| 2018→2019 | $957,003 | $957,003 | $100 | $0 | $0 | +0.0% | +0.0% … +0.0% | -74% … +74% | 100% | 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 | 10001574 | House annual | 5/9/2014 | 7 | 0 | 10001574.pdf98e234cfbeacdb61852c3452c093a84ce611a98ee12c261628a6e80ebcaa369e |
| 2014 | 10005536 | House annual | 5/14/2015 | 14 | 0 | 10005536.pdfe58ab0bea6422cc10cf4ed2019d590335c66d1b4f9770d0b8d36d867b90dfeb1 |
| 2015 | 10010344 | House annual | 7/13/2016 | 11 | 0 | 10010344.pdfe0724ab9f1d1faa9a3aafba3451ea863c34088264a81d82b12008e158ce55948 |
| 2016 | 10016340 | House annual | 5/15/2017 | 5 | 0 | 10016340.pdfc1839e8702312f0860b46bb4b659eb5547610255afa323df0a03c05b4d7d871a |
| 2017 | 10022857 | House annual | 6/14/2018 | 10 | 0 | 10022857.pdffa11ab3c68e26ce180ebf31311671ad8e66e861ad348603e6dcc99af2b35db2a |
| 2018 | 10028127 | House annual | 6/13/2019 | 10 | 0 | 10028127.pdf0656e95a5f213ec97ffc1dbf9e6956174502b16ae05b4c9785ca59dd9fd01eda |
| 2019 | 10037453 | House annual | 8/13/2020 | 6 | 0 | 10037453.pdfef985eeb3fca58bd4beec468112deeba3b77cd2dbbd948f4dfa66bc80179c51e |
Largest movers 2015→2016
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| TD Ameritrade ⇒ TACTICAL PLUS CLSD-END 2/17/17 | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| TD Ameritrade ⇒ 1290 BUSINESS DEV COM OPPTYS | SP | exited | $1,001 - $15,000 | — | $0 | $8,000 |
| Congressional Federal Credit Union | — | held | $15,001 - $50,000 | $15,001 - $50,000 | $0 | $0 |
| TD Ameritrade ⇒ 1716 HIGH 50 DIV STGY 12/18/17 | SP | new | — | $15,001 - $50,000 | $32,500 | $0 |
| Thornberry Brothers Cattle Partnership, 33% interest | — | held | $500,001 - $1,000,000 | $500,001 - $1,000,000 | $0 | $0 |
| T3 Cattle, LLC, 33% interest | — | held | $100,001 - $250,000 | $100,001 - $250,000 | $0 | $0 |
| TD Ameritrade ⇒ MSCI BRIC ETF | SP | exited | $1,001 - $15,000 | — | $0 | $8,000 |
Largest movers 2017→2018
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Congressional Federal Credit Union [BA] | — | held | $15,001 - $50,000 | $1,001 - $15,000 | $0 | $0 |
| TD Ameritrade ⇒ Direxion Zacks MLP High Income Index ETF (ZMLP) | SP | held | $1,001 - $15,000 | None | $0 | $0 |
| TD Ameritrade ⇒ COUNTERPOINT TACT INC (CPATX) [MF] | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| TD Ameritrade ⇒ Blackrock Enhanced Equity Dividend Trust (BDJ) [ST] | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| T3 Cattle, LLC, 33% interest [OL] | — | held | $100,001 - $250,000 | $100,001 - $250,000 | $0 | $0 |
| TD Ameritrade ⇒ S&P 500 EQUAL WEIGHT ETF (RSP) [EF] | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Thornberry Brothers Cattle Partnership, 33% interest [OL] operations. | — | held | $500,001 - $1,000,000 | $500,001 - $1,000,000 | $0 | $0 |
Largest movers 2018→2019
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| TD Ameritrade ⇒ S&P 500 EQUAL WEIGHT ETF (RSP) [EF] | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Congressional Federal Credit Union [BA] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| TD Ameritrade ⇒ COUNTERPOINT TACT INC (CPATX) [MF] | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Thornberry Brothers Cattle Partnership, 33% interest [OL] operations. | — | held | $500,001 - $1,000,000 | $500,001 - $1,000,000 | $0 | $0 |
| TD Ameritrade ⇒ Blackrock Enhanced Equity Dividend Trust (BDJ) [ST] | SP | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| T3 Cattle, LLC, 33% interest [OL] | — | 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).