Method version 1.0.0
Mobility methodology
How a fixed community source snapshot becomes a six-status matrix, a research score and tie-aware ranks.
Source snapshot
The release uses visualpharm/visa-free-dataset at immutable commit 1ed37004913093900eba15eb7845cbd8067d93df. The repository states that it is an updated fork of ilyankou/passport-index-dataset and that its data derives from PassportIndex.org.
The repository carries the MIT licence. That licence applies to repository materials; it does not by itself establish rights, authority or accuracy for each underlying cell.
Universe and identity
The two upstream tidy files align 199 two-letter codes with 199 displayed names. Each passport has one row for every destination. The 199 self-pairs use -1 and are excluded, leaving 199 × 198 = 39,402 published outcomes. ISO-like codes identify rows; geographic labels are descriptive filters and never affect the score.
Conversion rules
Scroll horizontally to see all columns.
| Source token | Normalised status | Score | Rule note |
|---|---|---|---|
Numeric duration, for example 90 | visa_free | 1 | Duration retained as source token |
visa free | visa_free | 1 | No duration supplied |
visa on arrival | visa_on_arrival | 1 | Known category |
eta | eta | 1 | Electronic travel authorisation |
e-visa | evisa | 0 | Application required before travel |
visa required | visa_required | 0 | Advance visa recorded |
no admission | no_admission | 0 | Recorded non-admission |
-1 self-pair | not_applicable | Excluded | Not part of the 39,402-cell matrix |
An unknown or mixed token stops generation. It is not silently forced to zero. This release contains no such unresolved token.
Score and rank
For each passport, the score is visa_free + visa_on_arrival + eta. Each of those three known statuses contributes one point; no quality order is assigned among them. evisa, visa_required and no_admission are retained as separate known categories and contribute zero.
The identity checked for every profile is score + evisa + visa_required + no_admission = 198. Rank uses standard competition ranking: 1 + count(passports with a higher score). Equal scores share a rank and the following rank skips the occupied positions. Tie size is published.
Quality controls
- Exactly 199 distinct passport and destination codes.
- Exactly 39,402 non-self records and one excluded self-pair per entity.
- Only six published statuses.
- Per-profile component identity and competition-rank recomputation.
- Deterministic matrix, source and download SHA-256 checksums.
- Full JSON/CSV parity tests.
Known limits
This is community-derived research data. WIMA has not verified every cell with a public authority, and the ordering is not issued or endorsed by one. The source can lag rule changes, exceptions or individual eligibility. Numeric duration tokens are preserved as reported but are not independently validated stay entitlements.
Always check the destination’s current public-authority guidance and the carrier before travel. Report suspected errors through WIMA’s corrections process.
Cover-image policy
Illustrative covers are shown only when the legacy asset manifest marked the item keep and a second screen found a raster asset within the published universe, no embedded third-party source notice, no known disallowed publisher metadata and no visual mismatch. Outputs are metadata-stripped AVIF with WebP fallback. A cover does not establish current edition status or support any data cell; doubtful items are omitted.