Election LabU.S. forecasts, with every number traced to its run

VA-2 · House

election-day forecast · ground-up model · as of 2026-10-02

Lean D
79%
Elaine Luria
Democrat
21%
Jen Kiggans
Republican
Expected margin and its 90% range
R+40R+20R+10EvenD+10D+20D+40D+6.6
What moves this district (points of margin; blue toward the Democrat, red toward the Republican)
2024 presidential lean+6.4
2024 House lean−1.6
total outside/party money+1.0
Democrat's experience+0.7
outside money balance−0.5

The district, in brief

Virginia's 2nd is based in Hampton Roads, containing Chesapeake, Franklin, Suffolk and Virginia Beach, plus the Eastern Shore, on the map first used in 2022. The text describes a long history of ticket splitting: in 2024 Donald Trump narrowly carried the district while Senator Tim Kaine also carried it, and in 2025 Democrats Abigail Spanberger and Ghazala Hashmi won it while Republican Jason Miyares carried it. Its Cook Partisan Voting Index is EVEN.

The incumbent is Republican Jen Kiggans, re-elected with 50.7% in 2024. Democrats nominated former congresswoman Elaine Luria (2019–2023), whom Kiggans, then a state senator, beat in 2022, making this a rematch. Luria took the primary with 80.3% over Nila Devanath, Bill Fleming and Patrick Mosolf. Two independents, Matt Baker and Bishop Staten, are also on the ballot; in September 2026 Luria sued to remove Staten, whose signatures she says fall short. As of July 15, 2026 Kiggans had raised $5,954,338 with $3,391,740 on hand, Luria $4,659,795 with $3,582,723 on hand.

The Cook Political Report and Inside Elections rate the seat Tossup (both May 8, 2026); Decision Desk HQ (September 8, 2026) and Sabato's Crystal Ball (September 29, 2026) list it as a flip. One poll is recorded: Tulchin Research, a Democratic firm (July 9–13, 2026, 700 LV), had Kiggans 47%, Luria 47%. In May 2026 Kiggans apologized after agreeing on air with a radio host's remark about Hakeem Jeffries' redistricting efforts.

A paragraph quoting a model forecast from the day this brief was written is omitted; the current forecast is at the top of this page.

The facts, each beside its sentence

Incumbent
Jen Kiggans (R)The incumbent is Republican Jen Kiggans, who was re-elected with 50.7% of the vote in 2024.
Open seat
noThe incumbent is Republican Jen Kiggans
Democratic nominee
Elaine Luria*Elaine Luria, former U.S. representative (2019–2023)
Republican nominee
Jen Kiggans*Jen Kiggans, incumbent U.S. representative
Democrat's background
Former U.S. representative (2019–2023), defeated by Kiggans in 2022; the race is a rematchDemocrats subsequently nominated former Congresswoman Elaine Luria, setting up a rematch of the 2022 election, in which then State Senator Kiggans defeated Luria for the seat.
Republican's background
Incumbent U.S. representative; a state senator when she won the seat in 2022in which then State Senator Kiggans defeated Luria for the seat
Presidential vote
Trump narrowly carried the district in 2024 while Tim Kaine (D) also carried it; in 2025 Spanberger and Hashmi (D) won it and Miyares (R) carried it; Cook PVI EVENin 2024, Donald Trump narrowly carried the district, while Democratic Senator Tim Kaine also carried it. In 2025, Democrats Abigail Spanberger and Ghazala Hashmi won the district in their respective races, while Republican Jason Miyares carried it in his.
Last result
Kiggans re-elected with 50.7% in 2024who was re-elected with 50.7% of the vote in 2024
Primaries
Luria won the Democratic primary with 80.3% (33,658 votes) over Nila Devanath 16.4%, Bill Fleming 2.0% and Patrick Mosolf 1.3%; Kiggans is the Republican nominee with no primary opponent listedcandidate: Elaine Luria party: Democratic Party (United States) votes: 33,658 percentage: 80.3
Raters
Decision Desk HQ: flip (September 8, 2026); Cook: Tossup (May 8, 2026); Inside Elections: Tossup (May 8, 2026); Sabato's Crystal Ball: flip (September 29, 2026)Decision Desk HQ flip September 8, 2026 The Cook Political Report Tossup May 8, 2026 Inside Elections Tossup May 8, 2026 Sabato's Crystal Ball flip September 29, 2026
Money
As of July 15, 2026: Kiggans raised $5,954,338, spent $2,608,075, $3,391,740 on hand; Luria raised $4,659,795, spent $1,077,072, $3,582,723 on hand| Jen Kiggans (R) $5,954,338 $2,608,075 $3,391,740 | Elaine Luria (D) $4,659,795 $1,077,072 $3,582,723
Also
One district poll: Tulchin Research (D), July 9–13, 2026, 700 LV: Kiggans 47%, Luria 47%, undecided 6%Tulchin Research (D) July 9–13, 2026 700 (LV)
The text calls the district one of the most competitive in the country and the race one of the most closely watched of the 2026 midtermsThis is expected to be one of the most closely watched races in the 2026 midterms.
In September 2026 Luria sued the Virginia Department of Elections to remove independent Bishop Staten from the ballot, alleging 18 more signatures should be rejected on top of over 600 already declared invalid; Staten runs on a Democratic Socialists of America platform the local chapter disowns and has a long history of supporting TrumpIn September 2026, Luria sued the Virginia Department of Elections in an attempt to remove independent candidate Bishop Staten from the ballot.
In May 2026 Kiggans agreed on air with a radio host's remark about Hakeem Jeffries' redistricting efforts, 'get your cotton-picking hands off of Virginia', drew criticism from Democrats, and apologizedKiggans apologized and clarified her positions, in which she disagreed with the statement's connection to slavery from the host.
Two independents are on the ballot: Matt Baker, a U.S. Marine veteran, and Bishop Staten, a civil servant*Matt Baker, U.S. Marine veteran *Bishop Staten, civil servant
State senator Aaron Rouse declined to run; Luria was absent from the June 24, 2026 Democratic primary debate hosted by Cova Coalition Indivisible*Aaron Rouse, state senator from the 22nd district (2023–present) and candidate for lieutenant governor in 2025

