PENNER STRATEGYResearch
WASHINGTON · 31ST LEGISLATIVE DISTRICT

Washington’s 31st District: August 2026 primary results

Republicans led all three races in the 31st District’s August primary. In the historical comparison below, August’s vote shares and the tested adjustment formula had similar prediction errors.

This is the first investigation. Read the combined findings and follow-up studies.

The district covers parts of King and Pierce counties. It elects one state senator and two state representatives, identified as House Position 1 and Position 2. Find your legislative district.

Republicans led all three races.

Download chart

In the Senate race, Phil Fortunato led Tamara Stramel, 54.30% to 45.70%. In House Position 1, Drew Stokesbary led Stephen Szczurko-Walton, 57.91% to 42.09%. In House Position 2, Joshua Penner led John Bielka, 56.07% to 43.93%. These percentages count votes for the two named candidates.

Two-candidate primary shares: Tamara Stramel 45.70%; Phil Fortunato 54.30%; Drew Stokesbary 57.91%; Stephen Szczurko-Walton 42.09%; John Bielka 43.93%; Joshua Penner 56.07%.
Official primary results from the Washington Secretary of State, saved September 11. Percentages use only votes for the two named candidates in each race. Write-in votes are left out: 26 in the Senate race, 23 in House Position 1 and 32 in Position 2. Vote counts and percentages (CSV).

What might those leads mean in November?

Two approaches were tested. The first carries each candidate’s August percentage forward unchanged. The second fits a straight line between August and November vote shares in past elections, then uses that line to adjust the August percentage. To test each historical year, the line is fitted using the other six years.

The adjustment’s apparent advantage disappeared when the candidate being measured was chosen without using November’s result.

August 2026 vote counts

August 4, 2026 primary; write-ins excluded from share denominator
RaceCandidateParty preferenceVotesTwo-candidate totalShare
State SenatorTamara Stramel (D)Prefers Democratic Party15,63834,22145.70%
State SenatorPhil Fortunato (R)Prefers Republican Party18,58334,22154.30%
State Representative Pos. 1Drew Stokesbary (R)Prefers Republican Party19,67433,97357.91%
State Representative Pos. 1Stephen Szczurko-Walton (D)Prefers Democratic Party14,29933,97342.09%
State Representative Pos. 2John Bielka (D)Prefers Democrat Party14,91533,95443.93%
State Representative Pos. 2Joshua Penner (R)Prefers Republican Party19,03933,95456.07%

Vote counts (CSV) · Vote-count and historical-comparison code

Choosing which candidate to follow changed the result.

Choosing the candidate from the November result gave the model information that would not be available when making a prediction.

The comparison includes 393 races with the same two named candidates in August and November, a subset of 302 Republican-versus-Democrat races, and those same 302 races with the Republican candidate followed consistently.

How far the predictions missed: error scores in percentage points. Lower is better.
Races comparedNumber of racesUse August’s percentageUse the formula
All 393 races; follow the first candidate listed3932.64 points2.47 points
Republican vs. Democrat; follow the first candidate listed3022.15 points2.11 points
Same 302 races; follow the Republican every time3022.15 points2.17 points

The two 2.15-point scores use the same races. Switching which candidate is followed reverses each error’s sign but leaves its size unchanged.

Bigger misses count more in this error score. Once we followed the Republican candidate every time, the formula scored 2.17 points, compared with 2.15 for using August’s percentage. The formula’s earlier edge disappeared when we stopped using the November result to choose the candidate.

The test supports keeping August’s percentages as the starting estimates. It does not establish their accuracy in the coming general election.

Where the numbers came from

How we checked the results

For each of the six candidates, King and Pierce county vote counts sum to the statewide total.

The historical comparison covers 2010, 2014, 2016, 2018, 2020, 2022 and 2024. The source files omit 2012. Each year’s estimates use the other six years, then are compared with that year’s results.

Races within a year share election conditions. The comparison also spans changes to district boundaries.

Download the data

The 20 official source files, vote counts, past-election comparisons and code used to calculate the numbers on this page.

Download data (ZIP)

The calculations run in Python without extra software packages. Calculation code · Method notes · Edition record

  1. Washington Secretary of State. August 4, 2026 primary results and official-result metadata. The saved statewide result is dated August 21; files were captured September 11, 2026.
  2. King and Pierce counties. Official King County results and Pierce County results from the state reporting system.
  3. Washington Secretary of State historical exports. Fourteen primary and general CSV files from seven election cycles. Source links, saved dates and file records.
Review status

The published vote counts and comparison scores have reproduction code in the download. The original research record has unresolved documentation checks, listed in the review notes.

Corrections: josh@pennerstrategy.com.

Sources and production

Silphium is Penner Strategy’s research system. These studies use AI-assisted analysis and code-generated calculations and charts. The linked review records describe the calculation checks and remaining limitations.