Some vote analysis
Hello world,
(Hrm, vote.debian.org has the 2005 elections out of order on the sidebar)
Anyway. I think it's always interesting to analyse the voting a little
beyond just "who won". Anyway, some (IMHO) interesting implications from
this vote.
First, in spite of some quite disparate choices, and a fairly close
contest between three or four candidates, we've /still/ avoided any
circular ties in each of our 16 elections/polls. I'm pretty sure the
predictions I've seen suggested that there'd be a circular tie in one
out of every five or ten elections, but really we should've come across
one by now if so. AIUI, the predictions are made assuming people vote
randomly, and of course there needs to be a reasonable number of options
to choose between for the probability to be high, but whatever it is
that influences the choices to not be random even in close elections is
intriguing.
NOTA did particularly well this year: last year NOTA received 258 votes
over Gergely, 70 of Branden, and 26 over Martin. This year NOTA received
337 votes over Jonathan, 184 votes over Gus, 120 votes over Andreas,
107 votes over Branden, 101 votes over me, and 75 votes of Matthew. The
only previous candidates who received over 70 votes below NOTA were
Gergely ("my Tamagotchi made me do it") and Moshe ("I promise to do
nothing"). Even Anand, who didn't post a platform or participate in
campaigning when he nominated in 2001 got under 70 votes below NOTA
(though only 311 people voted all up). So it seems like there's a lot
unhappiness with even the least controversial of the candidates this year.
With as many choices as we had, it's also interesting to look at how
many people voted in the same way. As it turns out: not many. Of 504
voters, there were 390 different ballots submitted -- even ignoring
ballots like [------1] and [2222221] being the same. The most common
ballots was [--12---], and even it was only submitted by 10 people. 224
people expressed full preferences (numbering each choice differently)
which isn't quite half; 308 people expressed almost full preferences,
just giving two choices equal eight.
There're a whole bunch of different voting systems we could've used.
Here's what might've happened if we had.
First past the post (ie, just vote [1]), a la US elections and straw
polls would've gotten us the same rankings, modulo Angus and NOTA
getting reversed:
144 122 Branden Robinson
136 121 Anthony Towns
133 118 Matthew Garrett
91 75 Andreas Schuldei
21 19 NOTA
13 11 Angus Lees
4 4 Jonathan Walther
(first column just counts the number of [1]'s each candidate got, the
second discards ballots that marked a couple of candidates equal first)
IRV (ie, vote full preferences, then discard the candidates who got the
least votes and redistribute them based on preferences, 'til someone has
>50% of the votes) gives something like:
Jonathan: 4--------------------
Matthew: 118 120 132 146----
Branden: 122 124 126 128 179 245
Anthony: 121 125 126 148 222
Angus: 11 ---------------
Andreas: 75 76 77--------
NOTA: 19 22------------
Those numbers probably don't add up quite right, since the possibility
of ranking two candidates equally confuses things. In normal IRV
elections (at least in .au), they just throw your vote away when they
get to that part.
So that's at least pretty reassuring: we've got a clear Condorcet
result, and if we'd used either of the other fairly sane vote countings
systems, we'd likely have got the same result.
Not all systems manage that though. Approval voting -- where you give a
tick to every candidate you find acceptable -- could've given a range of
different winners. If you assume people would've just ticked the people
they voted [1], then Branden wins as above. If you assume that people
would've ticked everyone they voted above NOTA, then I'd've won with 390
votes, beating Matthew on 384 votes and Branden on 376. If you assume
that people would've ticked everyone they voted equal or above NOTA,
then Matthew would've won with 429 votes, beating me on 403 votes, and
Branden on 397 votes. More likely, something more complicated would've
happened, and the result isn't predictable.
The Borda count method, where every [1] vote counts as 6 points, and
every [7] vote counts as 0 points, gives results something like:
2231 4.42 Matthew
2207 4.37 Anthony
2202 4.36 Branden
2045 4.05 Andreas
1499 2.97 Angus
1344 2.66 NOTA
900 1.78 Jonathan
First column is raw totals, second is total divided by number of votes
-- ie, an average score. Subtract from 7 for an average ranking.
But again, it's not meant to deal with equal rankings, so there's some
fudge factor involved there -- eg, someone who votes [1111112] gives
NOTA more points than someone who voted [1235674], even though the
latter vote ranks NOTA higher than the first.
Another interesting question, especially given we had two candidates who
were planning on working together to lead Debian should either be
elected, is how closely together candidates were ranked. If you count
two candidates as "clones" if no one voted any other candidate in
between them (but possibly with NOTA in between them), then the
following candidate pairs were "clones" in some sense:
359 Walther/Lees
329 Robinson/Schuldei
281 Garrett/Towns
276 Lees/Schuldei
274 Garrett/Schuldei
273 Robinson/Towns
271 Towns/Lees
260 Garrett/Lees
The number on the left is how many voters (out of 504) ranked the two
candidates together. The order on the right is the ballot order. Average
distance between candidates was:
JW MG BR AT AL AS
JW -
MG 2.76 -
BR 2.81 1.93 -
AT 2.72 1.76 1.90 -
AL 1.52 1.83 2.19 1.89 -
AS 2.59 1.80 1.46 1.92 1.83 -
NO 1.63 2.19 2.50 2.43 1.39 2.21
With fairly similar results.
Attached is my "canonize" script that converts votes into a canonical
form (ie [1137---] -> [1123---]) for easy comparison/manipulation.
Cheers,
aj
#!/usr/bin/perl -w
use strict;
while(<>) {
next unless (m/^V:\s+([0-9-]+)(\s.*)?$/);
my $x = $1;
$x =~ s/-/8/g;
my $i = 1;
for my $j (1..8) {
next unless ($x =~ m/$j/);
$x =~ s/$j/$i/g;
$i++;
}
print "V: $x\n";
}
Reply to: