Data

We believe in being open & transparent. We make our tactical voting recommendations publicly available for anyone to download and scrutinise. This includes the data we use to make our recommendations, such as past election results and polling.

If you would like to understand the exact methodology we use to make tactical voting recommendations, please see our Methodology page.

General Election - 2024-07-04

Latest data
  • CSV file - last updated on 30th June 2024
Historic data

Our recommendations may change over time as we improve our recommendation algorithm or get new data.

Historic data files are stamped with the time they were generated, in YYYYMMDD_HHmm format.
(Year Month Day _ Hour Minute)

The most recent file will be identical to the latest data.

  • 20240630_2122.csv (LATEST)
    • Incorporate the latest Survation MRP, and new MRPs from The Economist / WeThink and Electoral Calculus. Manual updates to a small number of seats.
  • 20240628_0109.csv
    • Manually set some more seats to Too Tough To Call
  • 20240625_2058.csv
    • Pull in Focal Data MRP - 2024/06/24. Add manual recommendations for another 2 seats, and set some other seats Too Tough To Call.
  • 20240625_1913.csv
    • Set Chingford and Woodford Green to Too Tough To Call (previously Labour). Set Isle of Wight East to Too Tough To Call (previously no recommendation).
  • 20240624_1600.csv
    • Change Ynys Môn to vote with heart (no recommendation previously).
  • 20240623_2102.csv
    • Add recommendations for another 5 seats.
  • 20240622_0210.csv
    • Adds Region & GSS codes to the CSV file. No tactical advice changes.
  • 20240622_0059.csv
    • Change Rutland and Stamford, and South Shropshire, to Tough To Call.
  • 20240621_0212.csv
  • 20240620_2206.csv
    • Incorporate new MRP polling from YouGov, released on 19th June. Drop More In Common from our MRP polls, as it is now the oldest of our MRPs, so most likely to be out-of-date. There was a new More In Common MRP released on 19th June, but the sample size is significantly less than other MRPs (~11,000 compared to ~20,000+ for the other MRPs we are including), so we have decided not to include the More In Common MRP in our averages. Manually set advice in various seats where our algorithm cannot make a recommendation, because the data does not definitively point to a single progressive party. Stop advising Labour in Beaconsfield for now, because an Independent was in second place in 2019, and it's not clear who those voters will support in 2024.
  • 20240618_2116.csv
    • Incorporate new MRP polling from IPSOS, released on 18th June. Drop Electoral Calculus from our MRP polls, as it is now the oldest of our MRPs, so most likely to be out-of-date.
  • 20240617_1214.csv
    • Manually stop showing advice in South West Hertfordshire for now - as an Independent was in second place last time, it is not yet clear where those supporters will go.
  • 20240616_1829.csv
    • Incorporate the latest Survation MRP conducted on behalf of Best For Britain, released on June 15th.
  • 20240609_2130.csv
    • Give advice in an additonal 67 seats.
  • 20240605_2350.csv
    • Fix a bug which affected one of the four MRPs we imported, meaning we had calculated the average polling level of Plaid Cymru incorrectly.
  • 20240605_1606.csv
    • Manually stop showing advice in Exmouth and Exeter East for now - as an Independent was in second place last time, it is not yet clear where those supporters will go.
  • 20240604_2135.csv
    • First General Election 2024 advice.
Field Descriptions
  • Short Code - The mySociety short code for a constituency (based on the three letter IDs for new constituencies created by Philip Brown and Alasdair Rae)
  • GSS Code - The ONS GSS Code for a constituency
  • Implied Vote Share / Implied Raw - These columns show the implied result for the new constituency boundaries based on 2019 voting patterns.
  • MRP Vote Share - These columns show the projected vote share in each constituency based on multiple MRP polls. We use recent MRPs, and take the mean of the predicted vote percentage for each party in each constituency.
  • Green Target - Whether this is a Green Party target seat, according to their public list of target seats.
  • Labour Non-Target - Whether this is a Labour "non-battleground" seat , according to their published list of "non-battleground" seats.
  • Lib Dem Top 80 MRP - Whether this is in the top 80 Liberal Democrat seats according to the averaged MRP polling.
  • TV Advice - The party StopTheTories.Vote is recommending as the best placed to win the seat and keep the Tories out.
  • Manual TV Explanation - These columns are only populated if the tactical voting advice we gave was manually changed, in line with our Methodology. If the advice was manually changed, these columns explain why, including links to data, news articles, etc which evidence any claims made to support the decision to manually change advice.

