2026 forecast ยท Colorado Senate

John Hickenlooper is all but certain to win Colorado's Senate seat.

John Hickenlooper vs Mark Baisley. The model has Hickenlooper ahead by 20.9 points, winning 100 percent of 2,000 simulated elections.

Safe DModel D +20.9Updated October 22, 2026
John Hickenlooper
Democrat
59.3%
1,677,991 projected votes
Mark Baisley
Republican
38.4%
1,086,767 projected votes
100%Hickenlooper
0%Baisley
Hickenlooper all but certainEach square is one simulated election night, Hickenlooper wins about 100 of 100
RatingSafe D100% chance for Hickenlooper
Model marginD +20.9No polls in the race
80 percent rangeD +29.3 to D +12.12,000 simulations
Projected votes2,831,874Hickenlooper 59.3%

The county map

Four ways to read the state: margin, shift from 2024, vote bubbles and turnout

Colorado Senate by county

Conejos CountyJackson CountyArchuleta CountyWashington CountyGarfield CountyRio Grande CountyMorgan CountyElbert CountyMontrose CountyOtero CountyTeller CountyPhillips CountyYuma CountyPueblo CountyAlamosa CountyBaca CountyMontezuma CountyArapahoe CountyMineral CountyDolores CountyJefferson CountyDelta CountyGrand CountySaguache CountySummit CountyGunnison CountyCostilla CountyWeld CountyLas Animas CountyRoutt CountyDouglas CountyRio Blanco CountyBroomfield CountyDenver CountyBoulder CountyLarimer CountyCrowley CountyCuster CountyEl Paso CountyGilpin CountyHuerfano CountyOuray CountyCheyenne CountyMoffat CountyPitkin CountyProwers CountySan Juan CountyLa Plata CountyHinsdale CountyKit Carson CountySan Miguel CountyClear Creek CountyKiowa CountyPark CountyLake CountyLincoln CountyAdams CountyEagle CountyLogan CountySedgwick CountyChaffee CountyFremont CountyMesa CountyBent CountyEl PasoDenverJeffersonArapahoeDouglasAdamsLarimerBoulderWeldMesaPuebloBroomfield
D +40R +40Click a county to zoom ยท arrow keys step through counties by size
Where the margin is won
Denver County: Hickenlooper +219,707Boulder County: Hickenlooper +107,230Arapahoe County: Hickenlooper +100,975Jefferson County: Hickenlooper +91,277Adams County: Hickenlooper +46,301Larimer County: Hickenlooper +39,872Broomfield County: Hickenlooper +14,974Eagle County: Hickenlooper +9,270La Plata County: Hickenlooper +8,567Summit County: Hickenlooper +7,427Pitkin County: Hickenlooper +6,113Pueblo County: Hickenlooper +6,090Routt County: Hickenlooper +5,478Gunnison County: Hickenlooper +3,405Garfield County: Hickenlooper +3,343San Miguel County: Hickenlooper +2,607Chaffee County: Hickenlooper +2,013Clear Creek County: Hickenlooper +1,490Ouray County: Hickenlooper +985Douglas County: Hickenlooper +973Lake County: Hickenlooper +841Gilpin County: Hickenlooper +810Grand County: Hickenlooper +803Costilla County: Hickenlooper +608Saguache County: Hickenlooper +500San Juan County: Hickenlooper +158Las Animas County: Hickenlooper +156Weld County: Baisley +25,274Mesa County: Baisley +16,784Elbert County: Baisley +7,488Montrose County: Baisley +6,214El Paso County: Baisley +6,150Fremont County: Baisley +6,066Morgan County: Baisley +4,952Delta County: Baisley +4,743Logan County: Baisley +4,468Teller County: Baisley +3,260Moffat County: Baisley +3,242Yuma County: Baisley +2,619Kit Carson County: Baisley +2,056Prowers County: Baisley +2,012Rio Blanco County: Baisley +1,992Montezuma County: Baisley +1,937Washington County: Baisley +1,811Lincoln County: Baisley +1,427Otero County: Baisley +1,341Custer County: Baisley +1,274Phillips County: Baisley +1,214Baca County: Baisley +1,164Rio Grande County: Baisley +820Cheyenne County: Baisley +706Crowley County: Baisley +638Park County: Baisley +621Sedgwick County: Baisley +607Bent County: Baisley +606Kiowa County: Baisley +566Dolores County: Baisley +561Archuleta County: Baisley +384Jackson County: Baisley +371Huerfano County: Baisley +77Conejos County: Baisley +54Alamosa County: Baisley +38Hinsdale County: Baisley +32Mineral County: Baisley +24
Hickenlooper +681,973 net votes from 27 countiesStatewide D +20.1, a 568,380 vote marginBaisley +113,593 net votes from 37 counties

