Official portrait of Rep. Ryan A. Costello (R-PA)
Official portrait: unitedstates/images (public domain; source GPO Member Guide)

Rep. Ryan A. Costello (R-PA)

House · Republican (most recent term) · PA-6 · in Congress 2015–2019 · Bioguide ID C001106

Party history: R 2015–2019. 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 2014)2014−$680,985−$47,994$584,996
(b) Latest net worth estimate2017$17,014$373,506$729,999
(c) Estimated gain / loss, nominal dollars, 2014 → 2017 (3 years spanned)2014–2017−$567,982+$421,501+$1,410,984

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
2014$752,008$800,002−$47,994−$680,985 … $584,996computed
2015$377,007$550,001−$172,994−$580,986 … $234,998computed
2016$377,007$175,000$202,006−$80,986 … $484,999computed
2017$548,507$175,000$373,506$17,014 … $729,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.)+14.8%
Simple average of years+16.5%
Years estimated3
Best / worst single year2017 +45%
2015 +1%

Reliability flags: few years (3).

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

-10%0%45%201520162017

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
2014→2015$752,008$377,007$10,000$0$375,000 +1.3%+1.2% … +1.4%-88% … +91%100%counted
2015→2016$377,007$377,007$10,000$0$0 +2.7%+2.6% … +3.0%-109% … +114%100%counted
2016→2017$377,007$548,507$0$0$0 +45.5%+41.9% … +58.0%-84% … +175%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 yearDoc IDTypeFiledSchedule A rowsRows with unparsed valueSource (official filing) / SHA-256
201410008606House amendment9/16/201517010008606.pdf
94b10a9f3eb602403b5784fbb0aa3ad765e52d06251167b0c763c4f103a94b2d
201510013276House amendment6/29/201615010013276.pdf
0a8c0e78562beb7fb5aa01ab2924b562208ab9af7e81c254af4e4a81e5949495
201610016035House annual5/9/201714010016035.pdf
117fc6e80054c3ab7be0738f956ba5c27d2b8541128cdfa25eac2aedbb37d208
201710023100House annual5/15/201814010023100.pdf
d1f7e861ddf46c3c2a20f1b72e9199213affa490b6beda588b1d4e2a7446e810

Largest movers 2014→2015

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Residential Real Estate ⇒ Residential Real Estate -West Chester—held$250,001 - $500,000None$0$375,000
County of Chester 457(b) ⇒ Vanguard mid-Cap Index Signal—held$1,001 - $15,000$1,001 - $15,000$0$0
Principal Financial Group 401(k) ⇒ Principal Global Investors/DFA—held$1,001 - $15,000$1,001 - $15,000$0$0
County of Chester 457(b) ⇒ Vanguard Growth Index FD Signal—held$1,001 - $15,000$1,001 - $15,000$0$0
Principal Financial Group 401(k) ⇒ Principal Global Investors Div. Int Sep Acct.—held$15,001 - $50,000$15,001 - $50,000$0$0
Principal Financial Group 401(k) ⇒ Columbus Circle Investors Large Cap—held$15,001 - $50,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard Total International Index Signal—held$1,001 - $15,000$1,001 - $15,000$0$0
Residential Real Estate ⇒ Residential Real Estate - East Vincent—held$100,001 - $250,000$100,001 - $250,000$0$0

Largest movers 2015→2016

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
County of Chester 457(b) ⇒ Vanguard mid-Cap Index Signal—held$1,001 - $15,000$1,001 - $15,000$0$0
Principal Financial Group 401(k) ⇒ Principal Global Investors/DFA—held$1,001 - $15,000$1,001 - $15,000$0$0
County of Chester 457(b) ⇒ Vanguard Growth Index FD Signal—held$1,001 - $15,000$1,001 - $15,000$0$0
Principal Financial Group 401(k) ⇒ Principal Global Investors Div. Int Sep Acct.—held$15,001 - $50,000$15,001 - $50,000$0$0
Principal Financial Group 401(k) ⇒ Columbus Circle Investors Large Cap—held$15,001 - $50,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard Total International Index Signal—held$1,001 - $15,000$1,001 - $15,000$0$0
Residential Real Estate ⇒ Residential Real Estate - East Vincent—held$100,001 - $250,000$100,001 - $250,000$0$0
County of Chester 457(b) ⇒ Vanguard Emerging markets Index Signal—held$1,001 - $15,000$1,001 - $15,000$0$0

Largest movers 2016→2017

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
County of Chester 457(b) ⇒ Vanguard Mid-Cap Index Signal [MF]—held$1,001 - $15,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard Growth Index FD Signal [MF]—held$1,001 - $15,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard Total International Index Signal [MF]—held$1,001 - $15,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard Emerging Markets Index Signal [MF]—held$1,001 - $15,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒—held$1,001 - $15,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard European Stock Index FD [MF]—held$1,001 - $15,000$15,001 - $50,000$0$0
County of Chester 457(b) ⇒ Vanguard Large Cap Index Signal [MF]—held$1,001 - $15,000$15,001 - $50,000$0$0
Principal Financial Group 401(k) ⇒ Principal Global Investors/DFA [MF]—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).