Documentation
  • Fontdue
๐Ÿ““

Purchasing Power Parity data methodology

Log in Start free trial โ†’

Reference

๐Ÿ““Fontdue.js๐Ÿ““GraphQL๐Ÿ““Demo template

Guides

๐Ÿ““Webflow๐Ÿ““Framer๐Ÿ““Wordpress + Lay Theme๐Ÿ““Wordpress + Semplice๐Ÿ““Next.js (App Router)๐Ÿ““Next.js (Pages Router)

Information

๐Ÿ““Full-service website development๐Ÿ““Managing your font catalog๐Ÿ““Variable fonts๐Ÿ““Font licenses๐Ÿ““Order variables๐Ÿ““Webfonts๐Ÿ““Cross-origin access๐Ÿ““Payments with Stripe๐Ÿ““Tax๐Ÿ““Test fonts๐Ÿ““Test mode๐Ÿ““Manage your Fontdue subscription๐Ÿ““Launching your site๐Ÿ““Troubleshooting๐Ÿ““Customize the Address fields๐Ÿ““reCAPTCHA

Updates

๐Ÿ““Whatโ€™s new๐Ÿ““Update 001๐Ÿ““Update 002๐Ÿ““Update 003๐Ÿ““Update 004๐Ÿ““Update 005
โšก
Start free trial โ†’

Purchasing Power Parity data methodology

We calculate Purchasing Power Parity (PPP) multipliers for prices based on data from the Worldย Bankย API.

We fetch data from two World Bank indicators:

  1. PA.NUS.PRVT.PP: PPP conversion factor for private consumption (LCU per international $)
  2. This provides us with a value in each countryโ€™s local currency representing the cost of a basket of goods equivalent to $1 USD (for example, as of writing in 2025, Brazil has a PPP value of R$2.52ย BRL, computed in 2024).

  3. PA.NUS.FCRF: Official exchange rate (LCU per USD, period average)
  4. This database provides official world-bank exchange rates, which are updated and averaged on a yearly basis (for Brazil, itโ€™s 5.39 BRL = 1 USD from 2024).

Formula

We convert each countryโ€™s local currency to USD using the World Bankโ€™s exchange rate data, then divide by 1 to get the PPP factors. The final multipliers we calculate for each country are indexed by your storeโ€™s country (specified in your Company information settings), such that the multiplier for your home country is alwaysย 1, using the following formula:

M=1+sโ‹…(Pcecโ‹…ebPbโˆ’1)where:ย Pc=countryย PPPย factorPb=storeย countryย PPPย factorec=countryย exchangeย rateeb=storeย countryย exchangeย rates=scaleย factor\begin{aligned} M &= 1 + s \cdot \left(\frac{P_c}{e_c} \cdot \frac{e_b}{P_b} - 1\right) \\ \\ \text{where: } \quad P_c &= \text{country PPP factor} \\ P_b &= \text{store country PPP factor} \\ e_c &= \text{country exchange rate} \\ e_b &= \text{store country exchange rate} \\ s &= \text{scale factor} \end{aligned}Mwhere:ย Pcโ€‹Pbโ€‹ecโ€‹ebโ€‹sโ€‹=1+sโ‹…(ecโ€‹Pcโ€‹โ€‹โ‹…Pbโ€‹ebโ€‹โ€‹โˆ’1)=countryย PPPย factor=storeย countryย PPPย factor=countryย exchangeย rate=storeย countryย exchangeย rate=scaleย factorโ€‹

Scale factor

You may configure a โ€œscaleโ€, which is a number between 0 and 1 that interpolates between the computed multiplier and 1. In other words, 0 means the PPP factor does not affect your pricing at all, and 1 means the PPP factor is used as-is.

Minimum order item amount

You may also configure a โ€œminimum order item amountโ€ โ€“ย we recommend setting this to at least $1 or equivalent, since Stripe requires minimum amounts depending on currency.

Why donโ€™t we use daily exchange rates?

We donโ€™t use daily exchange rates, since the PPP conversion factors are only updated at most yearly, and recorded at a point in time congruent with the exchange rate data. During the purchase process, customersโ€™ local currencies are converted to your storeโ€™s currency using up-to-date exchange rates, and so we do not believe it makes sense to update the multipliers with the latest exchange rates, as this would overcorrect theย values.

  • Purchasing Power Parity data methodology
  • Formula
  • Scale factor
  • Minimum order item amount
  • Why donโ€™t we use daily exchange rates?