Not in the source: The text does not give 2024 presidential percentages, only that Trump narrowly carried the district.; The Tulchin poll is on the page but not in the model, whose basis says no district polls; it is from a Democratic firm.; Kiggans' raised total is $5,934,338 in the Republican primary table and $5,954,338 in the general-election table; the general table is used here.; The outcome of Luria's suit against Staten's ballot access is not given.; Ratings are given only as Tossup or flip, with no finer category.

Read from the district's section of Wikipedia's state page (CC BY-SA), archived as c1a7fb5c3c14; written by claude-fable-5-1 (batch reader) on 2026-09-30 and checked mechanically: every quote occurs verbatim in the archived text, every number in the brief occurs in the inputs. No probability here is the reader's.

Who holds the seat now

Jennifer A. Kiggans (Republican), in this chamber since 2023, 2 terms. Committees: House Committee on Natural Resources; House Committee on Armed Services; House Committee on Veterans' Affairs.

From the congress-legislators dataset (CC0), archived as ae8cb9477c48. For a Senate race this lists both of the state's senators; the one whose term ends in the election year holds the seat on the ballot. For a House district redrawn for 2026 it is the member elected under the old lines with this number, who may be running elsewhere; the dossier above names who is running here.

How it has voted for president

Two-party margin201620202024
PresidentR+2.4D+5.1D+2.4

A shift of 4.8 points toward the Democrats from 2016 to 2024. county returns placed on the current lines by 2020 block population; MEDSL county file (2016), an MIT-licensed county file (2020, checked against certified state results) and MEDSL precinct returns (2024). For a district split across counties this is an estimate, and where the state published the exact 2024 figure for these lines, that exact figure is the one the model uses.

Who are the voters?

Group (adults 25+)Share of adultsTurnout 2020 / midtermShare of a midterm electorateEst. Democratic share, 2020
White, no degree37%65% / 46%35%16%
White, degree26%89% / 71%37%61%
Black22%58% / 41%19%91%
Hispanic6%32% / 21%3%64%
Asian6%49% / 28%3%75%
Other / multiracial3%66% / 49%3%61%

Of about 542,245 adults 25 and over. In 2020 the district voted 51.1% Democratic (two-party) for president. With the same preferences and a 2022-style midterm turnout, it would vote 51.5% Democratic: the midterm electorate alone moves the margin 0.7 points toward Democrats. Group shares are estimated from how results vary across the state's census tracts (ecological inference, anchored to Pew's 2020 validated-voter figures) and calibrated to this district's actual 2020 vote; turnout is the Census survey's state rate by race and national rate by education, whose state samples carry margins of several points.

Not answered here: how each group will vote in 2026. These are 2020 preferences; this profile is description, not yet an input to the forecast.

The money

CandidateRaisedCash on handPAC shareSelf-fundedOutside $ forOutside $ against
Kiggans, Jennifer (REP)
incumbent
$5,954,338$3,391,74021%0%$110,978$1,765
Luria, Elaine (DEM)
challenger
$4,659,795$3,582,7239%0%$18,102$0
Osyf, James (DEM)
challenger · not on our roster
$412,938$78,6907%2%$0$0
Williamson, Michael (DEM)
challenger · not on our roster
$352,643$00%1%$0$0
Strickler, Matt (DEM)
challenger · not on our roster
$313,160$115,2140%2%$0$0
Devanath, Nila (DEM)
challenger · not on our roster
$285,705$19,6891%7%$0$0
Mosolf, Patrick Mr. (DEM)
challenger · not on our roster
$169,271$100,5070%91%$0$0
Fleming, William Weathers Dr. (DEM)
challenger · not on our roster
$55,200$10,5220%0%$0$0
Sleister, Nicolaus (DEM)
challenger · not on our roster
$5,426$00%61%$0$0
Cotter Smasal, Missy (DEM)
challenger · not on our roster
$1,124$00%0%$45,500$0
Luria, Elaine (DEM)
incumbent
$591$095%0%$0$0

