How To Figure Out What Competitive Pay Actually Is

By: Shawna Armstrong
December 11, 2025

A Good Plan Starts With Good Information

Trying to guess compensation is like bidding a job before you measure the dirt, count the pipe runs, figure the concrete, check your rebar, or run the asphalt tonnage. You’re basically shrugging at the takeoff and hoping the number lands somewhere close to where you placed the benchmark. In an attempt to use solid market logic, companies might copy whatever the last person made, ask around informally, grab a number off a website, or go with whatever feels fair at the moment. Some even anchor to internal pay and hope it lines up with the market. Companies often pick a number based on what “feels” right, but like catching a bad bid item after the fact, you’re lamenting the unqualified apps, the talent you missed, the offers you lost, and your turnover.

There’s nothing magical about setting salary ranges. There’s no secret formula hiding behind some locked door or paid tool. Most of the confusion comes from people guessing instead of validating. The industry often touts “competitive pay,” even though it frequently fails to define what it means. It’s often used merely as a buzzword or an empty claim meant to help attract talent.  But if you’re trying to build and retain quality crews, it has to mean something measurable. Verifiable. Not a vibe. Not a wish. Not the number you heard someone else is paying.

For entry-level roles, being a little under on pay mostly slows down your applicant flow and attracts people with no experience. As responsibility goes up, you're no longer pricing a pair of hands. You're pricing judgment, risk management, and people who keep bad decisions from turning into expensive mistakes. When the role carries bigger decisions, bigger budgets, and bigger consequences, the pay has to match. If you underprice a senior role, you don't just get fewer applicants; you get the wrong applicants. And that mistake will cost far more than just bumping up the range.

“It is better to be roughly right than precisely wrong.”  ~ John Maynard Keynes

HR in construction is already juggling recruiting, onboarding, compliance, safety, and a dozen fires at once. You don’t need guessing games on top of that. I’ll share the sources, the factors, and how to use the data to land on a pay range that lines up with the market reality for any role in any geography.


Being Wrong And Pointing Fingers

In over 20 years of hiring, I’ve seen lots of companies struggle to justify paying low rates that they label “competitive” on their career pages and job postings.

Several years ago I led an outsourced recruitment team for a national auto repair chain. Their self-described “competitive compensation” for entry level techs was far under market.  They complained that we couldn’t fill their jobs, while ignoring the fact that people weren’t applying, responding to outreach, or accepting offers. They complained that we couldn’t deliver the right hires who’d stay, while ignoring the fact that those who accepted the salary took the “paid training” so they could gain the experience to go work for the higher-paying shops. 

“If we offer more to new hires, we’ll have to raise internal salaries to match.” Well, yeah, you can raise salaries so people stop job hunting, so your shops stop bleeding productivity, so wait times drop, so customers start sticking with you, so revenue stabilizes, and you forget why you ever hesitated to bump the pay in the first place.

Or, you can keep offering crappy pay and blaming your recruiting partner. 

Here’s how I guide companies on what salary ranges to post. It’s a simple system, practical, and grounded in real data. All the sources are free; no need to pay for them if you have some time to do the digging and know where to look.  Here’s where I look:


Start With Multiple Sources, Not Just One

Construction compensation can be a noisy combination of information and hearsay. Different sites collect data in different ways. Some rely on job postings. Some rely on employee reports. Some pull straight from labor market data. None of them tells the whole story on their own. If you only grab one, you’ll get fooled. What you want is overlap. When three or four independent sources start pointing in the same direction, that’s the market talking. 

Here are the five I use every time (Note: you may need to experiment with a few different job titles):

CareerOneStop Salary Finder

CareerOneStop pulls from the Bureau of Labor Statistics and state labor market information. Select your occupation and location, and note the average median and average high for your location. It’s grounded in government data, which is slow to react sometimes, but stable.

Indeed Salaries and the Indeed Wage Tracker

Indeed combines job postings with employee-reported salaries. This one shows the average base and average high for your location based on active market behavior. Since Indeed hosts a ton of construction postings, this is where you see what your local competitors are actually offering right now. You can also search as a job seeker to get more details from live postings.

ZipRecruiter Salaries

ZipRecruiter aggregates posted salaries from job ads and blends in some government data. Note the average and average high. Their numbers swing higher and lower depending on sample size and the kind of companies posting. It’s still part of the picture. You just don’t rely on it alone.

Glassdoor Salaries

Glassdoor combines anonymous employee-reported submissions with scraped employer postings. You’ll find total comp numbers here, not just base pay. That means you see median total, high base, and high total. For roles that stack bonus, incentive pay, per diem, or vehicle allowances into the package, Glassdoor tells you how big the add-ons typically are.

Payscale Research Center

Payscale is a mix of individual reports and HR partner data. Note the estimated average base, high base, and high total. It’s a good cross-check for the location. The catch is that some roles have more data than others, so use it to confirm patterns, not set the range by itself.


Understanding Why The Numbers Can Widely Differ

When you pull all five and line them up, patterns show up, and anomalies do too. It may seem like random chaos, like every source disagrees with the others. That tends to freak people out at first. Don’t let it. They disagree because they measure different slices of reality.

Here is what affects the spread between the numbers, and how to plot your coordinates on it.

Education And Experience

More years and higher education mean higher pay. No shock there. Each source has its own mix of senior vs junior people reporting.

Other Compensation/Benefits

