They used a type of anysis called Multilevel Regression and Post-stratification (MRP), the only model to correctly predict the outcome of shock 2017 election results:
"a recently developed technique called Multilevel Regression and Post-stratification (or 'MRP' for short) is used to produce estimates for small geographies (local authorities for the EU referendum, states in the 2016 American Presidential election, and Parliamentary constituencies for the 2017 General Election).
The idea behind MRP is that we use the poll data from the preceding seven days to estimate a model relating interview date, constituency, voter demographics, past voting behaviour, and other respondent profile variables to their current voting intentions. This model is then used to estimate the probability that a voter with specified characteristics will vote Conservative, Labour, or some other party. Using data from the UK Office of National Statistics, the British Election Study, and past election results, an estimate is made of the number of each type of voter in each constituency. Combining the model probabilities and estimated census counts allows YouGov to produce a fairly accurate estimate of the number of voters in each constituency intending to vote for a party on each day."
They surveyed 46,000 people to come up with their data, a very large sample size.
The constituencies being questioned are the ones with new high profile Lib Dem candidates (heavy remain areas where polling shows the Lib Dems winning despite previous results), it's exactly what you'd expect in a political environment where Brexit identity is stronger than party identity for a large percentage of voters.
The website tells me to vote Labour btw.