Methodology & sources

We believe a price is only trustworthy if you can see where it came from. Every table on the site names its source and the date we retrieved it. This page explains each source and the maths behind our affordability figures.

Sources

  • iPhone — Apple’s own country storefront pricing API, one request per country.
  • Netflix — Netflix’s official regional help pages listing current plan prices.
  • Spotify — Spotify’s own /premium pages, Individual plan.
  • Big Mac — The Economist’s open Big Mac Index dataset (CC-BY), latest survey.
  • Gasoline — GlobalPetrolPrices.com, price per litre.
  • Income — World Bank Open Data, GNI per capita, Atlas method, current US dollars.
  • Exchange rates — open.er-api.com, base USD, at snapshot time.

How we calculate affordability

  • Days of income (big one-off purchases like a phone): price in USD divided by one day’s share of annual income (GNI per capita ÷ 365).
  • Minutes of work (cheap items like a Big Mac): price divided by the hourly wage, assuming a 2,080-hour work year (40 hours × 52 weeks).
  • Share of income (monthly subscriptions): price divided by one month’s income (GNI per capita ÷ 12).

Important caveats

  • US sales tax. Apple’s US prices exclude sales tax, which varies by state, while every other country’s price includes VAT or GST. The US therefore looks cheaper than it is at checkout.
  • Euro area. The Big Mac Index reports the euro zone as a single bloc, not per country. Where we show a euro-area Big Mac under Germany, it is that bloc average.
  • Taiwan income. The World Bank does not publish GNI for Taiwan, so Taiwan appears in price lists but without an affordability figure. We do not estimate it.
  • Exchange-rate timing. Currencies are converted at the rate captured when we took the snapshot; rates move daily.
  • Average, not median. GNI per capita is an average. In unequal countries the typical person may face a steeper cost than shown.

Freshness

The site is statically generated from data snapshots. When the scrapers run again and we rebuild, every page updates and its retrieval date changes accordingly. That date is always printed next to the data so you know exactly how current a number is.