{
  "anesGroups": [
    {
      "categories": [
        {
          "key": "Grade school",
          "label": "Grade school or less"
        },
        {
          "key": "High school",
          "label": "High school"
        },
        {
          "key": "Some college",
          "label": "Some college"
        },
        {
          "key": "College+",
          "label": "College degree or more"
        }
      ],
      "detail": "Highest level of education reported by the respondent.",
      "key": "education",
      "label": "Education",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "0-16 pct",
          "label": "0 to 16th percentile"
        },
        {
          "key": "17-33 pct",
          "label": "17th to 33rd percentile"
        },
        {
          "key": "34-67 pct",
          "label": "34th to 67th percentile"
        },
        {
          "key": "68-95 pct",
          "label": "68th to 95th percentile"
        },
        {
          "key": "96-100 pct",
          "label": "96th to 100th percentile"
        }
      ],
      "detail": "Family income percentile group within each survey year (ANES variable VCF0114).",
      "key": "income_5cat",
      "label": "Family income",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "Protestant",
          "label": "Protestant"
        },
        {
          "key": "Catholic",
          "label": "Catholic"
        },
        {
          "key": "Jewish",
          "label": "Jewish"
        },
        {
          "key": "Other/None",
          "label": "Other or none"
        }
      ],
      "detail": "Protestant, Catholic, Jewish, or other religion or none.",
      "key": "religion",
      "label": "Religion",
      "unavailable": [
        {
          "reason": "The 2024 religion coding in the cumulative file is unusable: Protestants fall from 3,180 respondents in 2020 to 835 in 2024, so 2024 is left out for this group.",
          "year": 2024
        }
      ]
    },
    {
      "categories": [
        {
          "key": "Rarely",
          "label": "Rarely or never"
        },
        {
          "key": "Sometimes",
          "label": "Once or twice a month"
        },
        {
          "key": "Often",
          "label": "Weekly or almost weekly"
        }
      ],
      "detail": "Attendance at religious services: rarely or never (a few times a year or never), once or twice a month, weekly or almost weekly.",
      "key": "church_attend",
      "label": "Church attendance",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "White non-Hispanic",
          "label": "White non-Hispanic"
        },
        {
          "key": "Black non-Hispanic",
          "label": "Black non-Hispanic"
        },
        {
          "key": "Hispanic",
          "label": "Hispanic"
        },
        {
          "key": "Other or multiple races",
          "label": "Other or multiple races"
        }
      ],
      "detail": "Race and ethnicity with Hispanic origin (ANES variable VCF0105b).",
      "key": "race_4cat",
      "label": "Race and ethnicity",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "17-24",
          "label": "17-24"
        },
        {
          "key": "25-34",
          "label": "25-34"
        },
        {
          "key": "35-44",
          "label": "35-44"
        },
        {
          "key": "45-54",
          "label": "45-54"
        },
        {
          "key": "55-64",
          "label": "55-64"
        },
        {
          "key": "65-74",
          "label": "65-74"
        },
        {
          "key": "75+",
          "label": "75+"
        }
      ],
      "detail": "Age in years at the interview.",
      "key": "age_group",
      "label": "Age",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "Male",
          "label": "Male"
        },
        {
          "key": "Female",
          "label": "Female"
        },
        {
          "key": "Other",
          "label": "Other"
        }
      ],
      "detail": "Gender as coded in the cumulative file.",
      "key": "gender",
      "label": "Gender",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "Married",
          "label": "Married"
        },
        {
          "key": "Never married",
          "label": "Never married"
        },
        {
          "key": "Divorced",
          "label": "Divorced"
        },
        {
          "key": "Separated",
          "label": "Separated"
        },
        {
          "key": "Widowed",
          "label": "Widowed"
        },
        {
          "key": "Partnered",
          "label": "Partnered"
        }
      ],
      "detail": "Marital status at the interview.",
      "key": "marital_status",
      "label": "Marital status",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "Liberal",
          "label": "Liberal"
        },
        {
          "key": "Moderate",
          "label": "Moderate"
        },
        {
          "key": "Conservative",
          "label": "Conservative"
        }
      ],
      "detail": "Self-reported liberal, moderate or conservative identification.",
      "key": "ideology_3cat",
      "label": "Ideology",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "Democrat",
          "label": "Democrat"
        },
        {
          "key": "Independent",
          "label": "Independent"
        },
        {
          "key": "Republican",
          "label": "Republican"
        }
      ],
      "detail": "Party identification with leaners counted with the party they lean toward.",
      "key": "party_id_3cat",
      "label": "Party identification",
      "unavailable": []
    },
    {
      "categories": [
        {
          "key": "Northeast",
          "label": "Northeast"
        },
        {
          "key": "Midwest",
          "label": "Midwest"
        },
        {
          "key": "South",
          "label": "South"
        },
        {
          "key": "West",
          "label": "West"
        }
      ],
      "detail": "Census region of the respondent's state.",
      "key": "census_region",
      "label": "Census region",
      "unavailable": []
    }
  ],
  "built": "2026-09-30",
  "bytes": {
    "anes.json": 40147,
    "county/1976.json": 104130,
    "county/1980.json": 107723,
    "county/1984.json": 107641,
    "county/1988.json": 104840,
    "county/1992.json": 103888,
    "county/1996.json": 103799,
    "county/2000.json": 184043,
    "county/2004.json": 182830,
    "county/2008.json": 181884,
    "county/2012.json": 183537,
    "county/2016.json": 185396,
    "county/2020.json": 182543,
    "county/2024.json": 184256,
    "elections.json": 18325,
    "names.json": 68760,
    "regressions/2000.json": 14118,
    "regressions/2004.json": 14083,
    "regressions/2008.json": 14078,
    "regressions/2012.json": 14062,
    "regressions/2016.json": 14015,
    "regressions/2020.json": 13986,
    "regressions/2024.json": 14000,
    "state/1976.json": 7083,
    "state/1980.json": 8126,
    "state/1984.json": 8099,
    "state/1988.json": 8034,
    "state/1992.json": 8038,
    "state/1996.json": 8025,
    "state/2000.json": 8104,
    "state/2004.json": 8067,
    "state/2008.json": 8011,
    "state/2012.json": 8070,
    "state/2016.json": 8115,
    "state/2020.json": 8045,
    "state/2024.json": 8133
  },
  "columns": {
    "anes": {
      "cells": "Parallel arrays, one entry per group, category and year with at least 30 respondents: dem2p, lo, hi (percent), n, nEff, thin.",
      "overall": "Parallel arrays by year: ANES two-party Democratic share with interval, actual national result, and the gap.",
      "suppressed": "Cells with fewer than 30 respondents (group, category, year, n)."
    },
    "county": {
      "age65": "Percent of residents aged 65 and older (2000 onward).",
      "college": "Percent of adults 25 and older with a bachelor's degree or higher (2000 onward; null when missing).",
      "dem": "Democratic votes.",
      "fips": "5-digit county FIPS as reported that year, sorted.",
      "income": "Median household income, 2024 dollars (2000 onward).",
      "margin2p": "Two-party margin, points, Democratic positive.",
      "n": "Number of counties.",
      "nonwhite": "Percent of residents who are not non-Hispanic white (2000 onward).",
      "rep": "Republican votes.",
      "rural": "Percent of residents in rural areas (2000 onward).",
      "summary": "Exact counts from the unrounded margins, for the page's sentences: wonD, wonR, even (counties by plurality of the two-party vote), votesD, votesR (all votes cast in those counties), votes, swingN (counties with a swing), swingToD, swingToR, swingMedian.",
      "swing2p": "margin2p minus the previous election's margin, matched on FIPS (null when no match).",
      "total": "All votes.",
      "year": "Election year."
    },
    "elections": "elections.json: one object per election in `elections`; see manifest.elections for the short form.",
    "regressions": {
      "bivariate": "bivariate[view][trait] = {a, b, bLo, bHi, r, rLo, rHi}: margin = a + b * trait in the trait's own units; r with a state-cluster bootstrap interval.",
      "byState": "byState[view]: parallel arrays over estimated states (po, n, r2) and, per trait, {b, lo, hi} (null when the trait has no variation in the state).",
      "byStateSummary": "byStateSummary[view][trait] = counts among the estimated states: positive, negative, positiveSig, negativeSig (interval excludes zero).",
      "pooled": "pooled[view].coef[trait] = {b, lo, hi, se}: pp of margin per +1 SD of the trait, other four held fixed; r2 of the fit."
    },
    "state": {
      "dem": "Votes for the Democratic nominee summed over all party lines.",
      "demPct": "dem / total * 100.",
      "demPct2p": "dem / (dem + rep) * 100.",
      "ev": "Electors of the state.",
      "evDem": "Pledged electors for the Democratic nominee (Maine and Nebraska split by district).",
      "evRep": "Pledged electors for the Republican nominee.",
      "fips": "2-digit state FIPS.",
      "margin2p": "Two-party margin, points, Democratic positive.",
      "marginTot": "Margin over all votes, points, Democratic positive.",
      "n": "Number of rows (50 states and DC = 51).",
      "name": "State name.",
      "other": "total minus dem minus rep.",
      "otherPct": "other / total * 100.",
      "po": "USPS code, sorted.",
      "prevMargin2p": "Two-party margin at the previous election (null in 1976).",
      "prevMarginTot": "Total-vote margin at the previous election (null in 1976).",
      "rep": "Votes for the Republican nominee, all lines.",
      "repPct": "rep / total * 100.",
      "swing2p": "margin2p minus prevMargin2p (null in 1976).",
      "swingTot": "marginTot minus prevMarginTot (null in 1976).",
      "total": "Total votes as printed in the source.",
      "winner": "'D' or 'R' (most votes).",
      "year": "Election year."
    }
  },
  "countyChecks": {
    "byYear": [
      {
        "counties": 3113,
        "countyDem": 40787823,
        "countyRep": 39077078,
        "countyVotes": 81837149,
        "missingTraits": null,
        "renamedMatched": 0,
        "stateDem": 40781781,
        "stateRep": 39074216,
        "stateVotes": 81477770,
        "statesOff": [
          {
            "demPct": 4.2,
            "po": "VT",
            "repPct": 1.7
          }
        ],
        "swingCounties": 3110,
        "year": 1976
      },
      {
        "counties": 3112,
        "countyDem": 35438230,
        "countyRep": 43817090,
        "countyVotes": 86773330,
        "missingTraits": null,
        "renamedMatched": 0,
        "stateDem": 35439106,
        "stateRep": 43812658,
        "stateVotes": 86338406,
        "statesOff": [],
        "swingCounties": 3112,
        "year": 1980
      },
      {
        "counties": 3114,
        "countyDem": 37514326,
        "countyRep": 54318945,
        "countyVotes": 92924387,
        "missingTraits": null,
        "renamedMatched": 0,
        "stateDem": 37506130,
        "stateRep": 54316696,
        "stateVotes": 92447256,
        "statesOff": [
          {
            "demPct": 1.1,
            "po": "WA",
            "repPct": 0
          }
        ],
        "swingCounties": 3112,
        "year": 1984
      },
      {
        "counties": 3114,
        "countyDem": 41736892,
        "countyRep": 48767346,
        "countyVotes": 91866065,
        "missingTraits": null,
        "renamedMatched": 0,
        "stateDem": 41736490,
        "stateRep": 48766846,
        "stateVotes": 91386709,
        "statesOff": [],
        "swingCounties": 3114,
        "year": 1988
      },
      {
        "counties": 3115,
        "countyDem": 44831560,
        "countyRep": 39002574,
        "countyVotes": 104478482,
        "missingTraits": null,
        "renamedMatched": 0,
        "stateDem": 44876009,
        "stateRep": 39001872,
        "stateVotes": 104341274,
        "statesOff": [
          {
            "demPct": -8.8,
            "po": "SC",
            "repPct": 0
          }
        ],
        "swingCounties": 3114,
        "year": 1992
      },
      {
        "counties": 3114,
        "countyDem": 47319791,
        "countyRep": 39076022,
        "countyVotes": 96410283,
        "missingTraits": null,
        "renamedMatched": 0,
        "stateDem": 47321518,
        "stateRep": 39075736,
        "stateVotes": 96148198,
        "statesOff": [],
        "swingCounties": 3114,
        "year": 1996
      },
      {
        "counties": 3114,
        "countyDem": 50930792,
        "countyRep": 50294999,
        "countyVotes": 105604025,
        "missingTraits": {
          "counties": 0,
          "states": [],
          "votePct": 0
        },
        "renamedMatched": 1,
        "stateDem": 50917058,
        "stateRep": 50288771,
        "stateVotes": 105308422,
        "statesOff": [],
        "swingCounties": 3114,
        "year": 2000
      },
      {
        "counties": 3114,
        "countyDem": 58915743,
        "countyRep": 61848622,
        "countyVotes": 122524627,
        "missingTraits": {
          "counties": 1,
          "states": [
            "CO"
          ],
          "votePct": 0.02
        },
        "renamedMatched": 0,
        "stateDem": 58917054,
        "stateRep": 61837396,
        "stateVotes": 122036852,
        "statesOff": [
          {
            "demPct": 0.1,
            "po": "MS",
            "repPct": 1.8
          }
        ],
        "swingCounties": 3113,
        "year": 2004
      },
      {
        "counties": 3114,
        "countyDem": 69375087,
        "countyRep": 59756352,
        "countyVotes": 131696306,
        "missingTraits": {
          "counties": 1,
          "states": [
            "CO"
          ],
          "votePct": 0.02
        },
        "renamedMatched": 0,
        "stateDem": 69374865,
        "stateRep": 59754442,
        "stateVotes": 131093056,
        "statesOff": [],
        "swingCounties": 3114,
        "year": 2008
      },
      {
        "counties": 3114,
        "countyDem": 65771195,
        "countyRep": 60757548,
        "countyVotes": 129408531,
        "missingTraits": {
          "counties": 2,
          "states": [
            "SD",
            "VA"
          ],
          "votePct": 0
        },
        "renamedMatched": 0,
        "stateDem": 65777020,
        "stateRep": 60767476,
        "stateVotes": 128839502,
        "statesOff": [
          {
            "demPct": -1,
            "po": "MA",
            "repPct": -0.8
          }
        ],
        "swingCounties": 3114,
        "year": 2012
      },
      {
        "counties": 3113,
        "countyDem": 65097810,
        "countyRep": 62508031,
        "countyVotes": 135902702,
        "missingTraits": {
          "counties": 2,
          "states": [
            "SD",
            "TX"
          ],
          "votePct": 0
        },
        "renamedMatched": 1,
        "stateDem": 65737127,
        "stateRep": 62821675,
        "stateVotes": 136468579,
        "statesOff": [
          {
            "demPct": -2,
            "po": "CA",
            "repPct": -2
          },
          {
            "demPct": -2.9,
            "po": "KS",
            "repPct": -2.2
          },
          {
            "demPct": -1.5,
            "po": "MA",
            "repPct": -0.7
          },
          {
            "demPct": -8.7,
            "po": "NY",
            "repPct": -6.2
          }
        ],
        "swingCounties": 3113,
        "year": 2016
      },
      {
        "counties": 3113,
        "countyDem": 81111612,
        "countyRep": 74018305,
        "countyVotes": 158042235,
        "missingTraits": {
          "counties": 10,
          "states": [
            "CT",
            "NM",
            "TX"
          ],
          "votePct": 1.16
        },
        "renamedMatched": 0,
        "stateDem": 81115130,
        "stateRep": 74026195,
        "stateVotes": 158168973,
        "statesOff": [
          {
            "demPct": -2,
            "po": "KS",
            "repPct": -1.7
          },
          {
            "demPct": -1.1,
            "po": "ME",
            "repPct": -0.2
          }
        ],
        "swingCounties": 3113,
        "year": 2020
      },
      {
        "counties": 3112,
        "countyDem": 74872488,
        "countyRep": 77118009,
        "countyVotes": 154875985,
        "missingTraits": {
          "counties": 10,
          "states": [
            "CT",
            "NM",
            "SD"
          ],
          "votePct": 1.14
        },
        "renamedMatched": 1,
        "stateDem": 74877587,
        "stateRep": 77118122,
        "stateVotes": 155072027,
        "statesOff": [
          {
            "demPct": -1.2,
            "po": "ME",
            "repPct": -0.3
          }
        ],
        "swingCounties": 3112,
        "year": 2024
      }
    ],
    "cleaning": {
      "alaska_rows_dropped": 41,
      "kansas_city_rows_merged": 1,
      "no_vote_rows_dropped": {
        "1972": 1,
        "1976": 1,
        "1980": 1,
        "1984": 1,
        "1988": 1
      },
      "rows_read": 43633
    },
    "note": "countyVotes and stateVotes exclude Alaska. statesOff lists states where the county rows differ from the state total by more than 1 percent of the Democratic or the Republican votes (percent difference, county minus state)."
  },
  "defaults": {
    "margin": "margin2p",
    "regressionView": "weighted",
    "trait": "college",
    "year": 2024
  },
  "demographicYears": [
    2000,
    2004,
    2008,
    2012,
    2016,
    2020,
    2024
  ],
  "elections": [
    {
      "dem": {
        "evCertified": 297,
        "evPledged": 297,
        "name": "Jimmy Carter",
        "pct2p": 51.05042
      },
      "evDiffers": true,
      "margin2p": 2.100831,
      "marginTot": 2.058873,
      "popularWinner": "D",
      "rep": {
        "evCertified": 240,
        "evPledged": 241,
        "name": "Gerald Ford",
        "pct2p": 48.94958
      },
      "winner": "D",
      "year": 1976
    },
    {
      "dem": {
        "evCertified": 49,
        "evPledged": 49,
        "name": "Jimmy Carter",
        "pct2p": 44.69775
      },
      "evDiffers": false,
      "margin2p": -10.6045,
      "marginTot": -9.73194,
      "popularWinner": "R",
      "rep": {
        "evCertified": 489,
        "evPledged": 489,
        "name": "Ronald Reagan",
        "pct2p": 55.30225
      },
      "winner": "R",
      "year": 1980
    },
    {
      "dem": {
        "evCertified": 13,
        "evPledged": 13,
        "name": "Walter Mondale",
        "pct2p": 40.82463
      },
      "evDiffers": false,
      "margin2p": -18.35074,
      "marginTot": -18.22563,
      "popularWinner": "R",
      "rep": {
        "evCertified": 525,
        "evPledged": 525,
        "name": "Ronald Reagan",
        "pct2p": 59.17537
      },
      "winner": "R",
      "year": 1984
    },
    {
      "dem": {
        "evCertified": 111,
        "evPledged": 112,
        "name": "Michael Dukakis",
        "pct2p": 46.09846
      },
      "evDiffers": true,
      "margin2p": -7.803087,
      "marginTot": -7.727119,
      "popularWinner": "R",
      "rep": {
        "evCertified": 426,
        "evPledged": 426,
        "name": "George H. W. Bush",
        "pct2p": 53.90154
      },
      "winner": "R",
      "year": 1988
    },
    {
      "dem": {
        "evCertified": 370,
        "evPledged": 370,
        "name": "Bill Clinton",
        "pct2p": 53.47999
      },
      "evDiffers": false,
      "margin2p": 6.959979,
      "marginTot": 5.593158,
      "popularWinner": "D",
      "rep": {
        "evCertified": 168,
        "evPledged": 168,
        "name": "George H. W. Bush",
        "pct2p": 46.52001
      },
      "winner": "D",
      "year": 1992
    },
    {
      "dem": {
        "evCertified": 379,
        "evPledged": 379,
        "name": "Bill Clinton",
        "pct2p": 54.73636
      },
      "evDiffers": false,
      "margin2p": 9.472725,
      "marginTot": 8.510667,
      "popularWinner": "D",
      "rep": {
        "evCertified": 159,
        "evPledged": 159,
        "name": "Bob Dole",
        "pct2p": 45.26364
      },
      "winner": "D",
      "year": 1996
    },
    {
      "dem": {
        "evCertified": 266,
        "evPledged": 267,
        "name": "Al Gore",
        "pct2p": 50.26608
      },
      "evDiffers": true,
      "margin2p": 0.532165,
      "marginTot": 0.511291,
      "popularWinner": "D",
      "rep": {
        "evCertified": 271,
        "evPledged": 271,
        "name": "George W. Bush",
        "pct2p": 49.73392
      },
      "winner": "R",
      "year": 2000
    },
    {
      "dem": {
        "evCertified": 251,
        "evPledged": 252,
        "name": "John Kerry",
        "pct2p": 48.76082
      },
      "evDiffers": true,
      "margin2p": -2.478355,
      "marginTot": -2.452161,
      "popularWinner": "R",
      "rep": {
        "evCertified": 286,
        "evPledged": 286,
        "name": "George W. Bush",
        "pct2p": 51.23918
      },
      "winner": "R",
      "year": 2004
    },
    {
      "dem": {
        "evCertified": 365,
        "evPledged": 365,
        "name": "Barack Obama",
        "pct2p": 53.68884
      },
      "evDiffers": false,
      "margin2p": 7.377687,
      "marginTot": 7.266953,
      "popularWinner": "D",
      "rep": {
        "evCertified": 173,
        "evPledged": 173,
        "name": "John McCain",
        "pct2p": 46.31116
      },
      "winner": "D",
      "year": 2008
    },
    {
      "dem": {
        "evCertified": 332,
        "evPledged": 332,
        "name": "Barack Obama",
        "pct2p": 51.95831
      },
      "evDiffers": false,
      "margin2p": 3.91661,
      "marginTot": 3.846607,
      "popularWinner": "D",
      "rep": {
        "evCertified": 206,
        "evPledged": 206,
        "name": "Mitt Romney",
        "pct2p": 48.04169
      },
      "winner": "D",
      "year": 2012
    },
    {
      "dem": {
        "evCertified": 227,
        "evPledged": 232,
        "name": "Hillary Clinton",
        "pct2p": 51.11322
      },
      "evDiffers": true,
      "margin2p": 2.226443,
      "marginTot": 2.097067,
      "popularWinner": "D",
      "rep": {
        "evCertified": 304,
        "evPledged": 306,
        "name": "Donald Trump",
        "pct2p": 48.88678
      },
      "winner": "R",
      "year": 2016
    },
    {
      "dem": {
        "evCertified": 306,
        "evPledged": 306,
        "name": "Joe Biden",
        "pct2p": 52.26799
      },
      "evDiffers": false,
      "margin2p": 4.535974,
      "marginTot": 4.448892,
      "popularWinner": "D",
      "rep": {
        "evCertified": 232,
        "evPledged": 232,
        "name": "Donald Trump",
        "pct2p": 47.73201
      },
      "winner": "D",
      "year": 2020
    },
    {
      "dem": {
        "evCertified": 226,
        "evPledged": 226,
        "name": "Kamala Harris",
        "pct2p": 49.24995
      },
      "evDiffers": false,
      "margin2p": -1.500108,
      "marginTot": -1.470281,
      "popularWinner": "R",
      "rep": {
        "evCertified": 312,
        "evPledged": 312,
        "name": "Donald Trump",
        "pct2p": 50.75005
      },
      "winner": "R",
      "year": 2024
    }
  ],
  "evNeeded": 270,
  "evTotal": 538,
  "files": {
    "anes": "anes.json",
    "county": {
      "pattern": "county/{year}.json",
      "traitYears": [
        2000,
        2004,
        2008,
        2012,
        2016,
        2020,
        2024
      ],
      "years": [
        1976,
        1980,
        1984,
        1988,
        1992,
        1996,
        2000,
        2004,
        2008,
        2012,
        2016,
        2020,
        2024
      ]
    },
    "elections": "elections.json",
    "names": "names.json",
    "regressions": {
      "pattern": "regressions/{year}.json",
      "years": [
        2000,
        2004,
        2008,
        2012,
        2016,
        2020,
        2024
      ]
    },
    "state": {
      "pattern": "state/{year}.json",
      "years": [
        1976,
        1980,
        1984,
        1988,
        1992,
        1996,
        2000,
        2004,
        2008,
        2012,
        2016,
        2020,
        2024
      ]
    }
  },
  "measures": {
    "margin2p": "Two-party margin in percentage points, Democratic positive: 100 * (dem - rep) / (dem + rep).",
    "marginTot": "Margin over all votes in percentage points, Democratic positive: 100 * (dem - rep) / total.",
    "pct": "Percent of all votes; pct2p is percent of the two-party vote.",
    "swing": "Change in margin from the previous election (percentage points; positive means a shift toward the Democratic candidate)."
  },
  "notes": [
    {
      "id": "margins",
      "scope": "all",
      "text": "Margins are two-party margins: 100 times the Democratic votes minus the Republican votes, divided by the votes for the two parties. A positive margin favors the Democratic candidate. State and national files also carry the margin over all votes, which is the margin usually reported for the national popular vote."
    },
    {
      "id": "state-source",
      "scope": "state",
      "text": "State results are from the MIT Election Data and Science Lab file. A candidate's votes are added over every party line the candidate ran on. The file's total votes are used as printed; in 2 state elections the candidate rows do not add to it (District of Columbia 2024, total 325,869 against 328,404 in the candidate rows; New York 2024, total 8,381,429 against 8,380,555 in the candidate rows)."
    },
    {
      "id": "ev",
      "scope": "ev",
      "text": "Pledged electoral votes are the electors each state's popular vote sent to the Electoral College, with Maine and Nebraska split by district. Certified votes are the ones electors cast and Congress counted. They differ in 1976, 1988, 2000, 2004 and 2016; each of those elections carries a note."
    },
    {
      "id": "county-source",
      "scope": "county",
      "text": "County returns for 1976 to 2020 are from the Algara and Amlani county file and 2024 is from the MIT Election Data and Science Lab. Alaska is left out of the county files: its 2024 units are election districts and earlier years have no county rows for it."
    },
    {
      "id": "kansas-city",
      "scope": "county",
      "text": "The 2024 returns list Kansas City, Missouri apart from Jackson County. The two are added together so that Jackson County covers the same area in every year."
    },
    {
      "id": "county-total-2024",
      "scope": "county",
      "text": "The 2024 county total excluding Alaska is 154.9 million. An earlier county file counted every South Carolina, Wisconsin and West Virginia county twice in its all-party totals (173 counties); this build uses the repaired file, and the two-party margins shown here do not depend on all-party totals."
    },
    {
      "id": "county-vs-state",
      "scope": "county",
      "text": "County rows add up to the state total within 1 percent of each party's votes in most state elections. In 12 of 650 state elections they differ by more, and countyChecks lists them by year. The largest gap in the Democratic vote is −8.8 percent (South Carolina, 1992)."
    },
    {
      "id": "swing",
      "scope": "county",
      "text": "A county swing is the change in its two-party margin from the previous election, matched on the county code (1972 is the base for 1976). Two renamed counties are matched across the rename: Dade to Miami-Dade in Florida and Shannon to Oglala Lakota in South Dakota. A county that was created, merged or redrawn between two elections has no swing."
    },
    {
      "id": "traits",
      "scope": "county",
      "text": "County traits come from the Census Bureau (decennial census and American Community Survey) and the USDA rural-urban codes, interpolated between survey dates to each election year. Rural share is measured only in the 2000, 2010 and 2020 censuses, so 2024 repeats 2020. Connecticut's eight counties have no traits in 2020 and 2024 because the Census Bureau moved to planning regions; they appear on the map and are left out of the regressions."
    },
    {
      "id": "regressions",
      "scope": "regressions",
      "text": "These regressions describe how county margins differ with county traits and are not causal estimates. Each coefficient is the difference in margin, in percentage points, associated with a trait one standard deviation higher, with the other four traits held fixed. Intervals are 95 percent intervals with standard errors clustered by state. The vote-weighted view counts each county by its two-party votes and the unweighted view counts every county once."
    },
    {
      "id": "regressions-by-state",
      "scope": "regressions",
      "text": "Within-state fits use states with at least 15 counties that have all five traits (42 states in 2024). They standardize the traits within the state and use robust standard errors, so their coefficients are not comparable in size with the pooled ones. Not every state is estimated, so a count of states is a count among the estimated states."
    },
    {
      "id": "anes",
      "scope": "anes",
      "text": "ANES estimates use respondents who reported voting for the Democratic or the Republican candidate, weighted with VCF0009z. The 95 percent intervals come from the effective sample size and leave out the survey's clustering, so they are narrower than design-based intervals. Cells with fewer than 30 respondents are not shown, and cells with fewer than 100 respondents or a Kish effective sample size below 100 are marked thin."
    },
    {
      "id": "anes-vs-actual",
      "scope": "anes",
      "text": "The ANES Democratic share of the two-party vote is above the actual national share in 12 of 13 elections, by up to 6.0 points (2024). The actual result lies outside the ANES interval in 1992, 1996, 2020 and 2024 and inside it in the other years. The reference series is the actual two-party result from the state file."
    }
  ],
  "predictors": [
    {
      "county": "college",
      "detail": "Adults 25 and older with a bachelor's degree or higher",
      "key": "college",
      "label": "College share",
      "step": 10,
      "stepText": "10 percentage points",
      "unit": "percentage points"
    },
    {
      "county": "income",
      "detail": "Median household income in 2024 dollars",
      "key": "income",
      "label": "Median household income",
      "step": 10000,
      "stepText": "$10,000",
      "unit": "dollars"
    },
    {
      "county": "nonwhite",
      "detail": "Share of residents who are not non-Hispanic white",
      "key": "nonwhite",
      "label": "Non-white share",
      "step": 10,
      "stepText": "10 percentage points",
      "unit": "percentage points"
    },
    {
      "county": "rural",
      "detail": "Share of residents living in rural areas",
      "key": "rural",
      "label": "Rural share",
      "step": 10,
      "stepText": "10 percentage points",
      "unit": "percentage points"
    },
    {
      "county": "age65",
      "detail": "Share of residents aged 65 and older",
      "key": "age65",
      "label": "Age 65 and over",
      "step": 5,
      "stepText": "5 percentage points",
      "unit": "percentage points"
    }
  ],
  "provenance": {
    "b3Version": "1.0.0",
    "buildScripts": {
      "build.py": "1fedd6ab5c9d482fc832ad16d67c35733f472d6b25cd467c21855606a5050fe2",
      "el_anes.py": "fcdc774be3fdc8b2d385151ae2fa61b2e9facfa1da05528077a3614f0b650eac",
      "el_common.py": "460cfeb5f8cb295d04639d59e61edc4899fc8f356b7831d9091465ba6fc585e4",
      "el_county.py": "19bf660541343001e76fdfee9f01253ca793f0f2c52f5a314c37836b416d0f8a",
      "el_ev.py": "9edaa362256bc7b568512e812653df6765c6500e95451903946ec14fc6286c4f",
      "el_manifest.py": "323e1c9d9d454141fb311e90851e95b1e187af5266d181258b954ce86a33d5b1",
      "el_regress.py": "6d46e423df9dca1c7fd548292253da3c721e5e3b79f62d73d2bb724c8da97103",
      "el_state.py": "45bb7c65d03488db013989625466b6be057cdb30ae6ec5f3841d104a429bd26a",
      "el_verify.py": "8a353de8c8a6360138566faa6fb820df637813a7728c9bbeae4be61b53ac6c45"
    },
    "builtOn": "2026-09-30",
    "inputs": [
      {
        "path": "data/anes/anes2024_ts/anes_timeseries_2024_spss_20260519.sav",
        "sha256First1MB": "3107c838755f88353d0e3e39b2c3d5f76a2888cf56a179e3acac84ab431335d2",
        "sha256Last1MB": "bb318a018a39b4cf87ccc91b50a5b7c5b41746d28c0226f4a6c176e8c74966d6",
        "size": 12757094
      },
      {
        "path": "data/anes/anes_cdf_clean.parquet",
        "sha256First1MB": "b3f0c2d8ae5673b2c40cf6df71318ea3f712cd845c4f1aad0460f28d1b022643",
        "sha256Last1MB": "04f06dae56b65649291caf6cf77aab9767d9c92d0c2669c6d3655d9063970583",
        "size": 15640720
      },
      {
        "path": "data/county/county_demographics_2000_2024.parquet",
        "sha256First1MB": "45cdaf63128da1aa0c12e1196d7e60835697d7432ab9bff1acd2f5559fdb5130",
        "sha256Last1MB": "90293a64867bf37645b53eaf5ab343f3b284c0d2c3fc3b8e0f38d32f1649fee4",
        "size": 4334220
      },
      {
        "path": "data/county/pres_county_1868_2024.parquet",
        "sha256First1MB": "bec11c7a0cb5d4180bbd6809d048bc892dd00dfcdde527fa4da871b1dd3f835f",
        "sha256Last1MB": "b2a4f000f2eea72d09af8939555289e924875cca40cd95ec8869104cd575bed7",
        "size": 6295675
      },
      {
        "path": "data/state/1976-2024-president.csv",
        "sha256First1MB": "9936410a6dd4ecc8be7fe202c6dff5b5f8fee59d88f35ab542ed12879941dcb7",
        "sha256Last1MB": "9936410a6dd4ecc8be7fe202c6dff5b5f8fee59d88f35ab542ed12879941dcb7",
        "size": 514108
      }
    ],
    "outputs": {
      "anes.json": "677ef8138cb0fded651c5adf83f8a6132aca66e28565e761404a1128fe6a93cc",
      "county/1976.json": "315a20073a3091cfbd40506ff21784df918945bc51a9df84a275482b92ff967a",
      "county/1980.json": "26ac5a1753212016b2d03d3c842fa6debe96b2ca7c97524ac10382aa2aef68d9",
      "county/1984.json": "ffbb205d86bb017fe4185e1b410421521bd7c0d36ea80697945051aae584b95d",
      "county/1988.json": "6e506230c75d231b9873b0aec3890adaca8c32b58f1eae502a40be209d028b6a",
      "county/1992.json": "883f5c99d98e905136f7c1d70375fc4892ae789aeee3fc795c0e2be2128c62e6",
      "county/1996.json": "ec3af4b924f3bc1454ab94e035b20b178e359aff44254a30836129a032399ec4",
      "county/2000.json": "88cb31e2fc7f69a2a91a3b6a97532d4e2abcc065cb3ba7fa7331584a1c607445",
      "county/2004.json": "b0e8687eadcac69d3abad8f3072844e57b64c0be14513ce031bd5385cacd48dc",
      "county/2008.json": "18e6f6b5af15889f534a51d058ef6a1b7fd869ee3409b0ac9e16a8bb2dd3dc7e",
      "county/2012.json": "88686e4422f6a505aef18d8434b271d358ab3731a99a9052dc65186be88102c4",
      "county/2016.json": "44f6c609916400e860df360a8d15cdd3babe0818790dacb9b72bba194b2e19cb",
      "county/2020.json": "4b0e7ef981debd1ea3465025ff0b809707d1346cbdf0ca7b1b403e3df2c58f5a",
      "county/2024.json": "3c6345ce3b59473ede10c8a533bf24dd4c0aeac38182a55f42161715e3dd0336",
      "elections.json": "66d92e7274485b210e42ee8b2e382d9576b3e2ba0e4d96a754fa2f76f64a629c",
      "names.json": "b5520d51e5dc4f56924eb2b403f6ea54f372fc0fee2e74d202639a6c1622102a",
      "regressions/2000.json": "342bd9cbdf176d99226f39d935f00db3c667a71ae6d22a65ff03ae07e33c2e6c",
      "regressions/2004.json": "964eb69f1b0153298da362c156aaa1426dc6fb2018232608e795ed0ab037dbc0",
      "regressions/2008.json": "d7fb641e99db13924ae4c26050efcf0792c79334e68be6916fd5ab1e7b0b99b2",
      "regressions/2012.json": "7376377eb39a62a49a79e71a7749eacaee7fae721e5fb717d35bd4fc511148ed",
      "regressions/2016.json": "be522d4548d90220f3bf2c0fa02d6d54e11571d3bf811a3a7545a51b3202b9e6",
      "regressions/2020.json": "b6cf7ea7bd61991bfa8ccb29652af31f54ae630d3ada7f3075343c767cef7030",
      "regressions/2024.json": "d8844bbf0a6b709bcee55cc3d8953a1ec72daaeb8994e79c98bf81d89d5bb9cd",
      "state/1976.json": "fcccb9196e6a0b9001e8f2bf37d4c4bb5ce8d0b089bb30a573fd837e399ff6ff",
      "state/1980.json": "ae5fa7d3c0ebc387066cc35230c7b91e9ba73a27c3f1640bb938fa67f1a8000d",
      "state/1984.json": "9bfcdc3560f397b0b510c4a4f81712aedc7278afe81be601c3edc24a4084ed00",
      "state/1988.json": "36704692610bc062c46e2f93f3e5140ac82de02d4f0abc8d4fecccdbb40da189",
      "state/1992.json": "a0e3791636655db2d0dec09c563301a7e1c2bb961bfcc7ef6834e33c36e0013a",
      "state/1996.json": "e34399d6f88f31f79d0c615e27c35ace0d0e85663f0e93c6da83ee27cc16b412",
      "state/2000.json": "6422f5ac4bb3904114a92e99410edc564fca3e32d8930dd891501bf0a8d5fb9f",
      "state/2004.json": "608824803c3c5e850e7809464bc9924127f99c271d42e7db6049744d66175c49",
      "state/2008.json": "f8be86d35450eba06297ff4fdf6e76bbf655f96a0b7e48194af6fd327dd08b6c",
      "state/2012.json": "b67162813b5f742fdd4ae2c791ab0ab5605191e038942ee374bc9caefc49b41f",
      "state/2016.json": "8caad78f08b1c9e5d23b0cb6e4ec5556034376f9110d4b8844e8d0b59db38fd7",
      "state/2020.json": "1b15e8148a7678d9f37ecb5754231f9d2fad1928c77353a588e7b2421faa2d22",
      "state/2024.json": "e7bb00dafa01be3ce1faa074be745b9fdac68aec525ec2a39b7caad37d58eb14"
    }
  },
  "regressionSpec": {
    "bootstrap": {
      "replicates": 2000,
      "seed": 12345,
      "unit": "state"
    },
    "byStateErrors": "HC3 robust, 95 percent interval",
    "minCountiesByState": 15,
    "outcome": "margin2p",
    "pooledErrors": "clustered by state, normal 95 percent interval",
    "standardization": "county mean and standard deviation, unweighted, over the counties in the fit",
    "views": [
      "unweighted",
      "weighted"
    ],
    "weightsForWeightedView": "two-party votes"
  },
  "regressionYears": [
    2000,
    2004,
    2008,
    2012,
    2016,
    2020,
    2024
  ],
  "schema": "elections-explorer/1",
  "sourceLines": {
    "anes": "ANES Cumulative Data File, 1976-2024; weighted (VCF0009z); respondents who reported voting for the Democratic or Republican candidate.",
    "anesVsActual": "ANES Cumulative Data File, 1976-2024, weighted (VCF0009z), against the actual national two-party vote (MIT Election Data and Science Lab state returns; full counts).",
    "county": "County presidential returns, 1976-2024 (Algara and Amlani for 1976-2020, MIT Election Data and Science Lab for 2024); Alaska excluded; full counts, not weighted.",
    "countyTraits": "County demographics, 2000-2024 (Census Bureau decennial census and American Community Survey, USDA rural-urban codes, interpolated to election years); full counts, not weighted.",
    "regressions": "County returns and county demographics, 2000-2024; least squares, unweighted and weighted by two-party votes; 95% intervals with standard errors clustered by state.",
    "state": "MIT Election Data and Science Lab, U.S. President by state, 1976-2024; full counts, not weighted."
  },
  "sources": [
    {
      "dataset": "state-returns",
      "detail": "State returns by candidate and party line, 13 elections",
      "name": "MIT Election Data and Science Lab, U.S. President 1976-2020 (extended to 2024)",
      "weights": "none (full counts)"
    },
    {
      "dataset": "county-returns",
      "detail": "County votes for the Democratic and Republican candidates and all candidates, 13 elections plus 1972 for the 1976 swing",
      "name": "Algara and Amlani county presidential returns 1868-2020 (Harvard Dataverse, doi 10.7910/DVN/DGUMFI), and MIT Election Data and Science Lab 2024",
      "weights": "none (full counts); vote-weighted views weight by two-party votes"
    },
    {
      "dataset": "county-demographics",
      "detail": "Census Bureau decennial census and American Community Survey, USDA rural-urban codes, interpolated to election years",
      "name": "County demographics panel 2000-2024",
      "weights": "none (full counts and interpolated estimates)"
    },
    {
      "dataset": "anes",
      "detail": "Self-reported vote for President among voters, presidential years 1976 to 2024",
      "name": "American National Election Studies Cumulative Data File, 1948-2024",
      "weights": "VCF0009z"
    },
    {
      "dataset": "anes2024",
      "detail": "Used to rebuild 2024 church attendance only",
      "name": "American National Election Studies 2024 Time Series",
      "weights": "none applied here; estimates use VCF0009z from the cumulative file"
    }
  ],
  "title": "Presidential elections, 1976 to 2024",
  "years": [
    1976,
    1980,
    1984,
    1988,
    1992,
    1996,
    2000,
    2004,
    2008,
    2012,
    2016,
    2020,
    2024
  ]
}
