SkilledMarkets.comTrade Wage Intelligence
HomeFeaturesPricingROI CalculatorBlogStoreAboutLog inStart Free Trial
SkilledMarkets.comTrade Wage Intelligence

SkilledMarkets gives specialty trade contractors — HVAC, electrical, plumbing, welding — instant BLS-powered wage benchmarks, full O*NET occupational profiles, and offer-ready salary bands. Stop guessing what to pay. Start hiring confidently.

Wage data from the U.S. Bureau of Labor Statistics OEWS · Occupational profiles from O*NET OnLine

Product

  • Features
  • Pricing
  • ROI Calculator
  • Store

Resources

  • Blog
  • About
  • Contact
  • Demo Request

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy
  • Cookie Policy
  • Accessibility
© 2026 Rovaryn Digital Inc. · SkilledMarkets.comBuilt by Rovaryn Digital Inc.

We use cookies to analyze site traffic and improve your experience. See our Cookie Policy for details.

Home›Blog
Salary Bands & Offers

How to Build a Salary Band for a Trade Role (Min, Midpoint, Max)

By Rovaryn Digital · May 23, 2026 · 14 min read

How to Build a Salary Band for a Trade Role (Min, Midpoint, Max)

The moment you realize your offer is just a guess

Your phone rings at 4 p.m. on a Friday. The journeyman electrician you've been interviewing — the one your foreman said was the best candidate in six months — just countered your $29/hr offer at $34. He's not being difficult. He says he's been doing his research and $34 is where the market is.

Is he right? You don't know. You made the $29 offer because that's what you paid the last guy. But that hire was two years ago, and you've got no fast way to check whether the market has moved.

This is the hiring moment that a salary band is built for. A salary band — a defined minimum, midpoint, and maximum for a role — doesn't just help you answer a counter-offer. It means you never walk into a negotiation without knowing in advance what "low," "fair," and "stretch" look like for that position in your market. It also means you pay people consistently, which matters a lot once you have more than five or six people on the team.

This article shows you, step by step, how to build a salary band for any specialty trade role using publicly available BLS wage data. The method works whether you're writing a band for an electrician, an HVAC tech, a welder, or a pipefitter. You don't need a comp analyst or a five-figure software subscription. You need three numbers from the BLS, one arithmetic decision, and a clear head.

By the end, you'll have a ready-to-use band — and a repeatable process for every other role on your roster.


What a salary band actually is (and why three numbers beat one)

A salary band is a structured pay range for a job level, defined by three points:

  • Minimum (Min) — the lowest you'll pay anyone in this role, reserved for someone brand-new to your shop with minimal experience in the specific work.
  • Midpoint (Mid) — your market anchor, the number you're targeting for a fully competent, productive hire. This is the most important number in the band.
  • Maximum (Max) — the ceiling, above which you'd need a promotion or a title change to justify another increase.

Why three numbers instead of one flat rate? Because the work isn't flat. The apprentice on their first job and the journeyman with twelve years in conduit runs aren't the same hire, but they're both "electricians" on your org chart. A band gives you room to bring people in at the right point for their experience, move them up as they grow, and communicate clearly with your team about how pay progression works — all without ad-hoc negotiations every time someone asks for a raise.

A band also gives you a defensible position in any conversation about pay. When a candidate counters, you can say (and mean it): "Here's what this band looks like. Here's where you'd land based on your experience. Here's what the ceiling is and how you'd get there." That's a very different conversation than making up a number on the spot.


Step 1 — Find your market anchor in the BLS OEWS data

The BLS OEWS — the Occupational Employment and Wage Statistics program — is the authoritative federal survey of wages by occupation and geography. It surveys roughly 1.1 million establishments to produce wage estimates (median, mean, and percentile breakpoints) for more than 800 detailed occupations across national, state, and metropolitan levels. The data is free at bls.gov/oes. Every salary band you build should start here.

