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

578 lines
28 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:</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>
<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>
<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> Strict: D66, CDA, ChristenUnie, NSC (not VVD or BBB).</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).</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>