Ms 9 Solved Assignment 2012 Electoral Votes

Homework 3: Election Prediction

Due: Friday, January 25th at 9:00 PM.
Submit your work via this turnin page.
Files to turn in: , .

In this assignment, you will practice use of data structures such as lists, dictionaries, and sets.


Introduction and background

Election prediction: pundits vs. statisticians

In the past, the outcome of political campaigns was predicted by political analysts and pundits, using a combination of their experience, intuition, and personal biases and preferences. In recent decades there has been a shift to a more scientific approach, in which election results are predicted statistically using a poll. A small random sample of voters is asked how they will vote, and from that the result of the entire election is extrapolated.

The 2012 presidential election was a watershed in the fight between pundits and statisticians. The rivalry became front-page news, with many pundits loudly proclaiming that the statisticians would be humiliated on November 6. In fact, the opposite happened: statistician Nate Silver (of the website FiveThirtyEight) correctly predicted the outcome in every state, whereas pundits' predictions varied significantly. Literally dozens of prominent political analysts had predicted a Romney win. Other pundits said the election was “too close to call”, though Silver and other statisticians had been predicting an Obama win for months. These results changed the way many Americans view political commentators, revealing them as entertainers but not as reliable sources of information.

How did Nate Silver do it? In this assignment, you will find out, and you will replicate his results by using polling data to predict the outcome of the 2012 US presidential election.

Election polls: Which ones to trust?

An election poll is a survey that asks a small sample of voters how they plan to vote. If the sample of voters is representative of the voting population at large, then the poll predicts the result of the entire election. In practice, a poll's prediction must be taken with a grain of salt, because the sample is only approximately representative of the voting population. (See below for an explanation of why.)

For example, in late October 2012, the Gallup poll consistently gave Romney a 6-percentage-point lead in the popular vote, but in fact Obama won the popular vote by 2.6 percentage points. On the other hand, RAND Corporation was biased toward the Democrats and tended to overstate Obama's lead by 1.5 percentage points. How can you decide which polls to rely upon? Depending on which poll you trust, you might make a very different prediction.

One approach is to average together the different polls. This is better than trusting any one of them, but it is still rather crude. What if most of them are biased? That was the case for the 23 organizations that conducted at least 5 polls in the last 21 days of the 2012 Presidential campaign: 19 of the 23 organizations gave a result that favored Republicans more than the actual results did. Nonetheless, Nate Silver's prediction was very close to correct, and showed no bias toward either party.

Silver's approach is very sophisticated, but its key idea is to combine different polls using a weighted average. In a normal average, each data point contributes equally to the result. In a weighted average, some data points contribute more than others. Silver examined how well each polling organization had predicted previous elections, and then weighted their polls according to their accuracy: more biased pollsters had less effect on the weighted average.

The general structure of FiveThirtyEight's algorithm is:

  1. Calculate the average error of each pollster's predictions for previous elections. This is known as the pollster's rank. A smaller rank indicates a more accurate pollster.
  2. Transform each rank into a weight (for use in a weighted average). A larger weight indicates a more accurate pollster. FiveThirtyEight considers a number of factors when computing a weight, including rank, sample size, and when a poll was conducted. For this assignment, we simply set weight to equal the inverse square of rank ().
  3. In each state, perform a weighted average of predictions made by pollsters. This predicts the winner in that state.
  4. Calculate the outcome of the Electoral College, using the per-state predictions. The candidate with the most electoral votes wins the election.

The algorithm is described in more detail at the FiveThirtyEight blog. You do not have to read or understand this information to complete this assignment, but you may find it interesting nonetheless.

The US Electoral College

We have given you an implementation of the function, so this section is for your information but you do not need it while writing code for your assignment.

Here is information about US Presidential elections and the US Electoral College, paraphrased from Wikipedia:

The President of the United States is not elected directly by the voters. Instead, the President is elected indirectly by “electors” who are selected by popular vote on a state-by-state basis. Each state has as many electors as members of Congress. There are 538 electors, based on Congress having 435 representatives and 100 senators, plus three electors from the District of Columbia.

Electors are selected on a “winner-take-all” basis. That is, all electoral votes go to the presidential candidate who wins the most votes in the state. (Actually, Maine and Nebraska use a slightly different method, but for simplicity in this assignment, we will assume they use the “winner-take-all” approach.)