Each occupation in the OEWS system has a SOC code — a Standard Occupational Classification code, which is just a six-digit number the government uses to keep everyone talking about the same job. Electricians are SOC 47-2111. HVAC mechanics are SOC 49-9021. Welders are SOC 51-4121. When you look up wages, you look up a SOC code; this ensures the numbers you're comparing are for the same occupation, not a patchwork of job titles that mean different things to different companies.

Your market anchor is the wage percentile you choose to use as the midpoint of your band. A percentile is simply a rank in a population — the 50th percentile (median) means half the workers in that occupation earn less and half earn more. The 75th percentile means three out of four workers earn less than that figure. Choosing your anchor is a deliberate decision about where you want to position your offers relative to the market; for a full walkthrough of how to choose, see our guide on which percentile you should pay for a trade role.

For this article's worked example, we'll use the 50th percentile (median) as the anchor — a solid starting point for most shops that aren't actively trying to outbid competitors for scarce talent.

Here are the national BLS figures you'd be working with for several common trades (BLS, May 2024):

Trade SOC Code National Median (May 2024)
Electricians 47-2111 $62,350/yr
HVAC mechanics & installers 49-9021 $59,810/yr
Welders, cutters, solderers & brazers 51-4121 $51,000/yr
Sheet metal workers 47-2211 $60,850/yr
Structural iron & steel workers 47-2221 $62,700/yr
Carpenters 47-2031 $59,310/yr

These are national figures. Your local rate may be meaningfully higher or lower depending on your state and metro area. For state and metro-level figures, go directly to bls.gov/oes — pull your state's or metro's OEWS table, find your SOC code, and use that figure as your anchor instead of the national median. If you're in a high cost-of-labor market like California, New York, or the Chicago metro, the national figure will likely understate your market; if you're in a lower-wage rural region, it may overstate it. Always use the most specific geography the BLS publishes for your area. (Note: the BLS suppresses metro estimates when the sample is too small — fewer than 10 estimated workers in that occupation in that area — so if your metro is suppressed, fall back to the state figure, and if the state is also suppressed, use the national figure and say so.)

For the worked example throughout this article, we'll use the national electrician median of $62,350 (BLS, May 2024). You can find current figures at bls.gov/oes.


Step 2 — Choose a spread buffer and calculate min and max

Once you have your midpoint anchor, you need a spread buffer — the percentage distance between the midpoint and each edge of the band. This is the single biggest design decision in building a salary band, and it's yours to make based on how your shop works.

A typical spread buffer for a trade role ranges from ±15% to ±25% around the midpoint. Here's what each range signals:

  • ±15% (narrow band) — tight range, appropriate for roles that are well-defined and don't have a huge experience variance, or for shops that use multiple narrow bands stacked by level (apprentice / journeyman / master) to capture the full range. Keeps pay compressed and predictable.
  • ±20% (moderate band) — the most common starting point for a single-level band. Gives you enough room to bring in an experienced hire above midpoint and a developing hire below it, without the max creeping into the next level's territory.
  • ±25% (wide band) — appropriate for high-variance roles where a top performer is genuinely worth much more than a new hire at the same title, or in rapidly moving markets where you want headroom. Carries a risk of compression if you don't manage progression actively.

The spread buffer is YOUR design decision — it reflects how you want to structure pay progression in your shop, not a fixed rule. The BLS tells you where the market is. You decide how wide your band is around that point. For a deeper look at how to choose, see our salary band spread buffer guide.

The arithmetic is straightforward:

Min  = Midpoint × (1 − spread buffer)
Max  = Midpoint × (1 + spread buffer)

Worked example — journeyman electrician, ±20% spread buffer:

Using the national median of $62,350 (BLS, May 2024) as the midpoint anchor:

Min  = $62,350 × (1 − 0.20) = $62,350 × 0.80 = $49,880
Mid  = $62,350  (market anchor)
Max  = $62,350 × (1 + 0.20) = $62,350 × 1.20 = $74,820

