Most salary negotiation advice tells you to "know your worth" and "do your research." That's not wrong, but the research part is broken. Glassdoor salary ranges are notoriously wide, self-reported with no verification, and skewed toward people who are motivated to post — usually those who are underpaid and frustrated, or unusually highly paid and proud of it. Neither group represents the center of the distribution. The average Glassdoor range spans $30,000–$50,000 for common roles, which is nearly useless for a precise negotiation.
Here is a system that works.
The Foundation: Understand What You're Actually Negotiating
Most people think they're negotiating a single number. They're not. A job offer is a bundle of variables: base salary, annual bonus (target and realistic), equity (amount, vesting schedule, type), signing bonus, benefits with real dollar value (health, 401k match, PTO), and non-monetary terms (schedule flexibility, remote work, title). Your goal is to optimize the total, not just the base.
That said, base salary matters most in the long run. Raises, future offers, and 401k contributions (at companies that match a percentage of salary) are all calculated as a percentage of base. A $5,000 difference in base salary today compounds into roughly $70,000–$90,000 over a decade when you account for annual raises and the compounding effect on future offers. Optimize base first.
Step 1: Build a Real Anchor Number
The single most important thing you can do before any negotiation is walk in with one specific number — not a range, not a vague sense of "more," but a specific figure you can defend with data. A range signals that you'll accept the bottom of it. If you say "$110,000–$130,000," a trained hiring manager hears "$112,000."
To find your anchor number:
- BLS Occupational Employment and Wage Statistics (OES): This is free, public, government-collected data. For most occupational categories, BLS publishes the 10th, 25th, 50th, 75th, and 90th percentile wages by metro area. The government collected this data. It is harder to argue with than a crowdsourced estimate or a recruiter's claim about "market rate."
- Peer-reported percentile data: Platforms that show the actual distribution — p25, median, p75, p90 — for a specific role in a specific city are far more valuable than a range. Folvr publishes these distributions from verified peer submissions. If you can cite "the 75th percentile for this role in this metro from peer submissions is $X," you have a market-clearing number, not a modeled estimate.
- Experience calibration: If you have fewer than 3 years of experience, your anchor should be the median for your role and metro. At 3–7 years, target the 75th percentile. Above 7 years, or if you have specialized skills in high demand, the 75th percentile is your floor, not your target.
Once you have your anchor: write it down, say it out loud, get comfortable with it. You will need to state it calmly without hedging when the moment comes.
Step 2: Know Your BATNA Before the Call
BATNA — Best Alternative To a Negotiated Agreement — is the concept from negotiation theory that actually drives your leverage. If your BATNA is "I'll keep my current job," your leverage depends on how much you want the new role. If your BATNA is "I'll accept this other offer for $15,000 more," your leverage is structural.
Build your BATNA before you get to the offer stage:
- Apply in parallel to at least 3–5 roles simultaneously. Not sequentially — simultaneously.
- Try to time your final rounds so you have overlapping offers, or can credibly say you're close to an offer elsewhere.
- If you're currently employed and aren't in a desperate situation, that's a BATNA too. "I'm open to the right opportunity but I'm not in a rush" shifts the negotiating posture.
The competing offer conversation: If you have another offer, say so early. You don't need to name the company. "I'm currently in final stages with another company and expect to have an offer in the next week. I wanted to flag that so we can move efficiently if there's mutual interest." This creates urgency without ultimatum. Then, when their offer comes, if it's low: "I have an offer at $X from another company. I'd prefer to be here — is there anything you can do to get closer to that number?"
That sentence, said calmly, is the most powerful sentence in salary negotiation.
Step 3: Adjust for Geography and Compensation Structure
Before you anchor on a number, understand how the company benchmarks.
How to ask (verbatim, during the recruiter screen): "Do you benchmark compensation to local market rates, national pay bands, or zone-based tiers?"
This question is normal, expected, and tells you everything. Local benchmarking means your city's p75 applies. National bands usually mean a slightly blended number. Zone-based means you need to know which zone you fall in.
For remote roles specifically: if the company uses local benchmarking and you're in a lower-cost city, the national median will overstate your leverage. If they use national bands, the national p75 is your anchor. Don't assume — the answer determines your strategy.
Cost-of-living adjustment math: If you're considering relocating for a role, or comparing a remote offer to an in-office offer in a different city, do the COL adjustment before you decide what to counter with. A $160,000 salary in San Francisco with a COL index of 189 has the same purchasing power as roughly $107,000 in Chicago (COL index 107). If you're moving from Chicago to SF for a $30,000 pay increase, you are, in real terms, taking a pay cut.
Build the COL adjustment into your counter. "To maintain the same purchasing power I have in my current city, I'm targeting $Y. Can you get to that number?" is a defensible framing.
Step 4: Separate Base From Total Comp
Recruiter math often bundles base salary, annual bonus target, equity refreshes, and signing bonuses into a "total compensation" figure. This obscures the actual cash and creates false equivalencies.
Always ask for each component separately: - Base salary, stated annually - Target bonus as a percentage of base, and — this question matters — what percentage of eligible employees actually received the full target bonus last year - Equity: grant size (shares or dollar value), vesting schedule (standard is 4-year with 1-year cliff), current fair market value or strike price for options - Signing bonus: amount, conditions (clawback if you leave within 12 months is standard; 24-month clawbacks are aggressive and negotiable) - 401k match: percentage matched and vesting schedule (immediate vs. 3-year cliff is a real difference)
A $140,000 base + $10,000 target bonus is a different offer from $130,000 base + $20,000 target bonus, even though both are "up to $150,000 total comp." The difference is risk. Bonuses are at management discretion. Base is contractual.
Equity specifically: For private companies, equity is speculative. Don't let a large paper equity number anchor you into accepting a below-market base. For public companies, equity is real cash on a schedule. Treat it accordingly in your math — but still optimize base first.
Step 5: Make the Counter
Here is the actual script.
When they give you the offer: "Thank you — I'm really excited about this role. I'd like a day or two to review the details before I respond. Is that okay?" The answer is always yes. You have just bought yourself 48 hours and signaled you're not accepting on the spot.
In those 48 hours: verify your anchor number, confirm your BATNA, decide your walk-away point.
When you respond: "I've reviewed the offer and I'm genuinely enthusiastic about the role. Based on [BLS data / peer compensation data for this role in this metro], the 75th percentile is $X. Given my [specific, concrete experience point], I'm targeting $Y for base. Is that something you can work with?"
Three rules for that statement: 1. One specific number, not a range. 2. Cite your source. "Based on market data" is vague. "Based on BLS OES data for this role in [metro]" is specific and authoritative. 3. End with a question. This keeps the conversation open and invites them to respond rather than creating a standoff.
Step 6: Handle the Pushback
There are three common responses to a counter:
"We can't move on base, but we can offer a signing bonus." Accept this if the signing bonus closes the gap meaningfully and doesn't have an aggressive clawback. A $15,000 signing bonus on a $10,000 base gap isn't a fair trade — you'd need two to three years to come out ahead. A signing bonus that fully closes a gap in year one can make sense if you're confident you'll stay.
"We're already at the top of our band for this role." Ask: "Is there any flexibility on title that might come with a different band?" A title bump from Software Engineer II to Senior Software Engineer often unlocks a higher band and solves the problem structurally. Alternatively: "Is there any flexibility on the performance review timeline — getting a review at six months instead of twelve?"
"This is our best offer." Decide. You've done your work. If the number is below your walk-away point and you have a viable BATNA, walk. If it's within range and the role is genuinely good, accept with a clear statement: "I appreciate you looking into it. I'm going to accept." Don't negotiate a second time on the same ask — it signals desperation.
What Not to Do
Don't anchor to your current salary. "I'm currently making $95,000" is irrelevant to market rate. Your current salary reflects what your current employer was willing to pay when they hired you, possibly years ago. It's not market-clearing data. If an interviewer asks for your current salary (illegal in several states), deflect: "I'd rather focus on what this role is worth at your company. Can you share the budgeted range?"
Don't accept on the spot. No matter how excited you are. No matter how good the offer sounds. Always ask for 24–48 hours. This isn't rude — it's expected.
Don't negotiate multiple times on the same item. Counter once, firmly. If they move even slightly, consider accepting or asking for a different concession rather than coming back with another base ask. Repeated countering on the same variable signals that you have no real walk-away point.
Don't apologize for negotiating. "I hope this isn't a problem" and "I feel bad asking, but..." are the phrases that signal you're not confident in your number. You're providing market data and asking a business to pay market rate. That is a normal transaction.
Don't forget to negotiate equity separately. Many people negotiate base and forget to push on equity at all. The recruiter will not remind you. Equity at a high-growth private company or in a favorable public market can dwarf the base difference you just fought for.
Equity vs. Cash Tradeoffs: When Equity Is Worth Taking
There is no formula that works for all situations, but here are the cases where taking equity in lieu of higher base makes rational sense:
- The company is at Series B or later with at least one credible path to liquidity (IPO or strategic acquisition)
- You've done the math: shares × current preferred price × a conservative (not optimistic) probability of liquidity > the base delta you're giving up
- You can afford the lower base without financial stress — equity doesn't pay rent
The cases where it does not make sense: - Early-stage startup (Seed, pre-Series A) with standard 0.1–0.5% grants: the dilution between now and any liquidity event is severe enough that expected value is low unless you're employee #5–20 - You need the cash: equity is illiquid. If you have debt, dependents, or limited emergency savings, optimize cash - You're comparing to a public company offer: public company RSUs are real money on a known schedule. A private company's equity is not comparable
After the Counter: What Happens Next
Most negotiations resolve in one or two rounds. Here's what actually happens when you counter:
1. The recruiter says they need to check with the hiring manager or compensation team. This is normal and usually means the initial offer was below band ceiling. 2. They come back within 24–48 hours with a revised offer, a "can't move but here's a signing bonus" response, or a hold. All of these are negotiable. 3. If they come back with a revised offer, it typically closes 50–70% of the gap you requested. A counter of $15,000 above their offer often results in a $7,000–$10,000 move. That's still real money. 4. They do not rescind offers for negotiating. In 20+ years of aggregated hiring manager data, offers are essentially never pulled for a single reasonable counter. The risk of losing an offer by negotiating professionally is essentially zero.
Real Scenarios
Scenario A: Junior engineer, 2 years of experience, Chicago Offer: $88,000 base. BLS Chicago median for software developers: $112,640. That offer is below the 25th percentile. Counter to $98,000 with BLS data. Expect to land at $93,000–$96,000. The data is on your side.
Scenario B: Senior engineer, 8 years, remote position with SF-headquartered company Offer: $145,000 at national band rate. BLS SF 75th percentile: $210,000. National p75: approximately $165,000. Counter to $160,000 national band rate with BLS national data. Expect to land at $150,000–$158,000 plus a potential signing bonus.
Scenario C: Product manager, 5 years, moving from Austin to NYC Offer: $135,000. NYC median for software and product roles runs $148,000+. COL adjustment from Austin (COL 124) to NYC (COL 187): you need roughly $203,000 to maintain equivalent purchasing power. That's an extreme case — negotiate hard, know you'll face a real lifestyle cost increase, and make sure the role is worth the move on non-monetary dimensions too.
The data you need to do this well is available. BLS OES data is free at bls.gov. Peer percentile data from people doing your exact role in your exact city is on Folvr. The gap between the median and the 75th percentile for most roles is $30,000–$50,000 per year. That is the dollar value of doing your research before you get on the call.