I’ve already posted previously on “house effects”, the tendency of polling organizations to systematically vary in their results from one another. In this post, I look specifically at these house effects, and show which polling organizations over or under-estimate support for each candidate–compared to the average–in this presidential election in Argentina.

The graph below plots the house effects for the main presidential candidates considering more than 115 polls that I’ve collected since 2014.


In essence, the house effects measure how far polls by a pollster are from what would be expected based on trends over time for the average polling house. In other words, the average house effect toward each candidate/party is expected to be zero by design. Then, a poll that is systematically 2% below what would be predicted for the date the poll was conducted will have a house effect of -2.0%.

The dots in “red” in the plot represent the pollster whose house effects were negative toward Mauricio Macri, while dots in “blue” represent positive effects toward him.

The electoral result tonight was a bit of surprise as several pollsters didn’t seem to have pick out a crescendo preference for the opposition candidate, Mauricio Macri, among undecided voters over the last week. This blog has more details.

houseEffects$pcolor[houseEffects$Macri< 0] <- "red"
houseEffects$pcolor[houseEffects$Macri>=0] <- "blue"

with(houseEffects, {
  s3d <- scatterplot3d(Scioli, Massa, Macri, # x y and z axis
                       angle=30, # angle of the plot 
                       color=pcolor, pch=19, # filled blue circles
                       type="h", # vertical lines to the x-y plane
                       main="House Effects",
                       xlab="Daniel Scioli",
                       ylab="Sergio Massa",
                       zlab="Mauricio Macri")

  s3d.coords <- s3d$xyz.convert(Scioli, Massa, Macri) # convert 3D coords to 2D projection
  text(s3d.coords$x, s3d.coords$y,  # x and y coordinates
       labels=Pollster,  # text to plot
       cex=.5, pos=4) # shrink text 50% and place to right of points)
  legend("topleft", inset=0, # location and inset
         bty="n", cex=.7,  # suppress legend box, shrink text 70%
         title="House effects toward\nDaniel Scioli",
         c("-", "+"), fill=c("red", "blue"))