Rounded to the nearest hundred for clean communication:

Band Point Annual Salary Hourly Equivalent (÷2,080)
Min $49,900 $24.00/hr
Midpoint $62,350 $30.00/hr
Max $74,800 $35.96/hr

This is a worked example using round inputs to demonstrate the method — your real band will use your local OEWS figure and your chosen spread buffer. The hourly figures are rounded; always use your actual anchor and check bls.gov/oes for current wages before publishing a band.

Notice what this gives you: the journeyman who countered at $34/hr is inside your band (between midpoint and max — appropriate for someone experienced). You're no longer flying blind. You can say, "We can go to $34. That puts you in the upper third of our journeyman band, which reflects your experience. Here's what growth looks like from there." That's a conversation you can have with confidence.


Step 3 — Sanity-check your band against BLS percentiles

Before you lock in a band, spend two minutes checking whether your min and max make sense against the BLS percentile breakpoints for the same role. The OEWS publishes the 10th, 25th, 75th, and 90th percentile wages alongside the median for most occupations — these are your natural reality-check.

For electricians nationally (BLS, May 2024):

  • 10th percentile: $39,430/yr
  • 50th percentile (median): $62,350/yr
  • 90th percentile: $106,030/yr

For HVAC mechanics nationally (BLS, May 2024):

  • 10th percentile: $39,130/yr
  • 50th percentile (median): $59,810/yr
  • 90th percentile: $91,020/yr

Your band min should sit above the 10th percentile — if it doesn't, you're anchoring below what even entry-level workers in the occupation typically earn nationally, which is a signal your anchor is too low or your spread is too wide. Your band max should sit below the 90th percentile for a single-level journeyman band; if the max is pushing into the 90th percentile territory, consider whether you'd be better served with a second, senior-level band instead of a single wide one.

For a full explanation of what the percentile breakpoints mean and how to read them, see our guide to wage percentiles for trade roles.


Step 4 — Stack bands by experience tier (apprentice / journeyman / master)

A single band works fine for a role where you're mostly hiring at one level. But if your shop employs apprentices, journeymen, and master tradespeople — or if you want a clear progression ladder — you'll want to build stacked bands: one band per level, with each band's min starting at or slightly below the previous level's midpoint.

The stacking logic: a new journeyman should enter around the journeyman band's minimum (or slightly below if they just completed their apprenticeship and your market warrants it). As they develop, they move toward midpoint. When they've maxed out the journeyman band, that's your signal for a title and level change, not an out-of-band exception.

Example stacking structure (illustrative, using a ±20% spread buffer and the electrician median as the journeyman anchor):

Level Min Midpoint Max
Apprentice ~$35,000 ~$43,700 ~$52,400
Journeyman ~$49,900 ~$62,350 ~$74,800
Master / Lead ~$66,000 ~$82,500 ~$99,000

These are illustrative figures only — apprentice and master anchor points are not pulled from the library and must be set by your own market research or verified OEWS data for those job levels. See bls.gov/oes for current figures.

Notice that the journeyman band's min ($49,900) sits inside the apprentice band's upper range, and the master band's min ($66,000) overlaps with the journeyman band's upper range. That overlap is intentional — it creates a natural incentive for a high-performing journeyman to reach for the next level, and it means a newly promoted master isn't taking a pay cut on day one.

For a full walkthrough of how to build all three tiers and where to set each anchor, see our article on apprentice, journeyman, and master pay bands.


Step 5 — Put the band to work on your next offer

A band is only useful if you actually use it in your hiring process. Here's a simple workflow that most trade contractors can run without a dedicated HR team:

Before you post the role: Confirm your band is current. BLS OEWS data is updated annually (May reference date); if your band is more than 12–18 months old, re-pull the anchor from bls.gov/oes and recalculate. Wage growth in the trades has been real — private-industry wages and salaries rose 3.4% year-over-year as of March 2026 (BLS Employment Cost Index) — and a stale band will make your offers look low.

