This page covers candidates contested primaries for Michigan's 104th legislature:

  • Candidates running unopposed are not included.
  • Candidates running for offices other than Michigan's House or Senate are not included.

Search Options

Visitors may search by candidate name, district or party.
Here is an example of a name search: Search by candidate name - Paquette The "Overview" tab, shown above, contains the candidate's district, party, petition support, age, gender and our voter score.
The "Voting History" tab, shown below, contains the candidate's public voting record: Search by candidate name - Voting History


Visitors may compare opponents by searching by district.
Here is an example of comparing the candidates for Senate District 2 (Dearborn Heights).
The Republican candidate, Harry Sawicki, is unopposed in his primary. He is therefore not included in our list. Compare Democratic candidates in Senate District 2


You can also search by political party: Show Republicans


Symbols

The Republican party symbol is R. The Democratic party symbol is D.
Evidence of a cast vote is shown as , and a lack of evidence is shown as .
A petition signature is indicated by a checkmark ; candidates who circulated a petition get a larger checkmark: .


"Overview" Tab

On the "Overview" tab, the columns are defined as follows:
  • NAME is the candidate's name.
  • DISTRICT is their election district, per the Secretary of State.
  • PARTY is the candidate's political party in their August primary election bid.
  • PRO-CHOICE: candidate signed a pro-choice petition.
  • GERRYMANDER: candidate signed the petition to eliminate political gerrymandering.
  • ANTI-CHOICE: candidate signed one or more of the various "Right to Life" petitions.
  • AGE is the current year (2026) minus the candidate's year of birth.
  • GENDER is the candidate's gender, per the voter file.
  • VOTER is the candidate's weighted average voting turnout, described below.

A checkmark in any of the three petition columns can be considered determinative: the candidate signed the petition, or circulated the petition gathering signatures.
A lack of a checkmark does not indicate the candidate opposes the intiative; there's a variety of reasons a signature might not show up in our data.


"Voting History" Tab

On the "Voting History" tab, the first three columns are the same as the "Overview" tab.
Very young candidates and those who recently moved to Michigan will have no voting history,
but the data is determinative where it shows the candidate voted.
  • AUG'18, AUG'20, AUG'22 and AUG'24 indicate our evidence whether the candidate voted in the respective August primary election.
  • NOV'18, NOV'20, NOV'22 and NOV'24 indicate our evidence whether the candidate voted in the respective November general election.
  • PRES.PRIM'20 and PRES.PRIM'24 indicate our evidence whether the candidate voted in the respective Presidential Primary,
    and (if known) on which ballot - either D or R.

Similar to petition signatures, a checkmark or party label for any election can be considered determinative.
A in a column could indicate either the candidate did not vote, or was not eligible to vote (e.g. younger than 18).


Weighted Average Voting turnout

Our VOTER score is a convenient way to compare candidates' civic engagement in elections.
VOTER is a single number value representing a weighted average of the candidate's voting participation in available elections from 2018 to 2024.
Note that a very young candidate or one who recently moved to Michigan may not have a voting history yet.

The weighting values are shown in the table below.
Weights were the compliment of the statewide election turnout, scaled to add up to 1.
For example, since Presidential Primary election turnout is about a third of a November election, we weight it three times more.


V = ( W × B E ) Nov. + ( W × B E ) Aug. + ( W × B E ) Pres.Prim.
W = 1


November General August Primary Presidential Primary
Turnout T 0.746 0.589 0.231
1-T 0.254 0.411 0.769
W 1-T (1-T) 0.177 0.287 0.536


This page covers candidates contested primaries for Michigan's 104th legislature:

  • Candidates running unopposed are not included.
  • Candidates running for offices other than Michigan's House or Senate are not included.


Sources

All data came from public sources:
  • Basic candidate information and voting history came from the Michigan Secretary of State.
  • Petition signatures are public and held by the Michigan Department of State Bureau of Elections; we paid a consultant to search records.
  • Federal election donation data came from the Federal Election Commission.

In a few instances, Secretary of State candidate data was not sufficient to uniquely identify the candidate in the voter file.
We used internet searches to uniquely identify candidates by matching (for example) their full names and ages, assuming they live in district where they seek election.

For ethnicity estimations, we deliberately chose a reproducible, open-source methodology (the rethnicity package for R) rather than a subjective or self-identifying process.

Any concerns can be addressed to us.


Pro-Choice Petition

Of the 152 Democratic candidates, we determined at least fifty-four supported the "Reproductive Freedom" ballot initiative.
At least eight circulated this petition to gather supporting signatures:
  • Kris Pachla, D House District 80/East Grand Rapids
  • Lily Cheng-Schulting, D House District 80/East Grand Rapids
  • Shadia Martini, D Senate District 7/Bloomfield
  • Erin Byrnes, D Senate District 2/Dearborn Hills
  • Phil Skaggs, D Senate District 29/East Grand Rapids
  • Abbie Groff-Blaszak, D Senate District 29/East Grand Rapids
  • Carol Glanville, D Senate District 30/Walker
  • Chris Kleinjans, D Senate District 31/Beechwood

Our data shows no Republican candidates as circulators for the "Reproductive Freedom" petition,
but at least two signed it:
  • Randall Shafer, R House District 12/St. Claire Shores
  • Susannah Watts, R House District 90/Rockford


