2028 forecast · Pennsylvania · President · 19 electoral votes
The Democrat is very likely to carry Pennsylvania.
A generic Democrat against JD Vance: D +10.3 in the average of 20,000 county simulations, with 80% of runs between D +15.2 and D +5.5. Projected votes: 3,859,410 Democratic, 3,139,137 Republican, 81,875 other, 7,080,422 in all.
99%Democratic win chance
D +10.32028 margin
R +1.72024 actual
16%Chance it is the tipping point
Every county
simulated marginD +40R +40
20,000 simulated elections
margin, R minus DFrom 2024 to 2028
| 2024 result | R +1.7 | Certified county votes. |
| National environment | D +8.4 | National swing by county elasticity, 2020 to 2024 trend and 2026 shifts. |
| Deaths and aging | 0.5 toward R | Older cohorts leave, every cohort ages four years. |
| New 18 to 21 voters | 0.7 toward D | 5.5% of the 2028 electorate here. |
| Life cycle drift | 0.3 toward R | Voters under 44 drifting a little right as they age. |
| Migration | 0.1 toward D | Movers in and out since 2020, carried to 2028. |
| 2028 model | D +10.3 | Includes Vance's own home and polling effects and the simulation's vote weighting. Votes: 7,034,206 in 2024, 7,080,423 projected. |
Democrats against Vance
Pennsylvania| Democrat | Margin | D win |
|---|---|---|
| Shapiro | D +13.9 | >99% |
| Buttigieg | D +11.8 | >99% |
| Harris | D +11.6 | >99% |
| Rob SandHYP | D +11.3 | >99% |
| CooperHYP | D +10.9 | >99% |
| TalaricoHYP | D +10.9 | >99% |
| Cuban | D +10.8 | >99% |
| BookerHYP | D +10.8 | >99% |
| BrownHYP | D +10.5 | >99% |
| Ossoff | D +10.5 | >99% |
| Generic Democrat | D +10.3 | >99% |
| WhitmerHYP | D +10.3 | >99% |
| WalzHYP | D +10.3 | >99% |
| MurphyHYP | D +10.3 | >99% |
| KhannaHYP | D +10.3 | >99% |
| EmanuelHYP | D +10.3 | >99% |
| PolisHYP | D +10.3 | >99% |
| CrockettHYP | D +10.2 | >99% |
| PritzkerHYP | D +10.2 | >99% |
| KellyHYP | D +10.0 | >99% |
| BeshearHYP | D +10.0 | >99% |
| WarnockHYP | D +9.9 | >99% |
| GallegoHYP | D +9.9 | >99% |
| El-SayedHYP | D +9.6 | 99% |
| KlobucharHYP | D +9.6 | 99% |
| Stephen A. Smith | D +9.1 | 99% |
| MooreHYP | D +9.1 | 99% |
| Newsom | D +9.0 | 99% |
| Ocasio-Cortez | D +7.1 | 97% |
Republicans against a generic Democrat
Pennsylvania| Republican | Margin | D win |
|---|---|---|
| CruzHYP | D +10.6 | >99% |
| CottonHYP | D +10.6 | >99% |
| Tim ScottHYP | D +10.6 | >99% |
| Trump Jr.HYP | D +10.5 | >99% |
| DeSantisHYP | D +10.4 | >99% |
| KempHYP | D +10.4 | >99% |
| DonaldsHYP | D +10.4 | >99% |
| Vance | D +10.3 | >99% |
| YoungkinHYP | D +10.3 | >99% |
| Huckabee SandersHYP | D +10.3 | >99% |
| Rand PaulHYP | D +10.2 | >99% |
| Rubio | D +10.2 | >99% |
| HaleyHYP | D +10.1 | >99% |
HYP marks a candidate with no head to head polling: home state and 2026 midterm effects only.
Projected vote in every county
67 counties, largest first| County | 2024 | 2028 | 80% range | D votes | R votes | Total | Generations | Migration |
|---|---|---|---|---|---|---|---|---|
| Philadelphia County | D +59.5 | D +77.4 | D +84 to D +71 | 629,837 | 80,337 | 718,340 | D +0.44 | R +0.13 |
| Allegheny County | D +20.5 | D +32.6 | D +39 to D +26 | 467,825 | 237,893 | 714,210 | R +0.08 | Even |
| Montgomery County | D +23.0 | D +38.5 | D +45 to D +32 | 365,415 | 162,182 | 533,980 | Even | Even |
| Bucks County | R +0.1 | D +12.3 | D +19 to D +6 | 222,178 | 173,614 | 400,402 | R +0.20 | Even |
| Chester County | D +14.6 | D +30.8 | D +37 to D +24 | 219,104 | 115,863 | 339,243 | R +0.06 | D +0.05 |
| Delaware County | D +24.0 | D +40.1 | D +46 to D +34 | 230,502 | 98,638 | 333,105 | D +0.17 | Even |
| Lancaster County | R +16.1 | R +7.2 | R +1 to R +13 | 135,029 | 155,923 | 294,774 | R +0.22 | D +0.11 |
| York County | R +25.5 | R +15.2 | R +9 to R +22 | 107,482 | 146,015 | 256,621 | R +0.21 | D +0.28 |
| Berks County | R +12.3 | R +1.7 | D +5 to R +8 | 103,898 | 107,483 | 213,983 | R +0.09 | D +0.11 |
| Westmoreland County | R +28.6 | R +19.3 | R +13 to R +26 | 82,627 | 122,247 | 206,948 | R +0.41 | Even |
| Lehigh County | D +2.7 | D +15.7 | D +22 to D +10 | 109,700 | 79,897 | 192,110 | Even | D +0.05 |
| Northampton County | R +1.8 | D +8.4 | D +15 to D +2 | 98,765 | 83,479 | 184,457 | R +0.11 | D +0.14 |
| Cumberland County | R +9.6 | D +1.7 | D +8 to R +5 | 79,416 | 76,825 | 158,481 | R +0.17 | D +0.35 |
| Luzerne County | R +19.3 | R +8.7 | R +2 to R +15 | 70,823 | 84,309 | 156,661 | R +0.25 | D +0.11 |
| Dauphin County | D +6.0 | D +19.2 | D +25 to D +13 | 89,525 | 60,671 | 152,188 | D +0.08 | Even |
| Erie County | R +1.0 | D +7.3 | D +14 to D +1 | 72,417 | 62,576 | 136,620 | R +0.24 | Even |
| Butler County | R +32.5 | R +20.3 | R +14 to R +27 | 49,379 | 74,598 | 125,357 | R +0.32 | D +0.31 |
| Washington County | R +25.7 | R +15.6 | R +9 to R +22 | 50,881 | 69,757 | 121,784 | R +0.36 | D +0.09 |
| Lackawanna County | D +2.8 | D +12.6 | D +19 to D +6 | 65,071 | 50,513 | 116,674 | R +0.26 | Even |
| Beaver County | R +20.9 | R +11.9 | R +6 to R +18 | 40,603 | 51,585 | 93,205 | R +0.35 | Even |
| Franklin County | R +43.4 | R +33.8 | R +27 to R +40 | 27,977 | 56,594 | 85,522 | R +0.27 | D +0.33 |
| Monroe County | R +0.8 | D +10.3 | D +17 to D +4 | 46,317 | 37,688 | 84,999 | Even | Even |
| Centre County | D +2.9 | D +13.6 | D +20 to D +7 | 47,471 | 36,111 | 84,671 | Even | D +0.05 |
| Lebanon County | R +32.3 | R +22.7 | R +16 to R +29 | 28,528 | 45,299 | 74,705 | R +0.27 | D +0.21 |
| Schuylkill County | R +42.4 | R +33.0 | R +26 to R +40 | 24,354 | 48,302 | 73,463 | R +0.32 | D +0.20 |
| Cambria County | R +40.0 | R +33.1 | R +27 to R +40 | 22,760 | 45,327 | 68,771 | R +0.38 | Even |
| Blair County | R +43.8 | R +35.5 | R +29 to R +42 | 20,299 | 42,600 | 63,512 | R +0.34 | Even |
| Adams County | R +34.0 | R +25.6 | R +19 to R +32 | 23,008 | 38,877 | 62,627 | R +0.31 | D +0.36 |
| Fayette County | R +38.1 | R +31.3 | R +25 to R +38 | 20,588 | 39,358 | 60,375 | R +0.38 | Even |
| Lycoming County | R +41.8 | R +33.5 | R +27 to R +40 | 19,497 | 39,134 | 59,286 | R +0.30 | Even |
| Mercer County | R +30.4 | R +24.3 | R +18 to R +31 | 21,384 | 35,081 | 57,099 | R +0.35 | Even |
| Lawrence County | R +34.0 | R +26.9 | R +20 to R +33 | 16,625 | 28,837 | 45,896 | R +0.38 | Even |
| Indiana County | R +39.4 | R +32.3 | R +26 to R +39 | 14,508 | 28,337 | 43,282 | R +0.28 | Even |
| Northumberland County | R +40.3 | R +31.7 | R +25 to R +38 | 14,265 | 27,482 | 42,251 | R +0.39 | Even |
| Crawford County | R +39.6 | R +32.9 | R +26 to R +40 | 13,853 | 27,460 | 41,750 | R +0.40 | Even |
| Somerset County | R +57.6 | R +50.4 | R +44 to R +57 | 9,697 | 29,383 | 39,448 | R +0.32 | Even |
| Clearfield County | R +51.9 | R +43.2 | R +37 to R +50 | 10,980 | 27,701 | 39,082 | R +0.32 | Even |
| Pike County | R +24.2 | R +13.7 | R +7 to R +20 | 15,478 | 20,374 | 36,216 | R +0.30 | D +0.59 |
| Armstrong County | R +53.6 | R +45.2 | R +38 to R +52 | 9,704 | 25,689 | 35,737 | R +0.37 | Even |
| Carbon County | R +35.1 | R +26.4 | R +20 to R +33 | 12,896 | 22,150 | 35,429 | R +0.38 | D +0.23 |
| Columbia County | R +31.3 | R +23.1 | R +17 to R +30 | 12,879 | 20,619 | 33,912 | R +0.30 | D +0.23 |
| Bradford County | R +48.3 | R +40.9 | R +34 to R +48 | 8,946 | 21,312 | 30,613 | R +0.38 | Even |
| Wayne County | R +37.4 | R +28.1 | R +22 to R +35 | 10,383 | 18,506 | 29,172 | R +0.38 | D +0.21 |
| Bedford County | R +69.0 | R +61.9 | R +55 to R +69 | 5,257 | 22,321 | 27,786 | R +0.27 | D +0.09 |
| Perry County | R +49.8 | R +39.6 | R +33 to R +46 | 7,745 | 17,892 | 25,965 | R +0.33 | D +0.28 |
| Venango County | R +42.5 | R +35.1 | R +28 to R +42 | 8,254 | 17,189 | 25,731 | R +0.44 | Even |
| Huntingdon County | R +53.3 | R +46.9 | R +40 to R +54 | 5,996 | 16,569 | 22,784 | R +0.26 | Even |
| Jefferson County | R +59.0 | R +51.7 | R +45 to R +58 | 5,358 | 16,818 | 22,410 | R +0.33 | Even |
| Susquehanna County | R +45.1 | R +38.0 | R +31 to R +45 | 6,715 | 14,938 | 21,904 | R +0.42 | D +0.05 |
| Mifflin County | R +56.8 | R +49.7 | R +43 to R +57 | 5,435 | 16,167 | 21,808 | R +0.34 | D +0.13 |
| Union County | R +23.6 | R +15.9 | R +10 to R +22 | 8,930 | 12,309 | 21,493 | R +0.20 | Even |
| Tioga County | R +52.3 | R +45.3 | R +39 to R +52 | 5,735 | 15,224 | 21,224 | R +0.37 | Even |
| Snyder County | R +47.4 | R +40.9 | R +34 to R +48 | 5,932 | 14,137 | 20,268 | R +0.32 | Even |
| Clarion County | R +53.4 | R +47.0 | R +41 to R +54 | 5,212 | 14,473 | 19,880 | R +0.27 | Even |
| Warren County | R +39.6 | R +32.9 | R +26 to R +40 | 6,540 | 12,953 | 19,713 | R +0.45 | Even |
| McKean County | R +47.6 | R +40.7 | R +34 to R +47 | 5,591 | 13,265 | 19,067 | R +0.32 | Even |
| Clinton County | R +41.2 | R +34.4 | R +28 to R +41 | 6,181 | 12,655 | 19,049 | R +0.31 | D +0.17 |
| Elk County | R +47.3 | R +40.2 | R +34 to R +47 | 4,858 | 11,403 | 16,430 | R +0.40 | Even |
| Greene County | R +45.7 | R +39.0 | R +33 to R +46 | 4,948 | 11,275 | 16,491 | R +0.31 | Even |
| Wyoming County | R +37.2 | R +28.6 | R +22 to R +35 | 5,241 | 9,447 | 14,867 | R +0.39 | Even |
| Juniata County | R +61.9 | R +54.7 | R +48 to R +62 | 2,679 | 9,140 | 11,939 | R +0.28 | D +0.08 |
| Montour County | R +21.2 | R +10.8 | R +5 to R +17 | 4,254 | 5,285 | 9,666 | R +0.36 | Even |
| Potter County | R +62.8 | R +56.0 | R +49 to R +63 | 1,891 | 6,710 | 8,689 | R +0.34 | Even |
| Fulton County | R +72.9 | R +65.1 | R +58 to R +72 | 1,395 | 6,612 | 8,063 | R +0.23 | D +0.05 |
| Sullivan County | R +47.2 | R +40.3 | R +34 to R +47 | 1,066 | 2,507 | 3,606 | R +0.47 | D +0.19 |
| Forest County | R +44.9 | R +39.4 | R +33 to R +46 | 755 | 1,737 | 2,520 | R +0.21 | Even |
| Cameron County | R +50.9 | R +46.4 | R +39 to R +53 | 533 | 1,456 | 2,014 | R +0.45 | Even |