In his three years in office Boris Johnson was truly popular with the public for only a few months.
Normally, after entering Downing Street, prime ministers enjoy a honeymoon period, when voters are willing to give their leaders the benefit of the doubt. Theresa May enjoyed a long honeymoon period from taking office in July 2016 until May 2017, when she went out to meet the electorate during general election campaigning. Tony Blair had it for years and even Gordon Brown had it for a few months.
Johnson, however, never had it. He started his premiership more disliked than liked by the public to the tune of 10 percentage points and is on course to end it with a net approval rating of -26.
For 80 per cent of his time in No 10, Johnson has faced a country in which more voters dislike than like him, a stark statistic. But while the country as a whole didn’t like him, those living in marginal seats, at the outset at least, did, and that’s what mattered most in the fraught and divisive 2019 election campaign: he might not have been winning over all the people, but at least he was winning over the right people.
[See also: Boris Johnson promised to "fuck business", and that’s exactly what he did]