Latest national poll median date: October 20
Projections reflect recent polling graciously made publicly available by pollsters and media organizations. I am not a pollster, and derive no income from this blog.

Wednesday, August 28, 2019

Projection Update: Narrative's 7/31-8/22 Atlantic Poll

The following polls have been added to the model:
Narrative's 7/31-8/22 Atlantic poll (current weight among national Atlantic polls: 29%)
For a full list of included polls, see previous Projection posts.

This poll is very good for the Liberals across the Atlantic, except in PEI. As a result of its inclusion, the Liberals have a slightly less tenuous grip on most of the several Atlantic races where they're projected marginally ahead.

Update Aug. 28: I have refined the within-Atlantic provincial adjustments. They're now better for the LIBs/worse for the CONs in NB, and slightly the reverse everywhere else (especially PEI). Since the tightest races in the projection are outside NB, this hurts the LIBs and helps the CONs. Changes below crossed-out and underlined.

Projection as of the latest national poll (midpoint: August 21)
LIB - 154.3 153.7 (33.7%)
CON - 145.4 146.0 (36.3%)
NDP - 20.4 20.3 (12.9%)
BQ - 13.3 (4.3%)
GRN - 3.7 (9.5%)
IND - 0.5

PPC - 0.5
If you're new to my 2019 projections, view key interpretive information here.

I have also made an interim (see explanation below) update to the provincial adjustments in the Atlantic. Here are the new ones:
NL: CON +9 +9.5, NDP -0.5 -1.5, LIB -1.5 -2.5, GRN -7 -5.5
NS: CON -3, NDP +3, LIB -1.5, GRN +1.5
NB: CON -2.5 -3.5, NDP -3 -2, LIB +3 +4.5, GRN +2.5 +1
PE: CON +1 +4, NDP -1.5 -3, LIB -3.5 -5, GRN +4
All Most changes are fairly minor, as the previous adjustments held up well. The LIBs got some good news in NB, while the CONs got good news in PEI, which flips Egmont in the projection.

Please note that the other Atlantic polling firm, MQO Research, has been putting out its summer polling as well. Unlike Narrative, MQO releases its results province by province. MQO's numbers will be included in the polling average when all 4 provincial results have been released - we got NB today, and only NS is missing. However, I did consider the results already released for the interim adjustments above, and will finalize them when MQO's NS numbers are available.

Finally, if you're sharp-eyed, you may notice from the "seats ahead" table that one lead has changed... not in the Atlantic, but in ON! That puzzled me, and I thought I screwed something up. It turns out that the weight changes on the Atlantic components of national polls caused some shifts of under 0.01% due to the requirement that averages based on regional breakdowns of national polls add up to national averages. This flipped Cambridge back to Liberals, but obviously it's not a meaningful change.

Tuesday, August 27, 2019

A Critique of 2019 Projection Models

Update Sept. 16: Too Close to Call is now active, Lean Tossup adjusted its calibration for uncertainty, and Calculated Politics has provided me with some methodological information. (Further update: 338Canada has added more details on its methodology page.) For readability, instead of crossing out the old text as I usually do, I have simply deleted it. New text below is in italics.

Beyond providing my own seat projections, a purpose of this blog is to help readers become better informed consumers of seat projection models, and to propose improvements for other modelers. For example, in 2015, this post regarding uncertainty pointed out that confidence intervals given by some websites, including fairly well-known ones, were way too narrow. It was widely shared (Andrew Coyne retweeted it), and at least one other modeler (Bryan, who runs Too Close to Call) responded to it favourably. The results of the election vindicated the post - and then some: if anything, the intervals given in the post itself were still a tad narrow.

This post discusses the strengths and weaknesses of models currently active (as well as Too Close to Call, which I believe will be active soon). You can find links to all of these sites in the blog's right-hand column.

Overall Assessment
If you need *one* go-to website, I strongly recommend 338Canada due to its treasure trove of information, accurate depiction of uncertainty, and ease of navigation. The methodological description is now also much more detailed - other than remaining vagueness on how demographic factors are included (which is understandable from an intellectual property perspective), the rest of the model is clearly described.

