I'm writing this on the eve of the 2018 election. At this point the predicted Blue Wave looks more like a Blue Ripple and may even turn into a Red Ripple (which sounds tastier). The election is being billed as a referendum on President Trump. Regardless of how it turns out, Trump has a near-lock on reelection in 2020. There are several reasons why I'm making this prediction:
The President's party typically does poorly in the first mid-term election. Under Obama, the Democrats suffered a major Red Wave in 2010. So did the Democrats under Clinton. Both presidents went on to be reelected. Trump's popularity hit a historic low point last year but it's recovered and is above Obama's at this point in Obama's presidency. So, midterm results seldom have much to do with a President's reelection.
Another problem is that the Democrats have far too many candidates. The first tier of candidates, Hillary Clinton, Joe Biden and Bernie Sanders have all run and lost before. The are also ancient. Biden and Sanders make Trump look young and Clinton, who is a few months younger than Trump, can't match his energy.
Of the she second tier, only Elizabeth Warren is nationally known. The rest, like Kamala Harris and Corey Booker, are known to political junkies but not to the general public. That makes it hard for them to raise enough funds to break through into the top tier. There are a couple of billionaires in the third tier who can get around this by self-funding but they're even less known.
Despite all these candidates, the actual policy differences between them is minimal. Bernie Sanders was able to challenge Hillary Clinton from the left but the party as a whole has moved so far to the left that there are few actual policy differences. That makes it even harder for candidates to break into the top tier.
All of that gives Trump and advantage but what really cinches it for him is the white hot anger the Democratic base feels for him. In order to win the general election, a candidate will need to appeal to more than just the Democratic base. But the base hates Trump so much that they will not support anyone who doesn't share their hatred of Trump's policies.
Immigration is a big factor here. Democrats laughed at Trump and his wall but illegal immigration is a major economic issue to working-class Americans. It's a major reason Trump won and a clear majority of the population supports enforcing immigration laws. Prior to Trump, enforcing boarder security wasn't a controversial policy. But that's changed. The more Trump enforces immigration the more the Democrats call for open borders. That's a losing issue for them but calls to abolish ICE are so common that the Democratic candidate will find it impossible to disown them.
A lot of pundits have described Trump as a populist but that means that anyone opposing him is going to have to take a lot of positions that are unpopular with the general electorate, just to get the nomination.
Little has been written about the internal problems within the Democratic party but they are real. The Democratic elite is richer, whiter and much further to the left than the majority of the party. That's how Trump was able to win states like Pennsylvania and it gives him a chance at making further inroads into the Democrats.
There's still a possibility that Trump will lose reelection. A major recession will kill his chances of reelection. That's somewhat outside his control. There's also the possibility that a scandal will finally stick but that gets less likely every day.
Barring one of these external events, the Democrats don't have a chance of unseating Trump.