Insurance customers who stay with the same company for six years or more are subsidizing everyone else, analysis of regulator data has found.

The research by Citizens Advice found some insurance companies make 100pc of their profits from loyal consumers holding policies for six years or more.

These customers are caught by so-called "loyalty premiums" as a result of their policy price being automatically hiked up every year above inflation unless they switch.

This sees them paying on average £325 a year, or twice as much as new customers for the same cover, Citizens Advice said.

After six years, a loyal customer could typically expect to have paid a total of £1,596 - more than £500 more than someone who spends every year as a new customer with their insurer, paying £1,032 on average, it found.

The charity said that in 2016 there were 9.3 million policies across the UK where customers had been loyal to their provider for six years or more and 6.9 million policies where customers switched after a year.