I would suggest this site, Canadian Election Watch, as your second source. As explained below, I believe my projections are now based on the most solid polling averages. I also provide a slightly different perspective by making a (prudent) turnout adjustment based on past elections. My methodology is described in detail, so if you see a result you don't like, you can figure out how it came about. Finally, I occasionally provide commentary, such as this post, that goes beyond describing the numbers and their implications, and helps you better understand how they're generated.

The CBC Poll Tracker and Too Close to Call are tried and tested websites. Worth a visit, as always. LISPOP also has a long track record, though it is more basic than the above websites.

Lean Tossup has a vague methodological description, though I have received helpful additional information about the model from Evan Scrimshaw, the managing editor for the site. They do things somewhat differently (as detailed below), which means that their results often look like outliers, but also that they provide a useful different perspective - so go visit their site! They have fixed their calibration of aggregate uncertainty, which I complained about in an earlier version of this post, so I have removed the warning about their probability estimates. (However, the probabilities given for individual ridings still imply too much confidence, in my opinion.) The articles on the site are also worth a read: sometimes brilliant, sometimes unreasonable, but never dull.

Calculated Politics is a very sleek website, but has no published methodology for now. This review is based on the information that I received via Twitter - pretty basic (so I can't really judge the model's quality), but enough so say that the projections are done seriously. Unfortunately, the 90% confidence intervals given for national seat totals and vote shares are too narrow, so those should be ignored for now (or considered, say, 65% confidence intervals). A fix may be forthcoming, however. I will move them from "Other" to "Main" once the methodology is provided on their webpage.

As far as I'm concerned, other currently active seat projectors have not earned any credibility because they do not describe their methodology at all (as explained in this post, this is why they aren't listed under "Main Projection Sites"), do not model uncertainty*, and have little track record. There are links to them on the right-hand side of the page under "Other Projection Blogs/Sites" for convenience, but rely on them at your own risk.

*Except for Visualized Politics, whose given probabilities are currently unreasonable given where their projection is - if you visit their site, stay away from the probabilities.

Transparence of Methodology
Winners: CBC Poll Tracker, 338Canada, Canadian Election Watch
Honourable Mention: Too Close to Call

The CBC Poll Tracker, 338Canada and this blog are the only sites that describe in some detail how polls are averaged. These sites and Too Close to Call also provide detail about how polls are converted seat projections. Additionally, I fully detail every riding-level adjustment made, although I recognize that the information given by the other sites mentioned above (list of factors taken into account, without listing affected ridings) is adequate.

LISPOP lists the polls considered, but does not explain how they are combined (or show any vote share estimates). It also states that it uses regional uniform swing without incumbency effects. However, something more must be going on for the Greens to be projected to get a 6th seat in BC...

In my view, Lean Tossup has the most room to improve regarding transparence (other than Calculated Politics, of course, who is working on a methodology page). They describe which variables are considered by their model, which is good. However, the poll weighting method is a bit of a black box (though the information provided below by Evan Scrimshaw should shed some light).

Presentation (and Transparence) of Results
Winner: 338Canada
Honourable Mention: Calculated Politics, Too Close to Call, CBC Poll Tracker

There really isn't much to be said here other than the fact that P.J. Fournier's site is a gem: information about model results is very detailed and easy to find, and the page is visually appealing.

Calculated Politics' website is also excellent. In this case, the extensive presentation of results makes up somewhat for the opaque methodology: for example, you might now know how the polling weights are derived, but you can see what they are.

Too Close to Call's seat calculator is a very nice feature that gives readers the ability to make their own hypothetical scenarios. For this, TCTC deserves an honourable mention.

The CBC Poll Tracker's website has a link to historical polling trends, which is interesting. It does not provide riding by riding information, which is understandable given that such information is often misused, which the CBC has some responsibility to avoid putting out.