Vote share

Each candidate's projected share and the range of 80 percent of simulations

John HickenlooperDemocrat ยท 100% to win
59.3%
Mark BaisleyRepublican ยท 0% to win
38.4%

Scale runs from 25 to 75 percent. The dot is the forecast, the band is the 80 percent range and the brighter tick marks 50 percent.

Projected statewide vote

2,831,874 votes
CandidateVotesShare
John Hickenlooper D1,677,99159.3%
Mark Baisley R1,086,76738.4%
Other / independents O66,8322.4%
Total2,831,874100%

Each candidate's expected vote in the On Point simulation, at the forecast's projected turnout.

Every simulated outcome

2,000 sims
D +60.0: 1 simulationsD +57.7: 0 simulationsD +55.4: 0 simulationsD +53.1: 0 simulationsD +50.8: 0 simulationsD +48.5: 1 simulationsD +46.2: 1 simulationsD +43.9: 3 simulationsD +41.6: 8 simulationsD +39.3: 9 simulationsD +37.0: 16 simulationsD +34.7: 28 simulationsD +32.4: 64 simulationsD +30.1: 82 simulationsD +27.8: 181 simulationsD +25.5: 206 simulationsD +23.2: 277 simulationsD +20.9: 262 simulationsD +18.6: 237 simulationsD +16.3: 223 simulationsD +14.0: 162 simulationsD +11.7: 107 simulationsD +9.4: 66 simulationsD +7.1: 24 simulationsD +4.8: 22 simulationsD +2.5: 8 simulationsD +0.2: 6 simulationsR +2.1: 2 simulationsR +4.4: 0 simulationsR +6.7: 1 simulationsR +9.0: 1 simulationsR +11.3: 0 simulationsR +13.6: 1 simulationsR +15.9: 0 simulationsR +18.2: 0 simulationsR +20.5: 0 simulationsR +22.8: 0 simulationsR +25.1: 0 simulationsR +27.4: 0 simulationsR +29.7: 1 simulationsD +61.2R +30.8

80 percent of simulations fall between D +29.3 and D +12.1. Negative margins are Democratic wins.

The trend

Each side's chance of winning over the forecast's recent updates

0%25%50%75%100%100% Hickenlooper0% Baisley15 updates agoToday

Polling

Every poll in the average, and how the model reads it

Polls of the race

PollsterSampleAgeMargin
On Point averageWeighted averageNo polls

Each margin is the poll as the pollster published it. The forecast counts every poll after its house effect and the undecided split, which is what the trail above shows; hover a margin for the counted value. Lean R and Lean D mark partisan leaning firms.

Model margin
Hickenlooper +20.9
Chance of winning
John Hickenlooper100%
Mark Baisley0%
Simulated vote
John Hickenlooper59.3%
Mark Baisley38.4%
Other / independents2.4%
How the model gets there
Partisan leanD +11.3
FundamentalsD +19.1
With pollsD +19.8
Early vote turnoutD +1.1
With early voteD +20.9

Read from 656,902 ballots cast so far in Colorado, against the party mix the forecast expected of them, with similar states and primary turnout. Early vote tracker

Who has endorsed

20 public endorsements in this race, each with where it was reported.

John Hickenlooper20
  • Ken SalazarFormer ambassador to Mexico, former U.S. Senatorsource
  • John SalazarFormer U.S. Representative, CO-03source
  • Elizabeth WarrenU.S. Senator from Massachusettssource
  • Michael BennetU.S. Senator from Coloradosource
  • Giffordsgun safety organizationsource
  • End Citizens Unitedcampaign finance reform PACsource
  • AFSCMEpublic employees unionsource
  • Colorado Professional Fire Fightersfirefighters unionsource
Every endorsement on Watchdog

How we got here

From the state's partisan lean to the forecast, one stage at a time

D +25R +25Partisan leanthe state's baselineD +11.3Fundamentalsapproval, economy, candidatesD +19.1With pollsno pollsD +19.8With early voteturnout so farD +20.9

