Official portrait of Rep. John R. Moolenaar (R-MI)
Official portrait: unitedstates/images (public domain; source GPO Member Guide)

Rep. John R. Moolenaar (R-MI)

House · Republican (most recent term) · MI-2 · in Congress 2015–present · Bioguide ID M001194

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)

EstimateReport yearLowMidHigh
(a) Estimated net worth before entering office (report year 2015, the member's first year in office)2015$6,045$361,522$716,999
(b) Latest net worth estimate2025$141,019$524,009$906,999
(c) Estimated gain / loss, nominal dollars, 2015 → 2025 (10 years spanned)2015–2025−$575,980+$162,487+$900,954

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 yearAssets (mid)Liabilities (mid)Net worth midLow … HighStatus / flags
2015$436,522$75,000$361,522$6,045 … $716,999computed
2016$421,522$75,000$346,522$4,045 … $688,999computed
2017$411,520$75,000$336,520$3,040 … $669,999computed
2018$412,521$75,000$337,520$3,042 … $671,999computed
2019$493,519$107,501$386,018$7,038 … $764,998computed
2020$504,518$77,501$427,016$73,035 … $780,998computed
2021$594,519$12,500$582,019$217,038 … $947,000computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket
2022$492,508$187,500$305,008−$29,983 … $639,999computed
2023$508,510$187,500$321,009−$27,981 … $669,999computed
2024$540,512$187,500$353,011−$23,977 … $729,999computed
2025$711,510$187,500$524,009$141,019 … $906,999computed
Read this first. Members report asset values only as ranges (e.g. “$15,001 – $50,000”), never exact dollars. Every figure below is an estimate computed from range midpoints, not a measured return. Figures cannot be interpreted as investment performance, and they do not show wrongdoing or skill. Methodology and limitations are at the end and in the project README. Sources: public financial disclosure reports filed with the Clerk of the U.S. House of Representatives and/or the Secretary of the Senate (Senate eFD), linked below.
Avg. annual change (geometric, est.)-11.7%
Simple average of years-5.4%
Years estimated8
Best / worst single year2022 +25%
2024 -70%

Reliability flags: 1 year(s) driven by income/one position/range artefact; 1 unparsed value(s).

Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): -9.9% to -11.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

-70%0%25%20162017201820192020202220232024

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. gainSame-position bandStrict envelopeTraced coverageStatus / flags
2015→2016$395,519$380,018$0$24,002$0 -10.0%-10.7% … -5.0%-161% … +141%91%counted
2016→2017$404,520$411,520$0$56,004$40,002 -2.2%-2.4% … -1.0%-174% … +170%96%counted
2017→2018$395,519$372,518$0$8,000$8,000 -5.8%-6.2% … -3.0%-153% … +142%96%counted
2018→2019$404,520$485,518$0$56,004$56,004 +20.0%+15.3% … +52.9%-160% … +200%98%counted
2019→2020$493,519$488,516$0$8,000$8,000 -1.0%-4.7% … +18.5%-133% … +131%100%counted
2020→2021$204,504$357,510$0$120,008$72,004 +51.3%+35.4% … +56.5%-189% … +291%41%excluded; not eligible: traced coverage 41% < 60%; many new/exited positions
2021→2022$454,516$72,503$0$96,504$590,522 +24.6%+15.3% … +26.7%-155% … +204%87%counted; high turnover (buys+sells > 100% of opening value); many new/exited positions
2022→2023$468,507$468,507$100$64,004$72,004 +1.7%+0.4% … +2.2%-125% … +128%95%counted
2023→2024$436,006$161,506$100$88,006$56,004 -70.3%-77.4% … -67.9%-174% … +34%86%counted; many new/exited positions; single position drives the result (range jump)
2024→2025$129,005$679,007$0$176,510$219,508 +459.7%+352.7% … +1078.7%-46% … +965%24%excluded; not eligible: traced coverage 24% < 60%; high turnover (buys+sells > 100% of opening value); 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 yearDoc IDTypeFiledSchedule A rowsRows with unparsed valueSource (official filing) / SHA-256
201510013224House amendment6/22/201645010013224.pdf
9161288447a035d50136cc8202bfd73bc0577ef43c2317cab84abd6f3d21ff1c
201610018451House amendment8/22/201751010018451.pdf
0c2021df8a8c16dbcc012db7926b0387d0375f5f362b6bdce9009568c4b016d9
201710024007House amendment6/28/201845010024007.pdf
b6764012d5fd0158d7c10d94da9c8d5b84fa7d401508ed6cc48768fb978ffa47
201810026108House annual5/14/201945010026108.pdf
0de05aa21eb6503a3c32bbdfbb2554c71591141aaa137cb1ccd0859a6af76ca1
201910037639House annual8/10/202046010037639.pdf
c5f9435d0ccfd8e01da91e6678c7a65b9fdf62d806471030605bffa1fccd3095
202010042174House annual8/13/202141010042174.pdf
4e3341bbc732ef6de1b4c74cadab15632c9a28de6b976a8bcd04b1c1a6840353
202110047947House annual5/16/202238110047947.pdf
2e7c860577d17c90f165c467b82572ce119bdcdaff28ec951f704229e989cb6b
202210054706House annual8/13/202317010054706.pdf
c452a80010af31ec58ee9566fee242d7ac597bde242b4714af87840b8070a2c8
202310060292House annual8/20/202419010060292.pdf
12a3bf9e4673fc9ce051670fc16eda6d3bd6808bbf4c5672bec94738d5f57a9c
202410067758House annual5/14/202523010067758.pdf
e671ee470cc738ba5e99b08834da773404234614abfec87a5cacea89d0610e5e
202510076468House annual5/14/202619010076468.pdf
928bf7a5350ecb787457bf02b0a32ca7c6515e0d356e5fad1834428d18c8e8dc

