Long-Term Analysis, State of the race

Notes from a nervous forecaster: my model and the polls don’t get along

A German version of this post can be found here.

We’re one month away from the German federal election of 2025 which is set to take place on February 23rd. As I laid out in early December, I still think that the most likely election outcome is a grand coalition between the CDU/CSU and the SPD.

Even though my view of the race hasn’t changed, I’m nervous. My model is strongly diverging from the polls, especially for the SPD, the Green and the AFD. Much stronger than in the last election cycle. I’ll be honest with you: this could be a bad cycle for my model. But more about that later. For now, let’s look at where the race currently stands. We’ll go party by party, ranked by how much my model diverges from the polls.

The AFD is headed for their best election result ever

Elon Musk through his weight behind Donald J. Trump who became the 47th president of the United States of America. Will we say that Elon Musk picked another winner with the AFD once the German federal election has been called? 

According to my model: nope

According to the polls though, it seems that he indeed has put his eggs in the right basket. 

The AFD has seen big gains in the polls since the election was announced in early November, rising from 18% to around 20.8%. In my model though, they’ve only improved their odds from 15.2% to a predicted vote share of 17%. So there’s a 3.8% gap right now between my model’s prediction for the hard-right party and the polls. 

Surprisingly, I don’t think it would make much of a difference electorally whether the polls or my model are right. Either way, the AFD is set to score their highest election result ever on a national level. Every party has ruled out entering a coalition with the AFD, including the only party for which such a coalition would be remotely plausible, the CDU/CSU. But a strong showing by the AFD would still send shockwaves through Germany and would decrease the margins of all other parties, making coalition negotiations a lot trickier. 

But the AFD is not the only party with potentially inflated poll numbers.

Will there be another polling mirage for the Greens?

In the last three months the Greens have increased their numbers from 10.5% to 13.5% in the polls, a similar margin to the AFD. According to my model though, they will end up with around 11.4%, so 2.1% less than their current polling numbers suggests. 

It wouldn’t surprise me if the Greens polling numbers converge towards my model, because they also had a huge rise in the polls in the 2021 elections which turned out to be a mirage

Additionally, they have a history of underperforming their polls. Given the fact that the CDU/CSU have much more in common with the SPD than the Greens, the latter is likely to end up in the opposition.

The SPD: chancellor no more

I’ve predicted the SPD’s demise before and was dead wrong. This time around though, my model is actually a good bit more optimistic than the polls with the former predicting an election result of 17.8% whereas the polls have them at around 15.8% (so a 2% gap). Interestingly, they’re polling numbers have barely moved since the governing coalition fell apart. Olaf Scholz, the current and most likely not future chancellor, is still optimistic that he can stage a 2021-style comeback but the chances of that happening are getting smaller with every poll being released.

Like I said in December, I think there’s still some room for the SPD to grow their numbers. A stronger showing by the Social Democrats would make a grand coalition with the CDU/CSU more likely. The combined margin of both parties will be what I’ll be watching most closely on election night.

CDU/CSU: The boring one

Basically my model and the polls have converged and both have the Christian Democrats at around 30.2%. So that’s what I think will happen.

Which one of the smaller parties will make it past 5%?

For the FDP, BSW and the Linke, the election night will be existential. For all three parties, both my model and the polls are close enough to 5% that it could really go either way for any of them. 

My model has consistently been more optimistic about the FDP’s chances than the polling. But my model doesn’t incorporate scandals and media coverage as features (yet), and the FDP has received a lot (some say most) of the blame for blowing up the governing coalition. Its leaders have also talked themselves into knots regarding an internal exit plan from the government that was insensitively labeled “D-Day”. Those factors could explain why their polling has been anemic, with only a handful of polls showing them at 5%. 

The fundamentals might have shifted

So where does this leave me and my model? As I’ve mentioned before, either my model or the polls will be wrong come election day (especially in regards to the AFD, the Greens and the SPD). This has me increasingly worried about whether my model is well calibrated for this election cycle. 

I shared this concern with a friend and fellow data nerd recently. Now that particular friend of mine is a smart and kind man, and he pointed out that if my model is very wrong this year, then at least we know which fundamental assumptions about the German electorate have shifted, which in of itself is a valuable insight. 

To oversimplify things a bit, my model consists of polls + long-term trends + economic data (you can find a longer explanation of how it works here). If economic data and long-term trends are no longer that predictive, it could point to the fact that the German electorate has changed which party it connects, positively or negatively, with economic conditions. Or that economic data simply doesn’t matter as much as, for example, cultural issues. Another insight could be that long term trends are less important which seems intuitive to me given that news consumption has shifted in large part to social media with correspondingly diminished attention spans and memories.

But we’ll cross that bridge when we come to it. I’ll have a post-mortem on my model’s performance and the race in general up on the blog soon after election day, February 23rd. Until then, you can find the latest prediction updates here. I’ll also post updates and shorter takes regularly on Bluesky and X for the next month.

Leave a Reply

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