Who votes for whom

Estimated vote by group from the model's simulated electorate

Estimated vote by group

model crosstabs
GroupShareHickenlooperBaisley
GenderMen48%53.344.4
Women53%63.534.1
Age18 to 2916%60.736.9
30 to 4426%56.641.0
45 to 6430%57.240.4
65+28%60.936.7
RaceWhite76%53.644.1
Black4%87.99.9
Latino14%68.129.5
Asian and other6%80.317.0
Race and genderWhite men35%46.351.4
White women41%59.937.8
Black men2%85.911.8
Black women2%89.78.1
Latino men8%64.932.6
Latino women7%71.526.1
All other races6%80.317.0

Every county

The projected vote in each county, largest first

Projected vote by county

64 counties
CountyHickenlooperBaisleyOtherTotalMargin
Statewide1,666,6121,098,23267,0302,831,874D +20.1
El Paso County160,407166,5579,419336,383R +1.8
Denver County272,98253,2756,659332,916D +66.0
Jefferson County204,182112,9057,797324,884D +28.0
Arapahoe County194,07093,0956,760293,925D +34.5
Douglas County99,76498,7913,640202,195D +0.6
Adams County120,00573,7046,197199,906D +23.1
Larimer County116,46676,5944,545197,605D +20.2
Boulder County141,68834,4583,229179,375D +59.9
Weld County61,86787,1414,135153,143R +16.6
Mesa County31,54848,3321,88081,760R +20.5
Pueblo County40,61934,5292,16477,312D +7.9
Broomfield County27,54512,57186040,976D +36.6
La Plata County20,06511,49861132,174D +26.6
Garfield County15,01011,66765627,333D +12.2
Eagle County16,9717,70147825,150D +36.7
Fremont County8,32014,38672723,433R +25.9
Montrose County8,10514,31948122,905R +27.1
Delta County6,12910,87241817,419R +27.1
Elbert County4,26111,74939416,404R +45.7
Summit County11,5224,09531915,936D +46.6
Teller County5,5098,76939714,675R +22.2
Routt County9,9284,45029314,671D +37.2
Montezuma County5,7257,66232913,716R +14.1
Chaffee County7,1315,11830112,550D +16.0
Morgan County3,3768,32827611,980R +41.3
Park County4,9325,55331310,798R +5.7
Pitkin County8,0901,97714310,210D +59.8
Gunnison County6,5363,1312489,915D +34.4
Logan County2,4176,8852299,531R +46.9
Grand County4,6993,8961938,788D +9.1
Archuleta County3,8334,2172238,273R +4.6
Otero County3,2994,6402208,159R +16.4
Las Animas County3,5933,4372107,240D +2.1
Alamosa County3,3403,3782016,919R +0.6
Moffat County1,3274,5691636,059R +53.5
Clear Creek County3,4471,9571505,554D +26.7
Rio Grande County2,2853,1051615,551R +14.7
Prowers County1,3473,3591114,817R +41.7
San Miguel County3,455848884,391D +59.4
Yuma County8023,421564,279R +61.3
Huerfano County1,9322,0091304,071R +1.9
Conejos County1,7831,837703,690R +1.4
Gilpin County2,1251,3151253,565D +22.6
Ouray County2,1901,205593,454D +28.5
Lake County2,0791,2381313,448D +24.5
Custer County1,0212,295713,387R +37.5
Kit Carson County6052,661703,336R +61.5
Rio Blanco County6172,609693,295R +60.5
Saguache County1,7611,2611033,125D +16.0
Washington County3652,176362,577R +70.1
Lincoln County4791,906642,449R +58.3
Bent County7421,348622,152R +28.1
Phillips County4431,657392,139R +56.8
Costilla County1,197589541,840D +33.1
Baca County3101,474511,835R +63.2
Crowley County5531,191621,806R +35.3
Dolores County372933331,338R +41.8
Sedgwick County292899331,224R +49.5
Cheyenne County11482021955R +73.9
Kiowa County9566115771R +73.2
Jackson County17454519738R +50.1
Hinsdale County24627812536R +5.7
Mineral County22424815487R +4.7
San Juan County29613812446D +35.6

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.

Methodology
Every county is rebuilt by simulating voters going to the polls, 2,000 times, from On Point Polling survey data, past results, and the polling average. How the model works.