CASTORANI, JOHN
R Β· house
Sign in to add to a watchlist β
- FEC candidate id
H2VA07154- Internal id
8f445182-2b83-4fa3-93a4-a18707b942bc- Status
- challenger
Who this candidate represents
Who lives here β American Community Survey 5-year estimates (2024), VA-07. Source.
| Category | Metric | Value |
|---|---|---|
| People | Population | 806,870 |
| People | Median age | 37 |
| Income | Median household income | $113,817 |
| Income | Per-capita income | $47,986 |
| Income | In poverty | 7.3% |
| Income | Unemployed | 4.5% |
| Income | Gini inequality index | 0.399 |
| Race | White alone | 52.9% |
| Race | Black alone | 20.3% |
| Race | Asian alone | 5.2% |
| Race | Hispanic or Latino | 17.9% |
| Race | Two or more races | 12.3% |
| Origin | Foreign-born | 16.3% |
| Language | Speaks English only at home | 77.3% |
| Language | Speaks Spanish at home | 13.1% |
| Education | High school or higher | 63.0% |
| Education | Bachelor's or higher | 37.7% |
| Education | Advanced degree | 15.1% |
| Household | Family households | 73.3% |
| Household | Avg household size | 2.87 |
| Household | Never married (15+) | 31.7% |
| Housing | Median home value | $438,000 |
| Housing | Median gross rent | $1,813 |
| Housing | Single-family detached | 68.3% |
| Housing | Built before 1940 | 1.5% |
| Housing | Overcrowded (>1 per room) | 3.0% |
| Housing | Vacant units | 4.9% |
| Service | Veterans (18+) | 12.9% |
| Health | With a disability | 10.4% |
| Connectivity | Households with broadband | 94.8% |
| Connectivity | Households with no internet | 3.9% |
| Commute | Drove alone | 68.2% |
| Commute | Public transit | 1.9% |
| Commute | Worked from home | 16.6% |
Cycle financials
Source: FEC weball bulk file (cycle summary). Numbers in USD; 0 = no activity reported.
| Cycle | Raised | Spent | Cash on hand | Debts | Indiv. contribs. |
|---|---|---|---|---|---|
| 2026 | $0 | $0 | $10,650 | $26,168 | $0 |
| 2024 | $0 | $0 | $10,650 | $26,168 | $0 |
| 2022 | $331,432 | $320,783 | $10,650 | $26,168 | $330,932 |
Elections
- 2022 general house Β· VA-7 β lost_general
Committees
- JOHN CASTORANI FOR VIRGINIA β principal Β· type H
Election prediction
Cycle 2026 Β· model baseline-v1 Β· base rate 15.1%
P(win) = 25.1%
| Feature | Ξ P(win) |
|---|---|
| Base rate (historical) | 15.1% |
| R (major party) | +10.0% |
Baseline model (incumbency Γ party Γ office). Calibration: backtest Brier score is the reference, see npm run db:ingest -- --source=predict-backtest-election. Future model versions must beat baseline Brier on the same held-out cohort or they don't ship.
Transfers from committees
Direct contributions from PACs and party committees. Source: FEC pas2 bulk (committee-to-candidate transactions).
| Date | From committee | Type | Amount |
|---|---|---|---|
| 2022-06-21 | WINRED | 24K | $-1 |
| 2022-05-08 | WINRED | 24K | $-1 |
| 2022-04-11 | AMERICAN PRINCIPLES | 24K | $-500 |
| 2022-03-14 | WINRED | 24K | $-35 |
| 2022-02-18 | WINRED | 24K | $-7 |
| 2022-02-18 | WINRED | 24K | $-25 |
| 2022-01-20 | WINRED | 24K | $-25 |
| 2022-01-14 | WINRED | 24K | $-10 |
| 2022-01-13 | WINRED | 24K | $-2 |
| 2022-01-13 | WINRED | 24K | $-10 |
| 2022-01-08 | WINRED | 24K | $-5 |
| 2022-01-08 | WINRED | 24K | $-5 |
| 2021-12-16 | WINRED | 24K | $-5 |
| 2021-12-16 | WINRED | 24K | $-100 |
| 2021-12-15 | WINRED | 24K | $-25 |
| 2021-12-11 | WINRED | 24K | $-2,900 |
| 2021-12-10 | WINRED | 24K | $-100 |
| 2021-12-07 | WINRED | 24K | $-1 |
| 2021-12-05 | WINRED | 24K | $-1 |
| 2021-12-03 | WINRED | 24K | $-25 |
| 2021-12-03 | WINRED | 24K | $-2 |
| 2021-12-02 | WINRED | 24K | $-5 |
| 2021-11-26 | WINRED | 24K | $-10 |
| 2021-11-26 | WINRED | 24K | $-10 |
| 2021-11-26 | WINRED | 24K | $-25 |
Connected on the graph
Inbound (100)
| date | from | type | amount | role | source |
|---|---|---|---|---|---|
| 2022-06-21 | WINRED | contributed_to | $-1 | pas2 | |
| 2022-05-08 | WINRED | contributed_to | $-1 | pas2 | |
| 2022-04-11 | COMMITTEE FOR AMERICAN PRINCIPLES | contributed_to | $-500 | pas2 | |
| 2022-03-14 | WINRED | contributed_to | $-35 | pas2 | |
| 2022-02-18 | WINRED | contributed_to | $-25 | pas2 | |
| 2022-02-18 | WINRED | contributed_to | $-7 | pas2 | |
| 2022-01-20 | WINRED | contributed_to | $-25 | pas2 | |
| 2022-01-14 | WINRED | contributed_to | $-10 | pas2 | |
| 2022-01-13 | WINRED | contributed_to | $-2 | pas2 | |
| 2022-01-13 | WINRED | contributed_to | $-10 | pas2 | |
| 2022-01-08 | WINRED | contributed_to | $-5 | pas2 | |
| 2022-01-08 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-12-16 | WINRED | contributed_to | $-100 | pas2 | |
| 2021-12-16 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-12-15 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-12-11 | WINRED | contributed_to | $-2,900 | pas2 | |
| 2021-12-10 | WINRED | contributed_to | $-100 | pas2 | |
| 2021-12-07 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-12-05 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-12-03 | WINRED | contributed_to | $-2 | pas2 | |
| 2021-12-03 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-12-02 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-11-26 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-26 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-11-26 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-25 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-24 | WINRED | contributed_to | $-2 | pas2 | |
| 2021-11-24 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-24 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-20 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-11-19 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-11-19 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-11-16 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-16 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-15 | WINRED | contributed_to | $-50 | pas2 | |
| 2021-11-12 | WINRED | contributed_to | $-2 | pas2 | |
| 2021-11-12 | WINRED | contributed_to | $-50 | pas2 | |
| 2021-11-11 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-11-11 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-09 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-11-07 | WINRED | contributed_to | $-495 | pas2 | |
| 2021-11-05 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-11-05 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-10-31 | WINRED | contributed_to | $-100 | pas2 | |
| 2021-10-27 | WINRED | contributed_to | $-8 | pas2 | |
| 2021-10-27 | WINRED | contributed_to | $-1,000 | pas2 | |
| 2021-10-25 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-10-19 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-10-19 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-10-18 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-10-18 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-10-16 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-10-15 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-10-14 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-10-12 | WINRED | contributed_to | $-200 | pas2 | |
| 2021-10-12 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-10-12 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-10-10 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-10-06 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-10-03 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-10-02 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-10-01 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-10-01 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-10-01 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-10-01 | WINRED | contributed_to | $-30 | pas2 | |
| 2021-09-30 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-09-29 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-29 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-29 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-29 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-29 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-28 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-28 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-28 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-27 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-09-25 | WINRED | contributed_to | $-3 | pas2 | |
| 2021-09-24 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-23 | WINRED | contributed_to | $-50 | pas2 | |
| 2021-09-23 | WINRED | contributed_to | $-15 | pas2 | |
| 2021-09-19 | WINRED | contributed_to | $-1 | pas2 | |
| 2021-09-19 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-09-16 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-09-11 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-09-10 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-09-10 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-09-10 | WINRED | contributed_to | $-100 | pas2 | |
| 2021-09-09 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-09-02 | WINRED | contributed_to | $-2 | pas2 | |
| 2021-09-02 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-09-01 | WINRED | contributed_to | $-3 | pas2 | |
| 2021-09-01 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-08-31 | WINRED | contributed_to | $-50 | pas2 | |
| 2021-08-30 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-08-28 | WINRED | contributed_to | $-50 | pas2 | |
| 2021-08-25 | WINRED | contributed_to | $-25 | pas2 | |
| 2021-08-25 | WINRED | contributed_to | $-5 | pas2 | |
| 2021-08-19 | WINRED | contributed_to | $-2 | pas2 | |
| 2021-08-19 | WINRED | contributed_to | $-10 | pas2 | |
| 2021-08-18 | WINRED | contributed_to | $-500 | pas2 | |
| 2021-08-16 | WINRED | contributed_to | $-20 | pas2 |
Outbound (1)
| date | type | to | amount | role | source |
|---|---|---|---|---|---|
| β | principal_candidate_of | JOHN CASTORANI FOR VIRGINIA | β | candidate_committees |