Our analysis only considers the Democratic and Republican political parties. This is a reasonable simplification, since a third-party candidate has received an electoral vote only once in the past 60 years (in 1968, George Wallace won 8% of the electoral vote).

Why polls are approximate

This section of the handout explains why poll results are only approximate, and how poll aggregation helps.

Recall that a poll sample is only approximately representative of the voting population. There are two reasons for this: sampling error and pollster bias.

  1. Sampling error: If you randomly choose a sample from a population, then random chance may cause the sample to differ from the population. The US population is 50.7% female and 49.3% male, but a random sample of 1000 individuals might include 514 females and 486 males or 496 females and 504 males. An extrapolation from the sample to the entire population would be slightly incorrect. The larger the sample, the more likely it is to be representative of the population.

    Sampling error is unavoidable, but it can be reduced by increasing the sample size. This is one reason that poll aggregation can be successful: it effectively uses a larger sample than any one individual poll.

  2. Pollster bias or “house effects”: These are systematic inaccuracies caused by faulty methodology — essentially, the pollster has not chosen a random sample of US voters. Suppose that a pollster sampled only Mormons or only African-Americans; it would be meaningless to predict the overall vote from these biased samples. Actual pollster bias comes in subtler forms, and can be a positive or a negative factor. Here are some examples:
    • Not all Americans vote, so each polling firm should adjust its sampling to select not among all Americans, but among likely voters. Poor people and young people are are less likely to vote, so a polling firm might adjust its statistics to account for that, but the firm might over- or undercompensate.
    • Survey response rates are typically lowest in urban areas, so unweighted samples routinely under-represent black and Hispanic Americans who frequently live in urban areas.
    • Some telephone polls call only landline numbers, but 1/3 of Americans rely on cellphones — and they are younger, more urban, poorer, and more likely to be black and Hispanic, all of which correlate with Democratic voting.
    • Question wording and order has a significant effect on responses.
    Pollster bias is avoidable by improving methodology — or, if you can determine a pollster's bias, you can adjust their scores accordingly and use the adjusted scores rather than what the pollster reports. That is what Nate Silver and other “poll aggregators” did — even without knowing the specific sources of bias.

Assignment Overview

In this assignment, you will write a Python program that predicts the outcome of the 2012 US Presidential election, based on polling data and results from the 2012 and 2008 elections. The CSE 140 staff has designed the overall program, including deciding the names and specifications of all the functions and implementing some of the functions. Your job is to implement the rest of the functions. You will verify your implementation using testing code that we provide. Along the way, you will learn about Python collections.

Don't panic! This assignment might look long, but we have already done most of the work for you. You only have to implement 10 functions — and the CSE 140 staff has already written the documentation and tests for those functions, so you know exactly what to do and you know whether your solution is correct. The staff implementation of those 10 function bodies consists of only 63 lines of code in total, and 8 of the 10 functions have a body consisting of 6 or fewer lines of code. Your solution might be smaller or larger, and that is fine; we mention the size only to give you a feel for the approximate amount of code you have to write. While solving this assignment, you should expect to spend more time thinking than programming.

Hint: Before you implement any function, try describing the algorithm in English and hand-simulating it on some sample data. If you need help, ask us! The forum is a good place to do so, or you can send email to the staff mailing list.

Problem 0: Obtain the files, add your name

Obtain the files you need: Downloading the file, then unzip it to create a directory/folder on your computer.

You will do your work by modifying two files — and — and then submitting the modified versions. Add your name and UW NetID to the top of each file.

We provide you with the following election data (in the directory ):

  • : Polling data from the 2008 US presidential election.
  • : Results from the 2008 election.
  • : Polling data from the 2012 election.
  • : Results from the 2012 election.
    These results should not be used to predict the 2012 election. They are included to evaluate the accuracy of your predictions.
  • : Name, population, and electoral votes of each state in 2012.

You do not have to open or examine any of these files. The staff has already provided you with all the code that reads files. (It's the function at the top of ; it uses a from Python's library.) You will only write functions that manipulate data structures such as lists and dictionaries.

We describe the files here for completeness, but you can skip the rest of this section if you are not interested.

Each file represents a table, in CSV format: rows are on separate lines, and columns are separated by commas. The first row in each file contains the name of each column. You can open a CSV file using or using a spreadsheet programs such as Microsoft Excel (though a spreadsheet program display the file differently than its actual contents!). Be careful not to make any changes when examining these files. (Microsoft Excel or another program might encourage you to save the files in a different format; do not do so!)

