Methodology
What was verified
- An adversarial audit spot-checked 22 country-year cells against the source PDFs across six fiscal years. All 22 matched exactly, including deliberately odd mixed-precision values.
- The FY2025 nationality table was separately verified line-by-line against an independent published copy and matched on all 191 values.
- Class-level tables were verified by reconciling every column against each source document's own printed grand total. All 12 years reconcile exactly — the check that catches a dropped or misread row.
What was corrected
- Country label drift. Only 173 of 245 raw spellings appear in all 18 years;
casing flips from Title Case to UPPER at FY2015, and
CHINA - MAINLAND/CHINA,MACAU/MACAU S. A. R.,REPUBLIC OF PALAU/PALAUare the same countries. Untreated, any cross-year comparison silently drops rows. - Aggregate rows excluded.
NON-NATIONALITY BASED ISSUANCESandUNKNOWN NATIONALITY OR STATELESSare not countries and would corrupt every ranking. - 45 community outcome labels downgraded to "unclear" because the quoted text did not support them. This moved reported-approved from 21% to 13%.
What remains uncertain
- A printed
0.00%is genuinely ambiguous in the source — every application issued, or no applications at all. Flagged, never rendered as 100% approval. - Two negative adjusted rates are real (Luxembourg FY2006, Kuwait FY2009): overcomes exceeded refusals.
- Microstates swing between 0% and 100% on tiny denominators. Excluded from rankings and from country pages.
- Three FY2024 class rows don't sum (B1/B2 +2, BBBCC −1, BBBCV −1). The deltas net to zero, the signature of a reclassification. Kept as printed rather than silently fixed.
- Official tables were extracted from PDFs via a language model rather than a deterministic parser. The verification above is what stands behind them.
The Schengen data: what the columns actually mean
The refusal rate is not refused ÷ applications. The European Commission's own definition, which we reproduce exactly, is
not issued ÷ (uniform visas issued + limited-territorial-validity visas issued + not
issued)
Decisions taken in a given year include applications lodged late in the previous year and exclude applications that were withdrawn, so applications is the wrong denominator and understates the rate. We verified our figures against the Commission's own published "not issued rate" column to fifteen decimal places.
The country column is where the consulate is, not the applicant's nationality. The source column is headed "Country where the consulate is located". For India the two are nearly the same thing. For a visa-exempt country they are not remotely the same: the 2025 file records 1,988 decisions at Schengen consulates in Brazil and 2,160 in Denmark — figures that make no sense as national refusal rates for 200 million Brazilians or for Danes, who need no Schengen visa at all, and perfect sense as third-country nationals resident in those places.
This matters because rankings built from this file and labelled by nationality are wrong, and wrong in a way that puts Denmark, Germany, Sweden and Brazil in prominent positions. Every table here is labelled by where the application was lodged.
Consulate rates describe outcomes, not leniency. A post's refusal rate reflects who applies there as much as how it decides. Germany's Mumbai and Kolkata posts apply identical law to different applicant pools. We report the spread because it is large and useful, and decline to call the low end lenient.
Computed figures
Rank, year-over-year change, change versus FY2019, volatility, percentile and peer sets are computed by us and are not published by any government. They are derived arithmetic on the published rates, reproducible from the CSVs on the data page.