--- title: Domain Glossary category: domain --- # Domain Glossary - Dutch Political Terms ## CRITICAL INVARIANTS > **Rule 1**: Centroid of right-wing parties on RIGHT side of ALL axes > - PVV, FVD, JA21, SGP centroid must appear on the RIGHT > - Individual right-wing parties may vary slightly from the centroid > - This is non-negotiable for any compass/axis visualization > **Rule 2**: SVD labels are empirically derived from voting data > - Labels represent WHAT THE DATA SHOWS, not party self-identification or public opinion > - Labels are derived from outliers and 20 representative motions (10 positive, 10 negative) > - See SVD Label Derivation section below --- ## SVD Label Derivation ### The Process SVD (Singular Value Decomposition) finds axes that maximize variance in the MP × Motion voting matrix. To label each axis: 1. **Identify outliers**: Find the two MPs with most extreme positions on that axis 2. **Select representative motions**: Pick 20 motions where these outliers disagreed most sharply (10 they voted opposite on, 10 where both voted same direction but with other extremes) 3. **Interpret theme**: Read the motion titles to derive what the axis represents 4. **Assign label**: Label describes the empirical theme, could be: - Left-Right - Coalition-Opposition - Progressive-Conservative - EU-National sovereignty - Populist-Establishment - Or whatever the voting patterns show ### Example | Step | Description | |------|-------------| | Outlier A | Wilders (PVV) - extreme positive on Dim 1 | | Outlier B | Marijnissen (SP) - extreme negative on Dim 1 | | 20 Motions | Immigration, integration, law & order themes dominate | | Label | "Links-Rechts" (Left-Right) | ### Labeling Rules - **Never use party names in labels** (e.g., not "PVV-SP axis") - **Never use semantic/ideological labels** (e.g., not "progressive-conservative" unless that's what the motions show) - **Use motion-derived themes** (e.g., "Immigration", "EU", "Economy") - **Fallback**: If theme is unclear, use "Axis 1", "Axis 2" --- ## Core Entities ### Motion / Motie - Parliamentary motion submitted by MPs - Fields: `id`, `title`, `date`, `category` - MPs vote: **For** (+1), **Against** (-1), **Abstain** (0), **Absent** ### MP / Kamerlid - Member of Parliament (Tweede Kamerlid) - Identified by full name (e.g., "Van Dijk, I.") - Has voting record, party affiliation, SVD position vector ### Party / Fractie - Political party (e.g., "GroenLinks-PvdA", "PVV", "VVD") - Party centroids: average SVD position of all MPs in party ### Vote / Stemming - Individual MP's vote on a motion: +1, 0, -1 - Aggregated to compute SVD vectors --- ## Time & Analysis Concepts ### Window / Tijdsvenster - Time period for analysis (annual or quarterly) - Values: "2023", "2023-Q1", "2024", etc. - SVD vectors computed per window ### Trajectory - MP's position change across multiple windows - Computed from `svd_vectors` + window ordering --- ## Mathematical / Algorithmic Terms ### SVD Vector - 2D vector from Singular Value Decomposition of MP × Motion vote matrix - Represents MP's position in political space ### SVD Label - Empirically derived axis label based on outlier MPs and representative motions - Describes the theme of disagreement on that axis - NOT based on party ideology or semantic labels ### Political Compass - 2D visualization with SVD axes mapped to compass quadrants - X-axis: First SVD dimension (labeled from voting data) - Y-axis: Second SVD dimension (labeled from voting data) ### Procrustes Alignment - Algorithm to align SVD vectors across time windows - Ensures comparable positions across years/quarters ### UMAP - Uniform Manifold Approximation and Projection - Dimensionality reduction for visualization - Optional dependency with graceful SVD fallback --- ## Database Table Reference | Table | Key Fields | |-------|-----------| | `motions` | id, title, date, category | | `mp_votes` | mp_id, motion_id, vote | | `svd_vectors` | entity_id, window, vector_2d (list[2]) | | `mp_party_history` | mp_id, party, start_date, end_date | | `windows` | window_id, start_date, end_date, period_type | | `mp_trajectories` | mp_id, window, trajectory_vector | --- ## Dutch Political Parties ### Canonical Right-Wing (centroid on RIGHT of axes) - PVV (Partij voor de Vrijheid) - FVD (Forum voor Democratie) - JA21 - SGP (Staatkundig Gereformeerde Partij) ### Other Major Parties - VVD (Volkspartij voor Vrijheid en Democratie) - GL-PvdA (GroenLinks-PvdA) - NSC (Nieuw Sociaal Contract) - BBB (BoerBurgerBeweging) - SP (Socialistische Partij) - D66 (Democraten 66)