Political Science Analysis Skill
Purpose
This skill provides rigorous political science methodologies and analytical frameworks for interpreting political data collected by the Riksdagsmonitor platform. It bridges quantitative data analysis with political theory, enabling evidence-based assessments of democratic accountability, institutional performance, and political behavior.
When to Use This Skill
Apply this skill when:
-
✅ Analyzing voting behavior patterns and legislative outcomes
-
✅ Assessing government coalition stability and effectiveness
-
✅ Evaluating policy implementation and impact
-
✅ Conducting comparative analysis of political parties
-
✅ Measuring democratic accountability indicators
-
✅ Analyzing political representation and constituency alignment
-
✅ Studying institutional performance and committee effectiveness
Do NOT use for:
-
❌ Partisan advocacy or political campaigning
-
❌ Personal opinions about political ideologies
-
❌ Predictions without methodological basis
-
❌ Analysis that favors specific parties or politicians
Core Political Science Frameworks
- Comparative Politics Framework
Purpose: Systematically compare political actors, institutions, and outcomes across time and space.
Comparative Dimensions:
Actor Level Comparisons: ├─ Individual Politicians │ ├─ Voting records (discipline, independence) │ ├─ Legislative productivity (bills, amendments, questions) │ ├─ Committee participation (attendance, contributions) │ └─ Constituency representation (district alignment) ├─ Political Parties │ ├─ Electoral performance (vote share, seats) │ ├─ Coalition behavior (agreement rates, stability) │ ├─ Policy positions (left-right, GAL-TAN) │ └─ Organizational strength (membership, funding) └─ Institutions ├─ Parliamentary committees (productivity, influence) ├─ Government ministries (budget, effectiveness) └─ Electoral districts (turnout, competitiveness)
CIA Platform Implementation:
-- Example: Comparative party discipline analysis SELECT p.party, COUNT(DISTINCT vr.ballot_id) as total_votes, COUNT(DISTINCT CASE WHEN vr.vote = party_line.vote THEN vr.ballot_id END) as party_line_votes, ROUND(100.0 * COUNT(DISTINCT CASE WHEN vr.vote = party_line.vote THEN vr.ballot_id END) / NULLIF(COUNT(DISTINCT vr.ballot_id), 0), 2) as discipline_rate, -- Comparative metrics AVG(discipline_rate) OVER () as avg_discipline, discipline_rate - AVG(discipline_rate) OVER () as deviation_from_mean FROM view_politician_voting_record vr JOIN politician p ON vr.politician_id = p.id JOIN ( -- Determine party line (majority vote within party) SELECT ballot_id, party, vote, COUNT(*) as vote_count FROM view_politician_voting_record vr2 JOIN politician p2 ON vr2.politician_id = p2.id GROUP BY ballot_id, party, vote -- Note: QUALIFY is supported in Snowflake, BigQuery, DuckDB. For standard SQL, wrap this subquery in a CTE and filter with WHERE row_num = 1. QUALIFY ROW_NUMBER() OVER (PARTITION BY ballot_id, party ORDER BY vote_count DESC) = 1 ) party_line ON vr.ballot_id = party_line.ballot_id AND p.party = party_line.party WHERE vr.vote_date >= '2022-01-01' GROUP BY p.party ORDER BY discipline_rate DESC;
- Political Behavior Framework
Purpose: Understand individual and collective political actions using behavioral science.
Key Behavioral Indicators:
Behavior Type Indicators Data Sources Interpretation
Legislative Behavior Vote patterns, bill sponsorship, amendments view_politician_voting_record , view_riksdagen_document
Activity level, policy priorities
Coalition Behavior Coalition voting agreement, cross-party cooperation view_coalition_alignment_matrix
Party discipline, coalition stability
Constituency Behavior District representation, constituent engagement view_electoral_district_data
Responsiveness to voters
Committee Behavior Attendance, contributions, influence view_committee_participation
Policy expertise, influence
Strategic Behavior Timing of actions, position-taking view_temporal_voting_patterns
Electoral strategy, political calculation
Behavioral Analysis Pattern:
@Service public class PoliticalBehaviorAnalysisService {
/**
* Analyze voting independence vs. party loyalty
*/
public BehaviorProfile analyzeLegislativeBehavior(String politicianId, LocalDate startDate, LocalDate endDate) {
// Retrieve voting record
List<VotingRecord> votes = votingRepository.findByPoliticianAndDateRange(politicianId, startDate, endDate);
// Calculate behavioral metrics
double partyDiscipline = calculatePartyDiscipline(votes);
double independenceIndex = 1.0 - partyDiscipline;
double legislativeActivity = calculateActivityLevel(votes);
double crossPartyCooperation = calculateCrossPartyVoting(votes);
// Contextual interpretation
String interpretation = interpretBehaviorProfile(
partyDiscipline,
independenceIndex,
crossPartyCooperation
);
return BehaviorProfile.builder()
.politicianId(politicianId)
.period(new Period(startDate, endDate))
.partyDiscipline(partyDiscipline)
.independenceIndex(independenceIndex)
.legislativeActivity(legislativeActivity)
.crossPartyCooperation(crossPartyCooperation)
.interpretation(interpretation)
.build();
}
private String interpretBehaviorProfile(double discipline, double independence, double crossParty) {
if (discipline > 0.95 && crossParty < 0.05) {
return "Highly disciplined party loyalist with minimal cross-party cooperation";
} else if (independence > 0.20 && crossParty > 0.15) {
return "Independent-minded politician with significant cross-party engagement";
} else if (discipline > 0.85 && crossParty > 0.10) {
return "Generally loyal to party but willing to cooperate across party lines";
} else {
return "Moderate party loyalty with selective independence";
}
}
}
- Public Policy Analysis Framework
Purpose: Assess policy development, implementation, and outcomes.
Policy Cycle Analysis:
-
Problem Identification ├─ Issue salience (media mentions, questions) ├─ Stakeholder mobilization (pressure groups) └─ Political attention (parliamentary debates)
-
Policy Formulation ├─ Committee deliberations ├─ Expert consultations └─ Draft legislation
-
Decision Making ├─ Parliamentary debate quality ├─ Voting outcomes └─ Coalition agreement
-
Implementation ├─ Budget allocation ├─ Agency assignment └─ Regulatory framework
-
Evaluation ├─ Outcome metrics ├─ Cost-benefit analysis └─ Public satisfaction
CIA Platform Policy Tracking:
-- Example: Track policy lifecycle from proposal to implementation CREATE MATERIALIZED VIEW mv_policy_lifecycle AS SELECT doc.id as proposal_id, doc.title as policy_title, doc.submitted_date as proposal_date, doc.status as current_status,
-- Committee phase
committee.name as assigned_committee,
committee.review_duration_days,
-- Voting phase
ballot.vote_date,
ballot.yes_votes,
ballot.no_votes,
ballot.abstain_votes,
CASE WHEN ballot.yes_votes > ballot.no_votes THEN 'PASSED' ELSE 'REJECTED' END as outcome,
-- Implementation phase
budget.allocated_amount,
ministry.responsible_ministry,
ministry.implementation_start_date,
-- Policy cycle duration
(ballot.vote_date - doc.submitted_date) as deliberation_duration,
(ministry.implementation_start_date - ballot.vote_date) as implementation_lag
FROM riksdagen_document doc LEFT JOIN committee_review committee ON doc.id = committee.document_id LEFT JOIN ballot ballot ON doc.ballot_id = ballot.id LEFT JOIN budget_allocation budget ON doc.id = budget.policy_id LEFT JOIN ministry_assignment ministry ON doc.id = ministry.policy_id WHERE doc.type = 'PROPOSITION' ORDER BY doc.submitted_date DESC;
- Democratic Theory Application
Purpose: Evaluate democratic quality and accountability mechanisms.
Democratic Quality Indicators:
Dimension Indicators Measurement Target
Electoral Accountability Turnout, competitiveness, representation view_electoral_participation
High turnout, competitive elections
Legislative Responsiveness Constituency alignment, question activity view_politician_district_alignment
Strong constituent representation
Government Transparency Data availability, reporting frequency Platform completeness metrics 100% data availability
Institutional Effectiveness Policy output, implementation success view_committee_productivity
High legislative productivity
Checks and Balances Opposition activity, oversight effectiveness view_parliamentary_oversight
Active opposition, robust oversight
Political Equality Representation diversity, access equity view_representation_demographics
Proportional representation
Democratic Accountability Assessment:
@Service public class DemocraticAccountabilityService {
public DemocracyScorecard assessDemocraticQuality(String period) {
DemocracyScorecard scorecard = new DemocracyScorecard();
// 1. Electoral Accountability
double turnoutRate = electoralService.calculateTurnoutRate(period);
double competitivenessIndex = electoralService.calculateCompetitiveness(period);
scorecard.setElectoralAccountability(
(turnoutRate * 0.5) + (competitivenessIndex * 0.5)
);
// 2. Legislative Responsiveness
double questionActivity = parliamentaryService.calculateQuestionRate(period);
double constituencyAlignment = parliamentaryService.calculateAlignmentScore(period);
scorecard.setLegislativeResponsiveness(
(questionActivity * 0.4) + (constituencyAlignment * 0.6)
);
// 3. Government Transparency
double dataCompleteness = platformService.calculateDataCompleteness(period);
double reportingFrequency = platformService.calculateReportingRate(period);
scorecard.setGovernmentTransparency(
(dataCompleteness * 0.6) + (reportingFrequency * 0.4)
);
// 4. Institutional Effectiveness
double legislativeProductivity = parliamentaryService.calculateProductivity(period);
double policyImplementationRate = governmentService.calculateImplementationRate(period);
scorecard.setInstitutionalEffectiveness(
(legislativeProductivity * 0.5) + (policyImplementationRate * 0.5)
);
// 5. Overall Democracy Score (0-100)
scorecard.setOverallScore(
(scorecard.getElectoralAccountability() * 0.30) +
(scorecard.getLegislativeResponsiveness() * 0.25) +
(scorecard.getGovernmentTransparency() * 0.20) +
(scorecard.getInstitutionalEffectiveness() * 0.25)
);
return scorecard;
}
}
Swedish Political System Specifics
Parliamentary System Characteristics
Riksdag (Swedish Parliament):
-
Unicameral: 349 members (odd number prevents ties)
-
Electoral System: Proportional representation with 4% threshold
-
Term: Fixed 4-year terms
-
Voting: Electronic voting system, recorded votes
-
Committees: 15 standing committees with specialized policy areas
Government Formation:
Election Results ↓ Speaker Nomination (Talman) ↓ Formateur Appointed (Prime Minister Candidate) ↓ Coalition Negotiations ↓ Government Formation ↓ Investiture Vote (Negative Parliamentarism) ↓ Government Sworn In
Negative Parliamentarism: Prime Minister confirmed unless absolute majority votes against.
Party System Analysis
Swedish Party Spectrum (Left → Right):
-
Vänsterpartiet (V) - Left Party
-
Socialdemokraterna (S) - Social Democrats
-
Miljöpartiet (MP) - Green Party
-
Centerpartiet (C) - Centre Party
-
Liberalerna (L) - Liberals
-
Kristdemokraterna (KD) - Christian Democrats
-
Moderaterna (M) - Moderate Party
-
Sverigedemokraterna (SD) - Sweden Democrats
Coalition Patterns:
-- Historical coalition analysis CREATE MATERIALIZED VIEW mv_coalition_history AS SELECT gov.start_date, gov.end_date, ARRAY_AGG(party.name ORDER BY party.seat_count DESC) as coalition_parties, SUM(party.seat_count) as total_seats, ROUND(100.0 * SUM(party.seat_count) / 349, 2) as seat_percentage, gov.stability_index, gov.duration_months FROM government gov JOIN government_party gp ON gov.id = gp.government_id JOIN party party ON gp.party_id = party.id GROUP BY gov.id, gov.start_date, gov.end_date, gov.stability_index, gov.duration_months ORDER BY gov.start_date DESC;
Analytical Methods
Quantitative Methods
Statistical Techniques:
-
Regression Analysis: Identify factors influencing voting behavior
-
Time Series Analysis: Track trends in political indicators over time
-
Cluster Analysis: Group politicians by voting similarity
-
Principal Component Analysis (PCA): Reduce dimensionality of voting data
-
Network Analysis: Map coalition relationships and influence networks
Example: Regression Analysis of Voting Behavior:
import pandas as pd import statsmodels.api as sm
Load voting data
voting_data = pd.read_sql(""" SELECT politician_id, party, district_urbanization_rate, district_unemployment_rate, vote_yes_rate, vote_no_rate, vote_abstain_rate FROM view_politician_voting_summary """, connection)
Prepare independent variables
X = voting_data[['district_urbanization_rate', 'district_unemployment_rate']] X = sm.add_constant(X)
Dependent variable
y = voting_data['vote_yes_rate']
Run regression
model = sm.OLS(y, X).fit() print(model.summary())
Interpretation: How do district characteristics affect voting patterns?
Qualitative Methods
Case Study Analysis:
-
Deep dive into specific political events or decisions
-
Contextual understanding of voting behavior
-
Identify causal mechanisms behind patterns
Content Analysis:
-
Analyze parliamentary debate transcripts
-
Examine political manifestos and policy documents
-
Study media coverage and framing
Elite Interviews: (Future capability)
-
Structured interviews with politicians
-
Expert consultations on policy interpretation
Decision Framework
When Analyzing Political Data
START: Political Analysis Task │ ├─→ What is the research question? │ ├─→ Descriptive: Use descriptive statistics, visualizations │ ├─→ Explanatory: Use regression, causal inference methods │ └─→ Predictive: Use time series, machine learning models │ ├─→ What is the unit of analysis? │ ├─→ Individual politician: Focus on voting records, activity │ ├─→ Political party: Focus on electoral performance, coalition behavior │ ├─→ Institution: Focus on committee productivity, ministry effectiveness │ └─→ Policy: Focus on legislative lifecycle, implementation outcomes │ ├─→ What is the time frame? │ ├─→ Single event: Use case study, qualitative methods │ ├─→ Short term (weeks/months): Use descriptive statistics │ ├─→ Medium term (years): Use trend analysis, comparative methods │ └─→ Long term (decades): Use time series, historical analysis │ ├─→ What is the goal? │ ├─→ Academic research: Emphasize rigor, theory testing │ ├─→ Journalism: Emphasize timeliness, public interest │ ├─→ Public transparency: Emphasize accessibility, accountability │ └─→ Political consulting: Emphasize actionability, strategic insight │ └─→ Apply appropriate framework ├─→ Comparative Politics Framework ├─→ Political Behavior Framework ├─→ Public Policy Analysis Framework └─→ Democratic Theory Framework
ISMS Compliance Mapping
ISO 27001:2022 Controls
-
A.5.10 - Acceptable Use of Information: Ensure political analysis is objective, non-partisan
-
A.5.13 - Labelling of Information: Classify political data by sensitivity (public figures vs. private citizens)
-
A.8.3 - Information Access Restriction: Restrict access to PII in political datasets
NIST Cybersecurity Framework
-
ID.GV-4: Governance and risk management processes address privacy implications of political data
-
PR.DS-1: Data-at-rest protection for sensitive political information
-
PR.IP-2: Privacy requirements integrated into political analysis workflows
CIS Controls v8
-
Control 3.12: Segment sensitive political data (PII) from public data
-
Control 14.1: Establish security awareness training for OSINT ethics
Hack23 ISMS Policy References
Review these policies before political science analysis:
-
Data Protection Policy: https://github.com/Hack23/ISMS-PUBLIC/blob/main/policies/data-protection-policy.md
-
Research Ethics Policy: https://github.com/Hack23/ISMS-PUBLIC/blob/main/policies/research-ethics-policy.md
-
OSINT Collection Policy: https://github.com/Hack23/ISMS-PUBLIC/blob/main/policies/osint-collection-policy.md
References
Political Science Literature
-
Comparative Politics: Lijphart, A. (2012). Patterns of Democracy
-
Political Behavior: Dalton, R. J. (2020). Citizen Politics
-
Public Policy: Sabatier, P. A. (2007). Theories of the Policy Process
-
Democratic Theory: Dahl, R. A. (1989). Democracy and Its Critics
Swedish Political System
-
Riksdagen: https://www.riksdagen.se/
-
Swedish Constitution: https://www.riksdagen.se/en/how-the-riksdag-works/democracy/the-constitution/
-
Election Authority: https://www.val.se/
CIA Project Documentation
-
DATA_ANALYSIS_INTOP_OSINT.md: Intelligence analysis frameworks
-
SWOT.md: Strategic assessment methodology
-
INTELLIGENCE_DATA_FLOW.md: Data pipeline and analytical views
Academic Journals
-
Scandinavian Political Studies
-
West European Politics
-
Electoral Studies
-
Legislative Studies Quarterly
Success Metrics
Track these KPIs to measure analytical quality:
-
Accuracy: Predictive models achieve 80%+ accuracy
-
Objectivity: Balanced coverage of all political parties
-
Timeliness: Analysis published within 48 hours of new data
-
Impact: Citations in academic research, media references
-
Transparency: All methodologies documented and reproducible