You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
motief/reports/overton_window/blog_post.html

588 lines
29 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Has the Overton Window Shifted in the Dutch Parliament?</title>
<style>
:root {
--blue: #2563eb;
--red: #dc2626;
--green: #16a34a;
--gray: #6b7280;
--light: #f8fafc;
--border: #e2e8f0;
--text: #1e293b;
--muted: #64748b;
--accent: #7c3aed;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Georgia', serif;
color: var(--text);
line-height: 1.75;
max-width: 720px;
margin: 0 auto;
padding: 2rem 1.5rem;
background: #fff;
}
h1 {
font-size: 2.25rem;
line-height: 1.2;
margin-bottom: 0.5rem;
font-weight: 700;
letter-spacing: -0.02em;
}
.subtitle {
font-size: 1.15rem;
color: var(--muted);
margin-bottom: 2rem;
font-style: italic;
}
.byline {
font-size: 0.9rem;
color: var(--muted);
margin-bottom: 2.5rem;
border-bottom: 1px solid var(--border);
padding-bottom: 1.5rem;
}
h2 {
font-size: 1.5rem;
margin-top: 2.5rem;
margin-bottom: 1rem;
font-weight: 700;
letter-spacing: -0.01em;
}
h3 {
font-size: 1.2rem;
margin-top: 2rem;
margin-bottom: 0.75rem;
font-weight: 600;
}
p { margin-bottom: 1.25rem; }
.callout {
background: var(--light);
border-left: 4px solid var(--blue);
padding: 1.25rem 1.5rem;
margin: 2rem 0;
font-size: 1.05rem;
}
.callout.warning {
border-left-color: var(--red);
background: #fef2f2;
}
.callout.success {
border-left-color: var(--green);
background: #f0fdf4;
}
.verdict {
background: #faf5ff;
border-left: 4px solid var(--accent);
padding: 1.5rem;
margin: 2rem 0;
font-size: 1.1rem;
font-weight: 600;
}
table {
width: 100%;
border-collapse: collapse;
margin: 1.5rem 0;
font-size: 0.95rem;
}
th, td {
padding: 0.6rem 0.8rem;
text-align: left;
border-bottom: 1px solid var(--border);
}
th {
font-weight: 600;
background: var(--light);
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--muted);
}
td:not(:first-child) { text-align: right; }
.chart {
margin: 2rem 0;
background: var(--light);
border-radius: 8px;
padding: 1.5rem;
overflow-x: auto;
}
.chart-title {
font-size: 0.85rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--muted);
margin-bottom: 1rem;
}
.bar-chart { display: flex; flex-direction: column; gap: 0.5rem; }
.bar-row { display: flex; align-items: center; gap: 0.75rem; }
.bar-label { width: 120px; font-size: 0.85rem; text-align: right; flex-shrink: 0; }
.bar-track { flex: 1; height: 28px; background: #e2e8f0; border-radius: 4px; position: relative; }
.bar-fill { height: 100%; border-radius: 4px; display: flex; align-items: center; padding-left: 8px; font-size: 0.8rem; color: #fff; font-weight: 600; min-width: 40px; }
.bar-fill.blue { background: var(--blue); }
.bar-fill.red { background: var(--red); }
.bar-fill.green { background: var(--green); }
.bar-fill.gray { background: var(--gray); }
.bar-fill.purple { background: var(--accent); }
.bar-value { font-size: 0.85rem; font-weight: 600; width: 50px; text-align: left; flex-shrink: 0; }
.dual-bar { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.75rem; }
.dual-bar .bar-row { height: 20px; }
.dual-label { font-size: 0.85rem; margin-bottom: 0.15rem; font-weight: 500; }
.metric-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 1.5rem 0;
}
.metric-card {
background: var(--light);
border-radius: 8px;
padding: 1.25rem;
text-align: center;
}
.metric-value {
font-size: 2rem;
font-weight: 700;
line-height: 1;
}
.metric-value.up { color: var(--blue); }
.metric-value.down { color: var(--red); }
.metric-value.flat { color: var(--gray); }
.metric-desc {
font-size: 0.8rem;
color: var(--muted);
margin-top: 0.4rem;
}
.timeline {
margin: 2rem 0;
position: relative;
padding-left: 2rem;
}
.timeline::before {
content: '';
position: absolute;
left: 8px;
top: 0;
bottom: 0;
width: 2px;
background: var(--border);
}
.timeline-event {
position: relative;
margin-bottom: 1.5rem;
}
.timeline-event::before {
content: '';
position: absolute;
left: -1.55rem;
top: 6px;
width: 10px;
height: 10px;
border-radius: 50%;
background: var(--blue);
}
.timeline-event.key::before { background: var(--red); width: 12px; height: 12px; left: -1.6rem; }
.timeline-date { font-size: 0.8rem; color: var(--muted); font-weight: 600; }
.timeline-text { font-size: 0.95rem; }
.footnote {
font-size: 0.85rem;
color: var(--muted);
border-top: 1px solid var(--border);
margin-top: 3rem;
padding-top: 1.5rem;
}
.footnote p { margin-bottom: 0.5rem; }
.highlight { background: #fef3c7; padding: 0.15em 0.3em; border-radius: 3px; }
strong { font-weight: 700; }
em { font-style: italic; }
.arrow { display: inline-block; font-weight: 700; }
.arrow.up { color: var(--blue); }
.arrow.down { color: var(--red); }
.arrow.flat { color: var(--gray); }
@media (max-width: 600px) {
body { padding: 1rem; }
h1 { font-size: 1.75rem; }
.metric-grid { grid-template-columns: 1fr; }
.bar-label { width: 80px; font-size: 0.75rem; }
}
</style>
</head>
<body>
<h1>Has the Overton Window Shifted in the Dutch Parliament?</h1>
<p class="subtitle">A data-driven analysis of 2,986 right-wing motions (2016–2026) reveals a surprising answer: the window didn't shift. The right-wing moved toward it.</p>
<p class="byline">Analysis based on 2,986 classified right-wing motions, 2,869 two-dimensional extremity scores, MP-level voting records across 33 quarters, and 200 systematically classified policy mechanisms.</p>
<h2>The Question</h2>
<p>After the PVV's historic election victory in November 2023 and the formation of the Schoof cabinet in July 2024, a question dominated Dutch political commentary: <strong>has the Overton window shifted to the right?</strong> Have centrist parties (VVD, D66, CDA, NSC, ChristenUnie, BBB) become more accepting of right-wing policy positions?</p>
<p>We analyzed every right-wing motion submitted to the Dutch Tweede Kamer between 2016 and 2026 — 2,986 motions classified by keyword matching and voting patterns, scored on two dimensions (rhetorical extremity and material policy impact), and tracked across 33 quarters of parliamentary activity.</p>
<p>The answer is more nuanced — and more interesting — than a simple yes or no.</p>
<div class="verdict">
The Overton window did not shift right. Right-wing parties moderated toward it. That moderation effect may be temporary.
</div>
<h2>Three Indicators at a Glance</h2>
<table>
<tr><th>Indicator</th><th>Pre-2024</th><th>Post-2024</th><th>Change</th><th>Verdict</th></tr>
<tr><td>Centrist support (strict)</td><td>0.251</td><td>0.507</td><td><span class="arrow up">+0.256</span></td><td>Surged</td></tr>
<tr><td>Material impact (2D)</td><td>2.78</td><td>2.43</td><td><span class="arrow down">−0.35</span></td><td>Declined</td></tr>
<tr><td>High-impact share (M≥4)</td><td>23.7%</td><td>11.3%</td><td><span class="arrow down">−12.4 pp</span></td><td>Declined</td></tr>
<tr><td>SVD cultural gap</td><td>0.282</td><td>0.428</td><td><span class="arrow up">+0.146</span></td><td>Diverged</td></tr>
<tr><td>Stylistic extremity</td><td>1.718</td><td>1.815</td><td><span class="arrow up">+0.097</span></td><td>Increased</td></tr>
<tr><td>Temporal trajectory</td><td></td><td></td><td></td><td>Electoral jump, reverting</td></tr>
</table>
<p>Centrist support surged. But the motions themselves became <em>less</em> materially impactful — the share of high-impact proposals (M≥4) dropped from 23.7% to 11.3%. The Overton window did not shift rightward. Instead, right-wing parties shifted their strategy <em>toward</em> the window: they filed more motions, with milder content, framed in centrist-friendly language.</p>
<h2>Indicator 1: How Centrists Voted</h2>
<p>The cleanest signal is in how centrist parties voted on right-wing motions. Using a strict centrist definition (VVD, D66, CDA, NSC, BBB, CU), average support rose from 0.251 pre-2024 to 0.507 post-2024 — a Cohen's d of +0.65.</p>
<h3>Not a Coalition Effect</h3>
<p>After the Schoof cabinet formed, PVV entered government, which could mechanically inflate support for its own motions. So we restricted to <strong>opposition-only</strong> right-wing motions. The effect is <em>larger</em>: d = +0.85, with support jumping from 0.270 to 0.543. Coalition dynamics slightly <em>suppressed</em> the observable shift.</p>
<div class="chart">
<div class="chart-title">Centrist Support for Right-Wing Motions (Opposition-Only)</div>
<div class="bar-chart">
<div class="bar-row">
<div class="bar-label">Pre-2024</div>
<div class="bar-track"><div class="bar-fill blue" style="width: 27%">0.270</div></div>
</div>
<div class="bar-row">
<div class="bar-label">Post-2024</div>
<div class="bar-track"><div class="bar-fill blue" style="width: 54.3%">0.543</div></div>
</div>
</div>
<p style="font-size: 0.8rem; color: var(--muted); margin-top: 0.75rem;">Fraction of centrist parties voting 'voor' on opposition right-wing motions. Cohen's d = +0.85.</p>
</div>
<h3>The Gradient Persists</h3>
<p>Centrists still differentiate by how radical a motion is — high-extremity motions (buckets 3–5) gained proportionally <em>more</em> support than mild motions (buckets 1–2). This is consistent with genuine tolerance expansion, not a compositional shift toward milder motions.</p>
<h3>Who Drove the Shift?</h3>
<p>The shift is not uniform across centrist parties:</p>
<table>
<tr><th>Party</th><th>Pre-2024 Migration Voor%</th><th>Post-2024 Migration Voor%</th></tr>
<tr><td>CDA</td><td>~18%</td><td>~40%</td></tr>
<tr><td>ChristenUnie</td><td>~10%</td><td>~30%</td></tr>
<tr><td>NSC</td><td></td><td>~30%</td></tr>
<tr><td>D66</td><td>~4%</td><td>~12%</td></tr>
</table>
<p>The two Christian-conservative parties — CDA and ChristenUnie — more than doubled their migration vote share. D66 barely moved. The shift is not "centrists accepting right-wing content" — it is <strong>the Christian-conservative wing of the center moved substantially, while the progressive wing barely budged</strong>.</p>
<h2>Indicator 2: Spatial Divergence</h2>
<p>If centrists are voting more with right-wing motions, one might expect ideological convergence — centrist parties drifting rightward. Procrustes-aligned SVD analysis shows the <em>opposite</em>.</p>
<div class="metric-grid">
<div class="metric-card">
<div class="metric-value down">−0.30</div>
<div class="metric-desc">Centrist axis-1 drift (leftward, more welfare)</div>
</div>
<div class="metric-card">
<div class="metric-value flat">+0.07</div>
<div class="metric-desc">Right-wing axis-1 drift (barely moved)</div>
</div>
<div class="metric-card">
<div class="metric-value up">+0.146</div>
<div class="metric-desc">Cultural gap widened</div>
</div>
<div class="metric-card">
<div class="metric-value up">160°</div>
<div class="metric-desc">Centrist drift direction (southwest: welfare + cosmopolitan)</div>
</div>
</div>
<p>Centrist parties moved <em>left</em> on both SVD axes — more welfare-oriented economically, more cosmopolitan culturally. Right-wing parties moved further into the nationalist corner. The cultural distance between the two groups widened from 0.282 to 0.428.</p>
<p>This is spatial <em>divergence</em>, not convergence. The puzzle: how can centrists vote more with right-wing motions while moving further away from them ideologically?</p>
<div class="callout">
<strong>The resolution:</strong> Right-wing parties filed a much larger volume of milder motions that centrists supported, while continuing to file high-impact motions centrists opposed. The net effect on SVD was centrist-left divergence: the extreme motions (still opposed) dominated the voting structure, while the surge of milder centrist-supported motions added volume without shifting party positions.
</div>
<h2>Indicator 3: Content Extremity — The 2D Story</h2>
<p>The original single-dimensional extremity score showed no increase post-2024 (d = −0.09). But a single score conflates two independent dimensions:</p>
<ul style="margin: 1rem 0 1.5rem 1.5rem;">
<li><strong>Stylistic extremity</strong> — how inflammatory is the language?</li>
<li><strong>Material impact</strong> — how consequential is the proposed policy?</li>
</ul>
<p>These two dimensions are only moderately correlated (r = 0.47). And their trajectories <em>diverge</em>:</p>
<table>
<tr><th>Dimension</th><th>Pre-2024</th><th>Post-2024</th><th>Change</th></tr>
<tr><td>Stylistic extremity</td><td>1.718</td><td>1.815</td><td><span class="arrow up">+0.097</span></td></tr>
<tr><td>Material impact</td><td>2.530</td><td>2.384</td><td><span class="arrow down">−0.146</span></td></tr>
<tr><td>Gap (M−S)</td><td>0.813</td><td>0.570</td><td><span class="arrow down">−0.243</span></td></tr>
</table>
<p>Right-wing motions became <em>more restrained</em> in language while simultaneously becoming <em>less materially consequential</em>. This is holistic moderation — both the packaging and the content shifted toward the center.</p>
<div class="chart">
<div class="chart-title">2D Extremity Divergence (Wilcoxon p = 0.002)</div>
<div class="bar-chart">
<div class="dual-bar">
<div class="dual-label">Stylistic extremity</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill red" style="width: 34.4%">1.718</div></div>
</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill red" style="width: 36.3%">1.815</div></div>
</div>
</div>
<div class="dual-bar">
<div class="dual-label">Material impact</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill blue" style="width: 50.6%">2.530</div></div>
</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill blue" style="width: 47.7%">2.384</div></div>
</div>
</div>
</div>
<p style="font-size: 0.8rem; color: var(--muted); margin-top: 0.5rem;">Both on 1–5 scale. Pre (lighter) vs Post (darker). Stylistic rose while material fell — dimensions systematically diverge.</p>
</div>
<h2>The Gravity Question: Do Meaningful Motions Show the Same Pattern?</h2>
<p>Not all motions are equal. A symbolic declaration ("we express concern about X") is fundamentally different from a bill that restricts asylum seekers' rights. Does the centrist support shift hold when we filter to only substantive, high-impact motions?</p>
<table>
<tr><th>Gravity Level</th><th>Pre-2024 CS</th><th>Post-2024 CS</th><th>Δ</th></tr>
<tr><td>All motions</td><td>0.254</td><td>0.509</td><td><span class="arrow up">+0.255</span></td></tr>
<tr><td>M≥3 (substantive policy)</td><td>0.192</td><td>0.435</td><td><span class="arrow up">+0.243</span></td></tr>
<tr><td>M≥4 (fundamental rights)</td><td>0.114</td><td>0.377</td><td><span class="arrow up">+0.263</span></td></tr>
</table>
<p><strong>The shift is real across ALL gravity levels</strong>, including motions that touch fundamental rights. If anything, the effect is slightly <em>larger</em> for high-impact motions (+0.263) than for the full dataset (+0.255). This is not a story about centrists rubber-stamping symbolic gestures — it's a story about genuine accommodation of substantive right-wing policy proposals.</p>
<h2>The Left-Wing Control: Are Centrists Drifting Left or Right?</h2>
<p>A key concern: the SVD shows centrists moving left. Could this mean they're simply voting more with <em>everyone</em> — including left-wing parties — rather than specifically accommodating the right?</p>
<p>We compared centrist voting on motions submitted by left-wing parties (SP, GroenLinks-PvdA, PvdD, Volt, DENK) versus right-wing parties (PVV, FVD, JA21, SGP):</p>
<div class="chart">
<div class="chart-title">Centrist Support by Submitting Party Bloc</div>
<div class="bar-chart">
<div class="dual-bar">
<div class="dual-label">Left-wing motions</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill green" style="width: 49.8%">0.498</div></div>
</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill green" style="width: 49.0%">0.490</div></div>
</div>
</div>
<div class="dual-bar">
<div class="dual-label">Right-wing motions</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill red" style="width: 36.9%">0.369</div></div>
</div>
<div class="bar-row">
<div class="bar-track"><div class="bar-fill red" style="width: 53.1%">0.531</div></div>
</div>
</div>
</div>
<p style="font-size: 0.8rem; color: var(--muted); margin-top: 0.5rem;">Pre-2024 (lighter) vs Post-2024 (darker). Left-wing motions: FLAT. Right-wing motions: SURGE.</p>
</div>
<div class="callout success">
<strong>Left-wing motions:</strong> Pre CS=0.498 → Post CS=0.490, Δ=−0.008. <strong>Completely flat.</strong><br>
<strong>Right-wing motions:</strong> Pre CS=0.369 → Post CS=0.531, Δ=+0.162. <strong>Surge.</strong>
</div>
<p>The centrist support surge is <em>entirely</em> concentrated in right-wing motions. Centrist support for left-wing motions didn't change at all. The SVD's leftward drift is <em>not</em> driven by symbolic left-wing cooperation — it's driven by centrists voting more with right-wing parties on right-wing proposals while maintaining their existing voting patterns on everything else.</p>
<h2>Who Filed the Motions? JA21 as the Primary Driver</h2>
<p>Treating right-wing parties as a bloc obscures a critical finding. Breaking down by party:</p>
<table>
<tr><th>Party</th><th>CS Shift</th><th>Volume Change</th><th>Notable</th></tr>
<tr><td><strong>JA21</strong></td><td><span class="arrow up">+0.203</span></td><td>+82</td><td>Only party with volume + support gains</td></tr>
<tr><td>SGP</td><td><span class="arrow up">+0.195</span></td><td>−91</td><td>Already mainstream pre-2024</td></tr>
<tr><td>PVV</td><td><span class="arrow up">+0.125</span></td><td>−185</td><td>Entered government, filed fewer motions</td></tr>
<tr><td>FVD</td><td><span class="arrow up">+0.036</span></td><td>−62</td><td>Remains essentially shunned</td></tr>
</table>
<p><strong>JA21 drives the moderation effect</strong> — they are the only party that both significantly increased motion volume <em>and</em> centrist support simultaneously. PVV's +0.125 shift starts from a very low baseline and coincides with entering government (fewer, less radical motions). SGP was already a "mainstream" right-wing party pre-2024. FVD remains firmly marginalized.</p>
<h2>How Did They Do It? Mechanism Classification</h2>
<p>A systematic classification of 200 motions across 10 mechanism types reveals the dominant pathways through which right-wing motions gain centrist support:</p>
<h3>Post-2024 High-Support Motions (CS > 0.5)</h3>
<div class="chart">
<div class="chart-title">Mechanism Distribution (High Centrist Support, Post-2024)</div>
<div class="bar-chart">
<div class="bar-row">
<div class="bar-label">Procedural</div>
<div class="bar-track"><div class="bar-fill blue" style="width: 64%">32%</div></div>
</div>
<div class="bar-row">
<div class="bar-label">Consensus</div>
<div class="bar-track"><div class="bar-fill green" style="width: 48%">24%</div></div>
</div>
<div class="bar-row">
<div class="bar-label">Restriction</div>
<div class="bar-track"><div class="bar-fill red" style="width: 34.6%">17.3%</div></div>
</div>
<div class="bar-row">
<div class="bar-label">Institutional</div>
<div class="bar-track"><div class="bar-fill gray" style="width: 18.6%">9.3%</div></div>
</div>
<div class="bar-row">
<div class="bar-label">Other</div>
<div class="bar-track"><div class="bar-fill purple" style="width: 26.4%">13.3%</div></div>
</div>
</div>
</div>
<p>The contrast with low-support motions is sharp. <strong>Zero system-dismantling proposals</strong> (asylum stops, treaty exits, fundamental institutional upheaval) achieved high centrist support post-2024. The truly ideological right-wing agenda does not gain centrist support.</p>
<p>Consensus framing — appealing to shared values like safety, efficiency, and pragmatism — is significantly more common in high-support motions (24%) than low-support ones (8%): χ² = 6.0, p = 0.014.</p>
<h2>When Did It Happen? The Temporal Trajectory</h2>
<p>Quarterly analysis across 33 quarters (2016-Q2 through 2026-Q1) reveals the exact timing:</p>
<div class="timeline">
<div class="timeline-event">
<div class="timeline-date">2016–2023</div>
<div class="timeline-text">Stable baseline. Mean centrist support: 0.336 across 25 quarters.</div>
</div>
<div class="timeline-event key">
<div class="timeline-date">November 2023</div>
<div class="timeline-text"><strong>PVV election victory.</strong> The electoral shock.</div>
</div>
<div class="timeline-event key">
<div class="timeline-date">2024-Q1</div>
<div class="timeline-text"><strong>Structural break.</strong> Centrist support jumps from 0.321 → 0.501 (+0.180 in a single quarter). This is 1.9× the average quarterly change.</div>
</div>
<div class="timeline-event">
<div class="timeline-date">July 2024</div>
<div class="timeline-text">Schoof cabinet formed. But the shift began <em>before</em> this — ruling out coalition dynamics as the primary driver.</div>
</div>
<div class="timeline-event key">
<div class="timeline-date">2024-Q4</div>
<div class="timeline-text"><strong>Peak: 0.648.</strong> First full quarter of the Schoof cabinet.</div>
</div>
<div class="timeline-event">
<div class="timeline-date">2025-Q1–Q4</div>
<div class="timeline-text">Steady decline: 0.598 → 0.503 → 0.437 → 0.450.</div>
</div>
<div class="timeline-event">
<div class="timeline-date">2026-Q1</div>
<div class="timeline-text"><strong>Reversion: 0.334.</strong> Below the 0.4 inflection threshold. Approaching pre-shift levels.</div>
</div>
</div>
<p>The trajectory resembles an electoral response function — a rapid jump after the election, a peak during the honeymoon phase, and a gradual decline. <strong>The shift may be an electoral-cycle phenomenon rather than a permanent Overton window movement.</strong></p>
<h2>The Voting Margin: A Better Metric Than Pass Rate</h2>
<p>Dutch parliament passes 96%+ of all motions. This makes pass rate a useless metric — it cannot register a shift of any magnitude. We computed a continuous alternative:</p>
<p style="font-family: monospace; font-size: 0.9rem;">margin = (voor − tegen) / (voor + tegen + afwezig)</p>
<div class="metric-grid">
<div class="metric-card">
<div class="metric-value down">−0.081</div>
<div class="metric-desc">Pre-2024 mean margin</div>
</div>
<div class="metric-card">
<div class="metric-value up">+0.128</div>
<div class="metric-desc">Post-2024 mean margin</div>
</div>
<div class="metric-card">
<div class="metric-value up">+0.746</div>
<div class="metric-desc">Q1→Q4 margin gap</div>
</div>
<div class="metric-card">
<div class="metric-value">ρ=0.812</div>
<div class="metric-desc">Correlation with centrist support</div>
</div>
</div>
<p>Voting margin detects temporal patterns at a granularity pass rate cannot. The pre-2024 margin was negative (right-wing motions lost by 8 points on average). Post-2024, they <em>won</em> by 13 points. The shift from losing to winning is the real signal — not the binary pass/fail.</p>
<h2>Can We Predict Which Motions Succeed?</h2>
<p>A predictive model (logistic regression, AUC-ROC = 0.81) identifies the strongest predictors of centrist support. Given the 6.9:1 class imbalance (only 14.5% of motions have high centrist support), this is meaningfully above the 0.50 baseline — the model reliably separates high-support from low-support motions.</p>
<table>
<tr><th>Feature</th><th>Coefficient</th><th>Interpretation</th></tr>
<tr><td>Category: Corona</td><td>−1.47</td><td>Corona motions get 77% lower odds of centrist support</td></tr>
<tr><td>Submitter: FVD</td><td>−1.33</td><td>FVD motions get 73% lower odds</td></tr>
<tr><td>Submitter: SGP</td><td>+0.99</td><td>SGP motions get 2.7× higher odds</td></tr>
<tr><td>Submitter: JA21</td><td>+0.93</td><td>JA21 motions get 2.5× higher odds</td></tr>
<tr><td>Stylistic extremity</td><td>−0.69</td><td>Each point of extremity halves odds</td></tr>
</table>
<p><strong>Who submits matters more than what the motion says.</strong> FVD motions systematically receive low centrist support regardless of content. SGP and JA21 motions do better. Higher rhetorical extremity and material impact both predict lower centrist support — centrist parties respond more to policy substance than to framing.</p>
<h2>What This Means</h2>
<p>The Dutch political landscape post-2024 is not best described as "the Overton window shifted right." A more accurate description:</p>
<p>The Overton window is often misunderstood as a fixed frame that parties push in one direction. What actually happened in the Netherlands is more subtle: right-wing parties discovered that the path to centrist acceptance runs through moderation, not radicalization. JA21 — not PVV — is the primary beneficiary of this strategy. The Christian-conservative center (CDA, ChristenUnie) was the primary enabler, more than doubling its support for migration motions. The progressive center (D66) barely moved.</p>
<p>The spatial data tells us something important: this is not convergence. Centrists voted more with right-wing parties on right-wing motions while simultaneously moving further left in their overall voting patterns. The ideological distance widened. What changed was not where centrists sit on the political spectrum — it was what right-wing parties chose to propose.</p>
<p>The temporal data adds a warning: the effect may be temporary. The 2026-Q1 reversion to 0.334 suggests the shift was driven by electoral dynamics (the PVV shock) rather than durable ideological realignment. If the pattern holds, the "new normal" may be closer to pre-shift levels than to the 2024-Q4 peak.</p>
<ol style="margin: 1rem 0 1.5rem 1.5rem;">
<li><strong>Right-wing parties strategically moderated.</strong> They filed more motions, with milder content, framed in centrist-friendly language. The share of high-impact proposals (M≥4) dropped from 23.7% to 11.3%.</li>
<li><strong>Centrist parties rewarded the moderation.</strong> Support surged from 0.251 to 0.507, driven primarily by CDA and ChristenUnie on migration issues.</li>
<li><strong>The ideological divide held or widened.</strong> SVD spatial analysis shows centrists moved left on both axes while right-wing parties moved further right. The cultural gap widened by +0.146.</li>
<li><strong>The effect may be temporary.</strong> Quarterly data shows centrist support peaked in 2024-Q4 (0.648) and has since reverted to 0.334 — below the pre-shift threshold.</li>
<li><strong>Migration is the exception.</strong> The one domain where genuine acceptance expansion (not just content moderation) is measurable. Centrists went from never supporting M=5 migration motions to backing nearly 1 in 5.</li>
</ol>
<div class="callout warning">
<strong>The critical caveat:</strong> This analysis establishes a structural break in centrist voting behavior, not its cause. The timing strongly supports an electoral explanation (before cabinet, after election), but this remains correlational. A proper causal design would require comparison groups we don't have.
</div>
<div class="verdict">
The Overton window did not shift right. Right-wing parties moderated toward it. That moderation effect may be temporary.
</div>
<h2>Methodology</h2>
<p>This analysis uses data from the Dutch Tweede Kamer OData API, covering 2,986 classified right-wing motions (2016–2026). Key methodological choices:</p>
<ul style="margin: 1rem 0 1.5rem 1.5rem;">
<li><strong>Centrist definition:</strong> VVD, D66, CDA, NSC, BBB, ChristenUnie — the six parties closest to the parliamentary center on the Procrustes-aligned SVD axes.</li>
<li><strong>Extremity scoring:</strong> Two-dimensional (stylistic extremity + material impact), scored by LLM with manual validation (75% agreement). 2,869 motions scored (96% of total).</li>
<li><strong>SVD alignment:</strong> Procrustes-aligned PCA with flip correction ensuring right-wing parties appear on the right.</li>
<li><strong>Mechanism classification:</strong> 200 motions classified by LLM, validated with inter-rater reliability (Cohen's κ = 0.41 — moderate agreement, borderline; the taxonomy needs sharper category boundaries, particularly between institutional/rule-of-law and targeted restriction).</li>
<li><strong>Statistical approach:</strong> Descriptive (Cohen's d) rather than inferential. Small-N time series (8 pre-2024 annual windows, 3 post-2024) limits the power of formal statistical tests.</li>
</ul>
<div class="footnote">
<p><strong>Data sources:</strong> Dutch Tweede Kamer OData API, 2016–2026. All motion texts, voting records, and MP metadata.</p>
<p><strong>Code:</strong> Analysis scripts in <code>analysis/right_wing/</code>. Reports in <code>reports/overton_window/</code>.</p>
<p><strong>Reproducibility:</strong> All analyses are deterministic given the same database state. No LLM calls in the final pipeline (scoring was done once; analysis uses stored scores).</p>
</div>
</body>
</html>