What predicts strong public support for climate action, and does it split the world into types?

We analysed the UNDP Peoples' Climate Vote 2024, the largest public opinion survey on climate change, covering more than 73,000 respondents across 73 countries. We built two models to predict support for strengthening climate commitments, then grouped countries into typologies by their collective attitudes.

The survey question our models predict (Q9)

"Do you think your country should strengthen, maintain, or weaken its commitments to address climate change?"

A demographic group (a Country, Education level and Age band) is "high support" if at least 85% of that group chose "strengthen". Everything else is "low support". We chose this 85% split because almost every group picked "strengthen" as its single most common answer, so predicting the raw three-way choice gave a useless model that always guessed "strengthen".

Linear regressioncontinuous, R² 68.23%
predict: weighted mean of "strengthen" (0 to 100) features: attitude questions (Q1, Q2, Q5) + demographics result: R² = 0.6823, RMSE = 8.47 points
Random forestbinary, AUC-ROC 89.76%
predict: is this group "high support" (>=85%)? features: same attitude questions + demographics result: accuracy = 84.51%, AUC-ROC = 0.8976

Both models see the same features. The random forest's binary framing works because it can separate an easier question, "is this an unusually committed group", from the harder one of predicting an exact percentage.

The data

The People's Climate Vote 2024, run by the United Nations Development Programme, is the world's largest public survey on climate change. It covers 73 countries with sample sizes of roughly 900 to 1,500 respondents per country, more than 73,000 people in total. The published dataset already holds weighted means: the share of each demographic group (a Country, Age band and Education level) that picked a given answer, not individual survey responses.

Over 20,000 rows held null values, concentrated in the weighted mean columns, and age bands above 60 or below 18 were only reported for a handful of countries. We considered predicting the missing values with a regression model, but rejected it: filling in invented answers to a public opinion survey risked biasing the analysis. We removed all null rows instead and kept only complete cases.

Restructure

Turn the response-level survey into one row per Country, Education and Age group, using the weighted mean of each answer.

Clean

Drop "Global" aggregates, "All Ages" rows used only for the clustering step, "Don't know" answers, and any row with a null value.

Encode

Standardise numeric attitude features with StandardScaler. One-hot encode categorical demographics with OneHotEncoder, both inside a ColumnTransformer.

Feature engineering

Pivot three attitude questions, how often people think about climate change (Q1), whether worry changed since last year (Q2), and whether climate change affected a family decision such as moving or a major purchase (Q5), into separate weighted-mean columns.

Split and train

An 80 to 20 train-test split, then a linear regression and a random forest (100 trees, class_weight="balanced" to correct for the "high support" class being the minority).

Predicting support

We tried two models against the same features. The linear regression predicts the exact weighted-mean percentage that chose "strengthen", a continuous target. The random forest predicts only whether a group clears the 85% "high support" bar, a binary target. Both share the same cleaning and encoding pipeline described above.

100% 75% 50% 25% 0% Accuracy: 84.51% 84.51% Accuracy AUC-ROC: 89.76% 89.76% AUC-ROC
The random forest reaches 84.51% accuracy and an AUC-ROC of 89.76% at telling "high support" groups (85% or more chose "strengthen") from "low support" ones, out of the held-out 20% test split. AUC-ROC measures how well the model ranks a random high-support group above a random low-support one; 50% is a coin flip and 100% is a perfect ranking.
1.0 .75 .5 .25 0 Low support F1: 0.88 .88 Low support High support F1: 0.82 .82 High support
F1 score is balanced across both classes (0.88 for low support, 0.82 for high support), even though high-support groups are the minority. Recall on high support is 0.93 and precision is 0.87, so the class_weight="balanced" setting worked: the model does not just default to the majority class.
100% 75% 50% 25% 0% R squared: 68.23% 68.23% R²
The linear regression explains 68.23% of the variance in the "strengthen" weighted mean (R² = 0.6823), with an average prediction error of 8.47 percentage points (RMSE). This does not prove the relationship is linear. It shows that a straight-line model already captures most, but not all, of the pattern, which is why we also tried a random forest.

Why two different targets

What we tried first
A three-way classifier predicting "strengthen", "maintain" or "weaken" directly.
What went wrong
"Strengthen" was the top answer in almost every demographic group, so the model always guessed "strengthen" and scored 100% accuracy on training and test data. That number proves nothing: a model that ignores its input cannot be useful.
What we changed
We reframed the target as a threshold: is this group's "strengthen" share at least 85%? That turns a near-unanimous outcome into a genuine two-way split worth predicting.

What drives support

The random forest also ranks which features matter most for telling high-support groups apart. The three most important were how much a person's worry about climate change changed compared to last year, whether climate change affected a family decision such as relocating or a large purchase, and how often they think about climate change day to day. All three are about a person's own lived experience, not their country or demographic group.

100% 75% 50% 25% 0% Top 3 attitude features: about 46% ~46% Worry, family impact, frequency of thought Remaining features: about 54% ~54% Demographics and remaining features
Three attitude questions carry about 46% of the model's predictive power, with demographics and the remaining features making up the rest. The report calls this "a balanced ratio of attitude to demography": how a person feels about climate change matters about as much as who they are.
This ranking comes from the random forest's built-in feature importance. It shows which features the model leaned on to split high-support from low-support groups. It does not show that worry causes support, only that the two move together in this data.

