The Personal Pay Baseline, From Public Data to a Defensible Target Range
You will produce a floor, midpoint, and stretch pay target for your exact role, matched on job content, aged to one date, blended across three sources, and defensible when challenged.
Key takeaways
- A defensible pay target blends three to four independent sources; guidance recommends at least two or three and most compensation teams use three to five per job family.
- A data point only counts if at least 80 percent of its job duties match yours; below that threshold you are priced against the wrong population and no amount of aging fixes it.
- Skipping the aging step can understate a competitive technical role by 10 to 20 percent within a single year, because a current-looking number may reflect market conditions 12 to 24 months old.
- Employers anchor midpoint at P50, but candidate guidance shifts the ask to P60 through P80 to offset negotiation compression, so the same data reads differently from each side.
- In Refolk's index, a US skill cut for Data Analysis returns about 8 times more people than a specific title like Software Engineer, so you must narrow the cut before trusting any percentile.
- Government OEWS data is defensible precisely because it is slow: three-year pooling buys reliability for small occupations but guarantees lag, so use it as the stable anchor, not the current number.
Setting a pay target for yourself is a different job from building a company pay structure, and almost every guide online does the second one. This is the candidate-side procedure: how to produce a floor, midpoint, and stretch number for your exact role, matched on job content, aged to a common date, and blended across at least three independent public sources. It is for anyone who is about to apply, about to name a number, or about to be asked "what are you looking for?" and wants an answer they can defend when a recruiter pushes back.
The hard part is not finding salary data. There is more of it than ever. The hard part is that the sources disagree, they are different ages, they measure different things, and most of them are matched to the wrong role. This guide carries the arithmetic that compensation teams use - content-matching, aging, and weighted blending - end to end into a single number you own.
Why a few averages is not a target
A target range is three numbers you can defend, not one average you found on a free site. A good target has a floor near the 25th percentile of blended data, a midpoint at the median, and a stretch near the 75th, all matched to your real duties and aged to one date.
The reason "check a few averages" fails is that the four kinds of public data each lie in a different direction. Government statistics are free and defensible but use broad occupation codes with no scope detail. Employer-reported surveys verify the job match but cost money and lag because collection is annual. Crowdsourced sites are timely and granular but self-reported and self-selected. Job postings are current but post ranges that are wide by design. Average them raw and you blend four different errors into one confident-looking wrong number.
The whole method exists to turn that pile of conflicting data into one band you can read aloud. Everything below is in service of that: fix what you are measuring, keep only the data that matches, make every figure the same age, then blend.
The four source categories and what each hides
Each source type trades freshness against reliability, and you want at least one from each side of that trade so no single weakness dominates your result. Pull one government source, one or two crowdsourced aggregators, and posting ranges.
| Source type | Typical lag | Verified match? | Cost |
|---|---|---|---|
| Govt (OEWS) | ~6mo + 3yr pooling | No (broad codes) | Free |
| Employer surveys | Annual collection | Yes | Paid |
| Crowdsourced | Near real-time | No (self-reported) | Free |
| Job postings | Current | No (wide ranges) | Free |
Government data means the BLS Occupational Employment and Wage Statistics program (OEWS), which reports five percentiles across more than 800 occupations and draws on roughly 1.1 million establishment responses per cycle. Its weakness is lag: OEWS pools three years of panels, and the May 2025 estimates drew on panels running from November 2022 to May 2025. It publishes about six months after its reference period, so the effective vintage is older still. That slowness is also its strength. OEWS is defensible precisely because it pools, which is why it belongs as the stable anchor in your blend rather than the current number.
Crowdsourced sites such as Levels.fyi, Glassdoor, and Payscale are the opposite: near real-time and granular, but self-reported and self-selected, so the people who enter data are not a random sample. Posting ranges reflect genuine hiring intent and are the most current input you have, but employers write them wide on purpose, so treat a posted band as a boundary, not a point estimate.
Fix these attributes before you pull a single number
Decide what you are measuring before you look at any data, because the same job title spans wildly different pay depending on scope, and mixing pay elements is the fastest way to a fake gap. The market range comes from comparable role, level, function, industry, geography, company size, and remote status.
The one attribute people forget is the pay element. Decide up front whether you are measuring base salary only, base plus target bonus, or total direct compensation including equity, and then compare like with like. Mixing base-only survey data with a total-cash internal number is the fastest way to conclude you are underpaid by 15 percent when you are not. Label every figure you record with its element.
Attributes to lock before pulling data
- Pay elementBase only, base plus bonus, or total direct comp - pick one and label everything
- Scope and levelSeniority and management responsibility, not the title on your badge
- Function and industryThe work you do and the sector that pays for it
- Geography and remote statusMetro and whether the role is location-bound or remote
- Company sizeStartup scope differs from enterprise scope at the same title
Geography and remote status are separate cuts, not one. A role priced to a specific metro pays differently from a remote role priced nationally, and conflating them produces a number that matches neither. Write your decision as a single line you will not change mid-analysis. If you revise the spec halfway through, every figure you already pulled is now matched to a different role and the blend is corrupt.
Why market thickness changes how much to trust a percentile
A percentile is only as trustworthy as the pool behind it, and pool depth varies enormously by market and by how you cut it. The thinner the pool, the more sources you need to compensate.
Look at the same title across two countries in Refolk's index.
| Market | "Software Engineer" matches | Share of US pool (derived) |
|---|---|---|
| United States | 353,689 | 100% |
| United Kingdom | 44,106 | 12.5% |
| US-to-UK multiple (derived) | 8.0x | - |
In Refolk's index of professional profiles, the US has about 8 times more people matching "Software Engineer" than the UK, 353,689 against 44,106. A UK percentile therefore rests on a far thinner pool. If you are pricing a UK role, widen your source count and lean harder on live postings to offset the thinness.
The cut you choose matters as much as the market. Compare a title cut against a skill cut in the same country.
| Query basis | US matches | Multiple vs title (derived) |
|---|---|---|
| Title "Software Engineer" | 353,689 | 1.0x |
| Skill "Data Analysis" | 2,864,162 | 8.1x |
A skill tag returns about 8 times more people than a specific title. That is the trap: an unscoped "data" search pulls a population roughly eight times broader than your actual role, so its median is meaningless for you. This is why fixing attributes comes first. A thick, well-scoped pool gives you a percentile you can trust; a thin or over-broad one gives you a confident number built on the wrong people.
A percentile built on the wrong population is not conservative, it is just precise about the wrong thing.
Run the procedure end to end
This is the full sequence from a blank sheet to three defensible numbers. Budget roughly four to six hours the first time; it drops to under two once you have a template. The order matters, especially the aging step, which sources disagree on - age before you blend to stay on the safe side.
From public data to a defensible target range
- Fix the role specWrite down level, scope, management responsibility, geography, company size, remote status, and which pay element you are measuring. Done: a one-line definition you will not change mid-analysis.
- Draft your real job contentList your actual duties instead of your title, so you can run the 80 percent match test later. Done: a duties list ready to compare against each source description.
- Pull from three or four sourcesTake one government source, one or two crowdsourced aggregators, and posting ranges. Record each source's P25, P50, P75, sample context, and effective date. Done: a table with a dated figure per source.
- Apply the 80 percent content testDiscard or adjust any data point below roughly 80 percent duty overlap. Done: every retained row passes the test on content, not title.
- Age every source to one datePro-rate or compound each figure to one common effective date using the ECI wages rate, or 4 to 6 percent for hot technical segments. Done: all figures carry the same effective date.
- Weight and blend into a compositeAssign each source a weight by sample size, recency, and relevance, then multiply and sum. Done: three composite percentiles, P25, P50, and P75.
- Set floor, midpoint, stretchMap floor near composite P25, midpoint at P50, stretch near P75, then shift up toward P60 to P80 for a negotiation target. Done: three defensible numbers.
- Build the defense fileRecord sources, matches, aging assumptions, weights, and the common effective date in one sheet. Done: a document you can show when challenged.
The 80 percent content test
The 80 percent rule is a discard rule, not a judgment of degree. For a match to be defensible, at least 80 percent of the duties and responsibilities must align with the source description; below that threshold, drop the data point or adjust it with an explicit premium or discount. The reason this is binary is that below 80 percent you are not slightly off, you are priced against a different population entirely, and a weak match cannot be rescued by aging it to the right date.
Before you trust any single cut's percentiles, check the pool is thick enough. A common validity threshold is 5 to 7 reporting organizations and 10 or more incumbents per cut. A confident P50 built on three people is noise wearing a number.
Refolk can do the scope-matching work for you: it reads your own history, so when you tell it the role you are targeting it already knows your real duties and level rather than just your title, which is exactly the input the 80 percent test needs.
Aging every source to one date
Aging means pro-rating a figure forward from its effective date to today using the annual market movement of salaries. The simple documented formula is:
Simple aging factor = (months to age / 12) x annual market movement rate Compound aging factor = (1 + annual rate) ^ (months / 12) Aged figure = original figure x aging factor Example, 18-month-old survey at 3.1% annual rate: Simple: (18 / 12) x 0.031 = 0.0465, so x 1.0465 Compound: (1 + 0.031) ^ (18/12) = 1.0468, so x 1.0468 A $120,000 figure ages to about $125,600
Use the compound form for multi-year gaps; the simple form is fine within a year. Age each source to the same common date before blending.
The standard reference rate for a general population is the BLS Employment Cost Index. For private-industry workers, wages and salaries rose 3.1 percent for the 12 months ending June 2026, with that release dated July 31, 2026. The total-compensation figure held flat at 3.4 percent for three straight quarters through that period. Before May 2021, OEWS itself used the ECI to update older wages, so this is the method the government uses on its own data.
Weighting and blending
Blending means combining your aged, matched sources into one composite percentile. Assign each source a weight reflecting its sample size, recency, and relevance to your market, multiply each source's value by its weight, and sum the results. The output is your composite value for that percentile. Do this separately for P25, P50, and P75.
The blend, in order
- MatchKeep only sources that pass the 80% content test
- AgeBring every figure to one common effective date
- WeightScore each source by sample size, recency, relevance
- BlendMultiply by weight and sum into one composite per percentile
Guidance converges on three or four sources, with two or three the floor and most compensation teams using three to five per job family. More than that adds noise; fewer leaves you exposed to one source's sampling quirk. Weight OEWS for its sample size, weight a well-scoped crowdsourced source for recency, and weight postings low because their ranges are wide.
Turn composites into floor, midpoint, and stretch
Map your composite percentiles to a band, then shift the band up for negotiation. Floor sits near composite P25, midpoint at P50, and stretch near P75; for a candidate target specifically, shift the whole band toward P60 to P80.
This is the one place candidate advice diverges sharply from employer practice. Employers anchor structural midpoint at P50, set the range minimum near P25 for developing performers, and the maximum near P75 for fully experienced high performers. A typical professional range spreads 30 to 50 percent from minimum to maximum. But once you have your P50 figure, published candidate advice says to add 10 to 15 percent to account for negotiation compression, putting your low end at P60 and your high end at P75 to P80. The same percentile data, read from opposite sides of the table.
Reading the same percentiles from two sides
Chanelle Howell, an ex-Goldman recruiter, frames this as the difference between a $100k candidate and a $150k candidate who are otherwise identical: the one who has done this work names a number with structure behind it. That structure is your defense file.
How this goes wrong
Most bad pay targets fail in one of seven predictable ways, and each has a specific check. These are the failure modes to audit before you call a number defensible.
| Failure mode | What it looks like | The check |
|---|---|---|
| Title-matching | Your "Director" prices against F500 directors | Confirm 80% duty overlap first |
| Mixing pay elements | Base vs total-cash reads as a 15% gap that is not real | Label every figure base / base+bonus / total |
| Skipping aging | A current-looking number 12-24 months stale | Confirm the common effective date on every source |
| Wrong aging rate | National 3.1% applied to a 4-6% segment | Use a segment-appropriate rate |
| Thin cut | Confident P50 on too few incumbents | Require ~5-7 orgs and 10+ incumbents |
| Trusting one source | One vendor's quirk becomes your "market" | Blend 3-4 with explicit weights |
| Naming your floor | Wide range, recruiter hears the bottom | Keep the band narrow, anchor above P50 |
The two that cost the most money are skipping aging and title-matching, and they are related. Title-matching puts you against the wrong population, and skipping aging leaves you against last year's version of it. A number can look current and specific while being wrong on both counts. The 80 percent test and the common-date check together catch most of the damage, which is why they are non-negotiable steps rather than optional polish.
Thin-cut errors are the quietest. A percentile looks authoritative whether it was built on 500 incumbents or 5, so the burden is on you to confirm depth. When a market is thin, as the UK software pool is at roughly one-eighth the US depth, you compensate by widening your source count rather than trusting a single thin cut.
Before you name a number
Run this checklist before you quote a range to anyone. If every item is true, you have a target you can defend line by line.
Defensible pay target checklist
- My role spec is one line and I did not change it mid-analysis
- I measured one pay element (base, base+bonus, or total) and labeled every figure
- I pulled three or four independent sources across at least two categories
- Every retained data point passed the ~80% content-match test
- Each cut had enough depth (~5-7 orgs, 10+ incumbents) or I widened my sources
- Every figure is aged to the same common effective date
- I used a segment-appropriate aging rate for any hot technical role
- I weighted sources by sample size, recency, and relevance and blended each percentile
- My floor, midpoint, and stretch map to composite P25, P50, P75, shifted up to P60-P80 for the ask
- I have a one-page defense file with sources, matches, aging, weights, and the common date
Keeping the number current
A pay target has a shelf life. The inputs move, and so should your range. The two things that drift are the aging rate and the underlying data, so re-check both on a schedule rather than when a recruiter surprises you.
The ECI news release updates quarterly. Note the release date, the reference period, and the private-industry wages figure each quarter, and re-age your composite from the last common date to the new one. OEWS publishes annually in the spring with a reference period from the prior year, so when a new vintage lands, re-pull your government anchor and re-blend. Watch for disruptions to the data pipeline too: a federal shutdown delayed one recent OEWS panel, though response rates stayed in normal range, so a late release is not automatically a corrupt one.
When you are ready to validate your level and scope against real people rather than a title, search for the exact transitions you are targeting.
Keep the defense file as a living sheet. When you re-age or re-pull, update it in place and date the change. The first time a recruiter pushes back and you walk them through your sources, matches, aging assumptions, and weights without hesitating, the hours you spent building it pay for themselves.
Questions job seekers ask
How many salary sources do I actually need to blend?
Use three or four independent sources as your target, with two or three the absolute floor. Most compensation teams blend three to five per job family, weighting each by sample size, recency, and relevance. One source is never enough: a single vendor's sampling quirk becomes your entire view of the market. Pick one government source, one or two crowdsourced aggregators, and posting ranges so no single method dominates.
How do I age salary survey data to the current date?
Multiply the figure by an aging factor. The simple version is (months to age divided by 12) times the annual market movement rate; the compound version is (1 plus the annual rate) raised to months over 12. Use the ECI private-industry wages rate, 3.1 percent for the 12 months ending June 2026, as the general reference, or 4 to 6 percent for hot technical segments. Age every source to the same common date before you blend.
Why can't I just match by job title?
Because title has no fixed scope. A Director at a 50-person startup often holds the scope of a Manager at a Fortune 500 company, so matching by title prices you against the wrong population. The documented standard is the 80 percent rule: at least 80 percent of the duties and responsibilities must align with the source description. Below that, discard the data point or adjust it with an explicit premium or discount.
What salary should I ask for once I have the data?
Anchor your ask above P50. Employers set structural midpoint at P50, but candidate guidance adds 10 to 15 percent to offset negotiation compression, putting your range low end at P60 and high end at P75 to P80. Keep the band narrow. A wide range signals you have not priced the role, and the recruiter hears the bottom number as your real expectation.
Is free government data good enough on its own?
No, but it is your best anchor. OEWS is free, defensible, and huge, drawing on roughly 1.1 million establishment responses per cycle across more than 800 occupations. The cost is lag: it pools three years of panels and publishes about six months after its reference period, so the effective vintage is older still. Use it as the stable anchor in a blend of fresher sources, never as the sole current number.
Put this to work
Paste your career in once. Every application after that is written for you.
Drop a resume or a LinkedIn URL. I rank the live openings against it, rewrite the resume and write a cover letter for the best of them, and fill in the employer's form when you press the button. You read, you decide what goes out.
01Drop your resume
A PDF or a LinkedIn URL. About a minute, once.
02I rank the openings
Every weekday morning, the live catalog scored against your history. Up to 20 worth your time, not two hundred links.
03Each one is written up
Resume rewritten for the posting, a cover letter, a fit score. Press send, or let me fill in the form.
- New matches ranked and written before you are up.
- Every bullet stays inside what your history supports. Nothing invented.
- Queued, submitted, interviewing, offer: one screen, not a spreadsheet.
500 free credits on sign-up. No card. Nothing is sent until you say so.