Some sources represent base pay, some represent total, including other pay, and some represent both. Glassdoor and other sources include total pay. If your competitors are stacking vehicle allowances, bonuses, relocation money, or profit sharing into the number they advertise, you cannot compare that to your base pay. That is total compensation, and mixing the two will make you think the market is higher than it really is. So, make sure you’re separating base numbers from extras in total pay before you compare.

Company Size

Bigger contractors pay more. More layers, more margins, more complex work, more structure. Smaller companies can’t chase those rates across the board. They win on flexibility, culture, visibility, and growth potential.

Industry And Niche

A pipe contractor doesn’t necessarily pay the same as a bridge contractor. Heavy civil doesn’t always match up with commercial or residential. Someone with niche specialization like heavy crane and lift planning, geotech support, or high voltage work will end up on the higher end.

Location And Cost Of Living

A good salary in one region is middle of the road somewhere else. All five sources above let you filter by region, metro, or state for a reason. If the work location is commutable to a major metro area, you'll need to adjust up to compete with major metro rates.

Sample Size

Thin data produces weird highs and lows. You might see a low or high wage that looks suspicious. That’s usually a sample size problem. Take into consideration, but don’t be influenced by a single outlier.

Competition For Talent

This is the real wild card. When talent is scarce or the cost of living is high, you pay more. If you want someone to leave a stable job for your company, you pay even more than that. Contractors in your area can bump their ranges, and suddenly your generous number is yesterday’s news. The data gives you the baseline. Competition pushes you above it. That’s literally why it’s called “competitive compensation.”


How To Use The Data Without Overthinking It

Once you have your five source ranges, the process is simple. You’re not building a statistical model. You’re just finding the overlap for position/location and narrowing down with variables.

Here is the basic workflow.

  1. Line up the median numbers across all sources
  2. Line up the high-end numbers
  3. Throw out anything that’s clearly an outlier
  4. Average the medians together - *This should be the bottom of your range. The average pay should be your minimum pay; otherwise, it’s not actually competitive.
  5. Average the highs together
  6. Use those two numbers as your starting range

This starting range is for all years of experience, education levels, population sizes, supply/demand ratios, industries, company sizes, and niches. After that, you’ll narrow the range by adjusting according to your variables.


The Variables That Move The Needle

We've obtained a realistic ballpark, but still need to adjust for your specific variables. You’ll calibrate up and down within the range, considering the combination of all the following:

  • Company Size: Small companies adjust towards the lower end, large firms adjust up.
  • Travel Requirements: The more you ask someone to travel, the more you should pay. Travel is friction. It takes people away from home and family. If the role requires heavy travel, adjust toward the high end.
  • Labor Market Conditions: The industry, by nature, is short on qualified people. This is already built into the data. But some roles and markets are significantly harder to fill than others. If this is the case, adjust towards the high end. You need to make it worthwhile for people to consider coming over from other companies and geographies. If the position is entry-level or has a healthy talent supply, shift down. This is basic supply and demand. It is also why ranges are not one-size-fits-all across the country.

“The market is the only critic whose opinion counts.”  ~ Walter Lippmann

  • Experience Tier: A senior estimator is not the same as someone with two years in. A superintendent with 20 years of complex projects under their belt is not the same as a foreman recently promoted to super.

So you create tiers:
Entry
Mid
Senior
Lead
Expert

Then you pinpoint the range accordingly. If you’re advertising for 3-5 years of experience, move towards the lower end. Seeking a seasoned expert with 10+ years? Stretch toward or above the high end.

The Bureau of Labor Statistics shows a wide spread between the lower and upper percentiles of the same job. Employers budget wider ranges and bigger adjustments for higher-level roles because the cost of getting those wrong is a lot higher.

“It’s unwise to pay too much... but it’s worse to pay too little. When you pay too much, you lose a little money - that is all. When you pay too little, sometimes you lose everything, because the thing you bought was incapable of doing the thing it was bought to do.  ~ John Ruskin

  • Niche Skills: A candidate who can navigate massive liability, engineering risks, heavy governance, or has advanced technical knowledge brings more value. The more specialized the skill, the higher you'll adjust up within the range.

Putting It All Together Without Making It Complicated

Let’s say you pull the data, and your five sources show something like this for a role:

Average median across sources: $xxx,xxx
Average high across sources: $xxx,xxx

This is your frame. Your variables tell you where your specific role lands inside that frame.

If you’re a smaller contractor with local work and hiring someone mid-level, you probably land somewhere between the median (your low) and halfway to the high.

If you’re a larger contractor pulling from a scarce talent pool with heavy travel and high specialization, you probably land in the high upper quarter. 

If you need someone with an advanced niche skill set that the entire market is chasing, you might even justify landing above your high. That anomaly number might not actually be a clear outlier, but a market reality.


Pay Isn’t Everything, But It Has to Make Sense

Everyone likes to talk about culture, leadership, growth, teamwork, opportunity, all the things that make construction companies great places to work. It’s ALL important, but pay sets a critical baseline. People don’t make a move without knowing the number makes sense for their achievements and their lives. When your ranges match reality, everything is easier. The right people are more inclined to apply. Recruiting is smoother. Conversations are more honest. Offers close faster. And, the people you hire trust you right from the start.

When your ranges are undisclosed, vague, or don’t match reality, candidates scroll by and top hires go elsewhere.

Competitive pay isn’t a guess or a gamble. It’s a combination of real market data and smart adjustments.


 

Start for free today.