How to set compensation using commonsense principles
Compensation has always been one of the most confusing parts of management to me. Getting it right is obviously extremely important. Compensation is what drives our entire economy, and you could look at the market for labor as one gigantic resource-allocating machine in the same way as people look at the stock market as a gigantic resource-allocating machine for investments.
Yet, almost everything I learned about compensation comes from practical experience, so what follows is a blog post I wish I could have read ten years ago! I wrote it from the perspective of a manager at a tech startup, but hope there's some parts that generalize.
Good/bad compensation systems
I'll start by stating what I think are goals and anti-goals:
- A good system doesn't waste money hiring new people when you can pay to keep existing people.
- A bad system keeps people below the salary that you would give them to keep them.
- A good system pre-empts people interviewing elsewhere.
- A bad system gives raises mostly when people interview elsewhere and get offers.
- A good system phases out underperformers or makes it clear they will never get a raise until they step it up.
- A bad system give raises to people who are already paid more than you would pay to hire them today.
- A good system pays people on an absolute scale, where salary history is not a factor.
- A bad system thinks of salary increases in relative terms (eg top performers get +5%).
- A good system doesn't pay more just because someone interviews with many companies.
- A bad system determines offers to new hires mostly based on their other offers.
- A good system pays only for the value someone is creating, not for irrelevant things.
- A bad system pays based on years of experience or pedigree.
- A good system gives the biggest raises to humble people who never asked for it, but deserve it.
- A bad system gives raises to people when they ask for it, and gives more when people complain more.
- A good system understands how to use equity to motivate people.
- A bad system penalizes people for trading off salary for equity.
- A good system incentivizes people to do whatever adds the most value to the company.
- A bad system incentivizes people to go into management in order to get a raise.
- A good system has a clear link between performance and salary that people understand.
- A bad system makes people frustrated because they don't understand why some people make more than other.
Phew, that was a lot! Most of is should be sort of self-evident, or at least it feels so to me. But I've seen a lot of companies mess it up! What are some principles we can use that prevent us from all of these traps? Hold my beer as I go through:
Principle 1: align with market
Ignoring for a second that productivity is basically impossible to quantify, let's say we made a scatter plot of employees at the company CrazyBananaCo, where the x-axis is how much value they create and the y-axis is their cost.
Just to make it a bit simpler, let's say the chart only includes people who spent at least 1 year at the company, so that we can roughly ignore the “ramp time”. There's about 99 other simplifications here, some of which I addressed at the end of this post, but they key point here is this a toy model that still lets us say a lot about compensation management!
Two quantities are important benchmarks for someone's salary:
- Market rate: if this person started here today, what would we have to pay to get them?
- Replacement cost: how much are we willing to pay in order to get this person to stay?
The market range is not a perfect “price” so I picture it more like a range. The replacement cost will be a bit higher than the market rate because of the extra cost of hiring/training the person. It's rational that we would rather pay a bit more to get someone to stay versus hiring an identical person coming in from scratch.
With productivity, I also mean value, so the diagonal line represents the curve where the net benefit of an employee is exactly $0. In general, market rate ≤ replacement cost ≤ value.
Once we calibrate this against market/replacement, hopefully we'll end up with something like this:
If your compensations are aligned with market, then no one should be below market range (give them a raise before they quit), and no one should be above replacement cost (then they should be replaced). Ideally pretty few should be above market range but below replacement cost (the purple zone), although I consider that zone a bit of a special “insurance card” you can buy, like if someone on your team has some deep domain knowledge that's absolutely crucial right now so you don't have time to hire a replacement and train them.
But how do you know the market rate and the replacement cost? You really don't ever know it, but the best way to get a good pulse on it is through recruiting. A good offer acceptance rate is in the 70-80% range—too low, and you might be underpaying, too high, and you might be overpaying. If you make a lot of offers, you should develop a pretty good understanding of the market from making offers and learning about what other companies are offering. There are also datasets such as Radford, which you have to pay for, and levels.fyi, which is a free database of self-reported salaries.
Principle 2: create consistency
Let's consider the company SuperFairCo, which has a super nice consistent pay distribution.
Let's say SuperFairCo is considering hiring Meg—an engineer highly desired in the market. Other companies are offering a lot as well. But we still have an opportunity to hire her at a cost lower than their value. Should we do it?
Meg would generate surplus value, so from that perspective it might seem like a good trade. But there's a subtle catch. Consider these situations:
- Joe in the HR team is accidentally shares a spreadsheet with everyone's salaries. Mike notices someone with less experience than him is making more money.
- Anna goes to her manager and asks for more money. She's currently making $150,000 and the company values her contributions as $200,000. She's asking for $190,000 or else she will quit.
The last one is especially tricky. If you comply, you're still benefitting from having Anna on the team, but you just created a culture where people who complain to their manager get more money and people who don't complain get no raise. That seems like bad incentives!
The only solution to all of this, is to make sure salaries are consistent. A useful Litmus test is: if all salaries were made fully transparent, would people be upset? If so, you might have an inconsistency problem.
Our hypothetical offer to Meg comes with two big hidden costs:
- The heartburn of creating a very inconsistent pay scale (with all the bad feelings if people find out)
- The hypothetical dollar costs of raising salaries for many other people if you ever want to get the pay scale back to consistency:
On the other hand, a consistency-based model implies the salary range for Meg's offer is much tighter, and that the SuperFairCo is willing to lose her even at a salary that generates surplus value to the company. And this is why the company is probably better off declining Anna's request for a raise.
I kind of glossed over what “consistency” exactly means here, but just to clarify: if person A is more productive than person B, then A should have a higher salary than B. I think that's reasonable!
Corollaries of a consistency-based framework
I think the consistency aspect largely explains why companies have a tighter “cap” on salary than you would otherwise expect. They might not be willing to pay above market salary for someone, even though their salary is below replacement cost, and even though they generate a lot of surplus value.
The theory also implies that companies will be really risk-averse about offers. There's an asymmetry in the “total inconsistency”, where overpaying often creates a lot more inconsistencies than underpaying. Rationally a company may thus lowball such an offer.
Putting it to practice: the salary calibration process
Let's discuss how to actually calibrate salaries. We'll consider another startup MegaHyperCo with a somewhat inconsistent salary distribution:
Let's first aim for consistency. One way to do it is to simply give the smallest raise to everyone in order to bring the total inconsistency to zero:
The method I used in the chart above isn't meant to be taken extremely literally. And note that this example started with a somewhat extreme distribution—ideally, you never deviate very far from consistency, and so the inconsistency-driven raises should be small. But hopefully you get the point of what I'm doing here!
A major benefit of the consistency-based calibration is that it doesn't require modeling out a person's value. All we need is to be able to rank people. It's almost impossible to argue that Abdul who's an associate engineer making $120,000 is exactly 69% as productive as Pierre the senior engineer making $175,000. But we can often rank Pierre vs Abdul.
We should also calibrate against market salary. Usually, markets don't move much, so the calibrations will be minor, but occasionally when markets move quickly, this could mean changing a larger set of salaries (say 50%+ of the team). You definitely shouldn't just give everyone a blanket x% raise! Instead, do it in a way that targets the underpaid employees:
Note that the two models (figure 8 and 9) recommend raises to roughly the same set of employees:
What do you do with people who are overpaid? I've never lowered anyone's salary, and if they are vastly overpaid (above their replacement cost) then they should probably be let go instead. But it occasionally happens that someone is slightly overpaid, but still generating surplus value. If you're not letting them go then you don't have much of a choice here: keep their salary the same for multiple years in a row, potentially indefinitely. If that person makes a fuss and ends up quitting, that's OK!
This system is greatly simplified by introducing levels. By bucketing everyone into say 5-10 buckets, with clearly defined expectations, you can build salary ranges for each bucket and use that for calibration as well. There are many other benefits of levels (and some drawbacks) but I'll save that for another time!
I have done something similar to this every six months for the past four years and it works reasonably well. A year ago I started bringing in my reports (who each manage 20-30 people), and we spend a few hours calibrating until we feel like the final compensation data is reasonably consistent. I try to target about 30% of the team getting a raise each year, so 15% each six months.
Other considerations
What happens when someone asks for a raise? In almost all cases, the answer should be no. You should do the salary calibration process in a way that people get salaries they deserve, but not more. The only exception to this rule is if their performance is way out of range and there's a real retention risks—essentially you're just doing an early off-cycle calibration.
I also strongly recommend against paying more to new managers than individual contributors. This incentivizes people to go into management for the wrong reasons, and make it very hard for people to step back if they decide management isn't what they wanted to do. In my experience, something like half of all managers realize they were happier not managing, and you don't want to lock people in.
Other types of compensation
So far, I simplified the problem a bit and talked about salary as if the base salary is the only consideration. There's of course many other things that constitute the total compensation, so let's consider what I think are the most common ones:
- Base salary
- Bonus
- Equity
- Sign-on bonus
Base salary is straightforward so let's skip to the other three.
Bonus
An odd thing about bonuses is how different it is for different jobs. Most salespeople are heavily commission-based. Most software engineers are compensated in stock and salary, with little/no bonus. Why? Is this just some dumb artifact of how the markets for those roles have evolved?
Of course not. You can easily quantify a salesperson's contribution to the company, and paying them commission aligns their contribution to the company with their compensation. It's extremely hard to quantify the contribution of software engineers. This is sort of an obvious point, but people forget about it! Why do traders and salespeople have bonuses? Why don't many other jobs? An excellent short read on this is Measuring and Managing Performance in Organizations.
I don't have as much experience with bonuses, but my observation is that bonuses tend to work only in these three circumstances:
- The work result is quantifiable and aligned with the business. This is true for salespeople, but also quant developers and some other jobs.
- The bonus is paid ad-hoc for hard hustle, maybe lots of overtime to hit a deadline. Management can dangle a bonus in front of employees to get something done quicker. This should probably only be a rare thing.
- The bonus is roughly guaranteed (maybe even on the offer letter), and set to a fixed amount in advance. It's revoked only if the employee is severely underperforming. This seems to be the culture of Google and a few big companies, but I could be wrong and I'm hesitant to say much more since I don't know.
My feeling is that for many professions, bonus tied to performance reviews or ratings is blunt and arbitrary, and should be avoided. For jobs where performance takes a long time to observe, sustained good performance should be reflected in higher salary+equity instead. I've always been skeptical about paying performance bonuses to software engineers other than in truly exceptional cases.
Equity compensation
Equity is a key part of the compensation at startups. Some of the arguable benefits:
- Financially, it preserves cash for cash-strapped startups, and offers another currency so they can compensate top talent.
- Economically, it aligns incentives between employees and the company, although I'm skeptical this matters past the first 5-15 people.
- Psychologically, employees will rationalize their holdings and root for the company. I think this one might be underestimated, but it's hard to tell? There could also be some kind of “survivor bias”—people who deeply believe in your biz idea will be more likely to join.
- Practically, employees will be tied to the employment because they don't have the money to exercise options. IMO this is kind of a dumb point because (a) if the company is doing well then you can usually arrange financing (b) it's probably not in the company's best interest to keep disgruntled employees who are only staying because of the equity.
My highly speculative perception is that employees will view $1 of equity as having something like the following value:
What's going on here?
- In the early days, people will take a huge salary discount to get something like $100,000 in equity in a promising super-early startup. Everyone in the tech industry has a friend (or a friend of a friend) who made a bajillion dollars in some acquisition. At this point, you can probably get away paying substantially lower than the market rate in terms of base salary.
- Once the company matures, you're not going to get these early crazy people, and people will view equity as some weird paper money that may or may not be worth money in many years. At this point, you're going to have to raise the base salary substantially.
- As you approach the IPO, people are excited to get into something that will have an “pop” once it goes public, and that they can sell relatively soon.
- Once the company goes public, equity compensation is pretty liquid much just like cash, with some annoying constraints (trading windows, lockup periods etc).
There's also difference in risk aversity and other things to be attuned to—some which depends on the personality, some on the life situation of the person.
What's my point of all of this? When you look at compensation, you should be smart about the breakdown between salary and equity. Optimizing for what people value increases your bargaining power.
In my opinion, the biggest thing companies mess up with equity compensation, is to not explain it very well. This causes people to discount its value, which means companies have to pay more salary to compensate for it. Companies should think more about this!
Sign-on bonus
I'm not going to write too much about this one. I used to think sign-on bonus was the world's dumbest thing. Why pay more in the first year when an employee is the least productive? But from a company's point of view, it offers a critical advantage: you can retain salary consistency, while still being market competitive.
This applies especially in cases where there's significant uncertainty about a candidate. A $150,000 salary with a $20,000 sign-on bonus is essentially like a salary that drops from $170,000 to $150,000 the second year. If the person is awesome, you can always raise the salary back. If they aren't, then you keep them at their new “lower” salary, and keep your team's compensation consistent.
Total compensation
When you try to get salary consistency, you should really look at the total compensation number, not just base salary. Here's my opinionated view on how to do this:
- Base salary is obviously part of it.
- Equity is a part of it, and divided by the vesting time, and using the original value of the grant, not the present value. And for options, subtract the strike price. I often also think it's worth putting a small discount (10-30%) on the value to compensate employees for the risk.
- Bonus should only be a part of it if it's the “roughly guaranteed” type of bonus.
Let's look at some examples. Let's say the value per share is $4, the strike price is $1, so that the value per option is $3. We'll discount it to $2.5 for the purpose of compensating employees. The shares are vesting over four years.
Let's consider two offers that are roughly equivalent from the company's point of view:
- $100,000 in base salary, with 50,000 shares: total value is $100,000 + 50,000 · $2.5 / 4 = $131,250
- $110,000 in base salary, with 34,000 shares: total value is $110,000 + 34,000 · $2.5 / 4 = $131,250
Two years later, the new value per option isn't $2.5 but $10. What happens to the total compensation. Using the value at grant, the compensation is still the same. Using the present value, the total compensation is now:
- $100,000 in base salary, with 50,000 shares: total value is $100,000 + 50,000 · $10 / 4 = $225,000
- $110,000 in base salary, with 34,000 shares: total value is $110,000 + 34,000 · $10 / 4 = $195,000
Let's say we had hired two employees, one who picked each option. Is either of them underpaid compared to the other? One has a lower base salary, but the other one has a lower total compensation. To me it's clear that these two should be considered to have the same compensation. So the logical way to think about total compensation is to use the value at the grant date.
This is an underemphasized point. HR people generally like to use the present value (because it makes the numbers look more impressive), or exclude equity compensation completely. This applies to resources like levels.fyi and Radford as well (both use present value, afaik). So when you do cross-company calibrations, be careful looking at total compensation.
Of course, use your own best judgement. If someone came in early and is vesting trillions of dollars of shares each month, they proabably aren't a retention risk, and you might be fine looking at the present value of the shares. Just be judicious!
Conclusion
I started writing this post thinking it would be a quick one, but it ballooned into 4,000 words and that's after heavy editing where entire sections were removed. There's a lot more to be said, for sure. But hopefully you'll find some of this useful!
Notes
- Throughout this post, I assumed people's productivity is a known exact quantity. Of course, that's a gross simplification, but it's a toy model, OK :)
- Likewise, I assumed the market rate is a pretty tight band. There's always going to be weird outliers: people having deep expertise in things you don't care about, etc.
- Where does the market rate come from? In theory, the market cost should converge to the second highest value that any company would get out of a candidate. I think this convergence is extremely slow, but definitely happens in the long run.
- Of course, total compensation isn't the only thing that matters to people. The ability to learn and grow, perks, lifestyle, titles, office and much other things matter as well! But none of this affects the mechanics of the models.
- I was tempted to write about remote work, but I really don't have much experience with it. The question I'm fascinated by: what's the equilibrium?
- Note that a consistency-based model doesn't necessarily imply that a company pays the same salary across different locations! They could legitimately pay 2x salary to employees in NYC vs Boise, ID. People may grumble a bit, but the company could say something half-hearted about adjusting anyone's salary if they move to NYC.
- You could even state inconsistency in mathematical terms. One way would be to define the inconsistency loss $$ I = \sum_{i} \max_j (s_j - s_i)H(p_i - p_j) $$, where $$ s_i $$ are salaries, $$ p_i $$ are productivities, and $$ H $$ is just a function that is 1 for positive numbers and 0 for negative ones (aka the Heaviside step function). The loss is zero if you have no inconsistency whatsoever, but positive when as soon as the productivity-salary curve is no longer monotonic.
- A fun theory! Consistency implies that roles with more people will have less upside flexibility. If Amazon gives a 5% raise to one of the warehouse workers, then they kind of have to give a raise to another 100,000 warehouse workers! But if they give a huge raise to a SVP of Mega-Technology, then that doesn't really violate any inconsistencies.
- If someone is slightly overpaid, of course shouldn't just keep their salary without having a blunt conversation with them about their performance and the expectations you have on them, maybe also putting them on a performance improvement plan.
- I modeled the function of salary vs productivity as a sublinear relation. The astute reader might point that in that case we should only hire people as far out on the x-axis as possible! That's maybe true, but there's more complexity to it, and I've written about some of it in the past.
- I didn't talk about equity types, but there's a whole rabbit hole of RSUs vs ISOs vs NSOs and their legal/tax implications which would take a whole book to cover!