You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
Johnson's Conservative Party could win 339 seats out of 650, up from 317 in the 2017 general election but fewer than the 359 predicted the last time YouGov ran the model ran on November 27, according to results published by The Times on Tuesday.
The opposition Labour Party looks on track to secure 231 seats, down from 262 in 2017, but a better showing than the 211 they had been on course for, The Times said.
YouGov said the uncertainty around the model was such that it was possible no party would win an overall majority.
"Based on the model we cannot rule out a hung parliament," Anthony Wells, YouGov's director of political research, said.
Sterling fell by around a third of a cent against the US dollar after the news.
Financial markets fear that a hung parliament would extend the uncertainty over if or when Britain will leave the European Union, which it is currently due to do on January 31, depressing business investment and consumer sentiment.
Earlier on Tuesday, a similar forecasting model from a smaller market research company, Focalpoint, showed Johnson on track for a 24-seat majority, down from a majority of 82 seats predicted last month.