Methodology & Data Sources

Data Sources

Riksdagen Open Data

Parliamentary voting records, motions, and documents from Sweden's parliament.

  • URL: data.riksdagen.se
  • Update Frequency: Nightly (02:30 CET)
  • Coverage: 2002-present
  • Data Quality: ⭐⭐⭐⭐⭐ Official

Valmyndigheten

Official election results at national, regional, and municipal levels.

  • URL: val.se
  • Update Frequency: After each election
  • Coverage: 1970-present
  • Data Quality: ⭐⭐⭐⭐⭐ Official

Statistics Sweden (SCB)

Demographic, economic, and social indicators for municipalities and regions.

  • URL: scb.se
  • Update Frequency: Weekly
  • Coverage: Varies by indicator
  • Data Quality: ⭐⭐⭐⭐⭐ Official

Kolada

Municipal performance indicators including education, healthcare, and infrastructure.

  • URL: kolada.se
  • Update Frequency: Weekly
  • Coverage: All Swedish municipalities
  • Data Quality: ⭐⭐⭐⭐ Aggregated

Calculation Methods

Coalition Viability

Coalition viability is calculated using two metrics:

  1. Seat Count: Sum of mandates from the latest election. Majority threshold is 175 seats (50% of 349 Riksdag seats).
  2. Policy Overlap: Average agreement across all policy issues between coalition partners.
    • Identical stances = 100% agreement
    • One "Mixed" stance = 50% agreement
    • Opposite stances = 0% agreement
    Final score is the average across all pairwise comparisons within the coalition.

Voter Compass (Valbarometer)

The voter compass calculates your match with each party using a weighted distance model:

question_score = Weight × (2 - |user_answer - party_answer|)
match = SUM(question_score for all questions)
normalized_match = (match / (SUM(Weight × 2))) × 100

Where:

  • User answers range from -2 (strongly disagree) to +2 (strongly agree)
  • Party positions are pre-determined based on official policy documents and documented behaviour
  • Questions can be weighted based on importance (1-5 scale) and high-priority strategic items carry more weight

Stance Classification

Party positions on issues are classified into four categories:

  • For (3): Party actively supports and advocates for the policy
  • Mixed (2): Party has nuanced or conditional support
  • Against (1): Party actively opposes the policy
  • No Position (0): Party has not taken a clear stance

Stances are determined by:

  1. Official party manifestos and policy documents
  2. Voting records in parliament (when available)
  3. Leadership statements and press releases

Data Quality & Limitations

Known Limitations

  • Historical Data: Voting records before 2002 are incomplete due to digitization gaps
  • Party Positions: Positions may be simplified and don't capture all nuances
  • Real-time Updates: Data is updated nightly, not in real-time
  • Municipal Data: Some indicators have a 1-2 year lag

Quality Assurance

We ensure data quality through:

  • Automated validation during import
  • Manual review of party position classifications
  • Source verification (links provided for all major claims)
  • Regular audits of calculation algorithms
  • Community feedback and corrections

Privacy & GDPR Compliance

Voter Compass Data

By default, your voter compass answers are stored only in your browser using localStorage. They are never sent to our servers unless you explicitly opt-in.

Optional Result Saving

If you choose to save and compare your results:

  • We store only an anonymous session ID (no personal information)
  • Results are automatically deleted after 30 days
  • You can request deletion at any time
  • Data is encrypted at rest and in transit

Cookies

We use only essential cookies for:

  • Session management
  • Security (CSRF protection)
  • Performance (caching)

We do not use tracking cookies or analytics that identify individual users.

Last Updated

Riksdag Data:
2026-01-10 00:59
Election Results:
2022-09-11
Municipal Indicators:
2026-01-03

Open Source & Contributions

Opinionsvalet is an open-source project. Our code, methodology, and data processing pipelines are publicly available on GitHub. We welcome contributions, suggestions, and corrections.

View on GitHub