Segmenting countries

Alongside prediction, we grouped the 73 countries into typologies by their collective climate attitudes, using only the "All Ages, All Education" rows so each country is represented once. Each country became one row, with one column per survey question holding the weighted mean of its most positive or proactive answer. We excluded Q8, a question about who is responsible for climate action, because it does not reflect a respondent's own attitude.

We tried k-means clustering on three versions of this table: the raw features, normalised features, and features reduced with PCA (principal component analysis, a way to compress many correlated columns into a few that keep most of the spread in the data). The raw features gave poorly separated clusters, and the normalised features gave clusters too sparse to interpret because of the high number of columns. PCA gave the most compact, interpretable clusters, so we combined it with k-means. The elbow method, which looks for the point where adding more clusters stops meaningfully reducing error, pointed to 6 clusters.

ClusterTypologyCountries
0Moderate concernCote d'Ivoire, Ghana, India, Jordan, Morocco, Nigeria, Samoa, Saudi Arabia, South Africa, Tunisia, Vanuatu
1Highly worried and demand actionAlgeria, Benin, Brazil, Colombia, Ecuador, Haiti, Iran, Iraq, Mexico, Nepal, Nicaragua, Paraguay, Sri Lanka
2Less concerning day to dayAustralia, Canada, China, Czechia, France, Germany, Indonesia, Japan, Papua New Guinea, Philippines, Russia, UK, USA
3Highly collaborative and action takingArgentina, Cambodia, Greece, Italy, Peru, South Korea, Romania, Spain
4High daily concernAfghanistan, Bangladesh, Bhutan, Burkina Faso, Comoros, Ethiopia, Fiji, Kenya, Madagascar, Mozambique, Niger, Pakistan, Uganda, Zimbabwe
5Balanced engagementBarbados, Dominican Republic, DRC, Egypt, El Salvador, Guatemala, Honduras, Kyrgyzstan, Lao PDR, Myanmar, Solomon Islands, Sudan, Tanzania

Cluster 1 Highly worried, demand action

What it shows
Mostly Latin American countries.
What to look for
The highest support for climate action (90%) paired with the lowest satisfaction with current efforts (6%).
What we saw
A group that wants faster, more effective government action and is not getting it.

Cluster 2 Less concerning day to day

What it shows
Includes the USA, Canada, China and UK.
What to look for
The lowest daily concern (26%) and the lowest share who say they are more worried than before (49%).
What we saw
Climate change feels less urgent day to day in these countries than in the rest of the sample.

Reading the map

What it shows
Six typologies from PCA-reduced attitude data.
What to look for
Cluster membership does not track income or region cleanly; it tracks collective attitude patterns.
What we saw
The other four clusters sit between these two extremes: worried but not despairing, or engaged but not alarmed.
PCA is only a picture. A cluster boundary in reduced dimensions is not a statistical test that two countries genuinely differ; it is a grouping that made visual and thematic sense once we read the countries inside each one.

The age gap

Our first coursework asked a narrower question: is there a consistent generational gap in urgency about the fossil fuel transition? We defined an age gap as the share of 18 to 35 year olds who want a "quick" or "very quick" transition, minus the same share among 36 to 59 year olds. We restricted the comparison to these two bands because they were the only ones reported consistently across countries. A positive gap means younger people are more urgent; a negative gap means the older band is.

-15 0 15 30 average +0.76 USA: +25 +25 USA Germany: +13 +13 Germany UK: +11 +11 UK Mozambique: -13 -13 Mozambique Samoa: -8 -8 Samoa
The age gap swings from +25 points in the USA to -13 points in Mozambique. The overall average across all 73 countries was a small +0.76 points, and 67% of countries showed a positive gap, meaning younger respondents were slightly more urgent on average. There is no single global pattern: some of the strongest youth urgency appears in the USA (+25), Germany (+13) and the UK (+11), while Mozambique (-13) and Samoa (-8) lean the other way. In the original coursework these plots were built in Tableau; the chart here redraws the same numbers.
LessonThe generational climate gap is real but small and country-specific. A global average close to zero can still hide a 38-point spread between the most youth-urgent and most elder-urgent countries, so reporting only the average would hide the story.

Limits

The data is opinion, aggregated twice. The public dataset gives weighted means per demographic group, not individual responses, and our models group by Country, Education and Age on top of that. A model that predicts group-level averages well does not prove it would predict any one person's answer.

Complete-case cleaning drops information. Removing over 20,000 null rows and every "Don't know" answer keeps the analysis honest but shrinks the usable sample, and countries with patchier reporting are underrepresented as a result.

Feature importance is not causation. Knowing that worry and family impact rank highest for the random forest tells us what the model leaned on, not that raising someone's worry would raise their support.

Six clusters is a choice, not a law. The elbow method suggested 6 as a reasonable balance of detail and readability. A different cut, or a different year of the survey, could plausibly draw the lines elsewhere.

Sample: 73,000+ respondents across 73 countries, People's Climate Vote 2024 (UNDP).

Team and credit

This was group MSc coursework at the University of Leeds, submitted as two reports by team Luxray: Harshit Verma, Ayush Patne, Abhishek Arun Raut and Sourav Jagati.