I improved the transparence of results on this blog a couple of weeks ago by adding a table of regional polling averages at the upper left. It's a simple feature that I wish more sites had - Too Close to Call does, but elsewhere, you have to click through to each region's page (or, for the CBC Poll Tracker, toggle to each region's chart) to access that information. (338Canada and LISPOP have a regional table for seats, but not polling averages.)

Poll Averaging
Winner: Canadian Election Watch

This is an area in which I've put a lot of effort for this year, and I'm pretty confident that my poll averages are now the most reliable. (Note: I'm not talking about the turnout adjustment, where any defensible guess is basically just as good.) By reliable, I mean that it does not overly react to any single poll or pollster, and yet remains sufficiently responsive. I have separate sets of poll weights for each region, reflecting the fact that one needs to weight older polls more heavily in smaller regions to get a decent sample size. The weights I use depend not only on a poll's own characteristics (recency, sample size), but also on the characteristics of other polls. All this is derived from a statistical framework to extract information optimally (in the sense of minimizing the variance of the estimate's error). You can read the details here, here and here.

338Canada's poll averaging method uses the square root of the sample size (like my old method), which ensures that no excessive weight is put on a single poll (as opposed to a single pollster in my current method); time discounting uses a power function. The CBC Poll Tracker discounts polls using an exponential function, and applies a penalty to outliers. Too Close to Call uses a rudimentary time discounting scheme, and applies a penalty to a pollster's older polls. All these schemes are sensible (except for the outlier penalty by the CBC Poll Tracker, which I believe to be statistically unsound), but they are not optimized based on a statistical model like my scheme. It is therefore virtually impossible to answer the question "Under what assumptions on the evolution of voting intentions and the generation of polling errors is this weighting scheme optimal?"

Too Close to Call will also enhance its averages with riding polls (see below).

Lean Tossup doesn't describe its method, and its polling average often deviates noticeably from other websites'. From information provided by Evan Scrimshaw, this appears to be due to two factors: (i) a more restrictive poll inclusion policy (no IRG, DART or, if I remember correctly, Ipsos polls), and (ii) extrapolation from riding polls. The most obvious deviations so far appear due to the former, though I do feel that the weighting of riding polls is a bit too high - at least currently, given the small number of riding polls. As the campaign progresses and riding polls accumulate, however, extrapolation from them could become a significant asset - Too Close to Call will start extrapolations at some point - so keep an eye on them!

338Canada, the CBC Poll Tracker and Calculated Politics also use pollster ratings. Without knowing how they are derived, it is difficult to judge how much this helps (or even whether it is counterproductive).

Model Skeleton
Winners: Canadian Election Watch, Too Close to Call

What I mean by "model skeleton" is how the seat model converts polling averages to vote shares in each riding, before adjusting for riding specific factors like incumbency, star candidates, demographics, etc.

There are two main basic approaches to this: uniform swing, where all ridings change by the same amount (e.g. if a party goes from 20% to 30% within a region, it increases by 10 points in each riding), and proportional swing, where all ridings change by the same proportion (e.g. if a party goes from 20% to 30% within a region, its vote share increases by half in each riding). With proportional swing, an adjustment is required to bring each riding's total back to 100%. Neither approach is clearly superior. LISPOP, Too Close to Call and I use uniform swing; 338Canada, the CBC Poll Tracker and Calculated Politics use proportional swing; Lean Tossup does not specify its method. (Note: all models apply swings at the regional level; using only the national swing just does not make sense for Canada due to large regional disparities.)

I listed Too Close to Call and myself as "winners" because we make enhancements to uniform swing. Too Close to Call introduces sub-regional coefficients in recognition of the fact that some areas within a region have been historically more volatile than others. I adjust uniform swing in recognition of the fact that swings tend to be smaller for parties with very low or very high vote shares (as described here).

The CBC Poll Tracker tries to enhance proportional swing by using each of the last three elections as baseline, and averaging the results. While this helps avoid cases where a skewed baseline overly impacts a result, it may increase the error in areas experiencing meaningful demographic change. Indeed, if the projections based on 2008, 2011 and 2015 baselines move in a direction due to continuing demographic change, using the average of these is worse than just using the 2015 baseline.

338Canada gives "probabilistic floors and ceilings" for regions and districts based on electoral history. This sounds sensible, but it's hard to judge the pertinence of this without more details.

Use of Demographics
Winners: 338Canada
Honourable Mention: Lean Tossup

Two models use demographic characteristics: 338Canada and Lean Tossup. As stated above, neither explains in detail how this is done, but at least 338Canada gives an inkling, and can point to specific examples where this has helped in the past (e.g. QS winning Sherbrooke in the 2018 QC election). Lean Tossup does say that the indicator it uses is education.

Riding-Specific Adjustments
Winners: CBC Poll Tracker
Honourable Mention: Calculated Politics, 338Canada

The CBC Poll Tracker seems to account for the largest set of potential riding-specific factors (e.g. incumbency, star candidates, ministers, etc.). 338 Canada and Calculated Politics also seem to make many adjustments; Calculated Politics additionally takes social media sentiment into account. I also make some riding-specific adjustments, but not to the same extent (about 10% of ridings); Too Close to Call appears to be in the same boat. LISPOP does not seem to make these adjustments (except when a minor party/independent is expected to have a strong showing in a district, as is evident from its current projection with seats for Bernier and Wilson-Raybould), while it is unclear to what extent Lean Tossup factors these in.

Treatment of Uncertainty
Winner: 338Canada

To me, this is *the* major strength of 338Canada: it takes uncertainty very seriously, comes out with reasonably calibrated results, and presents them in a helpful way.

The CBC Poll Tracker now also has reasonable confidence ranges and probability estimates, though it shows less information than 338Canada.

As mentioned at the start of the post, Lean Tossup has recalibrated its aggregate uncertainty, and the resulting probabilities are now much more reasonable than what they had before. (The current high probability of a Liberal majority is commensurate with the high Liberal projection.) However, I do not believe that enough uncertainty is taken into account for the individual seats' win probabilities.

I provide confidence ranges from time to time (here or on Twitter), and distinguish between uncertainty for an election taking place as of the last poll or now (which, as far as I know, is what all other websites provide) and uncertainty for the actual election (which is MUCH MUCH larger).

Calculated Politics provides confidence ranges as a regular feature, but as mentioned above, they seem miscalibrated and should be ignored or re-interpreted for now.

I look forward to what Too Close to Call puts out this cycle (the first projection did not come with ranges). LISPOP does not provide numerical evaluations of uncertainty.

Monday, August 26, 2019

Methodology Update: Weighting of Regional Numbers

The last projection update, which showed a whopping 7 seats change hands in Atlantic Canada, got me thinking: does it make sense to have this many changes based on just 63 poll respondents? The polling average dropped from a ~10% LIB lead in Atlantic Canada to under 3%.

It quickly became apparent that the problem is that I was using the national weights for regional breakdowns. National weights are derived using a statistical model that trades off the need for sample size, recency and pollster diversity. For regional breakdowns, sample sizes are much smaller, which means that ideal weighting would need to work harder for sample size, and therefore sacrifice recency. Thus, older polls should be weighted more heavily for regional breakdowns. As a result, going forward, regional breakdowns should be less volatile - though the national volatility will remain the same.

(Small) Update Aug. 26: Separate set of weights for the BQ. Also I'm now adjusting for imbalanced national polls (polls that oversample in some regions and undersample in others): their effective sample size for the national numbers is smaller.

Update Sept. 25: Standalone regional polls are now weighted differently from the regional breakdowns from national polls. Details underlined at the end of this post.

I'll get to the details later in this post, but for now, here is the projection with the new methodology:

Projection as of the latest national poll (midpoint: August 21)
LIB - 153.6 153.2 (33.7%)
CON - 146.3 (36.4 36.3%)
NDP - 20.4 20.5 (12.9%)
BQ - 12.9 13.3 (4.3%)
GRN - 3.7 (9.5%)
IND - 0.5
PPC - 0.5
If you're new to my 2019 projections, view key interpretive information here.

As you can see, the totals are little changed. The Bloc loses 1.5-2 1-1.5 seats, while the LIBs and CONs each gain 0.5-1 around 0.5 seat. However, many switches in the last projection no longer happen:
- All 7 seats that switched in the Atlantic stay LIB.
- 8 9 of the 10 seats that switched in ON stay CON; only Vaughan--Woodbridge and Cambridge still switches to the LIBs.
- In MB, Winnipeg South stays LIB.

Additionally:
- LIBs regain Laurentides--Labelle from the BQ.
- NDP regains Edmonton Strathcona from the CONs.
- GRNs regain Victoria from the LIBs.

Now the details of the methodology change. How to deal with regional numbers is tricky: it depends on the correlation between how different regions move. Consider these extreme cases:

1. Regions move in lockstep: their difference with the national vote is fixed. In this case, the national average should be calculated with national weights. Regional averages should be the sum of the national average and each region's difference from the country. The latter should be estimated without discounting polls based on age, as the nation-region gap does not evolve.

2. Regions move completely independently. In this case, regional averages should be calculated with region-specific weights, and the national average should be derived as a weighted average of regional averages. These region-specific weights would reflect two opposite considerations:
(i) smaller regional samples mean that one should weight older polls more (as explained earlier), and
(ii) in order for independently evolving regions to generate a certain level of national volatility, regional volatility would have to be much larger, which means that one should weight older polls less.
Consideration (i) wins out for smaller regions, and consideration (ii) wins out for larger ones. On average, the amount of discounting should be similar to what national weights would imply.

Reality is, of course, somewhere between these extreme cases. In both situations, the amount of discounting in optimal national weights remains suitable. Therefore, I do not make any change to how I derive national weights. Additionally, higher weight should be given to older polls for small regions (and also for large regions unless reality is very close to case #2).

Given this, I derive separate weights for each region using a procedure that is a blend of what would be called for in cases #1 and #2. The idea is for the regional weights to help estimate the difference between each party's regional and national support, rather than the regional support directly.

1. Regional weights are derived using regional sample sizes and a formula similar to that used for national weights, with the following modifications:
- The sample variance takes into account the fact that we're now thinking about the difference between regional and national vote (except, of course, for standalone regional polls).
- The time variability parameter is set assuming that the difference between the region and the rest of the country is half as volatile (so ~70.7% of the standard deviation) as the national support level, except in QC, where the two variances are the same. This is consistent with the observation that regional deviations from national movements tend to be smaller than the national movements themselves, except in QC, where they appear similar. An adjustment is made for the fact that the national average incorporates the regional movement (this matters mainly for ON).
- Update: A separate set of weights is computed for the BQ, with a time variability parameter that includes both the national and provincial variability that other parties have.

2. These weights are first applied to the difference between regional and national numbers in national polls with regional breakdowns. The weighted averages are added to the national averages (which also include national polls without regional breakdowns) to produce preliminary regional polling averages. These preliminary averages are adjusted upward or downward to match the national polling averages. This last step is necessary because regional weights no longer match national weights, and intuitively, it makes sense because recent movement in the rest of the country carries some information on recent movement in a given region, as they're correlated. [Of course, this paragraph does not apply to the BQ.]

3. Finally, standalone regional polls are incorporated using the regional weights to obtain the final (pre-turnout adjustment) regional polling averages. An adjustment is made to account for the fact that standalone polls need to be discounted more quickly, since, in addition of being affected by the region shifting relative to the country, they are also affected by national shifts. This adjustment takes the form of using a smaller sample size than the actual one for standalone polls, with the difference growing as time passes. The national polling averages are then obtained as a population-weighted averages of the regional polling averages.

Sunday, August 25, 2019

Projection Update: EKOS 8/20-22 and Mainstreet's Windsor West Poll

The following polls have been added to the model:
EKOS' 8/20-22 national poll (current weight among national polls: 19%)
Mainstreet's 8/21 Windsor West poll
For a full list of included polls, see previous Projection posts.

The EKOS poll was conducted over 3 nights. Although 338 indicates that they were 8/21-23, Frank Graves' (EKOS president and founder) tweets (ON and QC numbers) on Aug. 23 states that the numbers were "as of last night." I could go either way, and I'll treat the poll as a 8/20-22 poll - it doesn't make a big difference.

EKOS shows two main things that roughly cancel out: great Liberal numbers in ON, and great Conservative numbers in the Atlantic. Of course, the Atlantic sample size is tiny, so the margin of error (MoE) is huge (roughly +/- 12%). However, the Conservative number is so good that even if you take the low end of the 95% confidence interval for the Tories and the high end for the Liberals, the poll would still be mildly positive for the Tories (they'd be only slightly behind the Liberals)! Other things to note include poor NDP numbers and good BQ numbers; both of these are consistent with EKOS numbers all summer, which suggests that they may be EKOS house effects. On the other hand, this poll has the worst Green numbers we've seen from EKOS this summer. (The Greens have been sliding in my projection gently, but continually for four weeks...)

The Mainstreet Windsor West poll guides a "star" adjustment, as described here, for Sandra Pupatello, the Liberal candidate. This obviously helps the LIBs and hurts the NDP in Windsor West. However, riding-level adjustments have a countervailing effect elsewhere in the same polling region so that the riding-level projections remain consistent with the polling average. As a result, the result of this poll on total seat numbers is smaller than the effect in Windsor West alone (and in fact marginally positive for the Tories even though only the NDP, LIB and GRN vote shares are adjusted).

Projection as of the latest national poll (midpoint: August 21)
LIB - 153.0 (33.7%)
CON - 145.6 (36.3%)
NDP - 20.3 (12.8%)
BQ - 14.6 (4.4%)
GRN - 3.6 (9.5%)
IND - 0.5

PPC - 0.5
If you're new to my 2019 projections, view key interpretive information here.

The projection is essentially unchanged. The NDP is down a bit, but this just brings it back to where it has been all August before this past week (or would have been, had I introduced the NDP turnout adjustment at the outset): this past week's polls tended to be from pollsters whose results are usually favourable to the NDP. This EKOS poll balances things out.

There were, however, a ton of changes in which seats are projected ahead, due to the poll's unusual Atlantic and ON results:
- In the Atlantic, CONs take 7 more seats from LIBs: Sackville--Preston--Chezzetcook, Central Nova, Avalon, Egmont, South Shore--St. Margarets, Charlottetown, West Nova.
- In Ontario, LIBs regain 10 seats from CONs: Vaughan--Woodbridge, Cambridge, Richmond Hill, Burlington, Oakville North--Burlington, King--Vaughan, York Centre, Whitby, Northumberland--Peterborough South, Newmarket--Aurora.
- In Manitoba, CONs take 1 more seat from LIBs: Winnipeg South.
- In BC, CONs retake 1 seat from the NDP: North Island--Powell River.

It'll be interesting to see if EKOS has identified new trends of Tory strength in the Atlantic and/or additional Liberal strength in ON, or if this is just random variation.

Addendum: You'll note that the "seats ahead" breakdown has the Liberals winning 78 ridings in ON, just two fewer than in 2015. However, their "average" number of wins in ON is 73: they're marginally ahead in disproportionately many tight races. The LIB lead in ON is 7.5% in my adjusted polling average, which is 2.2% short of the 2015 level.

Wednesday, August 21, 2019

Projection Update: DART 8/16-17, Abacus 8/14-19, Léger 8/16-19

The following polls have been added to the model:
DART's 8/16-17 national poll (current weight among national polls: 15%)
Abacus' 8/14-19 national poll (current weight among national polls: 24%)
Léger's 8/16-19 national poll (current weight among national polls: 18%)
For a full list of included polls, see previous Projection posts.

Please note that this projection update reflects an additional turnout adjustment against the NDP. Thus, while the NDP is down relative to the previous projection, it is actually up in seats (though almost perfectly flat in votes) as a result of the inclusion of these polls.
Update Aug. 21: I have also updated some riding-level adjustments for star NDP ex-MPs that lost last time and won't be running again (Halifax, Sackville--Preston--Chezzetcook, Ottawa Centre), using a similar approach as in Skeena--Bulkley Valley. These adjustment are very cautious (i.e. smallest plausible rather than "best guess"), and shift just 0.3 seats from the NDP to the Liberals.

These three polls carry fairly contradictory information in all regions. Depending on the poll:
- CONs now tie LIBs in the Atlantic, or LIBs have recovered a sizable lead there.
- CONs are at their lowest or highest point of the summer in QC.
- LIBs continue to enjoy a significant lead in ON, or there is a virtual tie there.
- The SK/MB race is now a CON blowout, or the race has tightened a lot.
- CONs at what might be an all-time peak in AB, or they're below their 2015 levels.
- Either the CONs or the LIBs have opened up a lead in BC.

Things pretty much balance out when you average them. The Liberals and Greens are down slightly, while other parties are up a bit. But really, considering that more than half of the polling average is new, there is remarkably little movement.

Projection as of the latest national poll (midpoint: August 17.5)
LIB - 152.9 153.2 (33.5%)
CON - 144.3 (36.1%)
NDP - 23.0 22.7 (13.2%)
BQ - 13.2 (4.3%)
GRN - 3.6 (9.6%)
IND - 0.5

PPC - 0.5
If you're new to my 2019 projections, view key interpretive information here.

Due to the change in turnout adjustments, instead of listing which seats flipped, I'll simply provide new maps in the coming days (or later today if I have time). Stay tuned.

That said, you may notice from the provincial breakdown that the NDP gains a seat in NS: it's Sackville--Preston--Chezzetcook. As I mentioned in the early August model post, there's no adjustment in that riding for now due to the lack of a reasonable baseline (Stoffer had represented the riding since its creation in 1997), but much like I recently did for Skeena--Bulkley Valley, I might decide to figure something out here. I did add an adjustment, which flipped the seat back to the Liberals, marginally. But since the adjustment is very cautious, I wouldn't be surprised if the NDP is actually not even competitive in Sackville--Preston--Chezzetcook.

Update: Images below.


Model Update: NDP Turnout Adjustment

I will update the projection for the new Léger poll soon, but first, just a quick note to let you know that I've decided to adjust the NDP vote share downward by 1%, with increases to the LIB and CON shares by 0.5%. The reason is that there has been high pollster disagreement on the NDP vote share among pollsters all summer: some consistently have them around 10-12%, while others consistently have them around 16-18%. In recent provincial elections, the NDP underperformed the polls in ON, AB and NS. They hit the polls in BC and SK, but in both cases, the pollsters were in agreement. They slightly outperformed the polls in MB (2016), but that was likely due to the Greens only running in about half of the ridings, meaning that some Green voters had to vote for someone else. Therefore, if things stay this way, it appears quite likely that the NDP would underperform relative to the polls again.

A knock-on effect of this is that I've changed the Burnaby South adjustment by adding 1 point to Jagmeet Singh's bonus (now +6%): if polls have been overestimating the NDP, then his by-election result was even better relative to contemporaneous provincial polling. I've also reviewed where the bonus is coming from: I crudely had it all come from the Liberals, but given what looks like a tight race, I've decided to take a closer look. Now 3.5 points are from the Liberals, 1.5 from the Tories and 1 from the Greens. (This is very uncertain, though, as the by-election had no Green candidate and a star PPC candidate.)

Tuesday, August 20, 2019

Projection Update: Corbett 8/11-13 and Global News/Ipsos 8/16-19

The following polls have been added to the model:
Global News/Ipsos' 8/16-19 national poll (current weight among national polls: 24 28%; only publicly available national numbers used)
Corbett Communications' 8/11-13 ON poll
For a full list of included polls, see previous Projection posts.

Update Aug. 20: Poll weights updated after information about the number of respondents was obtained. This resulted in small changes (under 0.5 seats and 0.1% per party, as shown below).

Once again, EKOS put out some ON and QC numbers that are much more favourable for the Liberals, relative to the polling average, than the national numbers, which weren't fully provided. Therefore, once again, to avoid biasing the projection by including only the parts of a poll favourable to one party, I am not adding the EKOS numbers to the model (especially since it was also noted that EKOS' unpublished ON numbers from other nights aren't quite this strong for the Liberals).

Please note that this projection reflects an adjustment in Longueuil--Saint-Hubert to account for Pierre Nantel switching allegiance. (The adjustment actually makes no visible difference due to that riding still projected as a LIB/BQ race.)

Projection as of the latest national poll (midpoint: August 17.5)

LIB - 155.2 155.3 (33.4%)
CON - 140.1 139.7 (35.1%)
NDP - 24.9 25.3 (14.1 14.2%)
BQ - 13.0 12.9 (4.3 4.2%)
GRN - 3.8 (9.9 9.8%)
IND - 0.6

PPC - 0.5
If you're new to my 2019 projections, view key interpretive information here.

The Ipsos poll helped the NDP, but had little effect on the projection for the two main parties: it is slightly less favourable to the Liberals than other polls, but including it also reduced (in fact, made negative) the weight on the July Ipsos poll which was much worse for the Liberals. The Global News article showed some very good Liberal numbers in QC and poor ones in ON; however, those were not included because the other parties' numbers were not provided. (The non-inclusion of Ipsos and EKOS ON numbers roughly balances out.) I also had to back out the number of respondents from the margin of error. If this were during the campaign, it would actually be illegal for Global to report the poll without stating the number of respondents... (Update: The number of respondents is available in this tweet.)

The projection improved for the Liberals and worsened for the Conservatives mainly due to the Corbett poll, which shows a healthy Liberal lead in ON.

In terms of seats projected ahead, relative to the last projection:
- LIBs retake Québec from CONs.
- Update: LIBs retake Laurentides--Labelle from BQ.
- NDP retakes Berthier--Maskinongé from BQ. (Note that, as a policy, I do not include leaked internal polling.)
- LIBs retake St. Catharines, Vaughan--Woodbridge, Cambridge from CONs.
- LIBs retake Hamilton East--Stoney Creek from NDP.
- NDP retakes North Island--Powell River (update: and Burnaby South) from CONs.

Sunday, August 18, 2019

Minor Update to 2015 Baseline

I've taken another look at the situation in Skeena--Bulkley Valley, where Nathan Cullen is retiring. There's no new information, but I've decided that holding off on any adjustment was too cautious. You can view the update here.

The NDP is still favoured in this riding, but the Tories are now within striking range (behind by 6-7%). Given that the adjustment is pretty cautious, I wouldn't be surprised if things are even tighter.

This update marginally changes the projection by 0.1 for the Tories and NDP.

Friday, August 16, 2019

Another Small Methodology Improvement

I have refined the method by which I obtain expected numbers of seats, which no longer ignores the party projected third in a district (but is still approximate).

I was expecting this to help the Greens, but to my surprise, it actually helped the Conservatives. Indeed, the seats where the Greens are leading tend to be three-way races (which means that they were slightly overestimated), while in the seats where they are third, they are mostly such a distant third that this doesn't make much difference.

That said, the change for all parties is under 1 seat - as expected, the previous method was already reasonably accurate. The numbers are now:
LIB - 152.0
CON - 144.1
NDP - 23.4
BQ - 13.6
GRN - 3.8
IND - 0.6
PPC - 0.5

Thursday, August 15, 2019

Projection Update: Campaign Research 8/9-13

The following poll has been added to the model:
Campaign Research's 8/9-13 national poll (current weight among national polls: 41%)
The model puts a high weight on this poll due to the next most recent poll being a full week older. Campaign Research's July poll has a weight of -17%.
For a full list of included polls, see previous Projection posts.

This poll was good for the Liberals in Atlantic Canada, but, crucially, not so good for them in ON, where they lead, but not by much. It also breaks out MB and SK, showing a very large gap between the two (even larger than in 2015, to the point that the Conservatives are stronger in SK than AB), but the sample sizes there are tiny, so there are no provincial adjustments yet for the MB/SK region. Finally, this is a weak poll for both the Liberals and the Conservatives in QC, which leads to BQ gains in the projection.

Updates 8/15: Map added, and slight projection change (without any lead change) due to changes to baseline adjustments in Thunder Bay--Superior North and due to this poll:
Mainstreet's 8/9-10 Victoria poll
Update 8/16: Added a potential House of Commons seating chart.

Projection as of the latest national poll (midpoint: August 11)
LIB - 152.4 152.7 (33.2%)
CON - 143.6 (35.7%)
NDP - 23.4 23.2 (13.7%)
BQ - 13.4 (4.3%)
GRN - 4.2 3.9 (9.8%)
IND - 0.6

PPC - 0.5
If you're new to my 2019 projections, view key interpretive information here.


In terms of seats projected ahead, relative to the last update:
- Liberals lose one seat in QC to the NDP: Rimouski-Neigette--Témiscouata--Les Basques
- Liberals lose one seat in QC to the Tories: Québec*
- Liberals lose three seats in QC to the Bloc: Laurier--Sainte-Marie*, Salaberry--Suroît, Laurentides--Labelle
- Liberals lose three seats in ON to the Tories: Cambridge, Vaughan--Woodbridge, St. Catharines
- Tories lose one seat in AB to the Liberals: Calgary Skyview*
- The NDP loses two seats in BC to the Tories: Burnaby South, North Island--Powell River
*Previously mentioned caveats apply.