Trump Can Hold The Rust Belt (Part 1: Michigan)

Conventional wisdom and polling are that Democrats can regain the Rust Belt firewall in 2020 (Wisconsin, Michigan, Pennsylvania). I built a Random Forest model called CE-VM to predict likely 2020 total votes (turnout) in every U.S. county. CE-VM predicts that~135M votes will be cast in 2020, up from ~129M in 2016. It also predicts that Michigan’s 2020 turnout will be lower than in 2016. The path to flipping Michigan blue will be much harder than it seems.
Votes, not polls, win elections. CE-VM’s features are multiple population and registration data points in the years before the 2008, 2012, and 2016 presidential elections, respectively. The dependent variable is the number of votes in a given election. This cohesive dataset did not exist in the public domain and required extensive data collection work.
Let’s start with Michigan. Conventional Democratic strategies like driving Wanye County turnout or winning back lost Obama counties will be difficult. Voter mindsets in the Rust Belt may have shifted, making a wave election less likely.
Future posts will focus on Wisconsin and Pennsylvania. Full code, data, and a source file are on my GitHub under post 64.
2016 Election in Review
President Trump won Michigan by a razor-thin margin of ~10k votes. Approximately 250k votes were cast for third party candidates.

The 20 most populous counties (13 which voted Democrat in 2012) saw huge gains in independent votes and tepid turnout. The turnout drop in Wayne County, the state’s largest, is often cited as the reason for Trump’s victory.

In fact, virtually all turnout gains were in counties that voted GOP in 2012.

Do You Believe The Rust Belt Polls?
According to the polls, the Democratic nominee should win Michigan. There are reasons to be skeptical.
Incumbent Advantage
The incumbency platform is strong. No elected incumbent President (Gerald Ford was not elected) has lost a second term election since Herbert Hoover, unless a third-party candidate was in the race.
[table id=34 /]
The Economy Has Improved
Presidents tend to get reelected when the economy is strong. Michigan data looks good.
Unemployment is at all-time lows:

Manufacturing employment is well above 2016 levels:

Housing is steady:

The Michigan Electorate May Have Permanently Shifted
President Trump may have created a new generation of “Trump Democrats”. Consider the 12 counties that flipped to the GOP in 2016. In 8 of them, President Trump received more votes than President Obama did in 2012. This is only partially explained by higher turnout.

Flipped Counties Don’t Flip-Back Easily
Of the 207 U.S. counties that flipped from one party to the other from 2012 to 2016, only 23 reversed back in 2016. (Source: Townhall.com, Guardian)
2020 Voter Model (CE-VM)
Votes, not polls, win elections. CE-VM’s features are multiple population and registration data points in the years before the 2008, 2012, and 2016 presidential elections, respectively. The dependent variable is the number of votes in a given election. This cohesive dataset did not exist in the public domain and required extensive data collection work.
Population data was sourced from the U.S. Census Bureau. Voter registration data was collected state-by-state. Voting data in the 2008-2016 elections was built from an excellent repository maintained by Tony McGovern here that sourced data from Townhall.com and Guardian. I plan to update the dataset as more data becomes available.
I applied Random Forest Regression to predict the number of votes by county. The model achieved an 88% accuracy in training and validation. Summing across the United States, CE-VM predicts that~135M votes will be cast in 2020, up from ~127M in 2016.
rf = RandomForestRegressor(max_depth=110,n_estimators = 1000, max_features='sqrt', random_state = 42)
rf.fit(train_features, train_labels);
predictions = rf.predict(test_features)
errors = abs(predictions - test_labels)
print('Mean Absolute Error:', round(np.mean(errors), 2), 'degrees.')
mape = 100 * (errors / test_labels)
# Calculate and display accuracy
accuracy = 100 - np.mean(mape)
print('Accuracy:', round(accuracy, 2), '%.')
Michigan Projected Turnout
CE-VM Model Projection
CE-VM is predicting fewer votes in Michigan in 2020.
[table id=35 /]
Simple Growth Rate Projection
A more traditional percent growth rate model based on historical registrations and turnout is an alternative to CE-VM. Assuming similar registration growth leading up to the 2016 election, one would expect about 7.8M registered voters in Michigan. Of note, to date, 59% of registration growth June 2019 v. June 2015 is in ’16 GOP counties. If that trend holds, registrations in GOP counties will far outpace their blue counterparts.
[table id=27 /]
Turnout (votes/registrations) was 63.5% and 63.9% in the last two Presidential elections. The 2004 election may be a good comparable with an unpopular President facing an uphill election. That would put 2020 turnout at 64.7%, implying 5.0M likely votes, versus the 4.7M predicted by CE-VM.
[table id=28 /]
Scenarios to Turn Michigan Blue
Note: In all scenarios below, I assume CE-VM projected voting levels.
2016 is the New Norm
If 2016 voting preferences persist, 2020 would be another narrow 14k vote victory for the President. Democrats would instead look to flip Pennsylvania, Wisconsin, and one other state, e.g. Florida, North Carolina.

Wayne County Turnout Surge
Democratic strategists are focusing on get-out-the-vote efforts in Wayne County. The population drop here makes this a low probability strategy. Shifting independent votes back to the major parties in line with historical norms (1% independent vote and the rest shift back in a 2:1 Dem:GOP ratio) would not be enough to close the 14k vote gap.
[table id=31 /]
A raw turnout surprise to the upside seems necessary for Democrats. Assuming the same voting preferences, Democrats would need 803,000 votes in Wayne County to capture the ~14k votes needed to flip Michigan. This requires turnout that exceeds 2012 and is more in line with the historic 2008 election.
[table id=32 /]
Is this possible? Consider that July 2019 voter registrations are running well behind July 2015 registrations. Some theories on what is going on.
Wayne Country continues to shrink, albeit more slowly than in the 2000s. There are fewer people to vote.

The county economy is doing well, in-line with the state. There may be less political fervor and engagement.
Flip Tossup Counties Lost in 2016
There are four counties that flipped to GOP in 2016 where Trump garnered fewer votes than Obama (Eaton, Gogebic, Isabella, Saginaw). Democrats could attempt to reverse these four. Currently, the CE-VM model projects increased turnout in these four counties. Driving all independents back to Democrats is both unlikely and insufficient. To win these counties, Democrats are going to have to take votes back from the GOP. That seems like a tall order.
[table id=33 /]
Any opinions or forecasts contained herein reflect the personal and subjective judgments and assumptions of the author only. There can be no assurance that developments will transpire as forecasted and actual results will be different. The accuracy of data is not guaranteed but represents the author’s best judgment and can be derived from a variety of sources. The information is subject to change at any time without notice.