2026 forecast · North Dakota Attorney General
Drew Wrigley is all but certain to win North Dakota's attorney general race.
Tim Lamb vs Drew Wrigley, with Drew Wrigley running again. The model has Wrigley ahead by 23.9 points, with a 100 percent chance of winning.
Safe RModel R +23.9Updated October 22, 2026
Tim Lamb
Democrat
37.5%
101,433 projected votes
Drew Wrigley
Republican
61.5%
166,036 projected votes
100%Wrigley
0%Lamb
Wrigley all but certainEach square is one simulated election night, Wrigley wins about 100 of 100
D +40R +40Click a county to zoom · arrow keys step through counties by size
Where the margin is won
Lamb +5,222 net votes from 3 countiesStatewide R +23.9, a 64,604 vote marginWrigley +69,826 net votes from 50 counties
Projected statewide vote
270,170 votes| Candidate | Votes | Share |
|---|---|---|
| Drew Wrigley R | 166,036 | 61.5% |
| Tim Lamb D | 101,433 | 37.5% |
| Other candidates | 2,701 | 1.0% |
| Total | 270,170 | 100% |
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| County | Lamb | Wrigley | Other | Total | Margin |
|---|---|---|---|---|---|
| Statewide | 101,434 | 166,038 | 2,698 | 270,170 | R +23.9 |
| Cass County | 35,139 | 31,909 | 677 | 67,725 | D +4.8 |
| Burleigh County | 11,729 | 22,680 | 347 | 34,756 | R +31.5 |
| Grand Forks County | 12,184 | 13,423 | 259 | 25,866 | R +4.8 |
| Ward County | 7,444 | 15,881 | 236 | 23,561 | R +35.8 |
| Williams County | 2,477 | 9,829 | 123 | 12,429 | R +59.1 |
| Morton County | 3,322 | 8,285 | 117 | 11,724 | R +42.3 |
| Stark County | 2,305 | 8,432 | 108 | 10,845 | R +56.5 |
| Stutsman County | 2,590 | 5,080 | 78 | 7,748 | R +32.1 |
| Richland County | 2,156 | 3,631 | 58 | 5,845 | R +25.3 |
| McKenzie County | 863 | 3,534 | 45 | 4,442 | R +60.1 |
| Ramsey County | 1,419 | 2,535 | 40 | 3,994 | R +27.9 |
| Barnes County | 1,496 | 2,357 | 38 | 3,891 | R +22.1 |
| Rolette County | 2,522 | 1,078 | 36 | 3,636 | D +39.7 |
| Walsh County | 1,168 | 2,378 | 36 | 3,582 | R +33.8 |
| McLean County | 915 | 2,540 | 34 | 3,489 | R +46.6 |
| Mountrail County | 1,054 | 1,952 | 30 | 3,036 | R +29.6 |
| Mercer County | 565 | 2,281 | 29 | 2,875 | R +59.7 |
| Traill County | 1,116 | 1,623 | 28 | 2,767 | R +18.3 |
| Pembina County | 681 | 1,684 | 24 | 2,389 | R +42.0 |
| Bottineau County | 608 | 1,605 | 22 | 2,235 | R +44.6 |
| Ransom County | 852 | 1,120 | 20 | 1,992 | R +13.5 |
| McHenry County | 410 | 1,348 | 18 | 1,776 | R +52.8 |
| Benson County | 827 | 893 | 17 | 1,737 | R +3.8 |
| Dickey County | 499 | 1,198 | 17 | 1,714 | R +40.8 |
| LaMoure County | 396 | 1,018 | 14 | 1,428 | R +43.6 |
| Pierce County | 398 | 987 | 14 | 1,399 | R +42.1 |
| Sargent County | 550 | 799 | 14 | 1,363 | R +18.2 |
| Dunn County | 263 | 1,068 | 13 | 1,344 | R +59.9 |
| Wells County | 311 | 1,017 | 13 | 1,341 | R +52.7 |
| Cavalier County | 390 | 873 | 13 | 1,276 | R +37.8 |
| Foster County | 303 | 867 | 12 | 1,182 | R +47.7 |
| Emmons County | 166 | 990 | 12 | 1,168 | R +70.5 |
| Sioux County | 824 | 276 | 10 | 1,110 | D +49.4 |
| Nelson County | 432 | 633 | 11 | 1,076 | R +18.8 |
| Bowman County | 169 | 805 | 10 | 984 | R +64.7 |
| McIntosh County | 195 | 711 | 9 | 915 | R +56.3 |
| Hettinger County | 171 | 712 | 9 | 892 | R +60.5 |
| Kidder County | 184 | 642 | 8 | 834 | R +54.9 |
| Eddy County | 274 | 539 | 8 | 821 | R +32.3 |
| Renville County | 161 | 647 | 9 | 817 | R +59.5 |
| Griggs County | 238 | 556 | 8 | 802 | R +39.6 |
| Grant County | 159 | 624 | 9 | 792 | R +58.7 |
| Divide County | 213 | 566 | 8 | 787 | R +44.8 |
| Adams County | 173 | 567 | 7 | 747 | R +52.7 |
| Burke County | 116 | 584 | 8 | 708 | R +66.1 |
| Towner County | 231 | 465 | 7 | 703 | R +33.4 |
| Logan County | 99 | 542 | 7 | 648 | R +68.3 |
| Steele County | 277 | 352 | 6 | 635 | R +11.8 |
| Oliver County | 116 | 492 | 5 | 613 | R +61.3 |
| Golden Valley County | 96 | 475 | 6 | 577 | R +65.8 |
| Sheridan County | 87 | 396 | 5 | 488 | R +63.3 |
| Billings County | 68 | 305 | 3 | 376 | R +63.1 |
| Slope County | 33 | 254 | 3 | 290 | R +76.0 |
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 simulations80 percent of simulations fall between R +14.7 and R +33.1. The white dot is the forecast; the line is a tie.
How the model gets there
statewide margin at each step| Top of ticket | R +18.4 |
| Down ballot history, moved to 2026 | R +28.5 |
| Blend of every leg | R +21.1 |
| With incumbency and primary unity | R +24.1 |
| With polls, none in the race | R +23.9 |
Leg weights: Top of ticket 38%, Approval fundamentals 19%, Gallup, relaxed 13%, Down ballot history 31%. 80 percent of outcomes fall between R +14.7 and R +33.1.
Polls of the race
no polls| Pollster | Sample | Ended | Lamb | Wrigley | Margin |
|---|---|---|---|---|---|
| No public polls of this race. The forecast rests on the top of ticket, past results and the primaries. | |||||