Rep. David B. McKinley (R-WV)
House · Republican (most recent term) · WV-1 · in Congress 2011–2023 · Bioguide ID M001180
Party history: R 2011–2023. 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 2011 | 2013 | $4,542,089 | $9,686,543 | $14,830,997 |
| (b) Latest net worth estimate | 2021 | $5,908,099 | $11,089,050 | $16,270,000 |
| (c) Estimated gain / loss, nominal dollars, 2013 → 2021 (8 years spanned) | 2013–2021 | −$8,922,898 | +$1,402,506 | +$11,727,911 |
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 | $10,211,544 | $525,002 | $9,686,543 | $4,542,089 … $14,830,997 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2014 | $10,367,057 | $600,002 | $9,767,055 | $4,438,114 … $15,095,996 | computed; 2 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2015 | $10,557,064 | $557,502 | $9,999,562 | $4,579,129 … $15,419,996 | computed |
| 2016 | $9,375,566 | $282,502 | $9,093,064 | $4,161,131 … $14,024,997 | computed |
| 2017 | $10,479,570 | $0 | $10,479,570 | $5,224,139 … $15,735,000 | computed |
| 2018 | $6,739,056 | $0 | $6,739,056 | $3,839,113 … $9,639,000 | computed |
| 2019 | $7,693,545 | $0 | $7,693,545 | $4,657,090 … $10,730,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2020 | $10,633,560 | $0 | $10,633,560 | $5,457,120 … $15,810,000 | computed |
| 2021 | $11,089,050 | $0 | $11,089,050 | $5,908,099 … $16,270,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.
2016 -17%
Reliability flags: few years (4); 4 unparsed value(s).
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): -8.1% to -7.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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2013→2014 | $9,098,538 | $8,687,032 | $86,364 | $24,002 | $0 | -3.8% | -4.1% … -3.7% | -102% … +94% | 91% | counted |
| 2014→2015 | $9,119,051 | $9,039,054 | $80,519 | $894,018 | $271,504 | -6.8% | -7.0% … -6.2% | -115% … +102% | 90% | counted; many new/exited positions |
| 2015→2016 | $9,758,562 | $8,248,559 | $36,620 | $475,510 | $275,008 | -17.2% | -21.6% … -15.7% | -117% … +83% | 92% | counted |
| 2016→2017 | $8,682,057 | $8,617,054 | $48,316 | $706,517 | $636,508 | -1.0% | -1.7% … +1.3% | -113% … +111% | 93% | counted |
| 2017→2018 | $4,085,030 | $4,470,038 | $18,654 | $1,937,024 | $336,505 | -29.3% | -30.2% … -28.9% | -143% … +85% | 39% | excluded; not eligible: traced coverage 39% < 60%; many new/exited positions |
| 2018→2019 | $2,744,038 | $2,871,026 | $27,061 | $342,506 | $391,506 | +7.4% | +4.4% … +15.6% | -98% … +112% | 41% | excluded; not eligible: traced coverage 41% < 60% |
| 2019→2020 | $3,492,531 | $2,564,532 | $6,206 | $516,518 | $374,508 | -30.5% | -31.9% … -29.9% | -122% … +61% | 46% | excluded; not eligible: traced coverage 46% < 60% |
| 2020→2021 | $266,002 | $512,005 | $2,952 | $180,004 | $83,001 | +57.1% | +52.2% … +59.1% | -127% … +242% | 3% | excluded; not eligible: traced coverage 3% < 60%; many new/exited positions |
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 | 10003938 | House amendment | 8/7/2014 | 125 | 1 | 10003938.pdfbb3dc7c402c6f6377b0641bf792448c187338bea3a9aa319da4b3f5082dcd954 |
| 2014 | 10005696 | House annual | 5/13/2015 | 129 | 2 | 10005696.pdf59b35cab16acfb520915e06bab251a301195832d7c823d09865261a8ad97e95b |
| 2015 | 10010298 | House annual | 5/13/2016 | 154 | 0 | 10010298.pdfe4523d6b5ce43d47fceb11720a8f90b9a3dde46a5805d63425ee85d6fa74934b |
| 2016 | 10015076 | House annual | 5/15/2017 | 161 | 0 | 10015076.pdf02ae62001a0d16ca4c8a6c08ac8f7e63255546258c08fee63a90ad7fed81daed |
| 2017 | 10020402 | House annual | 5/11/2018 | 175 | 0 | 10020402.pdf0844fffbffee1ad07b2e4e38ba14dfac042143af5e822128626407f40b044cde |
| 2018 | 10025709 | House annual | 5/13/2019 | 186 | 0 | 10025709.pdf57fb5d76c11e317ed711cfbae0c6f76ae4683bec001c719576f308349105d418 |
| 2019 | 10035110 | House annual | 7/23/2020 | 138 | 1 | 10035110.pdf282473ae0cf48f2590024c3e0621fe679f4add8696e66171d33499fc22b8e314 |
| 2020 | 10040330 | House annual | 8/11/2021 | 147 | 0 | 10040330.pdfe825f074e0ed6b191bad40b21a2e9f58886215f20a53943ced0ede246a8023d0 |
| 2021 | 10046123 | House annual | 5/12/2022 | 110 | 0 | 10046123.pdf4b71b53b668f1e1ab411be54044f8435ea32ac66223398d2ff947c3107f84c1d |
Largest movers 2014→2015
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Osterweis Strategic Income FD OSTIX | JT | held | $100,001 - $250,000 | None | $0 | $0 |
| Neuberger Berman aBS Return NaBIX | JT | held | $100,001 - $250,000 | None | $0 | $0 |
| Templeton Global Bond Fund TGBaX | JT | held | $100,001 - $250,000 | None | $0 | $0 |
| Fidelity Tax Free Money Market Fund FMOXX | JT | held | $100,001 - $250,000 | $15,001 - $50,000 | $0 | $0 |
| IRa's ⇒ Rollover IRa ⇒ Neuberger Berman aBS Return NaBIX | — | held | $50,001 - $100,000 | None | $0 | $0 |
| UBS aG ETN (MLPI) | JT | held | $50,001 - $100,000 | None | $0 | $0 |
| IRa's ⇒ Rollover IRa ⇒ Fidelity Cash Reserves FDRXX | — | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| Oppenheimer Dev Markets FD ODVYX | JT | held | $15,001 - $50,000 | None | $0 | $75,000 |
Largest movers 2015→2016
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| Real Estate Ownership and Partnerships ⇒ DEaB II Rental Property ⇒ DEaB II Rental Property | — | held | $500,001 - $1,000,000 | None | $0 | $0 |
| Vanguard Intermediate Tax Exempt admiral VWIUX | JT | held | $250,001 - $500,000 | $100,001 - $250,000 | $0 | $0 |
| John Hancock Gl absolute Return FD JHaIX | JT | held | $100,001 - $250,000 | None | $0 | $0 |
| Touchstone Flexible incom Fund -MXIIX | JT | new | — | $50,001 - $100,000 | $175,000 | $0 |
| First Trust amex Biotech Index Fund (FBT) | JT | held | $100,001 - $250,000 | $50,001 - $100,000 | $0 | $0 |
| First Trust Dorsey Wright Focus 5 ETF (FV) | JT | held | $50,001 - $100,000 | None | $0 | $0 |
| First Trust North american Energy Infrastructure Fund (EMLP) | JT | held | $15,001 - $50,000 | $50,001 - $100,000 | $0 | $0 |
| IRa's ⇒ Rollover IRa ⇒ Fidelity Cash Reserves FDRXX | — | held | $50,001 - $100,000 | $15,001 - $50,000 | $0 | $0 |
Largest movers 2016→2017
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| IRa's ⇒ IRa- Spouse ⇒ Russell Lifepoints Growth Strategy [MF] | — | held | $100,001 - $250,000 | None | $0 | $0 |
| Retirement Plans ⇒ OVHS&E Retirement Plans ⇒ OVHS&E Retirement Plans [MF] | — | held | $50,001 - $100,000 | None | $0 | $225,002 |
| Robeco Boston Prtns Lg/SH Research FD BPIRX [MF] | JT | held | $100,001 - $250,000 | $50,001 - $100,000 | $0 | $0 |
| First Trust amex Biotech Index Fund (FBT) [ET] | JT | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Retirement Plans ⇒ OVHS&E Retirement Plans ⇒ Vanguard Equity Ic admiral Fund [MF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| Retirement Plans ⇒ OVHS&E Retirement Plans ⇒ Delaware SMID Cap Growth [MF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| IRa's ⇒ Rollover IRa ⇒ IShares 7-10 Yr Teas Bond ETF IEF [EF] | — | held | $50,001 - $100,000 | None | $0 | $0 |
| Retirement Plans ⇒ OVHS&E Retirement Plans ⇒ T Rowe Price Blue Chip Growth FD [MF] | — | held | $50,001 - $100,000 | None | $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).