Methodology
RPI tracks 15 products (21 plan tiers) in 18 storefronts on App Store, direct web and Steam. This page documents every formula on the site.
1. Collection
A daily pipeline (scripts/scraper_pipeline.py, 02:00 UTC) reads App Store in-app purchase lists per storefront, Apple Online Store iPhone pages, the Steam Store API per cc= region, and vendor pricing pages (Netflix, Spotify, iCloud+, Cursor). Google Play listings are read only as a drift check, because Play shows a price range rather than per-plan prices. Gift-card availability and payment methods come from Apple’s and Google’s official pages, and reseller card prices from SEAGM. FX rates come from ExchangeRate-API’s open endpoint; IMF PPP conversion rates and World Bank GNI per capita are refreshed from their public APIs. Live status and errors are on the data sources page.
2. Formulas
- Spot USD = local list price ÷ FX rate (local units per USD).
- Landed USD = spot USD × (1 + reseller premium), where the premium is the median of (reseller USD price ÷ face value at the day’s FX − 1) across the in-stock denominations one reseller (SEAGM) listed for that store’s gift cards. It applies only on gift-card routes, and only when a listing was observed; otherwise landed = spot. No tax is added: US, Canadian and Argentine list prices are shown pre-tax because the rate depends on the buyer’s address or card.
- Cheapest channel = the channel with the lowest landed USD in that storefront.
- Price gap vs US = spot USD ÷ lowest US list price − 1.
- 12-month saving vs US = (lowest US list price − landed price) × 12. Annual plans use one annual price; one-time purchases use the price difference once.
- Work hours = spot USD per month of use ÷ (World Bank GNI per capita, Atlas method ÷ 2,000 hours).
- PPP value = local price ÷ IMF implied PPP conversion rate, in international dollars.
- Country index = median price gap across all tracked subscriptions and games (hardware excluded).
- Volatility = coefficient of variation of a storefront’s monthly USD cost, from its first observed month onward (no months before the first observation).
- Product statistics: median, mean, standard deviation (σ), quartiles and max ÷ min spread across storefronts, plus the channel delta inside the three cheapest storefronts.
3. Verification tiers
- Source Verified
- The price was read from the official storefront or vendor pricing page for the region by the pipeline (App Store listing, Apple Online Store, Steam API, vendor page). Every published price currently has this tier.
- Checkout Checked
- Reserved for a price confirmed by hand on the store’s final checkout screen (data/verifications.json). None yet.
- Purchase Tested
- Reserved for a price confirmed by a completed purchase (data/verifications.json). None yet.
Only prices a collector has read from an official storefront or vendor page in the last 30 days are published. Routes we track but have not observed are not shown at all, and no price on the site is estimated.
4. Payment routes and gift cards
- Gift cards sold
- App Store: Apple’s payment-methods page lists gift-card redemption for the storefront. Google Play: Google’s gift-card table lists cards on sale in the country. Steam (labelled “Wallet codes resold”): Steam publishes no country list, so this means a reseller lists Steam Wallet codes for the region.
- Vendor checkout
- The vendor’s own checkout. We don’t track which payment methods it accepts.
- No gift cards
- The store’s official page lists no gift cards for the country; pay with a method the store accepts there (Apple’s accepted methods are shown on each country page).
Card B on each product page (“cheapest gift-card route”) is the lowest landed price on a gift-card route. Gift-card availability and accepted payment methods are collected daily from Apple’s payment-methods page and Google’s gift-card table; reseller prices come from SEAGM product pages. Reseller prices are one seller’s list prices, not official prices, and we haven’t tested whether resold codes redeem.
5. Content quality rules
One canonical page per product (plan tiers are tabs), one per country, one per category; there are no product-by-country pages. A product or country hub with fewer than 8 verified storefront rows is served with noindex, follow and left out of the sitemap; price-history pages stay noindexed until 8 storefronts have two or more observed price points. All analytical prose is computed from the data. If two product narratives share more than 85% of their wording once numbers and names are removed, the less-verified page is noindexed until the data diverges, and the build fails outright above 97%.
6. Affiliate policy
Regional Price Index currently has no advertising or affiliate partners and earns nothing from any link on this site. If that changes, partner links will follow the rules below.
Gift-card partner links would be labelled “Ad”, carry rel="sponsored nofollow noopener", and appear only next to a gift-card route that reader checkout reports don’t mark as broken (at least 60% “worked” when reports exist). Partners would never influence prices, rankings or tiers.
7. Data status
Current snapshot: 2026.10.20. Every published price was observed by the pipeline within the last 30 days; a price that is not re-observed for 30 days is withdrawn until it is collected again. Coverage per product and channel is listed on the data sources page.
8. Store terms
Apple, Google and many vendors restrict changing an account’s country or using another region’s pricing. RPI is a price-transparency resource; it does not sell accounts, addresses, tax IDs or payment instruments, and readers are responsible for complying with the terms that apply to them.