Local, Mayoral & PCC Elections - 2024-05-02

Latest data
Historic data

Our recommendations may change over time as we improve our recommendation algorithm or get new data.

Historic data files are stamped with the time they were generated, in YYYYMMDD_HHmm format.
(Year Month Day _ Hour Minute)

The most recent file will be identical to the latest data.

Field Descriptions
  • election type - a code to identify the type of election this row relates to.
  • org slug - a code to identify the organisation(council name, mayoral or police comissioner area etc).
  • division slug - an optional code to identify the division (council ward, London assembly constituency etc)
  • org name - name of the organisation as per org slug.
  • division name - name of the division as per divisionSlug.
  • division gss - the Office of National Statistics geocode
  • total seats - the total number of seats up for election.
  • penultimate election date - the date of the election prior to the last one.
  • penultimate election byelection? - was the election prior to the last one a by election?
  • penultimate election seats contested - number of seats contested in the election prior to the last one.
  • penultimate <PARTY> votes per candidate - a column for each party showing their average vote per candidate.
  • penultimate <PARTY> candidates - a column for each party showing the number of candidates which stood.
  • penultimate <PARTY> candidates elected - a column for each party showing the number of candidates elected.
  • penultimate 1st place - the party which came first.
  • penultimate 2nd place - the party which came second.
  • penultimate 3rd place - the party which came 3rd.
  • previous election date - date for the previous election.
  • previous election byelection? - was the previous election a by election.
  • previous election seats contested - number of seats contested at the last election.
  • previous <PARTY> votes per candidate - a column for each party showing their average votes per candidate.
  • previous <PARTY> candidates - a column for each party showing the number of candidats who stood.
  • previous <PARTY> candidates elected - a column for each party showing the number of candidates elected.
  • previous 1st place - the party which came first.
  • previous 2nd place - the party which came second.
  • previous 3rd place - the party which came third.
  • upcoming election date - the date of the next election (which this advice pertains to).
  • upcoming election byelection? - is the upcoming election a by election?
  • upcoming election seats contested - the number of seats contested at the next election.
  • upcoming <PARTY> candidates - a column for each party showing the number of candidates at the next election.
  • override recommended vote 1 party - a manual over ride for the party we are recommending in this seat.
  • override recommended vote 2 party - a manual over ride for the party we are recommending in this seat.
  • override recommended vote 3 party - a manual over ride for the party we are recommending in this seat.
  • override recommended vote 1 candidate - a manual override for the candidate we are recommending in this seat.
  • override recommended vote 2 candidate - a manual override for the candidate we are recommending in this seat.
  • override recommended vote 3 candidate - a manual override for the candidate we are recommending in this seat.
  • override reason - the reason for any manual override.
  • override link - a link to the source of information which informed this override.
  • final recommended vote 1 party - our final recommendation for the party in this seat.
  • final recommended vote 2 party - our final recommendation for the party in this seat.
  • final recommended vote 3 party - our final recommendation for the party in this seat.
  • final recommended vote 1 candidate - our final recommendation for the candidate in this seat
  • final recommended vote 2 candidate - our final recommendation for the candidate in this seat
  • final recommended vote 3 candidate - our final recommendation for the candidate in this seat
Data Sources
  • Election data has been sourced from Democracy Club
  • Recommendations and overrides are generated by our data team.
@MVTFWD