How a price is chosen

Every figure on this site is a published list price for one product, one plan and one country. Where we read a vendor's own price list ourselves, that list is the figure. Elsewhere two collectors read prices independently; where both hold the same cell, one figure is selected by the rule below and the other is discarded. The site never shows two numbers for one cell and asks the reader to choose.

The sources
the vendors' own price pages
Reads each vendor's own published price list, read directly by PriceByCountry. 2,892 raw records, last read 2026-10-06 19:53:50 UTC. Rhythm: weekly. Attribution on every derived row: pricebycountry.com.
opentherank.com
Reads regional store listings and official vendor pages. 8,696 raw records, last read 2026-10-06 12:46:09 UTC. Rhythm: weekly. Attribution on every derived row: via opentherank.com.
geopriced.com
Reads the vendor's own country pricing pages. 2,684 raw records, last read 2026-10-06 12:48:17 UTC. Rhythm: weekly (its own data is a July 2026 snapshot). Attribution on every derived row: via geopriced.com.
Step 0 β€” the vendor's own list

For 34 products we read the seller's own published price list directly: Netflix's per-country Plans and Pricing article, which names every plan on sale to new members and the currency each country is billed in; Spotify's own Premium page in each country, at the regular monthly price after any trial; Disney+'s own sign-up page in each country where it names every plan's regular price (not yet the United States, Canada or most of Latin America, where it shows bundles or offer prices only); the Steam store's own price for each PC game in each storefront; and the Nintendo eShop's own price for each Switch game in its European and American eShops. Such a list is taken as complete for what it covers: no other collector's figure is used there, so a country the seller has left or a plan it has retired cannot linger in the tables. Japan's eShop is not read yet; its prices still come from the collectors below.

A game's price is its list price, and its standard edition. Steam and eShop sales run on different dates in different countries, so comparing sale prices across countries measures the sale calendar, not regional pricing.

We also read the in-app purchase list on each of twenty popular apps' App Store pages in every country. Where that reading shows the same price, in the same currency, as a figure the collector marked unverified or estimated, the figure counts as observed β€” 169 figures in the current build, every ChatGPT Plus storefront among them. Where the page sells a purchase named exactly as the plan, at one price, and the collector's figure is a different one, Apple's price replaces it (7 in the current build). Where a page lists every purchase the app sells and the figure is not among them, the plan is no longer sold in the app and the figure is dropped (10). Apple's page lists at most ten purchases, so where it is cut at ten a missing figure proves nothing and the figure stands; the reading never adds a country or plan the collectors do not carry.

Step 1 β€” records that cannot be right

A record is dropped when its price is zero or negative, when it carries no currency, or when a single reading sits more than ten times above or below the median for that product and plan with nothing to corroborate it. An estimated (not observed) price more than three times its plan's median is dropped too β€” that is almost always a yearly price written down as a monthly one β€” and so is one under a quarter of it, a misread price tier. Every other estimate counts like any read price and is marked with an asterisk in the tables.

One defect is repaired rather than dropped: a source sometimes writes a dollar figure into a local-currency slot, so the local price and the dollar price are identical while the currency says otherwise. Where the raw string names the dollar β€” β€œβ‰ˆ $29.99”, β€œUSD 19.99” β€” the storefront really does bill in dollars, and the currency label is corrected. Where it does not, the true figure is unknowable and the record is dropped. In the current build 0 records were repaired and 2843 dropped, out of 14,272 read.

Step 2 β€” one figure per cell

When both collectors hold the same product, plan and country, the figure is chosen in this order:

  1. An observed reading beats an unverified or inferred one.
  2. At equal quality, the vendor's own storefront price beats a third-party store listing. A store listing carries the store's own markup, which is why the two sources can differ by tens of percent on the same plan in the same country; the vendor's page is what the buyer is actually charged.
  3. If neither rule decides, the fresher reading wins.

The discarded figure is not published, not footnoted on the table and not turned into a disagreement report. Which collector supplied the surviving figure is named on each product page.

