The figures are modelled estimates, not a database of offers
We do not collect individual pay reports, and we do not scrape job adverts. Every figure on a salary page is a modelled estimate. We start from published medians and build outward from there, which means the numbers behave like a market band: a reasonable range for a role, level, and city, not a quote for any specific person or employer.
Where the anchors come from
Each role has an anchor median drawn from three public sources: occupational wage estimates from the US Bureau of Labor Statistics, the Annual Survey of Hours and Earnings from the UK Office for National Statistics, and verified-offer aggregates from Levels.fyi. These publish at different cadences and measure slightly different things, so where they disagree we treat the government series as the floor of plausibility and the verified-offer data as the signal for large tech employers.
How seniority and city adjustments work
The anchor median describes a mid-level engineer. To produce junior, senior, and staff bands we apply seniority multipliers (junior 0.65x, mid 1.00x, senior 1.45x, staff 2.05x) that approximate the ladder observed in Levels.fyi data for large-cap tech employers. City figures are then adjusted using blended cost-of-living indices from Numbeo and Mercer, and the percentile spread around each median (p10 through p90) is fitted to the dispersion the BLS publishes for US tech occupations. The full breakdown, including source links, sits on the salary hub.
When the anchors were last refreshed
The current anchor sets are the BLS occupational estimates from the May 2024 release, ONS ASHE 2025, Levels.fyi 2025 first-half aggregates, and 2025 editions of the Numbeo and Mercer indices. The figures were last reviewed in May 2025. Pay moves, so a band that was accurate at review time can drift; treat older anchors with proportionally more scepticism.
What the numbers cannot tell you
A modelled band cannot see your specific employer, your level calibration, your equity refreshers, or how well you negotiate. Real offers land above and below these ranges every day. Use the bands to sanity-check an offer and to pick a defensible anchor for negotiation, not as a promise of what you will be paid.
Spotted something wrong?
If a figure looks off against a source we cite, or a role or city mapping seems wrong, tell us through the contact page. Corrections that check out are folded into the next review.