Anti-Gerrymander Petition

At least forty-two of the 152 Democratic candidates supported the 2018 "Voters, Not Politicians" ballot initiative to end legislative gerrymandering.
At least three circulated this petition to gather supporting signatures:
  • Jessica Swartz, D House District 41/Kalamazoo
  • Jason Hoskins, D Senate District 7/Southfield
  • Natalie Price, D Senate District 10/Berkley

Our data shows no Republican candidates as circulators for the "Voters, Not Politicians" petition,
but at least five signed it:
  • Zacharia Ortiz, R House District 2/Melvindale
  • Randell J. Shafer, R House District 12/St. Claire Shores
  • Jean Zott, R House District 59/Shelby Township
  • John Grossenbacher, R House District 61/Clinton Township
  • Steven Viau, R House District 108/Gladstone


Anti-Choice Petitions

This category includes one or more of several different Michigan "Right to Life" petitions.

Our data shows no Democratic candidates as circulators for any of the anti-choice petitions,
but at least six signed it:
  • Gary Woronchak, D House District 15/Dearborn
  • Kandie Sherman, D House District 97/Vassar
  • Brendan Johnson, D Senate District 9/Rochester Hills1
  • Mike Jones, D Senate District 17/Bertrand
  • Brendan Johnson, D Senate District 26/Saginaw1
  • Martin Cousineau, D Senate District 26/Mount Morris
1Candidate link provided to establish there really are two different Brendan Johnsons running for State Senator. This is not an endorsement.

At least thirty-three Republican candidates supported governmental restriction on access to abortion,
and least seven circulated this petition to gather supporting signatures:
  • Kevin J. R Hammer, House District 19/Farmington Hills
  • Hermon Barbe, R House District 20/West Bloomfield
  • Steve Carra, R House District 36/Three Rivers
  • John C. O'Brien, R House District 85/Hudsonville
  • Eileen Tesch, R Senate District 12/Algonac
  • Gina Johnsen, R Senate District 33/Portland
  • Jody Rice-White, R Senate District 8/Livonia


Voting Patterns

Crossover Voting
In the 2020 election cycle,
  • Fifteen Republican candidates voted in the 2020 Democratic Presidential Primary,
  • and among them Patrick Biange (R Senate District 12) donated to ActBlue, a major Democratic fundraising platform.
  • Three Democratic candidates voted in the 2020 Republican Presidential Primary,
  • and among them Mary Lucille Hamilton (D House District 106) is a generous Republican donor to electeds including Donald Trump and Ryan Zinke.

For the 2024 election cycle,

Turnout
Turnout trends between the two parties' candidates are similar, and differences appear related to contests at the top of the ticket.
For example, the Republican candidates were noticeably more active than Democrats in the 2022 primary, when Governor Whitmer ran unopposed on the Democratic ticket but the Republicans had a variety of candidates. Democratic and Republican candidate voting turnout
Turnout for the Michigan's 2020 Presidential primary election varied in other direction.
On paper, both partisan primaries were contested.

  • On the Republican side, incumbent President Donald J. Trump faced a challenge from former Massachusetts Governor William Weld. 60% of the Republican candidates voted.
  • Former Vice-President Joe Biden, Senator Bernie Sanders and Representative Tulsi Gabbard competed for the Democratic delegates. 71% of the Democratic candidates voted
The turnout difference is statistically significant (α = 0.05).

In actuality, President Donald J. Trump won 94% of the statewide vote and was, for practical purposes, uncontested.
As shown above, many Republican candidates crossed over to vote in the Democratic primary.
Republican voters likely understood their party's outcome was a forgone conclusion, and Republican voter turnout was likely depressed as a result.


Poor Voting Records
We were surprised to see six candidates with a weighted average voter score of zero.
The table below provides additional details for these candidates.

Name Party AgeVoter ID Voter Reg.notes
Brendan Johnson D23 1604737512023-11-20missed 2024
Briar Bearss R27 33386122 2017-06-21voted 2017-08-08, but not since
Matthew Stafford R37 160540723 2021-07-13missed 2022 and 2024
Chadwick Twillman R40 161653311 2025-01-27likely new QVFID w/new registration
Rich (Zhengrui) LiD41 162016112 2026-04-01likely new QVFID w/new registration
Crystal Bailey D43 102348263 2007-02-05


Demographic Comparisons

Democrats have a relatively normal age distribution; Republican candidate ages have a bimodal distribution.
Note the age peak near 40 years among the Republicans correlates well with those who became politically involved during the Tea Party movement. Democratic and Republican candidate age histograms
Neither party's candidate pool gender split represents the Michigan's gender split of 49.5% men to 50.5% women (α = 0.05).
However, the proportion of female Republican candidates is much less representative - four standard deviations worse.

Democratic and Republican candidate age histograms
Based on estimated ethnicity calculations (using the rethnicity package for R) both parties over-represent Michigan's white population (α = 0.05).
However, the racial bias among Republican candidates is double the standard deviation of Democrats,
and the statistical ethnicity estimates produced zero black Republican candidates.

There are individual cases where we would dispute the statistical ethnicity estimations based on our own subjective opinion or specific knowledge of candidates, but (like discussed above) we chose a reproducible process.
Democratic and Republican candidate estimated ethnicity histograms