Methodology
How Pockoly calculates its scores.
Three-layer scoring
A. Structural score (80%)
Stable baseline conditions. 10 axes (safety, governance, healthcare, education, etc.) normalized to 0-100 from public indicators, then combined via weighted average.
B. News delta (20%)
Short-term fluctuations from recent news. Articles are auto-collected via RSS, classified by country and event type, then scored for impact.
C. Fit score (personalized)
Weights are redistributed based on user preferences. Deal-breakers exclude countries, priorities re-rank, and nice-to-haves fine-tune.
Calculation flow
1. Total score
TotalScore = StructuralScore + clamp(NewsDelta, -12, +12)
2. Fit score (quiz)
FitScore = (PersonalWeightedScore + NewsDelta + SoftAdj) x EligibilityFactor
3. Deal-breaker gate
Countries failing deal-breakers are excluded (factor=0) or heavily penalized (factor=0.35). "No active conflict" is a hard exclude; others are soft gates.
Evaluation axes (10)
| Metric | Default weight | Category |
|---|---|---|
| Safety | 18% | safety |
| Political stability | 12% | freedom |
| Press freedom | 8% | freedom |
| Healthcare | 10% | healthcare |
| Education | 10% | education |
| Cost of living | 12% | economy |
| English accessibility | 8% | lifestyle |
| Family friendliness | 8% | family |
| Digital infrastructure | 7% | digital |
| Low disaster risk | 7% | safety |
Data sources
| Metric | Primary source | Update freq. |
|---|---|---|
| Safety | Global Peace Index | Annual |
| Political stability | EIU Democracy Index | Annual |
| Press freedom | RSF World Press Freedom Index | Annual |
| Healthcare | WHO / OECD Health Statistics | Annual |
| Education | OECD Education at a Glance | Annual |
| Cost of living | World Bank / IMF + private data | Semi-annual to annual |
| English accessibility | EF English Proficiency Index | Annual |
| Family friendliness | Safety + Education + Healthcare composite | Annual |
| Digital infrastructure | IMD World Digital Competitiveness | Annual |
| Low disaster risk | World Risk Index | Annual |
News processing
Processing pipeline
- 1. Auto-collect articles from RSS feeds (every 4 hours)
- 2. Deduplication (URL hash + title similarity)
- 3. Country detection (dictionary matching: country names, capitals, cities, currencies, leaders)
- 4. Event classification (keyword dictionary: war/disaster/policy change, etc.)
- 5. Impact estimation (severity x confidence x time decay x source trust)
- 6. Reflect in country score (capped at +/-12 points)
News sources
BBC World News
English / Trust: High
Al Jazeera
English / Trust: Medium-High
NHK World
Japanese / Trust: High
Time decay
recency_decay = exp(-days_since / 14)
Half-life of 14 days. News from the last 7 days has the strongest impact; after 30 days it nearly disappears.
Limitations and caveats
- Not an absolute evaluation. Use as a comparative aid. Always consult official sources and experts for final decisions.
- Data is not complete. Some countries or metrics may have missing data, in which case interpolated values or category averages are used.
- News has biases. English-language media dominance means coverage of Asia and the Middle East may be relatively lower.
- Policies change quickly. Visa rules, legal reforms, and political changes may not be reflected immediately.
- No value judgments on countries or cultures. Scores are composites of objective indicators and do not imply cultural superiority.