FEC bulk candidate summaries through August 19, 2026; $176,345 of independent expenditures for or against these candidates this cycle (FEC Schedule E, types 24E and 24A), which is the parties' and outside groups' own revealed view of whether this seat is in play.

The district in numbers

MeasureDistrictNationDifference
Bachelor's degree or higher, 25+38.1%34.9%+3.1 pts
White, non-Hispanic59.2%58.2%+1.0 pts
Black, non-Hispanic22.0%12.0%+10.1 pts
Hispanic or Latino7.8%19.0%-11.2 pts
Asian, non-Hispanic5.2%5.8%-0.5 pts
Foreign-born7.4%13.9%-6.4 pts
Median age38.739.2-0.5
Median household income$91,821$84,362$+7,459
Median home value$359,100$379,737$-20,637
Owner-occupied homes69.5%65.1%+4.4 pts
Unemployment, July 2026 (BLS county data)3.6%4.4%-0.7 pts
Change in unemployment, past 12 months+0.3 pts——
Change since the last election (24 months)+0.5 pts——
Unemployment (ACS)4.5%5.2%-0.7 pts
Federal government workers8.6%2.6%+6.0 pts
Work from home11.9%13.5%-1.6 pts
Households on SNAP7.3%11.8%-4.4 pts
Households with Social Security income29.6%31.2%-1.6 pts
Households with public assistance income1.9%2.7%-0.7 pts
Moved in from another state, past year4.2%2.3%+1.9 pts
Gini index0.400.44-0.04
Per-capita personal income (BEA), 2024$71,652$73,248$-1,596
Per-capita income growth since 2019, nominal, 202433.1%32.0%+1.1 pts
Government and other transfers, share of income, 202419.2%19.6%-0.4 pts
Social Security, share of income, 20225.6%5.8%-0.2 pts
Medicare, share of income, 20223.6%4.5%-0.9 pts
Medicaid, share of income, 20223.4%4.0%-0.6 pts
SNAP, share of income, 20220.4%0.6%-0.2 pts
Earned Income Tax Credit, share of income, 20220.3%0.4%-0.0 pts
Veterans' benefits, share of income, 20222.3%0.9%+1.4 pts
Federal civilian jobs, share of all jobs, 20222.1%1.3%+0.8 pts
Military jobs, share of all jobs, 20224.9%0.9%+4.0 pts

ACS 5-year 2023, the Census Bureau's own tabulation of this district (118th Congress lines). Unemployment is the BLS county series placed on the district by block population, not seasonally adjusted, so changes are same-month comparisons. Income, transfers and jobs are BEA county accounts placed the same way, compared with the average district. Every other figure is a named column of a named table in the Bureau's summary file, archived before it was read. This is what a reader knows about a district before looking at a poll; the model does not yet use it, and whether it should is a registered question.

Who is favoured, and by how much?

79%
Elaine Luria
run 00a09d4b · house_district_prior/0.2.0 · as of 2026-10-02
+6.6
expected margin, D-R
run 00a09d4b · house_district_prior/0.2.0 · as of 2026-10-02

The 90% interval runs from -7.2 to +20.5 points, D-R. It is wide because this district has never been polled.

What is this built on?

A model trained on every contested House race 2012-2024 predicts this district's lean from its own record: presidential and House results on the current lines, incumbency, both candidates' prior offices, outside and party money before 1 October, demographics and public-assistance shares from the Census release before the election, local unemployment and income, and religious tradition. The national margin comes from presidential approval, the economy, the midterm penalty and the generic ballot corrected for its measured lean. Draws share national and state errors, so the seat total and this district come from the same simulation.

Not answered here: district polls, which are not yet folded in.

Why does the model say this?

Each figure is how far this district's predicted lean moves when that one feature is set to the typical value across 2026 districts, everything else held: 2024 presidential lean (D+1.4): 6.4 pts toward the Democrat; 2024 House lean (R+1.2): 1.6 pts toward the Republican; total outside/party money: 1.0 pts toward the Democrat; Democrat's experience (statewide or former federal office): 0.7 pts toward the Democrat; outside money balance: 0.5 pts toward the Republican.

How sure is it, and of what?

Total sd 8.42 points, made of the seat's own volatility 89%, correlated polling error 11%. The decomposition is stored with the forecast rather than reconstructed, so a probability whose dominant input is a placeholder is visibly that.

Not answered here: a nowcast. 'If ballots were cast today' needs something that observes today, and for a House district nothing does. Publishing the election-day figure under both labels would make one forecast look like two.

How was this number made?

Run 00a09d4b-7980-4ec5-ada0-077968a87242, house_district_prior/0.2.0, as of 2026-10-02. Promoted by a pre-registered gate: on 2016-2022 its Brier score was 0.036 against 0.049 for the previous method, and on a single 2024 run 0.023 against 0.032 (experiments/district_gate_result.md, with an independent review).