Well, I can't answer the "accuracy" question with any certainty. However, being the database geek that I am, I can crunch numbers.
I took the poll data from RealClearPolitics and tossed them into an SQLite database; you can download the database itself here. Taking the latest poll data, here's what the election results look like if the percentage points are skewed in one direction or another.
Skew | Obama | McCain | Undecided | Result |
McCain +6 | 263 | 276 | 0 | McCain |
McCain +5 | 263 | 215 | 61 | No winner |
McCain +4 | 324 | 182 | 33 | Obama |
McCain +3 | 357 | 182 | 0 | Obama |
McCain +2 | 357 | 182 | 0 | Obama |
McCain +1 | 357 | 182 | 0 | Obama |
No Skew | 357 | 168 | 14 | Obama |
Obama +1 | 371 | 168 | 0 | Obama |
Obama +2 | 371 | 168 | 0 | Obama |
Obama +3 | 371 | 168 | 0 | Obama |
Obama +4 | 371 | 168 | 0 | Obama |
Obama +5 | 371 | 158 | 10 | Obama |
Obama +6 | 381 | 132 | 26 | Obama |
In case you want to play with the database:
ELECTORAL_VOTES contains a mapping from state to number of electoral votes for that state (state, votes).
POLLS contains a listing of each poll; the rows contain: state, poll_date, poll_name, obama, mccain.
LATEST_POLLS is a view containing the latest polls from POLLS.
SKEW is a table containing the integers from -6 to 6.
The query to produce the above table is:
select skew, sum(obama_votes), sum(mccain_votes), ifnull(sum(undecided_votes), 0)
from (select skew, (mccain - obama > skew) * votes mccain_votes,
(mccain - obama < skew) * votes obama_votes,
(mccain - obama = skew) * votes undecided_votes
from latest_polls
cross join skew order by skew) group by skew;
No comments:
Post a Comment