Each row in the provided polling data ( and ) contains a prediction of the Democratic and Republican popular vote percentages in a single state. Each row also contains the name of the pollster that conducted the poll and the date the poll was conducted.

Each row in the provided election data ( and ) contains the actual Democratic and Republican popular vote percentages.

Problem 1: State edges

Let's begin with a simple task: transforming a list of election result rows into a more elegant Python data structure: a dictionary.

Your program will represent the result of a state election in terms of the “Democratic edge”, or the difference between the Democratic and Republican popular vote percentages in that state. For example, if the Democratic candidate receives 53% of the vote (actual or predicted), and the Republican candidate receives 47% of the vote, then the Democratic edge is 6 (percentage points). A positive edge indicates a Democratic lead, and a negative edge indicates a Republican lead. The sign associated with each party is arbitrary — no positive or negative connotation is intended.

Throughout our program, we will frequently need to look up the Democratic edge (hereinafter referred to simply as “edge”) in a particular state. Instead of tediously searching through a list of election data rows to find a particular state, let us instead produce a dictionary that maps each state to its edge. The function serves this purpose. Read its documentation in the file.

The docstring for (the triple-quoted text just below the function declaration) is a concise summary of its input parameters and return value, and how they relate to each other. This is known as a function's specification. On first inspection, the specification of appears too concise: What exactly do we mean by “state edges”?

To avoid confusion about the various data structures used in this assignment, we've given each structure a name, and precisely defined its purpose and representation in Python. A list of these structures can be found at the bottom of this document. There you will find a definition of “state edges”. If you become confused about the parameters or return type of a function, read its specification, and look up any unfamiliar types in the list below. Another way to better understand a given function is to examine its tests that appear in the file . Those tests don't use exactly the same data as when your program will predict the 2012 election, but they do use data of exactly the same type, and you may find the tests' small examples of input and output helpful in understanding a given function.

In , implement the function . Remove these lines:

#TODO: Implement this function pass

and replace them by your implementation. Be sure to take advantage of the provided function.

You do not have to read or examine the files for this or any other problem in the assignment.

Testing your implementation

Uncomment the invocation of near the end of file . That is, change this line:


to this:


Then, run as a Python program. You can do this by opening in IDLE, then pressing F5 or selecting Run Module from the Run menu. (Alternately, you can type at the command line, but using IDLE is usually more convenient.)

The file contains Python code that verifies the correctness of each function you write. Every time you finish implementing a function, you should uncomment the corresponding function call at the bottom of and run .

If your implementation is correct, then running will print “Tests passed.&rdquo If your implementation is incorrect, an error will be output; in this case, fix your implementation and re-run , until your implementation passes the tests.

The error produced if your implementation has a bug will not be very helpful. For example, suppose that you press F5 (Run Module) in IDLE and get an error such as

... File "", line 32, in test_state_edges assert state_edges(rows1) == {'WA': 0.9} AssertionError

This tells you that the value returned by the method call was not as it should have been, but it does not tell you what the value was. But, IDLE is now in the interpreter waiting for output, with all of your program's functions defined. You can type

state_edges( [{'State': 'WA', 'Dem': '1.0', 'Rep': '0.1'}] )

to the Python interpreter to see the exact value that the call returned. Using the Python interpreter in this way is very convenient: you can perform experiments, calling a function on whatever input you like to better understand its behavior.

Problem 2: Find the most recent poll row

Next, we turn our attention to polling data. Election sentiment ebbs and flows in the months leading up to an election, and as a result older polls are much less accurate than more recent polls. In order to prevent old poll data from unduly influencing our prediction of the 2012 election, our program will only consider the most recent poll from a pollster in a state.

Implement the function for this purpose. We provide a function , which compares dates formatted as strings. Make use of this function when implementing . If you're stuck, think back to how we found the maximum element in a list. In a sense, is finding the “maximum” of a list of dates. As with any function, if you are having any trouble, step away from IDLE, write a set of English instructions, and manually animate your algorithm on some sample data.

Don't forget to uncomment the call of at the bottom of , and run the tests.

Problem 3: Pollster predictions

Now that we can obtain the most recent poll by a particular pollster in a particular state, we can consider how to represent polling data within Python.

