David Barry (pappubahry) wrote,
David Barry
pappubahry

Predicting swings from election betting markets

The goal of this post is to take the betting odds for individual seat markets for the coming Australian election, and calculate implied swings at national, state, and seat level. I'm not familiar with the literature in this field, and I might be re-inventing the wheel, but it's not a technique I've seen written about in the Australian pseph blogs. I think it could serve as a useful addition to tests of election markets' accuracy. There are reasons to be sceptical of the method, but at least at the moment, it's giving me results that I think are reasonable.

Take the betting odds to generate implied probabilities, and plot them against the current margin (I got this idea from Simon Jackman):



(There are some outliers there, mostly from "non-classic" divisions – my dataset just takes the top two favourites in each seat, calls one of them "ALP" and one "LNP". So, e.g., in the Lib-Nat contests, the Nat is called "ALP" and there are some absurd-looking points on the far left of the graph. I've excluded the most egregious of these outliers from the curve fitting.)

If there is zero swing, then a seat on zero margin should have p(ALP) = 0.5. At the time of writing, this isn't the case: the fitted curve (an erf) is displaced to the right by 3.6 percentage points*. So we can say that the seat markets are implying a swing against Labor of 3.6 points.

*The curve fitting also defines a standard deviation; for individual states, these tend to be in the 3-5 percentage point range, which I believe is somewhat higher than the observed standard deviations of seat swings

We can also break it down by state:



The latest implied state-by-state swings against Labor are 1.4 in Qld, 4.1 in NSW, 4.2 in Vic, 10.0 in Tas, 4.7 in SA, 1.9 in WA, zero in ACT, 2.6 in NT. (We might be dubious about fitting a curve on two data points for each of the territories....)

Then, for each individual seat, we can ask how far to the left or right of its state curve it is, and add this value to the state swing. This is a hopeless task for very safe seats, when the curve gets very flat, but seems to work OK when the implied probability is between 0.1 and 0.9.

This also brings up a criticism of this method: a particular seat might be very well polled, so that it is highly likely to be an LNP win even though the swing is modest. But I will publish these imputed swings here anyway; if they work pretty well as predictions despite theoretical objections, then all the better!

The seats are listed from largest swing to "ALP" to largest swing against "ALP"; I've removed O'Connor, Durack, and some others, but obviously sometimes "ALP" is really an independent or PUP or someone.

Seat             Margin  p(ALP)   Swing to ALP
Indi               -9.0    0.19    4.85
Bowman            -10.4    0.12    3.45
Hinkler           -10.4    0.11    2.75
Fairfax            -7.0    0.15    0.75
Oxley               5.8    0.85    0.20
Rankin              5.4    0.82   -0.20
Stirling           -5.6    0.10   -0.60
Bonner             -2.8    0.27   -0.65
Leichhardt         -4.6    0.18   -0.65
Brisbane           -1.1    0.37   -0.75
Dawson             -2.4    0.29   -0.80
Griffith            8.5    0.89   -0.80
Ryan               -7.2    0.10   -0.80
Flynn              -3.6    0.22   -0.85
Petrie              2.5    0.60   -1.10
Swan               -2.5    0.20   -1.25
Fremantle           5.7    0.83   -1.45
Gilmore            -5.3    0.15   -1.45
Watson              9.1    0.88   -1.50
Perth               5.9    0.82   -1.75
Lilley              3.2    0.60   -1.85
Blair               4.2    0.66   -1.90
Herbert            -2.2    0.23   -1.90
Longman            -1.9    0.25   -1.95
Fisher             -4.1    0.15   -2.00
Canning            -2.2    0.17   -2.05
Capricornia         3.7    0.62   -2.05
Brand               3.3    0.60   -2.20
Denison            -1.2    0.20   -2.20
Moreton             1.1    0.42   -2.30
Hasluck            -0.6    0.25   -2.35
Page                4.2    0.62   -2.40
Chisholm            5.8    0.76   -2.45
Forde              -1.6    0.24   -2.45
Dickson            -5.1    0.11   -2.50
Lingiari            3.7    0.57   -2.55
Solomon            -1.8    0.26   -2.65
Parramatta          4.4    0.59   -3.05
Melbourne Ports     7.9    0.84   -3.10
Fowler              8.8    0.82   -3.15
Greenway            0.9    0.36   -3.15
Casey              -1.9    0.15   -3.20
Kingsford Smith     5.2    0.62   -3.35
Werriwa             6.8    0.71   -3.55
Banks               1.5    0.36   -3.60
McMahon             7.8    0.76   -3.60
Macquarie          -1.3    0.21   -3.65
Bennelong          -3.1    0.14   -3.70
Blaxland           12.2    0.90   -3.80
Eden-Monaro         4.2    0.53   -3.80
Richmond            7.0    0.70   -3.80
Sturt              -3.6    0.11   -3.80
Bruce               7.7    0.79   -3.85
Robertson           1.0    0.32   -3.90
Adelaide            7.5    0.73   -4.10
Isaacs             10.4    0.89   -4.10
La Trobe            1.7    0.30   -4.10
Macarthur          -3.0    0.13   -4.35
Barton              6.9    0.66   -4.45
Dunkley            -1.1    0.13   -4.45
Wakefield          10.5    0.84   -4.70
Jagajaga           11.1    0.89   -4.80
Deakin              0.6    0.19   -4.85
Aston              -0.7    0.13   -4.90
Hindmarsh           6.1    0.59   -4.90
Chifley            12.3    0.87   -5.05
Bendigo             9.4    0.81   -5.15
Boothby            -0.6    0.16   -5.35
Ballarat           11.7    0.89   -5.50
Corangamite         0.3    0.14   -5.65
Makin              12.0    0.86   -5.65
Reid                2.7    0.31   -5.75
Lindsay             1.1    0.20   -6.25
Kingston           14.5    0.90   -6.60
Hunter             12.5    0.83   -6.65
McEwen              9.2    0.69   -6.90
Newcastle          12.5    0.81   -6.95
Dobell              5.1    0.27   -8.90
Franklin           10.8    0.68   -8.95
Bass                6.7    0.21  -10.00
Braddon             7.5    0.23  -10.50
Lyons              12.3    0.63  -11.00
Lalor              22.1    0.90  -15.45

I think it's worth testing these implied swings against other predictive methods (say by finding which one has the lowest mean absolute error), but are there any others? The simplest thing to do would be to apply uniform state swings according to BludgerTrack, but that's being generous to the betting markets, which also have access to individual seat polls.
Tags: current affairs, uni (academic)
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments