Election forecasts you can inspect.Tested models, shown with their sources and their uncertainty.

Updated October 22, 2026, 09:28 UTC

State legislatures › Oregon Senate

Oregon Senate District 23

2026 forecast · Updated October 22, 2026, 09:28 UTC

Not up in 2026 (held by Democrat)

Oregon Senate District 23: Not up in 2026 (held by Democrat)Oregon Senate 20: chance of a Democratic win 87%Oregon Senate 21: not up in 2026 (held by democrat); 2024 president D+17Oregon Senate 22: not up in 2026 (held by democrat)Oregon Senate 24: chance of a Democratic win >99%Oregon Senate 25: not up in 2026 (held by democrat)Oregon Senate District 23: Not up in 2026 (held by Democrat)212520222423
Safe DLean DToss-upLean RSafe RHatched: not up in 2026 (shaded by holder) · dashed: other state

District 23 is not up in 2026 (held by a Democrat). Of its 5 neighbouring districts, 5 favour Democrats.

StatusNot up in 2026 (held by Democrat)
Current memberKhanh Pham

How it has voted

On its current lines. Legislative contests and the top-of-ticket vote inside the district.

Legislature 2024uncontested (D)
← RepublicanDemocratic →

Who lives here

Census Bureau, American Community Survey 2019-2023.

This districtOregon
Median household income$91,643$80,426
Bachelor's degree or more (25+)49%36%
Median age4040
White (not Hispanic)67%72%
Black5%2%
Hispanic10%14%
Asian11%4%
Born abroad13%10%
Jobs in manufacturing8%11%
Jobs in farming or mining1%3%

Initial version. This model was tested on every state legislative election from 1994 to 2024 before publication, forecasting each as if it had not happened. It beat the simple rule “the party that holds the seat keeps it”, and its chamber seat counts were off by 2.9 seats on average (target: under 3). Districts with no two-party race last time are read from their own presidential vote, a change tested in advance that cut their average error from 17 to 13 points. It missed one of its five accuracy targets: in 2024, the calmest year on record, its ranges were wider than they needed to be (92% of results fell inside its 80% ranges; target: at most 88%). Treat the ranges as cautious. The full test record and code.