2026 forecast · North Dakota Public Service Commission, Two-Year Unexpired Term

Jill Kringstad is all but certain to win North Dakota's public service commission, two-year unexpired term race.

Scot Kelsh vs Jill Kringstad, with Jill Kringstad running again. The model has Kringstad ahead by 22.9 points, with a 100 percent chance of winning.

Safe RModel R +22.9Updated October 22, 2026
Scot Kelsh
Democrat
37.3%
100,874 projected votes
Jill Kringstad
Republican
60.2%
162,759 projected votes
100%Kringstad
0%Kelsh
Kringstad all but certainEach square is one simulated election night, Kringstad wins about 100 of 100

North Dakota Public Service Commission, Two-Year Unexpired Term by county

Adams CountyBarnes CountyBenson CountyBillings CountyBottineau CountyBowman CountyBurke CountyBurleigh CountyCass CountyCavalier CountyDickey CountyDivide CountyDunn CountyEddy CountyEmmons CountyFoster CountyGolden Valley CountyGrand Forks CountyGrant CountyGriggs CountyHettinger CountyKidder CountyLaMoure CountyLogan CountyMcHenry CountyMcIntosh CountyMcKenzie CountyMcLean CountyMercer CountyMorton CountyMountrail CountyNelson CountyOliver CountyPembina CountyPierce CountyRamsey CountyRansom CountyRenville CountyRichland CountyRolette CountySargent CountySheridan CountySioux CountySlope CountyStark CountySteele CountyStutsman CountyTowner CountyTraill CountyWalsh CountyWard CountyWells CountyWilliams CountyCassBurleighGrand ForksWardWilliamsMortonStarkStutsmanRichlandMcKenzieRamseyBarnes
D +40R +40Click a county to zoom · arrow keys step through counties by size
Where the margin is won
Cass County: Kelsh +3,691Rolette County: Kelsh +1,446Sioux County: Kelsh +547Burleigh County: Kringstad +10,559Ward County: Kringstad +8,162Williams County: Kringstad +7,186Stark County: Kringstad +5,985Morton County: Kringstad +4,819McKenzie County: Kringstad +2,611Stutsman County: Kringstad +2,402Mercer County: Kringstad +1,679McLean County: Kringstad +1,581Richland County: Kringstad +1,413Walsh County: Kringstad +1,168Ramsey County: Kringstad +1,071Grand Forks County: Kringstad +1,028Pembina County: Kringstad +974Bottineau County: Kringstad +969McHenry County: Kringstad +915Mountrail County: Kringstad +864Barnes County: Kringstad +821Emmons County: Kringstad +808Dunn County: Kringstad +787Wells County: Kringstad +689Dickey County: Kringstad +679Bowman County: Kringstad +623LaMoure County: Kringstad +606Pierce County: Kringstad +572Foster County: Kringstad +549Hettinger County: Kringstad +528McIntosh County: Kringstad +503Traill County: Kringstad +480Renville County: Kringstad +475Cavalier County: Kringstad +468Burke County: Kringstad +459Grant County: Kringstad +454Kidder County: Kringstad +447Logan County: Kringstad +434Adams County: Kringstad +383Golden Valley County: Kringstad +372Oliver County: Kringstad +368Divide County: Kringstad +343Griggs County: Kringstad +308Sheridan County: Kringstad +302Eddy County: Kringstad +256Ransom County: Kringstad +250Sargent County: Kringstad +235Billings County: Kringstad +233Towner County: Kringstad +226Slope County: Kringstad +216Nelson County: Kringstad +191Steele County: Kringstad +69Benson County: Kringstad +53
Kelsh +5,684 net votes from 3 countiesStatewide R +22.9, a 61,889 vote marginKringstad +67,573 net votes from 50 counties

Projected statewide vote

270,170 votes
CandidateVotesShare
Jill Kringstad R162,75960.2%
Scot Kelsh D100,87437.3%
Other candidates6,5372.4%
Total270,170100%

Expected votes at the projected turnout for this office, which runs a little below the top of the ticket because some voters skip down ballot races.

Projected vote by county

53 counties
CountyKelshKringstadOtherTotalMargin
Statewide100,869162,7586,543270,170R +22.9
Cass County34,88931,1981,63867,725D +5.5
Burleigh County11,67822,23784134,756R +30.4
Grand Forks County12,10613,13462625,866R +4.0
Ward County7,41415,57657123,561R +34.6
Williams County2,4719,65730112,429R +57.8
Morton County3,3118,13028311,724R +41.1
Stark County2,2998,28426210,845R +55.2
Stutsman County2,5794,9811887,748R +31.0
Richland County2,1453,5581425,845R +24.2
McKenzie County8623,4731074,442R +58.8
Ramsey County1,4132,484973,994R +26.8
Barnes County1,4882,309943,891R +21.1
Rolette County2,4971,051883,636D +39.8
Walsh County1,1642,332863,582R +32.6
McLean County9122,493843,489R +45.3
Mountrail County1,0491,913743,036R +28.5
Mercer County5632,242702,875R +58.4
Traill County1,1101,590672,767R +17.3
Pembina County6791,653572,389R +40.8
Bottineau County6061,575542,235R +43.4
Ransom County8471,097481,992R +12.6
McHenry County4091,324431,776R +51.5
Benson County821874421,737R +3.0
Dickey County4971,176411,714R +39.6
LaMoure County3941,000341,428R +42.4
Pierce County396968351,399R +40.9
Sargent County547782341,363R +17.2
Dunn County2621,049331,344R +58.6
Wells County310999321,341R +51.4
Cavalier County389857301,276R +36.7
Foster County302851291,182R +46.4
Emmons County166974281,168R +69.2
Sioux County815268271,110D +49.2
Nelson County429620271,076R +17.8
Bowman County16979223984R +63.3
McIntosh County19569822915R +55.0
Hettinger County17169922892R +59.2
Kidder County18363021834R +53.6
Eddy County27352919821R +31.1
Renville County16163620817R +58.1
Griggs County23754520802R +38.4
Grant County15961320792R +57.4
Divide County21255520787R +43.6
Adams County17355618747R +51.4
Burke County11657517708R +64.8
Towner County23045617703R +32.2
Logan County9953316648R +66.9
Steele County27534416635R +10.9
Oliver County11548315613R +60.0
Golden Valley County9546715577R +64.5
Sheridan County8738912488R +61.9
Billings County673009376R +61.7
Slope County332498290R +74.5

Projected 2026 votes from the On Point simulation: each county's expected turnout times its simulated vote share. Totals may differ from the race total by rounding.

Range of outcomes

80 percent of simulations
R +13.7R +32.1R +22.9

80 percent of simulations fall between R +13.7 and R +32.1. The white dot is the forecast; the line is a tie.

How the model gets there

statewide margin at each step
Top of ticketR +18.4
Down ballot history, moved to 2026R +26.2
Blend of every legR +20.4
With incumbency and primary unityR +23.5
With polls, none in the raceR +22.9

Leg weights: Top of ticket 38%, Approval fundamentals 19%, Gallup, relaxed 13%, Down ballot history 31%. 80 percent of outcomes fall between R +13.7 and R +32.1.

Polls of the race

no polls
PollsterSampleEndedKelshKringstadMargin
No public polls of this race. The forecast rests on the top of ticket, past results and the primaries.