Rep. Kelly Armstrong (R-ND)
House · Republican (most recent term) · ND-0 · in Congress 2019–2024 · Bioguide ID A000377
Party history: R 2019–2024. 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 2018) | 2018 | $4,787,350 | $10,504,175 | $16,221,000 |
| (b) Latest net worth estimate | 2023 | $6,969,572 | $15,242,286 | $23,515,000 |
| (c) Estimated gain / loss, nominal dollars, 2018 → 2023 (5 years spanned) | 2018–2023 | −$9,251,428 | +$4,738,111 | +$18,727,650 |
Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.
Reliability flags (net worth): 2023: 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 |
|---|---|---|---|---|---|
| 2018 | $10,504,175 | $0 | $10,504,175 | $4,787,350 … $16,221,000 | computed |
| 2019 | $12,270,239 | $0 | $12,270,239 | $5,414,478 … $19,126,000 | computed |
| 2020 | $12,999,744 | $0 | $12,999,744 | $5,852,489 … $20,147,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 | $14,147,260 | $0 | $14,147,260 | $6,472,519 … $21,822,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2022 | $14,864,275 | $0 | $14,864,275 | $6,819,550 … $22,909,000 | computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket |
| 2023 | $15,242,286 | $0 | $15,242,286 | $6,969,572 … $23,515,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.
2022 +5%
Reliability flags: 4 unparsed value(s).
Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +9.0% to +7.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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2018→2019 | $10,471,172 | $10,414,172 | $819,715 | $0 | $0 | +7.3% | +7.0% … +8.3% | -105% … +119% | 100% | counted |
| 2019→2020 | $12,180,734 | $12,060,228 | $907,328 | $0 | $0 | +6.5% | +6.0% … +8.0% | -108% … +121% | 99% | counted |
| 2020→2021 | $12,537,235 | $13,321,746 | $959,638 | $0 | $0 | +13.9% | +13.1% … +16.6% | -103% … +131% | 97% | counted |
| 2021→2022 | $9,681,065 | $9,991,570 | $451,204 | $310,504 | $0 | +4.7% | +4.5% … +5.1% | -102% … +111% | 69% | counted |
| 2022→2023 | $14,282,272 | $14,253,265 | $933,996 | $0 | $0 | +6.3% | +6.0% … +7.5% | -106% … +119% | 99% | 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 |
|---|---|---|---|---|---|---|
| 2018 | 10031203 | House amendment | 12/10/2019 | 356 | 0 | 10031203.pdf166a87dda05251864a572fc10f6665117267860ad2b64fdf18e88da0fd5d57a5 |
| 2019 | 10036965 | House annual | 8/13/2020 | 483 | 0 | 10036965.pdf86a8f314fc997662c269567ab8f3f853917ab2729613df3b8d82a6bf689be37b |
| 2020 | 10042511 | House annual | 8/12/2021 | 512 | 1 | 10042511.pdf648581201bdedd9ddd3a4eb419ee5aeff7e50ce2b06f1a0c910b4833f4c48446 |
| 2021 | 10046449 | House annual | 8/12/2022 | 524 | 1 | 10046449.pdfca9fe9f00faa7c4d7b398cdf3c975eb0005386e3df9da21ee76eda9d662c1c72 |
| 2022 | 10062738 | House amendment | 8/12/2024 | 555 | 1 | 10062738.pdfe426075740e27cc3437c1a4fe463b98b6d49cd0b1537a68d11c4ff90cbe5dfd9 |
| 2023 | 10057429 | House annual | 8/12/2024 | 577 | 1 | 10057429.pdf9ab4c219dcdc9f2531529a0c5f358348d421ee7437c8ebd82d5087d0696066cd |
Largest movers 2020→2021
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| ND College Save [5P] | — | held | $100,001 - $250,000; $100,001 - $250,000 | $250,001 - $500,000; $250,001 - $500,000 | $0 | $0 |
| Armstong Childrens Trust ⇒ | — | held | $1,001 - $15,000; $1,001 - $15,000; $1 - $1,000; $1,001 - $15,000; $1 - $1,000; $1 - $1,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1 - $1,000; $1,001 - $15,000; $1,001 - $15,000; $1 - $1,000; $1 - $1,000; $15,001 - $50,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| Kirkwood Bank Savings [BA] | SP | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| Armstrong Oil, LLC ⇒ Boggs 29-32-30-31 THD [OL] | — | held | $1 - $1,000 | $50,001 - $100,000; $1 - $1,000 | $0 | $0 |
| Armstong Childrens Trust ⇒ DIORITE 147-93-16B-21H-TF [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000; $15,001 - $50,000 | $0 | $0 |
| 4 Point Investments, LLC ⇒ Limousin 6-3H [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| Armstong Childrens Trust ⇒ STATE DOUBLE DODGE 1a TFH-ULW [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| Armstong Childrens Trust ⇒ STATE DODGE 2B MBH [OL] | — | held | $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
Largest movers 2021→2022
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| T ROWE PRICE SUMMIT [MF] | — | new | — | $50,001 - $100,000 | $32,500 | $0 |
| T ROWE PRICE SUMMIT MUN FDS [MF] | — | new | — | $15,001 - $50,000 | $75,000 | $0 |
| 4 Point Investments, LLC ⇒ Kubas 44-7PH [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Armstrong Oil, LLC ⇒ Ashlin 5300 44-12B [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| HARTFORD MUT FDS INC INTL OPP CL Y [MF] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| 4 Point Investments, LLC ⇒ Klatt 145-97-19C-18-5H [OL] | — | held | $15,001 - $50,000 | $15,001 - $50,000 | $0 | $0 |
| Kelly Armstrong Childrens Trust ⇒ Am Funds Cap World Growth [MF] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Armstrong Oil, LLC ⇒ Patterson Lake-LP Unit [OL] | — | held | $250,001 - $500,000 | $250,001 - $500,000 | $0 | $0 |
Largest movers 2022→2023
| Position (as written in filing) | Owner | Kind | Opening range(s) | Closing range(s) | Buys (mid) | Sales (mid) |
|---|---|---|---|---|---|---|
| 4 POINT INVESTMENTS- LLC ⇒ | — | held | $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1 - $1,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $15,001 - $50,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000; $1,001 - $15,000 | $0 | $0 |
| Kirkwood Bank Savings [BA] | — | held | $50,001 - $100,000 | $100,001 - $250,000 | $0 | $0 |
| 4 POINT INVESTMENTS- LLC ⇒ DIORITE 147-93-16B-21H-TF [OL] | — | held | $15,001 - $50,000 | $15,001 - $50,000; $1,001 - $15,000 | $0 | $0 |
| 4 POINT INVESTMENTS- LLC ⇒ BB SIVERTSON LN 151-95-1719H-1 [OL] | — | held | $1,001 - $15,000; $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| 4 POINT INVESTMENTS- LLC ⇒ Anderson 152-96-26B-25-2HS [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| 4 Point Investments, LLC ⇒ Kubas 44-7PH [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| Armstrong Oil, LLC ⇒ Ashlin 5300 44-12B [OL] | — | held | $1,001 - $15,000 | $1,001 - $15,000 | $0 | $0 |
| HARTFORD MUT FDS INC INTL OPP CL Y [MF] | — | held | $1,001 - $15,000 | $1,001 - $15,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).