An election poll has two pieces of identifying information (“keys”): a state and a pollster. Thus, our Python representation should make it easy to look up a poll given both keys. Nesting a dictionary within another dictionary is a common way to facilitate lookup with multiple keys. For example, here is a nested dictionary representation, which we call a pollster prediction:

{ "pollster1": {"WA": 10.0, "OR": 15.0}, "pollster2": {"OR": -5.0, "TX": -15.0} }

A value can be looked up in a nested dictionary using two pairs of brackets:

edge = pollster_prediction["pollster1"]["WA"]

In the above, note that is a dictionary that maps each state to an edge.

Alternatively, we could reverse the keys, and nest a dictionary of pollster edges inside a dictionary of states; we call this a state prediction:

{ "WA": {"pollster1": 10.0} "OR": {"pollster1": 15.0, "pollster2": -5.0} "TX": {"pollster2": -15.0} } edge = state_prediction["WA"]["pollster1"]

In the above, note that is a dictionary that maps each pollster to an edge.

Each representation is better suited for different types of lookup. If you have a pollster, and you want to obtain all the state predictions associated with that pollster, the first data structure is most convenient. Conversely, if you have a state, and you want to obtain all the pollster predictions in that state, the second data structure is more convenient. Your program will use both types of nesting.

First, implement the helper function . This produces a collection of states and a collection of pollsters to iterate over. You will need this in order to use the function that you previously implemented in Problem 2. As a hint, consider how different Python data structures handle duplicate elements.

Next, implement the function. Its output produces the first example of nesting described in this problem. (In Problem 5, you will implement a function that transforms one nesting into another.) Your implementation of will use the helper function that you just implemented.

Don't forget to refer to the data type reference if you are unsure about what data structure to return, and don't forget to uncomment and run the tests.

Problem 4: Pollster errors

Now that we can represent election results and polling data in Python, we can begin to implement Nate Silver's algorithm. A first step is to write a function that computes the rank (average error) of a pollster's predictions.

Implement the function , which computes the average error of pollster edges. In each state, the error of a predicted edge is the absolute value of the difference between the predicted edge and actual edge. The average error of a collection of pollster edges is the average of these individual errors.

Hint: Not all pollsters conduct polls in every state. When computing an average error, be sure to divide by the number of states in which a pollster made a prediction, not by the total number of states.

Next, use to implement the function . Again, refer to the data type reference below for more information about parameter and return types. Once completed, provides a quantitative method for measuring the accuracy of a pollster, based on their past predictions.

Problem 5: Pivot a nested dictionary

Recall that in Problem 3, we implemented a function that produces a pollster prediction (a nested dictionary from pollster to state to edge). This nesting was ideal when implementing , however future problems will require the opposite nesting. Implement and test the function , which converts pollster predictions to state predictions.

Hint: the operator indicates whether a dictionary contains a key.

Problem 6: Average the edges in a single state

So far, we have focused on representing election and polling data in Python, and analyzing the accuracy of predictions from past elections. Now, we look to the future!

When predicting the election result in a single state, predictions from multiple pollsters are combined using a weighted average, where a pollster's prediction is weighted according to the accuracy of its past predictions. First, implement and test the helper function . A weighted average is defined as follows (images of formulas courtesy of Wikipedia):

For a list of items x:

and a corresponding list of weights w:

the weighted average of x is:

After implementing and testing , use it to implement . We provide the function , which you should use to compute the weight of a pollster, based on their average error.

Problem 7: Predict the 2012 election

Finally, implement the function , which predicts the result of the 2012 election in each state. Make use of the function from Problem 6.

Once your implementation passes our tests, run as a Python program to predict the outcome of the 2012 election! Your result should match the actual outcome of the 2012 election:

Dem 332.0 Rep 206.0

If your program passes all the tests, but does not give this answer, then please send your program to the course staff, who will create an additional test case to help you find your error.

More details about the actual election appear in file and in the Wikipedia article on the 2012 election.

Reflection and submitting your work

Make sure to look over and for any remaining comments (the find feature in IDLE works great). This should help you ensure you have completed the entire assignment.

In , state which students or other people (besides the course staff) helped you with the assignment, or that no one did.

In , reflect on this assignment. What did you learn from this assignment? What do you wish you had known before you started? What would you do differently? What advice would you offer to future students?

Submit your files at the HW3 turnin page.

Finally, answer a survey about how much time you spent on this assignment.

Appendix: Data type reference