When you post the role: Many states are moving toward pay transparency requirements, and even where they aren't required, disclosing a salary range in the job posting often improves applicant quality and reduces wasted time in later-stage negotiations. Your band gives you a range to post that is defensible and market-grounded.

When you make the offer: Decide where in the band the candidate lands based on their experience, certifications, and your urgency to fill the role. An entry-level hire goes in at or near the min. A proven journeyman with in-demand certifications might land at or above midpoint. A highly experienced candidate you're recruiting from a competitor might sit in the upper third — but you have a ceiling, and you know where it is.

When they counter: You're no longer guessing. You know what the band supports. You can explain the rationale. You can agree, negotiate within the band, or hold firm at the max with a clear explanation — and use signing bonuses, tool allowances, or schedule flexibility to bridge a gap without breaking the band's internal equity. For help writing the actual offer letter, see our guide on how to write a trade offer letter.


How to build a salary band for every trade on your roster

Going through this process manually for one role is manageable. Doing it for eight or ten roles across different geographies — pulling OEWS CSVs, matching SOC codes, running the arithmetic, maintaining a version history — starts to eat real time. The BLS data is free; the two to three hours of spreadsheet work and the SOC-lookup expertise per role are not.

If you want a faster path, our Skilled Trades Salary Band Builder does the heavy lifting: it's pre-loaded with BLS OEWS data for the major trade SOC codes, walks you through the anchor and spread buffer decisions, and produces a clean min/midpoint/max band — ready to drop into an offer letter or share with your hiring manager.

You can also see the full benchmarking methodology, including how we source and update wage data, in our skilled trades wage benchmarking guide. And if you're ready to see what a platform approach looks like at scale, our features page shows the full tool set, or you can explore pricing to see what fits your shop size.


The band is the answer — for every offer, not just the next one

Back to that 4 p.m. phone call. With a salary band built on BLS data, you already know that $34/hr lands in the upper third of your journeyman band, which is exactly where an experienced hire with multiple interviews going belongs. You can say yes with confidence, or you can explain why you're holding at $32 and what the path to $34 looks like after 90 days. Either way, you're in the conversation — not scrambling.

That's what a salary band does. It doesn't replace your judgment. It gives your judgment something to stand on.

Build one this week. Use the steps above, start with the BLS national median for your primary trade role, and pick a ±20% spread buffer if you're not sure where to begin. You'll have a min, a midpoint, and a max before lunch — and the next counter-offer won't catch you off guard.


This article includes information from O*NET OnLine, developed by the U.S. Department of Labor, Employment and Training Administration. O*NET is a registered trademark of the U.S. Department of Labor, Employment and Training Administration.

Get the template: Skilled Trades Salary Band Builder →

Ready to go beyond the guide? Benchmark trade wages with live BLS data.

Start Free Trial

Get free wage guides in your inbox

BLS data explainers and salary band tips for trade contractors.

#salary bands#compensation#offers#trades

Related posts

Which Wage Percentile Should You Pay? Choosing Your Market Anchor
Salary Bands & Offers· 10 min read

Which Wage Percentile Should You Pay? Choosing Your Market Anchor

The percentile you anchor to is a strategy decision, not a math one. Here's how to choose for your shop and your market.

Read More →
How to Write Trade Job Descriptions Using O*NET (Skills, Tasks, Pay Range)
Salary Bands & Offers· 10 min read

How to Write Trade Job Descriptions Using O*NET (Skills, Tasks, Pay Range)

A vague job post attracts vague applicants. O*NET hands you the skills and tasks; BLS hands you the pay range.

Read More →
How to Write a Competitive Trade Job Offer (That Doesn't Get Countered)
Salary Bands & Offers· 9 min read

How to Write a Competitive Trade Job Offer (That Doesn't Get Countered)

The candidate just countered. Here's how to build offers that land the first time - backed by data, not a hunch.

Read More →