1. Set your base price and rules
Use your own price-level numbers (optional)
2. Your price table
| Country | Price level | Price | Discount | Conversion needed to break even |
|---|
Regional discount groups
Enter these as country-specific discounts or codes in your payment processor or store.
3. What would it do to revenue? (optional)
Paste where your visitors or customers come from, as a rough share. Pick the conversion rate you get today and how sensitive buyers are to price. An elasticity of 1 leaves revenue flat; above 1 the discount earns more, below 1 it loses money.
| Country | Share | Price | Per 1,000 visitors, one price | Regional |
|---|
A what-if with one elasticity for every market. It ignores VPN or card-country arbitrage, refunds, and customers who would have paid full price anyway. It is not a forecast.
Run it from the command line
node cli.mjs 29 --tiers 4
node cli.mjs 49 --strength 0.6 --floor 0.4 --format csv
node cli.mjs 29 --traffic shares.txt --elasticity 1.5
Get cli.mjs and ppp.mjs from the repo. Node 18+, no dependencies.
Common questions
What is purchasing-power (PPP) pricing?
Charging customers in lower-cost countries less, so the price feels the same relative to local incomes and prices. Software has almost no per-customer cost, so a smaller price from someone who would otherwise not buy at all can still add revenue.
How much should I discount for India, Brazil or Nigeria?
It depends on your product, so treat any number as a starting point. A common approach is to discount in proportion to the local price level but damp it, so a country at a quarter of the US price level pays more than a quarter of the US price. The strength slider does that, and the floor stops you going too low.
Will people use a VPN to get the cheaper price?
Some will. Most processors and app stores decide the price from the billing country or card, which is harder to fake than an IP address. Keep the gap modest, stay above your floor, and check how many cheap-region sales come from cards issued elsewhere.
Does a discount actually earn more money?
Only if enough extra people buy. The page shows the extra conversion a discount must win just to break even: a 50% discount needs conversion to double. The revenue model lets you try an elasticity assumption against your own traffic mix; it is a what-if, not a forecast.
Where do the price-level numbers come from?
They are rounded estimates in the spirit of the World Bank International Comparison Program price levels, with the US at 100. They are not exact and they change. Paste your own index values to override any country before you publish a price.
Does it convert to local currency?
No. Prices are in the same currency as your base price. Converting at today's exchange rate and snapping to the currency's usual price points is best left to your payment processor or app store.
Is anything uploaded?
No. Everything runs in this page and the page makes no network calls.
More: How to set regional prices for software without losing money