Labour's election strategy (in postcodes)
What do 2,329 postcodes tell us about how Labour hopes to win in 2024?
For the last year or so, the Meta Ad Library has included data about the postcode segments political advertisers have targeted with their ads. (click the “Audience” tab to check it out).
A minority of ads use postcode targeting, but when it is used, it can reveal a page’s geographical electoral strategy. From it, we should be able to see exactly the areas the parties are trying to reach, the seats they’re targeting and the amount they’re spending on each.
In principle this sounds like an easy problem to solve (looking up a constituency from a postcode is a long solved problem) but in practice, things are a little more difficult.
The first challenge is that Meta’s Ad Library provides only the postcode sector (i.e. the last two letters of a standard AA11 1AA postcode are stripped off). Meta doesn’t offer a constituency- or ward- level targeting option, so political advertisers use a list of these sectors to build up a ‘map’ of the area(s) they want to reach with their ads.
For example, the constituency of Bournemouth West has 4,206 full postcodes (e.g. BH1 1AJ), spread across 40 postcode sectors (e.g. BH1 1). Some advertisers try and target all the postcode sectors in a constituency, while others focus on just the sectors most likely to have ‘their’ voters (e.g. Labour might target the urban ones, the Conservatives might focus on the rural ones).
Once you know the postcode sectors being targeted by an advertiser, you then need to match them to constituencies. Unfortunately, many postcode sectors overlap constituency boundaries, meaning a single sector can give you more than one constituency result.
For example, in the week to the 23rd of June, Labour targeted 2,329 postcode sectors. These matched at least one postcode sector in 299 different seats (of the 534 total Parliamentary seats in England*).
Of those 299 seats, 215 are Tory-held, 81 are Labour-held, one is a Liberal Democrat seat and one is held by Lindsay Hoyle, the speaker.
But what does that mean? Are Labour actually targeting 215 Tory-held seats? If that’s the case, they’re either very confident of a massive landslide or campaigning in a very inefficient way, by targeting places they have no chance of winning.
We don’t think either of those is quite right. Not at the moment at least. Let’s return to the postcode sectors to see if we can learn anything from them.
In 55 of the 299 seats, we find that Labour only targeted a single postcode sector. 34 of them are currently Tory-held**. On average, the seats have a Conservative majority of 17,200, which likely puts them beyond Labour’s reaches, even with current polling being so positive for the party.
But when we look at those postcode sectors more closely, we find they all overlap or border a seat that Labour would have a good chance of winning.
For example, Labour has been targeting the DN37 0 postcode sector. It’s in the seat of Cleethorpes, currently held by Tory MP Martin Vickers. He has a majority of 21,418, which makes his the 78th safest Tory seat in the country. But DN37 0 also covers the borders of the Great Grimsby constituency, where Lia Nici’s majority is just 7,331 (making her seat a definite Labour target).
Continuing this line of analysis, we found 24 seats where Labour has targeted two postcode segments. In these, the average Tory majority is around 21,500. But again, looking more closely, we find that these postcode segments also neighbour or overlap with winnable seats.
In fact, when we plot the number of postcode segments targeted by Labour in a constituency against the size of the average Tory majority for each seat, we can see a pattern emerge. Once Labour is targeting at least 6-8 postcode segments in a constituency, based on current polling, the seats cross the threshold into winnable territory based on current polls (i.e. have Tory majorities less than 15,000).
If we take the list of seats where the number of targeted postcode segments >= 6, we get a list of 118 seats (and their majorities).
This looks like a pretty good list (albeit with a few ‘large majority’ outliers). If Labour wins these seats, they’re well into comfortable majority territory. (Remember - this data doesn’t include Scotland, where polling says Labour might take half of the SNP’s seats or Wales, where surveys suggest Labour would wipe the Tories out entirely.
What does this tell us? Well, it shows us that Labour is currently spending money well beyond the winning line, likely to the tune of around 50 seats.
But is that anything new? After all, it’s easy to produce a list of target seats for any party (just list the seats in which they came second, ordered by increasing majority).
But by using this near realtime postcode data provided by the Meta Ad Library, we can start to see the actual constituencies being reached with ads and better understand which seats they actually hope to win.
Over the coming months we’ll repeat this analysis for the other parties to see if the handful of postcode sectors they’re targeting can whisper their electoral hopes and dreams to us.
—---------------
* Labour only targets English seats, with Welsh Labour and Scottish Labour responsible for their own advertising (neither is currently very active).
** This analysis is based on current constituency boundaries. We’ll start using the new boundaries soon.
Should we even have to do this?
The political ad transparency voluntarily offered by the platforms (there’s still no regulation actually up and running for any of this) allows us to do this type of analysis. It’s better than nothing, but it still takes a lot of work to make something of it.
We needed to copy and paste 2,000+ postcode sectors, get a friendly volunteer to write scripts to turn them into real postcodes and connect them to sites and APIs that return constituencies and MPs and majorities. Then we threw all that into a spreadsheet and fiddled with it until we got some numbers that told the story above.
Now, we don’t expect that a social media platform should have to do that for us but… does it have to be so much work?
Why can’t parties just target constituencies? That boundary data is widely and freely available. If Meta and Google offered it to advertisers, it would make it easier for ads to reach the people who can actually vote for a politician, as well as greater clarity about what parties are trying to achieve. Social media platforms promise “relevant” ads, but when it comes to politics, they make it hard to achieve that.
And for users, why can’t it be easier to see who is targeting your constituency? As it stands Meta only breaks ad data down into “England/Wales/Scotland/Northern Ireland”, which isn’t granular enough to account for our 650 seat system. Again, this means people like us having to write code, manipulate data and build software to make this stuff more comprehensible.
For years, we called for transparency around political ad targeting, and when we got it, we got this. With the platforms appearing to row back their staffing and commitments to electoral integrity, a lack of transparency feels like a missed opportunity.
Thank you for explaining electoral targeting ads on Meta, and why it's so frustrating trying to translate Meta's broad categories into postcodes and then constituencies to infer electoral objectives. I guess the people who place ads for political parties must themselves use the kind of constituency boundary-straddling postcode map you had to build?
Checked out Labour's alleged Tory-increased mortgage figures by area to find that Kensington is the highest at an extra £15,000 a year!
And presumably this crisis is a great gift to Labour to counter the Tories' electoral myth that Labour is no good with money (having "caused" the 2008 global meltdown...) -- until Labour gets into power and has to deal with it themselves.