Largest movers 2021→2022

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Amy Moolenaar Roth IRA ⇒ iShares ESG Aware MSCI EM ETF (ESGE) [ST]SPexited$1,001 - $15,000—$0$32,500
John Moolenaar IRA ⇒ iShares ESG Aware MSCI USA ETF (ESGU) [ST]—exited$15,001 - $50,000—$0$8,000
Amy Moolenaar Roth IRA ⇒ iShares Core S&P 500 ETF (IVV) [ST]SPexited$15,001 - $50,000—$8,000$65,001
Amy Moolenaar Roth IRA ⇒ iShares MSCI EAFE Growth ETF (EFG) [ST]SPexited$1,001 - $15,000—$0$32,002
John Moolenaar IRA ⇒ iShares Core S&P 500 ETF (IVV) [ST]—exited$15,001 - $50,000—$16,001$32,500
Amy Moolenaar Roth IRA ⇒ iShares U.S. Energy ETF (IYE) [ST]SPexited$1,001 - $15,000—$0$24,002
Amy Moolenaar Roth IRA ⇒ iShares MSCI EAFE Value ETF (EFV) [ST]SPexited$1,001 - $15,000—$0$16,001
Amy Moolenaar Roth IRA ⇒ iShares Global Tech ETF (IXN) [ST]SPexited$1,001 - $15,000—$0$16,001

Largest movers 2022→2023

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Filer Rollover IRA ⇒ Strategic Advisers Fidelity U.S. Total Stock Fund (FCTDX) [MF]—held$100,001 - $250,000$100,001 - $250,000$16,001$32,002
Filer Rollover IRA ⇒ Strategic Advisers Fidelity International Fund (FUSIX) [MF]—held$15,001 - $50,000$15,001 - $50,000$16,001$0
Spouse Rollover IRA ⇒ Strategic Advisers Fidelity U.S. Total Stock Fund (FCTDX) [MF]SPheld$15,001 - $50,000$15,001 - $50,000$0$16,001
Filer Rollover IRA ⇒ Strategic Advisers Fidelity Core Income Fund (FIWGX) [MF]—held$50,001 - $100,000$50,001 - $100,000$32,002$16,001
Filer Rollover IRA ⇒ Strategic Advisers Fidelity Emerging Markets Fund (FGOMX) [MF]—held$15,001 - $50,000$15,001 - $50,000$0$8,000
Fidelity Money Market Account [BA]SPheld$15,001 - $50,000$15,001 - $50,000$0$0
Filer Rollover IRA ⇒ Fidelity SAI High Income Fund (FSHGX) [MF]—held$1,001 - $15,000$1,001 - $15,000$0$0
Spouse Rollover IRA ⇒ Strategic Advisers Fidelity International Fund (FUSIX) [MF]SPheld$1,001 - $15,000$1,001 - $15,000$0$0

Largest movers 2023→2024

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Filer Rollover IRA ⇒ Strategic Advisers Fidelity U.S. Total Stock Fund (FCTDX) [MF]—exited$100,001 - $250,000—$16,001$32,002
Filer Rollover IRA ⇒ Strategic Advisers Fidelity Core Income Fund (FIWGX) [MF]—exited$50,001 - $100,000—$16,001$8,000
Filer Rollover IRA ⇒ Strategic Advisers Fidelity Emerging Markets Fund (FGOMX) [MF]—exited$15,001 - $50,000—$16,001$8,000
Spouse Rollover IRA ⇒ Strategic Advisers Fidelity U.S. Total Stock Fund (FCTDX) [MF]SPheld$15,001 - $50,000$15,001 - $50,000$16,001$0
Filer Rollover IRA ⇒ Fidelity SAI Inflation-Protected Bond Index Fund (FSPWX)—new—$1,001 - $15,000$16,001$0
Fidelity Money Market Account [BA]SPheld$15,001 - $50,000$15,001 - $50,000$0$0
Spouse Rollover IRA ⇒ Fidelity SAI Inflation-Protected Bond Index Fund (FSPWX) [MF]SPnew—$1,001 - $15,000$8,000$0
Filer Rollover IRA ⇒ Brokerage sweep account [BA]—held$1,001 - $15,000$1,001 - $15,000$0$0

Method (summary)

  1. 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.
  2. 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.
  3. 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).
  4. 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

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).