5.9 KiB
Center Drift Report (Procrustes-Aligned)
Part of the Overton Window Analysis. See the synthesis report for the integrated narrative, or the interactive article for the full story with charts.
Alignment Method
Party positions are Procrustes-aligned across all windows, then PCA-rotated to a common 2D reference frame. This ensures that axis orientation is consistent across time — no stability validation is needed because all positions live in the same coordinate system.
This is the same alignment used by the Explorer UI compass and trajectories: 1) zero-padding vectors to max dimension across all windows, 2) chained Procrustes orthogonal rotation (each window to the previous aligned one), 3) global PCA on the stacked aligned matrix, 4) flip-correction per component using canonical left/right parties.
Note: Non-annual windows excluded from drift analysis: current_parliament
Axis Interpretation
After flip correction, the Procrustes-aligned PCA axes have the following sign convention (verified by querying party positions):
- Axis 1 (economic): Positive = pro-market/right, negative = welfare/left. Right-wing parties score higher; left-wing parties score lower.
- Axis 2 (cultural/nationalist): Positive = kosmopolitisch/left-wing, negative = nationalist/right-wing. This is the opposite of what the raw
SVD_THEMES[2]label says, because PCA axes are flip-corrected to align with canonical left/right parties.
Signed parties: PVV (y = −0.56), FVD (y = −0.36), JA21 (y = −0.36) all negative = nationalist/right-wing. GL-PvdA (y = +0.21), Volt (y = +0.27) positive = kosmopolitisch/left-wing.
Centrist Center of Gravity
| Window | Centrist Ax1 | Centrist Ax2 | Right Ax1 | Right Ax2 | Centrist Parties | Right Parties |
|---|---|---|---|---|---|---|
| 2016 | 0.3395 | 0.0103 | 0.1321 | -0.2716 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2017 | 0.2623 | 0.0278 | 0.0981 | -0.3418 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2018 | 0.2844 | 0.1560 | 0.0724 | -0.3819 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2019 | 0.0535 | 0.0446 | -0.0361 | -0.2754 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2020 | 0.2615 | 0.1170 | -0.0858 | -0.3468 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2021 | 0.1182 | 0.0838 | 0.0378 | -0.3388 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2022 | 0.1567 | 0.1876 | 0.0117 | -0.3509 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, JA21, PVV, SGP |
| 2023 | 0.0951 | -0.0041 | -0.0040 | -0.3228 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, PVV, SGP |
| 2024 | 0.2122 | 0.1209 | 0.1295 | -0.3524 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, PVV, SGP |
| 2025 | 0.0214 | -0.0010 | 0.0323 | -0.3755 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, PVV, SGP |
| 2026 | 0.1169 | 0.0914 | 0.0542 | -0.3368 | BBB, CDA, ChristenUnie, D66, NSC, VVD | FVD, PVV, SGP |
| current_parliament | 0.0366 | 0.0181 | 0.0703 | -0.2993 | BBB, CDA, ChristenUnie, D66, NSC, VVD | PVV, SGP |
Drift Metrics (Annual Windows Only)
-
Net centrist displacement (first → last): 0.236936
- Δ axis-1: −0.222632 → LEFT economically (more welfare-oriented)
- Δ axis-2: +0.081077 → LEFT culturally (more kosmopolitisch)
-
Net direction: 159.99° (arctan2(Δy, Δx))
- Negative Δx = leftward on axis 1 (welfare)
- Positive Δy = leftward on axis 2 (kosmopolitisch)
-
Right-wing net displacement (reference):
- Net displacement: 0.101517
- Δ axis-1: −0.077852 → LEFT economically (slightly more welfare)
- Δ axis-2: −0.065152 → RIGHT culturally (more nationalist)
-
Centrist–right distance (Euclidean):
- First window: 0.3500
- Last window: 0.4327
- Δ distance: +0.0827
-
Centrist–right cultural distance (axis 2):
- First window: 0.282 → Centrist +0.010, Right −0.272
- Last window: 0.428 → Centrist +0.091, Right −0.337
- Δ cultural distance: +0.146 (culture gap widened)
Year-over-Year Drift
| Window Pair | Distance | Δ Axis-1 | Δ Axis-2 |
|---|---|---|---|
| 2016-2017 | 0.079190 | -0.077243 | +0.017454 |
| 2017-2018 | 0.130100 | +0.022145 | +0.128201 |
| 2018-2019 | 0.256345 | -0.230871 | -0.111406 |
| 2019-2020 | 0.220175 | +0.207912 | +0.072456 |
| 2020-2021 | 0.147073 | -0.143268 | -0.033236 |
| 2021-2022 | 0.110660 | +0.038466 | +0.103759 |
| 2022-2023 | 0.201353 | -0.061559 | -0.191712 |
| 2023-2024 | 0.171334 | +0.117084 | +0.125086 |
| 2024-2025 | 0.226449 | -0.190820 | -0.121930 |
| 2025-2026 | 0.132903 | +0.095522 | +0.092406 |
Total path length: 1.675582
Chart
Key Finding: Spatial Divergence
Centrists moved LEFT on both axes while right-wing moved further RIGHT culturally. The centrist–right cultural distance widened (0.282 → 0.428, +0.146). This is spatial divergence, not convergence — consistent with "acceptance without conversion": the political window widens without parties changing their underlying ideological positions. Centrists became more welfare-oriented and kosmopolitisch; right-wing became more nationalist.
Interpretability Statement
Party positions use Procrustes-aligned PCA axes that provide a common reference frame across all windows. Unlike raw per-window SVD axes — which may re-orient between windows and cause 9/10 consecutive window pairs to fail axis stability (Spearman ρ < 0.7) — this alignment ensures that positional changes reflect genuine shifts in voting behavior rather than axis re-orientation artifacts. The centrist center-of-gravity movement on the 2D compass can be interpreted as a measure of ideological drift.
Note: PCA axes reflect voting patterns, not semantic content. A shift means voting behavior changed, not that parties changed their rhetoric. See: docs/solutions/best-practices/svd-labels-voting-patterns-not-semantics.md
