6cb89126a75733480813d9fc45d4f2ac152c6359
The mp_votes table contains both party-aggregate rows (e.g. 'PVV', 'NSC') and individual MP rows (e.g. 'Aardema, M.'). Running SVD on both together creates a block-diagonal vote matrix where party codes and individual MPs occupy disjoint SVD dimensions — causing dim 0 to be zero for all 421 MPs. Fix: _build_expanded_rows() converts every party-level vote to individual MP votes using mp_metadata date ranges (active MPs on motion date). Motions that already have individual MP records are kept as-is. A party name mapping handles NSC/Nieuw Sociaal Contract and other canonical name variants. Results for current_parliament: 517 individual MPs, all 8732 motions covered, dim 0 std=23.1 (was 0.0 for all MPs). PVV/NSC/BBB on positive end, SP/GL/PvdD on negative end — matches expected left-right political axis. All 11 annual windows (2016-2026) re-run with the new pipeline.
The file is empty.
Languages
HTML
96.7%
Python
3.2%