Close Menu
NCIJ Network NCIJ Network
    What's Hot

    Putin call pits Finland and Norway against Denmark and Sweden

    October 27, 2026

    How has Andy Burnham used his first 100 days in power? | Andy Burnham

    October 27, 2026

    UK government to give £15m to anti-misogyny fund amid ‘manosphere’ concerns | Women

    October 27, 2026
    Facebook X (Twitter) Instagram
    Trending
    • Putin call pits Finland and Norway against Denmark and Sweden
    • How has Andy Burnham used his first 100 days in power? | Andy Burnham
    • UK government to give £15m to anti-misogyny fund amid ‘manosphere’ concerns | Women
    • Tailscale Rushes Patches After Uncoordinated Disclosure of ‘Tailworm’ Flaws
    • The secret to slower aging may be hiding in your gut
    • Woman’s Hour – Melania Trump’s diplomacy, Philippa Gregory’s The Royal Witch, Back to Black at 20, Iron deficiency
    • Here are the 14 Wisconsin districts that will decide which party controls the Legislature
    • Elites, Public Reject Trump Foreign-Policy Agenda
    • About
      • Our Team
      • Editorial Policy
      • Editorial Independence
      • International Support
    • Trust & Standards
      • AI Usage Policy
      • Conflict of Interest Policy
      • Corrections Policy
      • Ethics Policy
      • Fact-Checking Policy
      • Source Protection
    • Get Involved
      • Guide for Sources
      • Support Independent Journalism
    • Legal
      • Cookie Policy
      • Privacy Policy
      • Terms of Use
    Facebook X (Twitter) Instagram
    NCIJ Network NCIJ Network
    Tuesday, October 27
    • Home
    • World
    • Ai
    • Business
    • Politics
    • Health
    • Crypto
    • Science
    • Technology
    • Cybersecurity
    • Defense & Security
    • Economy
    • Energy
    • Europe
    • More
      • Fact Check
      • Investigations
      • Opinion & Analysis
      • Environment
    NCIJ Network NCIJ Network
    Home»Defense & Security

    Here are the 14 Wisconsin districts that will decide which party controls the Legislature

    NCIJ NETWNCIJ NETWORKBy NCIJ NETWNCIJ NETWORKOctober 27, 2026 Defense & Security No Comments24 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Reading Time: 12 minutes

    At a recent Oktoberfest parade through downtown Prairie du Chien, Republican state Sen. Howard Marklein tossed candy and shook hands with constituents. A few weeks earlier on the same strip, his Democratic challenger state Rep. Jenna Jacobson spoke with voters on the final stop of what her campaign dubbed “The Marklein Markup Tour.”

    Neither candidate has been on the ballot before in this Mississippi River community on the western edge of the 17th Senate District, not even Marklein in his previous three runs.

    That’s because the Wisconsin political landscape has changed significantly since Gov. Tony Evers signed new legislative maps into law in 2024.

    The city of 5,000, which voted for Hillary Clinton in 2016, Joe Biden in 2020 and then Donald Trump in 2024, was represented for more than a decade by Democrats in a state Senate district that stretched north to La Crosse. 

    Prairie du Chien today is now part of one of four key Senate races in 2026 that will determine which party holds the majority in the chamber next year. The 17th previously stretched north to deep red Juneau County, but now incorporates more of deep blue Dane and more mixed Green and Crawford counties. 

    It’s those kinds of changes to lines on the Wisconsin political map that helped Democrats in 2024 flip four Senate and 10 Assembly seats, even as President Trump won Wisconsin on his way back to the White House. The four-year Senate seats up for election this year, including the 17th, weren’t on the ballot in 2024.

    It’s also a different political environment in 2026 with Democrats surging amid high gas prices, the war in Iran and Trump’s plunging popularity. The national Democratic Legislative Campaign Committee lists 17 target races that could lead to the party achieving majorities in the Senate and Assembly. Political analysts are watching the legislative districts where former Vice President Kamala Harris won two years ago as a sign of what seats in the Assembly and the Senate could flip this year. 

    It’s still a question if the national midterm blue wave that polls are predicting will flow down the ballot to legislative races. Republican legislative campaign committees are outspending Democrats by more than $5 million in the Assembly and more than $2.5 million in the Senate in the final month before the election. Many Republican incumbents opted not to run this year, but others, like Marklein, are putting up a fight. 

    Marklein said the increased pressure on the race from Democrats has not changed how he campaigns.

    “It’s just the same as we’ve always done,” he said. “In sports, some games are bigger than others. The fundamentals don’t change. It’s blocking and tackling and, you know, it’s the same strategy.”

    div, body, .container, .entry-content, .wp-block-group__inner-container, .wp-block-group, .wp-block-column {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    }

    window.scrollyLibrariesReady = window.scrollyLibrariesReady || Promise.all([
    loadScrollyScript(“https://unpkg.com/scrollama”, “scrollama”),
    loadScrollyScript(“https://d3js.org/d3.v7.min.js”, “d3″)
    ]);

    function loadScrollyScript(src, globalName) {
    if (window[globalName]) return Promise.resolve();

    return new Promise((resolve, reject) => {
    const existingScript = document.querySelector(`script[src=”${src}”]`);
    const script = existingScript || document.createElement(“script”);

    script.addEventListener(“load”, resolve, { once: true });
    script.addEventListener(“error”, () => reject(new Error(`Unable to load ${src}`)), { once: true });

    if (!existingScript) {
    script.src = src;
    script.async = true;
    document.head.appendChild(script);
    }
    });
    }

    /* Container establishing the scrollytelling workspace */
    #scrolly-container {
    position: relative;
    display: flex;
    visibility: hidden;
    padding: 1rem;
    font-family: sans-serif;
    flex-direction: column-reverse;
    }

    /* Left-side scrolling text steps */
    .scrolly-text {
    position: relative;
    padding: 0 10px;
    pointer-events: none;
    width: 100%;
    max-width: 100%;
    }

    .step {
    margin-top: 0;
    margin-bottom: 40vh;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 1rem;
    border-radius: 25px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: opacity 0.3s;
    opacity: 0.3;
    }

    /* Brightens text box when it is active */
    .step.is-active {
    opacity: 1;
    }

    /* Right side sticky graphic panel */
    .scrolly-graphic {
    –graphic-height: 50vh;
    z-index: -1;
    position: -webkit-sticky;
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: var(–graphic-height);
    top: calc((100vh – var(–graphic-height)) / 2);
    }

    #senate-svg {
    width: 100%;
    height: 80vh;
    max-height: 500px;
    }

    .dem {
    color: #318FC8;
    }

    .rep {
    color: #C93143;
    }

    .se {
    color: #b87500;
    }

    .as {
    color: #8000a9;
    }

    Senators serve four-year terms, so only odd-numbered districts are up for election in 2026.

    In a current 18–15 Republican chamber, Senate Democrats need to flip at least two of the three key Republican-held districts — the 17th in southwestern Wisconsin and the 5th and 21st districts in southeastern Wisconsin — and hold onto a Democratic seat in Eau Claire to win a majority in the chamber for the first time in more than 15 years. All four of those key races are seats that Harris won in 2024.

    There are also competitive races this year in the Assembly, where Republicans hold a 54–45 majority. All 99 Assembly seats are up for election as members serve two-year terms.

    Assembly Democrats need to hold onto all of their current districts, including at least three that Democrats narrowly won in 2024, and flip at least five Republican-held seats to win a majority heading into next year. Incumbent Republicans control five Assembly districts that Harris won in 2024 and another two that Harris lost by less than five percentage points.

    window.scrollyLibrariesReady
    .then(initializeScrolly)
    .catch(error => {
    console.error(“The scrolly could not be initialized.”, error);
    });

    function initializeScrolly() {
    // Dataset representing 33 Senate seats
    const senateData = [];

    // Generate specific blocks to fulfill layout criteria
    for(let i=0; i<10; i++) senateData.push({ party: 'dem', activeThisYear: false, competitive: false });
    for(let i=0; i<5; i++) senateData.push({ party: 'dem', activeThisYear: true, competitive: i === 0 }); // exactly 1 competitive Dem seat
    for(let i=0; i<12; i++) senateData.push({ party: 'rep', activeThisYear: true, competitive: i < 3 }); // exactly 3 competitive Rep seats
    for(let i=0; i<6; i++) senateData.push({ party: 'rep', activeThisYear: false, competitive: false });

    // Dataset representing 99 Assembly seats
    const assemblyData = [];

    // Generate specific blocks to fulfill layout criteria
    for(let i=0; i<45; i++) assemblyData.push({ party: 'dem', activeThisYear: true, competitive: i < 3 });
    for(let i=0; i<54; i++) assemblyData.push({ party: 'rep', activeThisYear: true, competitive: i active non-competitive reps -> competitive reps
    // -> competitive dems -> active non-competitive dems -> far right non-active dems
    const orderedSeats = [
    …senateData.filter(d => d.party === ‘dem’ && !d.activeThisYear),
    …senateData.filter(d => d.party === ‘dem’ && d.activeThisYear && !d.competitive),
    …senateData.filter(d => d.party === ‘dem’ && d.competitive),
    …senateData.filter(d => d.party === ‘rep’ && d.competitive),
    …senateData.filter(d => d.party === ‘rep’ && d.activeThisYear && !d.competitive),
    …senateData.filter(d => d.party === ‘rep’ && !d.activeThisYear)
    ];

    const orderedAssemblySeats = [
    …assemblyData.filter(d => d.party === ‘dem’ && !d.competitive),
    …assemblyData.filter(d => d.party === ‘dem’ && d.competitive),
    …assemblyData.filter(d => d.party === ‘rep’ && d.competitive),
    …assemblyData.filter(d => d.party === ‘rep’ && !d.competitive)
    ];

    // SVG Geometry Setup
    const svg = d3.select(“#senate-svg”);
    const width = 600;
    const height = 400;
    const centerX = width / 2;
    const centerY = height – 40;

    function layoutArc(seats, { totalRows, seatsPerRow, baseRadius, rowSpacing }) {
    const startAngle = Math.PI * 1.08;
    const endAngle = Math.PI * 1.92;

    return seats.map((d, index) => {
    const col = Math.floor(index / totalRows);
    const row = index % totalRows;
    const currentRadius = baseRadius + (row * rowSpacing);
    const angle = startAngle + (col / (seatsPerRow – 1)) * (endAngle – startAngle);

    return {
    …d,
    x: centerX + currentRadius * Math.cos(angle),
    y: centerY + currentRadius * Math.sin(angle)
    };
    });
    }

    function layoutGrid(seats, { columns, rowHeight, colWidth, offsetY = 0, fillByColumns = false }) {
    const rows = Math.ceil(seats.length / columns);
    const gridWidth = (columns – 1) * colWidth;
    const gridHeight = (rows – 1) * rowHeight;
    const startX = centerX – (gridWidth / 2);
    const startY = (height / 2) – (gridHeight / 2) + offsetY;

    return seats.map((d, index) => {
    const col = fillByColumns ? Math.floor(index / rows) : (index % columns);
    const row = fillByColumns ? (index % rows) : Math.floor(index / columns);
    return {
    …d,
    x: startX + (col * colWidth),
    y: startY + (row * rowHeight)
    };
    });
    }

    const senateLayout = layoutArc(orderedSeats, {
    totalRows: 3,
    seatsPerRow: 11,
    baseRadius: 140,
    rowSpacing: 50
    });

    const assemblyLayout = layoutGrid(orderedAssemblySeats, {
    columns: 11,
    colWidth: 34,
    rowHeight: 40,
    offsetY: 8,
    fillByColumns: true
    });

    const seatLayer = svg.append(“g”);
    const competitiveBlueLayer = svg.append(“g”);
    const competitiveWhiteLayer = svg.append(“g”);
    const chamberLayers = d3.selectAll([
    seatLayer.node(),
    competitiveBlueLayer.node(),
    competitiveWhiteLayer.node()
    ]);
    let currentChamber = “senate”;
    let activeStepIndex = -1;
    let chamberTransitionId = 0;

    function renderChamber(seats) {
    seatLayer.selectAll(“circle”)
    .data(seats, (_, i) => i)
    .join(
    enter => enter.append(“circle”)
    .attr(“r”, 12)
    .attr(“fill”, d => d.party === ‘dem’ ? ‘#318FC8’ : ‘#C93143’)
    .attr(“stroke”, “transparent”)
    .attr(“stroke-width”, 2)
    .attr(“cx”, d => d.x)
    .attr(“cy”, d => d.y),
    update => update,
    exit => exit.remove()
    )
    .attr(“cx”, d => d.x)
    .attr(“cy”, d => d.y);

    competitiveBlueLayer.selectAll(“circle”)
    .data(seats, (_, i) => i)
    .join(
    enter => enter.append(“circle”)
    .attr(“r”, 15)
    .attr(“fill”, “none”)
    .attr(“stroke”, “#318FC8”)
    .attr(“stroke-opacity”, “0.6”)
    .attr(“stroke-width”, 4)
    .attr(“stroke-dasharray”, “5 5”)
    .style(“opacity”, 0)
    .style(“pointer-events”, “none”)
    .attr(“cx”, d => d.x)
    .attr(“cy”, d => d.y),
    update => update,
    exit => exit.remove()
    )
    .attr(“cx”, d => d.x)
    .attr(“cy”, d => d.y);

    competitiveWhiteLayer.selectAll(“circle”)
    .data(seats, (_, i) => i)
    .join(
    enter => enter.append(“circle”)
    .attr(“r”, 15)
    .attr(“fill”, “none”)
    .attr(“stroke”, “#C93143”)
    .attr(“stroke-opacity”, “0.6”)
    .attr(“stroke-width”, 4)
    .attr(“stroke-dasharray”, “5 5”)
    .attr(“stroke-dashoffset”, “5”)
    .style(“opacity”, 0)
    .style(“pointer-events”, “none”)
    .attr(“cx”, d => d.x)
    .attr(“cy”, d => d.y),
    update => update,
    exit => exit.remove()
    )
    .attr(“cx”, d => d.x)
    .attr(“cy”, d => d.y);
    }

    renderChamber(senateLayout);

    // Scrollytelling Step Updates
    function updateGraphic(stepIndex) {
    activeStepIndex = stepIndex;
    const chamber = stepIndex >= 2 ? “assembly” : “senate”;
    const seats = chamber === “assembly” ? assemblyLayout : senateLayout;

    if (chamber !== currentChamber) {
    currentChamber = chamber;
    const transitionId = ++chamberTransitionId;

    chamberLayers
    .interrupt()
    .transition()
    .duration(250)
    .style(“opacity”, 0)
    .end()
    .then(() => {
    if (transitionId !== chamberTransitionId) return;

    renderChamber(seats);
    applyGraphicState(activeStepIndex);

    chamberLayers
    .transition()
    .duration(250)
    .style(“opacity”, 1);
    })
    .catch(() => {
    // An interrupted fade means a newer chamber transition has taken over.
    });

    return;
    }

    applyGraphicState(stepIndex);
    }

    function applyGraphicState(stepIndex) {
    const chamber = stepIndex >= 2 ? “assembly” : “senate”;

    const highlightCompetitive = chamber === “assembly” ? stepIndex >= 3 : stepIndex === 1;
    const emphasizeActiveSeats = chamber === “assembly” ? true : stepIndex >= 0;

    seatLayer.selectAll(“circle”)
    .style(“opacity”, d => emphasizeActiveSeats ? (d.activeThisYear ? 1 : 0.2) : 1)
    .attr(“fill”, d => {
    if (emphasizeActiveSeats && !d.activeThisYear) return “#cbd5e1”;
    return d.party === ‘dem’ ? ‘#318FC8’ : ‘#C93143’;
    })
    .attr(“stroke”, “transparent”)
    .attr(“r”, 12);

    competitiveBlueLayer.selectAll(“circle”)
    .style(“opacity”, d => highlightCompetitive && d.activeThisYear && d.competitive ? 1 : 0);

    competitiveWhiteLayer.selectAll(“circle”)
    .style(“opacity”, d => highlightCompetitive && d.activeThisYear && d.competitive ? 1 : 0);
    }

    // Initialize Scrollama framework
    const scroller = scrollama();

    scroller
    .setup({
    step: “.scrolly-text .step”,
    offset: 0.5,
    debug: false
    })
    .onStepEnter(response => {
    const activeStep = Number(response.element.dataset.step ?? response.index);

    // Highlight active text card side panel
    d3.selectAll(‘.step’).classed(‘is-active’, false);
    d3.select(response.element).classed(‘is-active’, true);

    // Animate graphics adjustments according to index
    updateGraphic(activeStep);
    })
    .onStepExit(response => {
    if (response.direction === “up” && response.index === 0) {
    d3.selectAll(‘.step’).classed(‘is-active’, false);
    updateGraphic(-1);
    }
    });

    // Handle browser resize calculations safely
    window.addEventListener(“resize”, scroller.resize);

    const scrollyContainer = document.querySelector(“#scrolly-container”);
    scrollyContainer.style.visibility = “visible”;
    scrollyContainer.setAttribute(“aria-busy”, “false”);
    requestAnimationFrame(() => scroller.resize());
    }

    The momentum is certainly there for Democrats to flip the Senate, said John Johnson, a research fellow at the Marquette University Law School who has analyzed the political trends of the state’s legislative races. Of the three Republican-held seats, Marklein is the lone incumbent running for reelection. 

    “In the Assembly, Democrats have to beat some strong Republican incumbents if they want 50 seats there, and in the Senate they don’t have to,” Johnson said. “They can just win the open seats and hold the seats they’ve already got, and that’ll be enough. So I think it really comes down to incumbency advantage and which seats are open.” 

    The stakes of who wins these legislative races in 2026 are especially high, as the parties that control each of the chambers next year must work with a new governor in the executive branch.

    If Democrats or Republicans win the governor’s office and both the Assembly and the Senate, they will gain full-party control of the Capitol, which creates a fast track to advance their party’s policies from bill to law. When Republicans swept into power after winning the governor’s office and the Legislature in 2010, they were able to pass policies such as Act 10, the controversial anti-union law that stripped collective bargaining rights for public sector unions.

    On the other hand, Wisconsin could see continued split government if one party wins the governor’s office and the other wins one or both of the chambers of the Legislature. That’s been the case since retiring Evers won in 2018.

    A person with long brown hair wearing a black jacket sits at a table holding a drink cup while speaking to another person. A television, radio and small American flag are nearby.
    State Rep. Jenna Jacobson, D-Oregon, speaks with visitors at the Crawford County Democratic Party office in Prairie du Chien, Wis., on Sept. 30, 2026. (Brittany Carloni / Wisconsin Watch)

    Wisconsin Democrats see potential to win complete control of state government. Democratic candidates have focused their campaigns on how the Trump administration and legislative Republicans have blocked access to health care or expanded public funding for private school vouchers. While Jacobson knocks doors in the 17th Senate District, she told Wisconsin Watch people plead for changes to help the cost of living. 

    “The number one thing that I hear from folks is, please just do something. Literally anything,” Jacobson said. “They feel whatever has been happening at the state level is not filtering down.”

    Marklein has had two years to introduce himself to the new parts of his district. In 2022, under the old district lines, he outperformed the Republican gubernatorial candidate. 

    “I always outperform the top of the ticket,” Marklein told Wisconsin Watch. “I’m a farm boy. I don’t know any better than to work hard.”

    A person with gray hair and glasses wearing a yellow polo shirt smiles while shaking hands with a person in a brown hoodie on a street, with a red vehicle and pedestrians nearby.
    Republican state Sen. Howard Marklein walks in the Prairie du Chien Oktoberfest parade on Oct. 17, 2026. (Brittany Carloni / Wisconsin Watch)

    Here, in a nutshell, are the 14 Senate and Assembly races to watch on election night to see which party will control the Legislature in the new year.

    Senate District 5

    Rep. Robyn Vining, D-Wauwatosa, and Republican business owner Mike Roberts are competing in the general election after incumbent Sen. Rob Hutton, R-Brookfield, decided not to seek reelection. 

    Both Harris and U.S. Sen. Tammy Baldwin won this district in 2024.

    Vining, who has served four terms in the Assembly, is campaigning to increase funding for public schools, expand access to BadgerCare and defend reproductive rights. She serves on the committees on Children and Families; Health, Aging and Long-Term Care; Mental Health and Substance Abuse Prevention and Small Business Development. 

    Roberts is campaigning to lower property taxes, increase staffing and resources for law enforcement agencies and lower health care costs by expanding access to preventative care and increasing food assistance spending on whole grains, fruits and vegetables by 20%.

    Senate District 17

    Of the three vulnerable Republican Senate seats on the ballot this November, Sen. Howard Marklein, R-Spring Green, is the lone incumbent seeking reelection. He faces a challenge from two-term state Rep. Jenna Jacobson, D-Oregon, in the first election under the district’s new boundaries. Harris won the district by 1% and Baldwin won by nearly 5% in 2024. 

    Marklein has served in the Legislature since his election to the Assembly in 2010 and is in his third term in the Senate where he is a co-chair of the powerful Joint Finance Committee tasked with crafting the biennial state budget. Jacobson was elected to the Assembly in 2022 and previously served on the Oregon Village Board.

    Republicans have criticized Jacobson for co-sponsoring a series of bills during the recent legislative session after they were signed into law. Jacobson told Wisconsin Watch that was a “clerical error.” 

    Jacobson’s campaign has argued the 17th District needs new leadership after Marklein’s decade-plus in the Legislature, and that Republican control has led to funding challenges for public school districts that have then turned to taxpayers through referendums.

    Senate District 21

    Republican Jim Croft and Democrat Trevor Jung are competing for an open seat after Republican Sen. Van Wanggaard chose not to seek reelection. Both Harris and Baldwin won in the district in 2024 by a narrow margin. 

    Croft is a data analyst and Jung is the transit and mobility director for the city of Racine. Both candidates have centered their campaigns on easing the cost of living, although they differ on how to accomplish those goals. Croft is focused on lowering property taxes and limiting “red tape” to support businesses in the state. Jung has campaigned on addressing health care costs through exempting over-the-counter drugs from the state’s sales tax and insulating utility rate payers from rising energy costs due to the rise of data centers. 

    Political attacks have been a key part of the race. Jung has faced allegations, which he denies, from Republicans that he has campaigned while also being paid for his job in Racine. A city spokesperson told the Racine County Eye that it reviewed Jung’s time logs and payroll and found no violations of overlap of his city job and campaign.

    Senate District 31

    Democratic incumbent Sen. Jeff Smith faces a challenge from Republican Michele Magadance Skinner, an Eau Claire County Board member. 

    Smith has served in the Senate since 2018. Smith won in 2022 by 1 point, though under different legislative maps. Harris won the Eau Claire County-centered district in 2024 by just over 2 points.

    The State Senate Democratic Committee filed a lawsuit against Skinner in August to remove her from the November ballot for alleged residency in Georgia, but a Dane County judge denied the request for removal. 

    Smith currently serves on the Joint Legislative Council and Committee on Health, and he is running on abortion rights, funding public schools and protecting clean water in the state. Skinner serves on the Committee on Judiciary & Law Enforcement Highway Committee in Eau Claire County, and she is running on lowering income and property taxes and advocating for rural businesses and residents. Both candidates call for access to quality health care.

    Assembly District 21

    Democrat Dan Bukiewicz, mayor of Oak Creek, will face Republican Dylan Pfaffenbach, a Carroll University student, in November to replace Joint Finance Committee member Rep. Jessie Rodriguez, R-Oak Creek, who is not seeking reelection. 

    Rodriguez won the district by 2.8 percentage points in a district where Harris won by a little over 4 percentage points in 2024.

    Bukiewicz is campaigning on lowering costs, ensuring community safety and increasing oversight on data centers. Pfaffenbach’s priorities include lowering property taxes, ensuring access to affordable health care and addressing concerns surrounding data centers development. In August, Pfaffenbach was placed on the Republican State Leadership Committee’s 2026 Wisconsin Candidate Spotlight series, asking voters to support his race to maintain control of the Legislature.

    Assembly District 26

    Freshman state Rep. Joe Sheehan, D-Sheboygan, flipped the district in 2024 by unseating former state Rep. Amy Binsfeld. He now faces a challenge from former Sheboygan Ald. John Belanger.

    Sheehan won by 3 percentage points in 2024, while Harris carried the district by 2.7 percentage points.

    Sheehan serves on the committees on Education and Workforce Development, Labor and Integrated Employment. He has supported legislation to eliminate sales taxes on over-the-counter medications, make child care more affordable and expand BadgerCare via federal Medicaid expansion. Belanger, who lost his city council seat in April, is prioritizing affordability, addressing concerns about data centers’ potential effects on costs and water resources and advocating for quality, affordable health care.

    Assembly District 30

    Democratic retired public school educator Kevin Knoke is challenging Rep. Shannon Zimmerman, R-River Falls, who won by 8.5 percentage points in 2024, while Trump carried the district by 4.5 percentage points. 

    Zimmerman, who has held the district for nearly a decade, is campaigning to reduce income taxes, connect education centers with businesses and protect Wisconsin’s natural resources. In 2023, Zimmerman introduced legislation granting data centers an exemption from the 5% state sales tax and local sales tax for purchases involved in their construction and equipment, which received extensive lobbying support from Microsoft, We Energies and Alliant Energy.

    Zimmerman has also faced criticism for missing more than 225 votes and a quarter of the Assembly’s floor sessions in the 2025-26 legislative session. In an Oct. 14 candidate forum, Zimmerman noted personal family matters that have impacted his attendance, including the passing of his nephew in early 2025, his 3-year-old grandchild being diagnosed with a rare genetic condition and an older parent battling cancer. 

    Knoke offered condolences to Zimmerman and his family, but noted there are people in the 30th District facing similar familial concerns who can’t take time off work.

    Knoke’s priorities include expanding affordable housing, ensuring access to affordable health care and increasing funding for public schools.

    Assembly District 51

    State Rep. Todd Novak, R-Dodgeville, has long held one of the five Assembly districts that Harris won in 2024. In 2026, Novak faces challenges from Democrat Ben Gruber, a conservation warden from Arena, and American Solidarity Party candidate Nathan Tataje, a personal trainer also from Arena. 

    Novak, the former mayor of Dodgeville, was first elected to the Assembly in 2014 and has often won close elections. Except for a 12-point win in 2022, the rest of Novak’s victory margins have come within five percentage points over Democratic opponents. In 2024, he outperformed both Harris and Baldwin, who both won the district. 

    Novak was among a group of Assembly Republicans earlier this year who lobbied Speaker Robin Vos to allow votes on a bill to expand postpartum Medicaid for new Wisconsin mothers and Gail’s Law, the bill that required insurance companies to cover additional screenings for women at increased risk of breast cancer. 

    While Gruber has no elected experience, he is no stranger to state government. Gruber is among the plaintiffs in the case pending before the Wisconsin Supreme Court that seeks to restore collective bargaining rights for public employees that were eliminated under Act 10. He also was among plaintiffs in a case before the Wisconsin Employment Relations Commission, which found the state Department of Natural Resources retaliated against members of the conservation warden’s labor union.

    Assembly District 53

    Three candidates are competing for an open seat after Republican state Rep. Dean Kaufert, R-Neenah, chose not to run for reelection. Both Harris and Baldwin won the district in 2024. 

    The candidates in the race include Republican business owner David Daniels, Democratic teacher Becky Nichols and independent candidate Rachael Dowling, a Winnebago County Board member.

    Daniels and Nichols have said the top issue is affordability, although Daniels has focused more on reducing property taxes and returning the state surplus to taxpayers while Nichols has pointed to increasing funding for public schools to lower property taxes and providing more options to access health care. One of Dowling’s top issues is the “threat” of data centers and how they might increase electricity demand and costs across the state.

    Assembly District 61

    State Rep. Bob Donovan, R-Greenfield, faces a challenge this year from Greendale veteran Ben Brist. 

    Donovan was first elected to the Assembly in 2022 after serving two decades on the Milwaukee Common Council. He won his 2024 reelection campaign by just over 3 percentage points. At the same time, both Harris and Baldwin won in the suburban Milwaukee County district. 

    In the Assembly, Donovan was among a group of vulnerable Republicans who at the end of the legislative session rallied GOP lawmakers to support a bill to expand postpartum Medicaid for new Wisconsin mothers and Gail’s Law, the bill that required insurance companies to cover additional cancer screenings for women at increased risk of breast cancer. 

    Brist has campaigned on addressing cost of living increases and changing the public school funding formula so that fewer districts need to turn to taxpayers through referendums. He also is in favor of a statewide moratorium on data centers so the state can establish a “proper regulatory framework.”

    Assembly District 85

    State Rep. Patrick Snyder, R-Weston, faces a challenge from Democrat John Kroll, a former member of the Marathon County Board who works in the energy efficiency industry. In 2024, both Trump and Baldwin won in the district, which Snyder carried by 6.5 points. 

    Snyder was first elected to the Assembly in 2016. He chairs the Assembly Committee on Children and Families and led the Speaker’s Task Force on Elder Services, which produced a bill Snyder authored and was signed into law to increase protections against scams for individuals using cryptocurrency kiosks. Snyder also was the Assembly author of the bipartisan legislation that expanded postpartum Medicaid for new mothers in Wisconsin. 

    Kroll has run on issues such as expanding career and technical education in schools and increasing energy production in Wisconsin in an effort to lower costs.

    Assembly District 88

    Republican incumbent Rep. Ben Franklin faces a challenge from Democrat Brandy Tollefson, an accounting manager and De Pere School Board treasurer.

    Franklin was elected to the Assembly in 2024 and won the De Pere district by less than 1 percentage point. However, Harris won the district the same year, also by less than 1 point. 

    Franklin serves on the Corrections, Criminal Justice and Public Safety, Jobs and Economy committees and is the vice chair of the Veterans and Military Affairs Committee. He’s also on the Speaker’s Task Force on Protecting Kids and wants to position the state as a national and global leader for energy technology, touting the nuclear fusion tax break bill that was signed into law. He also highlighted his passed legislation that gave more money to veteran homelessness services, as well as legislation that raised the age limit of recorded statements in court. 

    Tollefson is running on expanding BadgerCare, raising the state special education reimbursement rate — currently at 35% — to 60%, ending the statewide private school voucher program and building affordable housing.

    Assembly District 89

    State Rep. Ryan Spaude, D-Ashwaubenon, faces a challenge from Republican Bobby Lindsey, a criminal justice instructor and retired Milwaukee police officer. 

    Spaude flipped the district under new maps in 2024 after more than two decades of Republican control, defeating his opponent by about 3 percentage points. Harris won the district by 2 points. 

    Spaude serves on the Criminal Justice and Public Safety, Judiciary and Tourism committees, and he is running on raising the minimum wage to $15 an hour, ending the statewide private school voucher program and regulating data centers. Lindsey, a Marine veteran, supports repealing Evers’ 400-year school funding increase, holding insurance and pharmaceutical companies accountable and using the state’s budget surplus to fund infrastructure, public schools, public safety and some kind of tax rebate or reduction.

    Assembly District 94

    Rep. Steve Doyle, D-Onalaska, faces a challenge from Republican Army veteran Keith Purnell.

    Doyle has served in the Assembly since 2011 and won the district in 2024 by 1 percentage point, even as Trump won the district that year by 2 points.

    Doyle is currently on the Commerce, Criminal Justice and Public Safety, Financial Institutions and Insurance committees. He is also the vice chair of the Speaker’s Task Force on Elder Services, and he supports keeping family farmers competitive, a data center moratorium, expanded BadgerCare and lowering income and property taxes. Doyle was one of the few Democrats in the Legislature to vote in favor of the failed deal to use the state’s $3 billion surplus to lower taxes and increase special education funding earlier this year.

    Purnell emphasizes cracking down on drug and human trafficking, parental transparency in the classroom, eliminating fraud and supporting emergency services like law enforcement, fire and EMS.

    Wisconsin Watch is a nonprofit, nonpartisan newsroom. Subscribe to our newsletters for original stories and our Friday news roundup.

    Here are the 14 Wisconsin districts that will decide which party controls the Legislature is a post from Wisconsin Watch, a non-profit investigative news site covering Wisconsin since 2009. Please consider making a contribution to support our journalism.

    controls decide Districts Legislature Party Wisconsin
    NCIJ NETWNCIJ NETWORK
    • Website

    Keep Reading

    Has Wisconsin governor candidate David Crowley said he supports undocumented immigrants who commit violent crimes?

    Oklahoma Consistently Fails to Punish Citation Oil & Gas — ProPublica

    Wisconsin governor candidates talk about supporting local control, but their records are mixed depending on the issue

    In western Wisconsin, Democrats seek to flip what was once one of the most moderate congressional districts

    New guide identifies policies that could reduce gun violence in Wisconsin

    Board of Deputies of British Jews declares Greens to be racist party

    Add A Comment
    Leave A Reply Cancel Reply

    Editors Picks

    Putin call pits Finland and Norway against Denmark and Sweden

    October 27, 2026

    How has Andy Burnham used his first 100 days in power? | Andy Burnham

    October 27, 2026

    UK government to give £15m to anti-misogyny fund amid ‘manosphere’ concerns | Women

    October 27, 2026

    Tailscale Rushes Patches After Uncoordinated Disclosure of ‘Tailworm’ Flaws

    October 27, 2026
    Latest Posts

    Bitcoiners Warned Of Wrench Attacks After Tax Authority Leak

    August 15, 2026

    Why tech bosses keep sharing their manifestos about AI

    August 15, 2026

    Westminster council threatens Charing Cross soup kitchen with closure | Homelessness

    August 15, 2026

    Subscribe to News

    Get the latest sports news from NewsSite about world, sports and politics.

    NCIJ Network is an independent digital news platform delivering trusted investigative journalism, European and global news, in-depth analysis, and fact-based reporting with accuracy, transparency, and integrity.

    Facebook X (Twitter) Instagram Pinterest YouTube

    Putin call pits Finland and Norway against Denmark and Sweden

    October 27, 2026

    How has Andy Burnham used his first 100 days in power? | Andy Burnham

    October 27, 2026

    UK government to give £15m to anti-misogyny fund amid ‘manosphere’ concerns | Women

    October 27, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    Type above and press Enter to search. Press Esc to cancel.