State: Represented as a string, consisting of a two-letter abbreviation.
Examples: "WA", "TX"

Edge: The Democratic edge (difference between Democratic and Republican vote percentages) in an individual state election. Represented as a number.
Examples: 3, -5.4, 0.0

Pollster: An organization that conducts election polls. Represented as a string (the pollster's name).
Examples: "AtlantaJournal", "SurveyUSA"

State edges: A dictionary that maps a state to an edge. Represents the nation-wide result of an election or a poll as a collection of edges, each corresponding to a particular state. When it represents a poll, if a state is missing, that indicates that the pollster did not make a prediction in that state.
Example: { "AK": -14.0, "AL": -22.3, "AR": -23.6, "AZ": -10.1, "CA": 20.9 }

Pollster edges: A dictionary that maps a pollster to an edge. Represents a collection of predictions about the result of an individual state election (an edge).
Example: { "MarketShares": 21, "SouthernIllinoisU": 13, "IPSOS": 26 }

Pollster predictions: A dictionary that maps a pollster to a state edges. Represents a collection of pollsters, each of which has a collection of per-state election predictions (a state edges).
{ "Gallup": { "WA": 7, "CA": 15, "UT": -30 },
  "SurveyUSA": { "CA": 14, "CO": 2, "CT": 13, "FL": 0, "GA": -8, "KY": -14 },
  "Omniscient": { "AK": -14.0, "AL": -22.3, "AR": -23.6, "AZ": -10.1, "CA": 20.9 }

State predictions: A dictionary that maps a state to a pollster edges. Represents a collection of states, each of which has a collection of predictions made about that state (a pollster edges).
{ "IL": { "MarketShares": 21, "SouthernIllinoisU": 13, "IPSOS": 26 },
  "IN": { "Rasmussen": -9, "Howey": -10, "PharosResearchGroup": -13, "GlobalStrategy": -6 }
  "LA": { "Zogby": -13, "SouthernMediaOpinionResearch": -6 }

Note that both pollster predictions and state predictions are nested dictionaries. In problem 5, we implement a function that can convert between these two types.

Pollster errors: A dictionary that maps a pollster to an average error (a float).
Example: { "Gallup" : 6.9, "SurveyUSA" : 3, "RockyMtnPoll" : 0 }

Election data row / poll data row: A dictionary that maps a column name to a value (as a string).

An election data row has the following columns: State, Dem, Rep
{ "State":"AK", "Dem":"41.3", "Rep":"55.3" }
{ "State":"AL", "Dem":"38.4", "Rep":"60.7" }
{ "State":"AR", "Dem":"36.9", "Rep":"60.5" }

A poll data row has the following columns: State, Dem, Rep, Date, Pollster
{ "State": "AK", "Dem":"37", "Rep":"59", "Date":"Nov 04 2008", "Pollster":"2008Election" }
{ "State": "AL", "Dem":"36", "Rep":"54", "Date":"Aug 16 2012", "Pollster":"CapitalSurvey" }
{ "State": "AL", "Dem":"36", "Rep":"51", "Date":"Jun 27 2012", "Pollster":"CapitalSurvey" }

The United States presidential election of 1936 was the thirty-eighth quadrennial presidential election, held on Tuesday, November 3, 1936. In the midst of the Great Depression, incumbent DemocraticPresidentFranklin D. Roosevelt defeated Republican Governor Alf Landon of Kansas. Roosevelt won the highest share of the popular and electoral vote since the uncontested 1820 election. The sweeping victory consolidated the New Deal Coalition in control of the Fifth Party System.[2]

Roosevelt and Vice President John Nance Garner were re-nominated without opposition. With the backing of party leaders, Landon defeated progressive Senator William Borah at the 1936 Republican National Convention to win his party's presidential nomination. The populist Union Party nominated Congressman William Lemke for president.

The election took place as the Great Depression entered its eighth year. Roosevelt was still working to push the provisions of his New Dealeconomic policy through Congress and the courts. However, the New Deal policies he had already enacted, such as Social Security and unemployment benefits, had proven to be highly popular with most Americans. Landon, a political moderate, accepted much of the New Deal but criticized it for waste and inefficiency.

Although some political pundits predicted a close race, Roosevelt went on to win the greatest electoral landslide since the beginning of the current two-party system in the 1850s. Roosevelt took 60.8% of the popular vote, while Landon won 36.5% and Lemke won just under 2%. Roosevelt carried every state except Maine and Vermont, which together cast eight electoral votes. By winning 523 electoral votes, Roosevelt received 98.49% of the electoral vote total, which remains the highest percentage of the electoral vote won by any candidate since 1820. Roosevelt also won the highest share of the popular vote since 1820, though Lyndon B. Johnson would later win a slightly higher share of the popular vote in the 1964 election.


Democratic Party nomination[edit]

Main article: 1936 Democratic National Convention

Before his assassination, there was a challenge from Louisiana Senator Huey Long. But, due to his untimely death, President Roosevelt faced only one primary opponent other than various favorite sons. Henry Skillman Breckinridge, an anti-New Deal lawyer from New York, filed to run against Roosevelt in four primaries. Breckinridge's challenge of the popularity of the New Deal among Democrats failed miserably. In New Jersey, President Roosevelt did not file for the preference vote and lost that primary to Breckinridge, even though he did receive 19% of the vote on write-ins. Roosevelt's candidates for delegates swept the race in New Jersey and elsewhere. In other primaries, Breckinridge's best showing was 15% in Maryland. Overall, Roosevelt received 93% of the primary vote, compared to 2% for Breckinridge.[3]

The Democratic Party Convention was held in Philadelphia between July 23 and 27. The delegates unanimously re-nominated incumbents President Roosevelt and Vice-President John Nance Garner. At Roosevelt's request, the two-thirds rule, which had given the South a de facto veto power, was repealed.

Republican Party nomination[edit]

Main article: 1936 Republican National Convention

The 1936 Republican National Convention was held in Cleveland, Ohio, between June 9 and 12. Although many candidates sought the Republican nomination, only two, Governor Landon and Senator William Borah from Idaho, were considered to be serious candidates. While favorite sons County Attorney Earl Warren from California, GovernorWarren Green of South Dakota, and Stephen A. Day from Ohio won their respective primaries, the seventy-year-old Borah, a well-known progressive and "insurgent," won the Wisconsin, Nebraska, Pennsylvania, West Virginia, and Oregon primaries, while also performing quite strongly in Knox's Illinois and Green's South Dakota. The party machinery, however, almost uniformly backed Landon, a wealthy businessman and centrist, who won primaries in Massachusetts and New Jersey and dominated in the caucuses and at state party conventions.

With Knox withdrawing to become Landon's selection for vice-president (after the rejection of New Hampshire GovernorStyles Bridges) and Day, Green, and Warren releasing their delegates, the tally at the convention was as follows:

  • Alf Landon 984
  • William Borah 19

Other nominations[edit]

Many people, most significantly Democratic National Committee Chairman James Farley,[4] expected Huey Long, the colorful Democratic senator from Louisiana, to run as a third-party candidate with his "Share Our Wealth" program as his platform. Polls made during 1934 and 1935 suggested Long could have won between six[5] and seven million[6] votes, or approximately fifteen percent of the actual number cast in the 1936 election.

However, Long was assassinated in September 1935. Some historians, including Long biographer T. Harry Williams, contend that Long had never, in fact, intended to run for the presidency in 1936. Instead, he had been plotting with Father Charles Coughlin, a Catholic priest and populisttalk radio personality, to run someone else on the soon-to-be-formed "Share Our Wealth" Party ticket. According to Williams, the idea was that this candidate would split the left-wing vote with President Roosevelt, thereby electing a Republican president and proving the electoral appeal of Share Our Wealth. Long would then wait four years and run for president as a Democrat in 1940.

Prior to Long's death, leading contenders for the role of the sacrificial 1936 candidate included Idaho Senator William Borah, Montana Senator and running mate of Robert La Follette in 1924 Burton K. Wheeler, and Governor Floyd B. Olson of the Minnesota Farmer–Labor Party. After Long's assassination, however, the two senators lost interest in the idea, while Olson was diagnosed with terminal stomach cancer.

Father Coughlin, who had allied himself with Dr. Francis Townsend, a left-wing political activist who was pushing for the creation of an old-age pension system, and Rev. Gerald L. K. Smith, was eventually forced to run Representative William Lemke (R-North Dakota) as the candidate of the newly created "Union Party". Lemke, who lacked the charisma and national stature of the other potential candidates, fared poorly in the election, barely managing two percent of the vote, and the party was dissolved the following year.

William Dudley Pelley, Chief of the Silver Shirts Legion, ran on the ballot for the Christian Party in Washington State, but won fewer than two thousand votes.

Earl Browder ran for the Communist Party (CPUSA).

Pre-election polling[edit]

This election is notable for The Literary Digest poll, which was based on ten million questionnaires mailed to readers and potential readers; 2.3 million were returned. The Literary Digest, which had correctly predicted the winner of the last 5 elections, announced in its October 31 issue that Landon would be the winner with 370 electoral votes. The cause of this mistake has often been attributed to improper sampling: more Republicans subscribed to the Literary Digest than Democrats, and were thus more likely to vote for Landon than Roosevelt, and indeed every other poll made at this time predicted Roosevelt would win, although most expected him to garner no more than 360 electoral votes.[7] However, a 1976 article in The American Statistician demonstrates that the actual reason for the error was that the Literary Digest relied on voluntary responses. As the article explains, the 2.3 million “respondents who returned their questionnaires represented only that subset of the population with a relatively intense interest in the subject at hand, and as such constitute in no sense a random sample... it seems clear that the minority of anti-Roosevelt voters felt more strongly about the election than did the pro-Roosevelt majority.”[8] A more detailed study in 1988 showed that both the initial sample and non-response bias were contributing factors, and that the error due to the initial sample taken alone would not have been sufficient to predict the Landon victory.[9] This mistake by the Literary Digest proved to be devastating to the magazine's credibility and it ceased publishing within a few months of the election.[citation needed]

That same year, George Gallup, an advertising executive who had begun a scientific poll, predicted that Roosevelt would win the election, based on a quota sample of 50,000 people. He also predicted that the Literary Digest would mis-predict the results. His correct predictions made public opinion polling a critical element of elections for journalists and indeed for politicians. The Gallup Poll would become a staple of future presidential elections, and remains one of the most prominent election polling organizations.


Landon proved to be an ineffective campaigner who rarely traveled. Most of the attacks on FDR and Social Security were developed by Republican campaigners rather than Landon himself. In the two months after his nomination he made no campaign appearances. Columnist Westbrook Pegler lampooned, “Considerable mystery surrounds the disappearance of Alfred M. Landon of Topeka, Kansas.... The Missing Persons Bureau has sent out an alarm bulletin bearing Mr. Landon's photograph and other particulars, and anyone having information of his whereabouts is asked to communicate direct with the Republican National Committee.”

Landon respected and admired Roosevelt and accepted much of the New Deal but objected that it was hostile to business and involved too much waste and inefficiency. Late in the campaign, Landon accused Roosevelt of corruption – that is, of acquiring so much power that he was subverting the Constitution:

The President spoke truly when he boasted... “We have built up new instruments of public power.” He spoke truly when he said these instruments could provide “shackles for the liberties of the people... and... enslavement for the public”. These powers were granted with the understanding that they were only temporary. But after the powers had been obtained, and after the emergency was clearly over, we were told that another emergency would be created if the power was given up. In other words, the concentration of power in the hands of the President was not a question of temporary emergency. It was a question of permanent national policy. In my opinion the emergency of 1933 was a mere excuse.... National economic planning—the term used by this Administration to describe its policy—violates the basic ideals of the American system.... The price of economic planning is the loss of economic freedom. And economic freedom and personal liberty go hand in hand.


Roosevelt won in a landslide, carrying 46 of the 48 states and bringing in many additional Democratic members of Congress. After Lyndon B. Johnson’s 61.1 percent share of the popular vote in 1964, Roosevelt’s 60.8 percent is the second-largest percentage in U.S. history since the nearly unopposed election of James Monroe in 1820, and his 98.5% of the electoral vote is the highest in two-party competition. Roosevelt won the largest number of electoral votes ever recorded at that time, so far only surpassed by Ronald Reagan in 1984, when seven more electoral votes were available to contest. Garner won the highest percentage of the electoral vote of any vice president. Landon became the second official major-party candidate since the current system was established to win fewer than ten electoral votes by tying William Howard Taft, who won eight votes in his unsuccessful re-election campaign in 1912. No major-party candidate has won so few electoral votes since this election. The closest anyone has come was Reagan’s 1984 opponent Walter Mondale, who won only thirteen electoral votes.

Of the 3,095 counties, parishes and independent cities making returns, Roosevelt won in 2,634 (85 percent) while Landon carried 461 (15 percent). Democrats also expanded their majorities in Congress, winning control of over three-quarters of the seats in each house. The election saw the consolidation of the New Deal coalition; while the Democrats lost some of their traditional allies in big business, they were replaced by groups such as organized labor and African Americans, the latter of whom voted Democratic for the first time since the Civil War. Roosevelt lost high income voters, especially businessmen and professionals, but made major gains among the poor and minorities. He won 86 percent of the Jewish vote, 81 percent of the Catholics, 80 percent of union members, 76 percent of Southerners, 76 percent of Blacks in northern cities, and 75 percent of people on relief. Roosevelt carried 102 of the nation's 106 cities with a population of 100,000 or more.[11]

Some political pundits predicted the Republicans, whom many voters blamed for the Great Depression, would soon become an extinct political party.[12] However, the Republicans would make a strong comeback in the 1938 congressional elections and would remain a potent force in Congress,[12] although they were not able to win the presidency again until 1952.

The Electoral College results, in which Landon only won Maine and Vermont, inspired Democratic Party chairman James Farley, who had in fact declared during the campaign that Roosevelt was to lose only these two states,[7] to amend the then-conventional political wisdom of “As Maine goes, so goes the nation” into “As goes Maine, so goes Vermont.” Additionally, a prankster posted a sign on Vermont’s border with New Hampshire the day after the 1936 election, reading, “You are now leaving the United States.” [7] Some of Roosevelt’s advisers even joked that America’s fiscal woes might be best solved if he offered to sell Vermont and Maine to Canada.[13] As of 2018, even after a quarter century as a classic “blue” state that usually supports Democratic presidential candidates, Vermont has voted for more Republican presidential nominees than any other state. From 1856 through 1960, Vermont gave the state’s electoral votes to the Republican Party nominee in every presidential election. No other state has voted so many consecutive times for candidates of the same political party. Maine once held a similar political record, voting from 1856 through 1960 for the Republican candidate in every presidential election but one, when in 1912, the state gave Democrat Woodrow Wilson a plurality with 39.43% of the vote. Another state that had been reliably Republican for a very long time before 1936 was Pennsylvania, which Roosevelt was the first Democrat to carry since “favorite son” James Buchanan won Pennsylvania in 1856.

Presidential candidatePartyHome statePopular voteElectoral
Running mate
CountPercentageVice-presidential candidateHome stateElectoral vote
Franklin D. Roosevelt (Incumbent)DemocraticNew York27,752,64860.80%523John Nance Garner (Incumbent)Texas523
Alf LandonRepublicanKansas16,681,86236.54%8Frank KnoxIllinois8
William LemkeUnionNorth Dakota892,3781.95%0Thomas C. O'BrienMassachusetts0
Norman ThomasSocialistNew York187,9100.41%0George A. NelsonWisconsin0
Earl BrowderCommunistKansas79,3150.17%0James W. FordNew York0
D. Leigh ColvinProhibitionNew York37,6460.08%0Claude A. WatsonCalifornia0
John W. AikenSocialist LaborConnecticut12,7990.03%0Emil F. TeichertNew York0
Needed to win266266

Source (Popular Vote):Leip, David. "1936 Presidential Election Results". Dave Leip's Atlas of U.S. Presidential Elections. Retrieved July 31, 2005. 

Source (Electoral Vote):"Electoral College Box Scores 1789–1996". National Archives and Records Administration. Retrieved July 31, 2005. 

Popular vote
Electoral vote

Geography of results[edit]

  • Results by county, shaded according to winning candidate's percentage of the vote

Cartographic gallery[edit]

  • Presidential election results by county

  • Democratic presidential election results by county

  • Republican presidential election results by county

  • "Other" presidential election results by county

  • American Labor presidential election results by county

  • Cartogram of presidential election results by county

  • Cartogram of Democratic presidential election results by county

  • Cartogram of Republican presidential election results by county

  • Cartogram of "Other" presidential election results by county

  • Cartogram of American Labor presidential election results by county

Results by state[edit]


Franklin D. Roosevelt
Alfred Landon
William Lemke
Norman Thomas
OtherMarginState Total
# %electoral
# %electoral
# %electoral
# %electoral
# %electoral
# %#
Undated photograph of President Roosevelt
Republican primaries by state results
Election poster in Manchester, NH


Leave a Reply

Your email address will not be published. Required fields are marked *