4 min read
Comparing salaries across cities: the number on the offer is not the number
A salary only means something after cost of living, inflation and currency are accounted for. How to compare offers across cities honestly, and where the data comes from.
Is £68,000 in London a better offer than €72,000 in Berlin? The honest answer is that the question, as posed, is unanswerable — not because it's hard but because the two numbers aren't in the same units. They differ by currency, by what a unit of currency buys locally, and — if you're comparing against a benchmark from even a couple of years ago — by when the number was true. A useful comparison converts everything into the same units first. Most salary conversations never do, which is why they generate more heat than information.
The three conversions that matter
Currency is the shallow one. Exchange rates move constantly, and a comparison made at last year's rate can be wrong by a meaningful margin today. Any tool doing cross-border comparison needs live FX, not a rate baked in when the page was built. But currency conversion alone answers the wrong question — it tells you what the Berlin salary would buy in London, which is only relevant if you plan to earn in Berlin and spend in London.
Cost of living is the deep one. What you actually want to compare is the life each salary buys where it's earned: rent, groceries, transport, childcare. Rent alone can differ between cities by a factor that swallows the entire gap between two offers. Cost-of-living indices — Numbeo's crowdsourced data is the widely used source — let you deflate each salary by local prices, turning "what you're paid" into "what you can live like". On that measure, the lower nominal offer wins surprisingly often; expensive cities are expensive precisely because the salary premium rarely covers the price premium.
Inflation is the one everyone forgets. Salary data ages badly, and it aged very badly through the recent high-inflation years. A benchmark collected three years ago understates today's market by the accumulated price growth since — so a role that "pays above the median" against a stale benchmark may pay below the real one. Honest benchmarks state their collection date and adjust via CPI to present-day terms. Benchmarks that don't mention a date are stale until proven otherwise.
There's a fourth lens for international moves: purchasing power parity, which compares currencies by what they buy rather than what they trade at. PPP is the right frame for "would my standard of living rise?", while market FX is the right frame for anything you'll spend abroad — remittances, foreign savings, travel. The two frames can point in opposite directions for the same offer, and knowing which question you're asking is most of the work.
Doing it by hand
The manual version of this comparison: find a benchmark for the role in each city and check its date. Adjust old benchmarks forward by inflation. Convert currencies at today's rate for the nominal view. Deflate each salary by a cost-of-living index for the real view. Then look at both views, because they answer different questions — the nominal view is what your savings rate looks like if you live frugally; the real view is what daily life feels like if you don't.
It's an hour of spreadsheet work per comparison, done carefully. The failure mode isn't inability — every ingredient is public — it's that nobody re-does an hour of spreadsheet work every time an offer moves or a new city enters the conversation, so decisions get made on the last comparison, not the current one.
What Quarrion does with this
Quarrion keeps a salary layer with city-level benchmarks that have the corrections applied: inflation-adjusted to present-day terms, comparable across cities via cost-of-living data, convertible at live exchange rates, with a PPP view for cross-country questions — browsable on an interactive globe, because the geography is genuinely part of the information. The point isn't decoration; it's that "is this offer good?" becomes a question you can answer during a negotiation rather than after it.
That timing matters more than it looks. The moment you most need a defensible number is the moment a recruiter asks your expectations — early, on the phone, anchoring everything after. Arriving with a current, adjusted, city-specific range changes that conversation from guessing to negotiating.
The caveats that keep it honest
Benchmarks are distributions, not promises — your offer is set by a company's band and your negotiation, not by a median. Crowdsourced cost-of-living data runs on contributions, and thinly covered cities carry wider error bars. Taxes, healthcare and pension differences between countries can move a comparison as much as rent does, and no index fully captures them. And some things worth moving for — proximity to family, a language you want to live in, a city you love — never appear in any dataset.
The comparison won't make the decision for you. What it does is smaller and still valuable: it stops the decision being made by a number that was never in the right units to begin with.