Step 3 β€” readings that cannot both be right

A store's markup moves a price by tens of percent, not by multiples. Where the two readings of one cell differ by more than 1.8Γ— either way, one of them is wrong, and it is the older one: the cell keeps the reading taken in the latest collection. Where a source is wrong like that in more than one overlapping country in seven for a plan, none of its readings for that plan are used β€” including countries nobody else prices, because the same fault is the likeliest explanation there too. A missing country is honest; a wrong one is not.

Step 4 β€” one sales channel per plan

Some vendors charge more through the App Store than on their own site; others charge the same to the cent. Every plan is therefore compared within one channel only β€” the one that covers more of its countries β€” so no country looks dearer merely because it was read from a different checkout. How the channels are shown is set out under β€œWeb, app and store prices” below.

The headline plan

Each product's cheapest and dearest country, its income share and its place in the rankings are computed on one plan: the tier one person buys for themselves. Family, student, team and business tiers are never the headline, nor an annual tier where a monthly one exists. Among what remains, the plan priced in the most countries wins, then the cheaper one.

Plans are matched by hand, never by name similarity

Two collectors name the same plan differently and different plans identically. Matching on name similarity produces false pairs β€” a monthly subscription joined to a twelve-month pack, plain storage joined to an AI bundle β€” and those produce fake price gaps. The crosswalk is therefore a fixed, hand-checked table. A pair joins only when product, plan, country and billing period all match. Plans with no counterpart stay separate plans and are shown as extra columns; an extra column costs the reader nothing, a wrong join costs them the truth.

Web, app and store prices

The same plan can cost different amounts depending on where it is paid. Every price here carries its channel: web (the vendor's own site or checkout), app (an in-app purchase in the iPhone App Store, where YouTube Premium costs about a third more than on youtube.com) or store (a store that is itself the seller β€” Steam, the Nintendo eShop, the Apple Store).

A product is compared country to country in one channel only: the one that prices its headline plan in the most countries. Its charts, rankings, the price index, the country comparisons and the calculator all use it. Where we also hold the headline plan in a second channel, the product page offers a switch between the two and states the median gap between them; where the second channel holds only other plans, those appear as plans of their own, marked with their channel. Of 320 products, 196 are priced in the App Store, 18 on the web and 106 in a store; 4 have a switch. The tables mark App Store prices App.

Currency and conversion

Local figures are the vendor's or storefront's own listing, and they are what a price is. Every dollar figure is our conversion of that local price at one rate table β€” the ExchangeRate-API rates of 2026-10-06 β€” whoever read the price. The collectors convert at their own rates on their own dates, which let two identical local prices show different dollar figures; one table puts every country on the same footing. When a local price was read is shown beside it, and is a separate question from the rate. Tax treatment differs by market and is not normalised.

The colour scale

A price is coloured by its ratio to the country you are comparing against, on a logβ‚‚ scale with edges at 0.55 Β· 0.75 Β· 0.92 Β· 1.08 Β· 1.35 Β· 1.8. Seven buckets, green through grey to red: green is cheaper than your market, red is dearer. Colour on this site means price and nothing else.

Price against income

A dollar price says what a product costs; it does not say whether it is expensive. For that, each monthly price is divided by one month of GNI per capita, PPP, from the World Bank (NY.GNP.PCAP.PP.CD), using each country's own vintage β€” they differ, and the vintage is printed.

monthly income   = GNI per capita, PPP Γ· 12
income share (%) = monthly price Γ· monthly income Γ— 100

Worked example. Netflix in India is $5.18 a month. GNI per capita, PPP is $11,600 (2025), so a month is about $967, and the subscription takes 0.54% of it.

One-time purchases β€” hardware, games β€” are never folded into a per-month ranking. They are expressed as months of income instead, and kept in their own categories.

What this data is not
Corrections

If a price here is wrong, it is worth more to us than it is to you: write to info@pricebycountry.com with the product, the country and a link, and the correction goes in with the next build.