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.8 points, with a 100 percent chance of winning.

Safe RModel R +22.8Updated October 22, 2026
Scot Kelsh
Democrat
37.4%
100,977 projected votes
Jill Kringstad
Republican
60.2%
162,656 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,749Rolette County: Kelsh +1,449Sioux County: Kelsh +547Burleigh County: Kringstad +10,531Ward County: Kringstad +8,144Williams County: Kringstad +7,179Stark County: Kringstad +5,977Morton County: Kringstad +4,810McKenzie County: Kringstad +2,609Stutsman County: Kringstad +2,396Mercer County: Kringstad +1,677McLean County: Kringstad +1,579Richland County: Kringstad +1,408Walsh County: Kringstad +1,166Ramsey County: Kringstad +1,069Grand Forks County: Kringstad +1,005Pembina County: Kringstad +973Bottineau County: Kringstad +968McHenry County: Kringstad +913Mountrail County: Kringstad +861Barnes County: Kringstad +817Emmons County: Kringstad +808Dunn County: Kringstad +786Wells County: Kringstad +688Dickey County: Kringstad +677Bowman County: Kringstad +622LaMoure County: Kringstad +604Pierce County: Kringstad +571Foster County: Kringstad +548Hettinger County: Kringstad +528McIntosh County: Kringstad +503Traill County: Kringstad +477Renville County: Kringstad +475Cavalier County: Kringstad +467Burke County: Kringstad +458Grant County: Kringstad +454Kidder County: Kringstad +446Logan County: Kringstad +432Adams County: Kringstad +383Golden Valley County: Kringstad +371Oliver County: Kringstad +368Divide County: Kringstad +342Griggs County: Kringstad +307Sheridan County: Kringstad +302Eddy County: Kringstad +255Ransom County: Kringstad +248Sargent County: Kringstad +234Billings County: Kringstad +232Towner County: Kringstad +226Slope County: Kringstad +216Nelson County: Kringstad +190Steele County: Kringstad +68Benson County: Kringstad +51
Kelsh +5,745 net votes from 3 countiesStatewide R +22.8, a 61,674 vote marginKringstad +67,419 net votes from 50 counties

Projected statewide vote

270,170 votes
CandidateVotesShare
Jill Kringstad R162,65660.2%
Scot Kelsh D100,97737.4%
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,981162,6556,534270,170R +22.8
Cass County34,91831,1691,63867,725D +5.5
Burleigh County11,69222,22384134,756R +30.3
Grand Forks County12,11813,12362525,866R +3.9
Ward County7,42315,56757123,561R +34.6
Williams County2,4759,65430012,429R +57.8
Morton County3,3158,12528411,724R +41.0
Stark County2,3038,28026210,845R +55.1
Stutsman County2,5824,9781887,748R +30.9
Richland County2,1483,5561415,845R +24.1
McKenzie County8633,4721074,442R +58.7
Ramsey County1,4142,483973,994R +26.8
Barnes County1,4902,307943,891R +21.0
Rolette County2,4991,050873,636D +39.8
Walsh County1,1652,331863,582R +32.5
McLean County9132,492843,489R +45.3
Mountrail County1,0511,912733,036R +28.4
Mercer County5642,241702,875R +58.3
Traill County1,1121,589662,767R +17.2
Pembina County6791,652582,389R +40.7
Bottineau County6061,574552,235R +43.3
Ransom County8481,096481,992R +12.5
McHenry County4101,323431,776R +51.4
Benson County822873421,737R +2.9
Dickey County4981,175411,714R +39.5
LaMoure County395999341,428R +42.3
Pierce County397968341,399R +40.8
Sargent County548782331,363R +17.1
Dunn County2631,049321,344R +58.5
Wells County310998331,341R +51.3
Cavalier County389856311,276R +36.6
Foster County303851281,182R +46.4
Emmons County166974281,168R +69.1
Sioux County815268271,110D +49.3
Nelson County430620261,076R +17.7
Bowman County16979124984R +63.3
McIntosh County19569822915R +55.0
Hettinger County17169922892R +59.1
Kidder County18463020834R +53.5
Eddy County27352820821R +31.1
Renville County16163620817R +58.1
Griggs County23854519802R +38.3
Grant County15961320792R +57.3
Divide County21355519787R +43.5
Adams County17355618747R +51.3
Burke County11657418708R +64.7
Towner County23045617703R +32.2
Logan County10053216648R +66.8
Steele County27634415635R +10.8
Oliver County11548315613R +59.9
Golden Valley County9646714577R +64.4
Sheridan County8738912488R +61.9
Billings County683008376R +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.0R +22.8

80 percent of simulations fall between R +13.7 and R +32.0. 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.3
Down ballot history, moved to 2026R +26.2
Blend of every legR +20.3
With incumbency and primary unityR +23.4
With polls, none in the raceR +22.8

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.0.

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.