Walk in knowing the answer.
p50, p75, p90 for your role, level and city — computed from 534k+ anonymised, k-bucketed market records. The 90th percentile isn't unicorns. It's eight candidates we measured this month.
Real offers. Nothing else.
Comp data will come from two sources: confirmed offer letters that candidates upload (intake flow ships with the candidate dashboard), and published bands crawled from source ATS feeds (inbound crawler is live; per-band extraction lands next). Until then, the cells you see are placeholder.
Nothing else will make it in. No self-reported guesses. No scraped LinkedIn salaries. No "blind teamblind" rumors. And we'll aggregate cohorts large enough to mask any individual contributor before any number is shown. Sparse cells will be suppressed — you'll see "insufficient signal" rather than a fabricated band.
One cell, every step shown.
A cell is the atomic unit of compensation truth: a tuple of role, level, city, currency, and years-of-experience band. Here's one of the densest cells in our corpus today.
Where the bands are live.
Six function families, sliced by level and metro.
Know the number before the call.
Every match in your Tevos feed comes with the band already attached — p50 you should clear, p75 you should aim for, p90 you should know exists. So you negotiate from data, not from a forum post and a nervous guess. Walk in priced.
Post a band you can defend.
Roles posted on Tevos with a published band see materially higher first-round acceptance than roles without. The band isn't a giveaway — it's a filter. Candidates who decline self-select out before your loop, and the ones who lean in already know the math works.
Tevos auto-flags posts where your band sits below market p50 in your cluster, with a one-click suggestion to lift to a defensible range. No surprises in week two when the offer gets countered.
Questions worth answering.
Is this self-reported?
No. Every figure traces back to either a confirmed offer letter a candidate uploaded after accepting, or a band published by the employer on the JD itself. Nothing else qualifies.
Why not just LinkedIn salaries?
Because LinkedIn aggregates self-reported salary fields users entered for past roles — often years stale, often inflated, often the gross including stock that never vested. We only count offers that actually landed.
How is a cell defined?
Qualitatively: by role family, seniority band, geography, and industry. Numbers surface only when a cohort is large enough to be statistically meaningful and to mask any individual contributor. Below that we abstain.
What about equity?
For private companies we report base + cash bonus separately from a 4-year-vest equity estimate at last preferred valuation, with a confidence flag. We do not blend them into a single number — that's the trick that breaks negotiations.
Stop guessing the number.
Free for candidates. Bands attached to every match.