How to Build a Salary Range: The Complete Guide for SMB HR Teams
The end-to-end method for turning free government wage data into a defensible, posting-ready salary range — no compensation analyst required.
Rovaryn Digital · May 8, 2026

Why Most SMB Salary Ranges Break Down Before the Posting Goes Live
Picture this: it's Thursday afternoon. Your job posting for a Marketing Manager goes live Friday morning, and you're in a pay-transparency state. Your hiring manager sends over a number — $85,000 — that he got from a Glassdoor search six months ago. Your CEO wants to know if it's defensible. Your outside employment counsel, if she saw the file, would want to know how you arrived at it and what documentation you have.
You have a spreadsheet with one number in it.
This is the situation most HR Managers and People Operations leads at growing companies find themselves in: legally required to post a salary range, but without a formal compensation methodology, a comp analyst, or an enterprise benchmarking platform. The guidance online is either written for Fortune 500 comp teams or so generic it doesn't help you make an actual decision.
This guide closes that gap. By the end, you will know exactly how to build a salary range — step by step, from free government wage data — in a format that holds up when an attorney asks for your methodology, when a regulator asks for documentation, and when a candidate asks why the range is what it is.
What a Salary Range Actually Is (and Why the Structure Matters)
Before you build anything, it helps to be precise about what you're building. A salary range — also called a pay band — is a structured minimum, midpoint, and maximum for a role, anchored to a market benchmark and expressed as a dollar spread.
Each of those three anchors has a job to do:
- The minimum (or "range floor") is the least you would pay a fully qualified but newly hired employee in that role. It is typically set below the market median to leave room to hire and to grow.
- The midpoint is the target market rate — the anchor you're setting pay relative to. In a well-built range, the midpoint corresponds to the market median (or wherever you've decided to position relative to the market — more on that below).
- The maximum (or "range ceiling") is the most you would pay in that role without a promotion or reclassification. It protects against pay compression and signals when someone has outgrown a band.
The width of the band — from minimum to maximum expressed as a percentage of the minimum — is called the range spread. A 50% spread on a $70,000 minimum gives you a maximum of $105,000. A 80% spread on the same minimum gives you $126,000. Range spread is one of the most consequential choices in salary range design, and it varies by role type: individual-contributor roles typically use narrower spreads (40–60%); management and senior professional roles typically use wider ones (60–100%+). The right spread for your organization depends on how long people typically stay in a role and how much growth you want to reward within a band before promotion.
Understanding these three anchors — and the spread that connects them — is the foundation of knowing how to build a salary range that does what it's supposed to do.
Step 1 — Define the Role with Enough Precision to Find a Market Match
You cannot anchor a salary range to market data until you can describe the role specifically enough that the data applies to it. This is the step most informal range-builds skip, and it is usually why the resulting number feels arbitrary.
What you need before you open any data source:
Job title and level. "Marketing Manager" is a category, not a level. Is this role managing a team of three, or is it a solo marketing function? Does it have budget authority? The job title you post publicly does not have to match your internal level taxonomy — but your internal documentation does need to specify the level so your range is anchored to the right data.
Primary function and FLSA status. Is the role exempt or non-exempt? Exempt roles are almost always bench-marked on an annual salary basis. Non-exempt roles may be posted as hourly or annual, depending on the jurisdiction and the role. Know which you're working with before you pull data, because the BLS OEWS program reports some occupations primarily as hourly (customer service representatives, for example) and others as annual.
Geography. Where will the work be performed? In-office, hybrid, or fully remote? For a remote role that can be performed anywhere, you still need a geographic anchor — either the company's headquarters location or a defined set of eligible locations. Pay-transparency laws trigger based on where the work is performed or where the applicant is located, depending on the jurisdiction. For a multi-state remote role, you may need to satisfy the most restrictive posting requirement among all eligible states. Before posting, confirm your obligations with the relevant state labor agencies or with employment counsel.
Key requirements. Degree requirement, years of experience, and specialized skills all affect where in the market a role sits. A Marketing Manager requiring ten years of experience and an MBA is a different market animal than one requiring three to five years and strong social-media skills — even if they carry the same title.
Document these four elements before you touch the data. They become the written methodology that your attorney or a regulator might ask to see.
Step 2 — Map the Role to the Right BLS SOC Code
The Bureau of Labor Statistics Occupational Employment and Wage Statistics (BLS OEWS) program is the foundational wage dataset for this work. It is produced by the BLS, published annually, and freely available at bls.gov/oes. The program covers wage estimates for over 800 occupations, constructed from a sample of approximately 1.1 million establishments (BLS, May 2025). The May 2025 OEWS estimates were released on May 15, 2026.
The OEWS organizes occupations into SOC codes — Standard Occupational Classification codes. To use the data correctly, you need to identify which SOC code most closely matches your role. This is not always a one-to-one match: your job title is marketing language; the SOC taxonomy is analytical. A detailed walkthrough of the SOC-to-job-title mapping process will help you navigate edge cases.
A few practical notes on the mapping:
- Read the SOC definition, not just the title. The BLS publishes definitions and illustrative examples for each code. A "Content Strategist" might map more accurately to Marketing Managers (SOC 11-2021) or to Public Relations Specialists (SOC 27-3031), depending on the role's actual responsibilities.
- When a role spans two SOC codes, anchor to the one that best represents the majority of the work — and note the judgment call in your documentation.
- For Canadian roles, the equivalent taxonomy is the NOC (National Occupational Classification) system, and the wage data comes from Statistics Canada's Employee Wages by Occupation (NOC) dataset — not the BLS OEWS. NOC codes and SOC codes are different taxonomies and cannot be equated. Canadian wage data is published in Canadian dollars (CAD); U.S. BLS OEWS data is in U.S. dollars (USD). Never compare the two series as if they measure the same thing.
Step 3 — Pull the Wage Percentiles for Your SOC Code and Geography
Once you have the right SOC code, go to bls.gov/oes and pull the wage estimates. The OEWS reports wages at five percentile levels: the 10th, 25th, 50th, 75th, and 90th percentiles.
A percentile is the wage level below which a given share of workers in that occupation and geography earn. The 50th percentile (the median, or market median) is the wage at which half of workers in that occupation earn more and half earn less. It is the most widely used market anchor in compensation benchmarking.
Here is what those percentiles look like for two roles at the national level, drawn from BLS Occupational Outlook Handbook data (May 2024 reference year):
Marketing Managers (SOC 11-2021) — National, May 2024 (BLS OOH)
- 10th percentile: $81,900/year
- Median (50th percentile): $161,030/year
- 90th percentile: $239,200/year
Accountants and Auditors (SOC 13-2011) — National, May 2024 (BLS OOH)
- 10th percentile: $52,780/year
- Median (50th percentile): $81,680/year
- 90th percentile: $141,420/year
Confirm the current live figures at bls.gov/oes before using them in any posting or compensation documentation — the BLS releases updated OEWS estimates annually, and the library figures above should be verified against the most current release.
For a deeper walkthrough of how to read and interpret BLS OEWS percentile tables, including how to navigate the query tool for state- and metro-level geography, see the linked guide.
A note on geography in the OEWS data. The OEWS publishes national estimates, state-level estimates, and metro-area estimates. If your role is in a major metro — say, Seattle, Chicago, or New York City — the national median may not reflect local market rates. Pull the metro or state estimate and document which geographic series you used. How geographic pay differentials work, and when to apply them, is a distinct step in a thorough range build — but for most roles in a single location, the state-level OEWS estimate is a defensible and commonly used anchor.
Step 4 — Decide Your Market Position
The BLS median tells you what the market pays. Your market position — sometimes called your compensation philosophy — tells you where you want to pay relative to the market.
The three most common positions are:
- At-market (50th percentile): Your midpoint equals the BLS median. You're competing for talent on factors other than pay — culture, flexibility, mission, career development. Most SMBs without a specific talent strategy are here by default.
- Above-market (60th–75th percentile): Your midpoint is set higher than the median to attract candidates from a competitive talent pool or to reduce turnover. This is common in high-demand technical roles, in tight local labor markets, or when the role is critical enough that a vacancy is acutely costly.
- Below-market (25th–40th percentile): Your midpoint is below the median. This is defensible in some contexts — mission-driven organizations, roles with exceptional non-cash benefits, or markets where local wages are materially lower than the national median — but it carries retention risk and must be documented deliberately.
Your market position should be a deliberate organizational decision, not an accident of whatever number a hiring manager Googled. It should be consistent across roles within a function, and it should be written down — because if a candidate, an attorney, or a regulator asks why your range is set where it is, "that's our compensation philosophy and here is how we apply it" is a defensible answer. "We just picked a number" is not.
Once you've chosen your position, use the relevant BLS OEWS percentile (or an interpolated point between two adjacent percentiles) as your midpoint anchor.
Step 5 — Set the Range Spread and Calculate Min and Max
With a midpoint in hand, you need a range spread. As noted earlier, range spread is the width of the band from minimum to maximum, expressed as a percentage of the minimum.
Here is the worked-example arithmetic:
Example: Accountant role, at-market position
- Market anchor (BLS OOH national median, May 2024): $81,680
- Target midpoint: $81,680 (at-market)
- Chosen range spread: 50%
- Minimum = Midpoint ÷ 1.25 = $65,344 (rounded to $65,000)
- Maximum = Minimum × 1.50 = $97,500
Note: the divisor 1.25 converts a 50% spread (min to max) into the relationship between midpoint and minimum in a symmetric band. If you prefer to set a non-symmetric band — a wider upper half to reward longer tenure — the arithmetic changes, and that choice should be documented in your methodology.
This is a teaching example using BLS figures as the anchor; the exact figures for your role should come from the OEWS release current at the time of your range build, using the geographic series that matches where the work is performed.
For a detailed explanation of how midpoint arithmetic works, including symmetric vs. asymmetric bands, see the linked article.
A practical note on New Jersey: The New Jersey Pay and Benefit Transparency Act (effective June 1, 2025) includes proposed regulations that would limit the spread between the minimum and maximum to no more than 60% of the minimum — meaning a minimum of $65,000 could have a maximum of no more than $104,000 under that proposed rule (Saiber LLC, 2025). Before posting in New Jersey, confirm the current rule with the New Jersey Department of Labor and Workforce Development or with employment counsel. The spread-limit requirement, if finalized, would be one of the first in the country to prescribe range architecture — and it illustrates why range spread is not just a compensation-design choice but increasingly a compliance question.
Step 6 — Document the Methodology
A salary range without a documented methodology is just a number. In a pay-transparency enforcement context, it is a number you will struggle to explain.
Documentation does not need to be elaborate. What it does need to contain:
- The SOC code and the BLS OEWS geographic series you used, with the release/reference year (e.g., "SOC 13-2011, Colorado state-level, BLS OEWS May 2024").
- The percentile anchor (e.g., "50th percentile — at-market position per organizational compensation philosophy").
- The range spread chosen, with a brief rationale (e.g., "50% spread, consistent with individual-contributor professional roles in our pay structure").
- The date the range was built and the person who built it.
- Any geographic adjustment applied, and how (e.g., "metro-area OEWS estimate used for New York City-based posting").
- Any judgment calls — a SOC-code mapping that required interpretation, or a position above market for a specific critical role.
This documentation is what you hand to employment counsel when they're responding to a complaint, what you produce in an audit, and what justifies the range to a candidate who pushes back. Some jurisdictions have record-retention requirements: Illinois requires employers to retain pay-scale and posting records for each position for five years (Greenberg Traurig / Illinois DOL, 2024); Ontario requires employers to retain each publicly advertised posting for three years after it is taken down (HRPA, 2026). Confirm the record-retention requirement for each jurisdiction in which you post, with that jurisdiction's labor authority or with counsel.
A deeper guide to building and maintaining a compliance audit trail for salary ranges covers the documentation structure in detail.
Step 7 — Check the Range Against Pay-Transparency Posting Requirements
Building a range is half the work. Posting it correctly is the other half.
As of 2026, 16 states plus Washington, D.C. mandate salary disclosure in job postings, with Delaware joining in 2027 (Paycor / Nesco Resource, 2026). The rules vary by jurisdiction — who must comply (employer size thresholds differ), what must be disclosed (salary range only, or also benefits and other compensation), and what the penalties are for non-compliance.
A quick orientation to the states most likely to affect growing SMBs:
Colorado: Effective January 1, 2021 (amended January 1, 2024); applies to employers with at least one Colorado employee. Fines of $500–$10,000 per violation; each non-compliant posting is a separate violation (Colorado General Assembly, SB19-085, 2019). As of July 1, 2024: 1,634 complaints filed and $238,000 in fines assessed (Trusaic citing Colorado CDLE, 2024). Verify the current rule with the Colorado Department of Labor and Employment (CDLE).
California: Effective January 1, 2023; applies to employers with 15 or more employees with at least one in California. Civil penalty of $100–$10,000 per violation; each posting on each platform can be a separate violation (California Legislative Information, SB 1162, 2022; Employment Law Aid, 2026). Verify the current rule with the California Department of Industrial Relations (DIR).
New York State: Effective September 17, 2023; private employers with four or more employees must include a salary or salary range. Penalty: up to $3,000 per violation, escalating $1,000/$2,000/$3,000 (NY State DOL, 2023; SixFifty / Trusaic, 2026). Note: New York City has a separate, stricter law in effect since November 1, 2022, with civil penalties up to $250,000 per violation enforced by the NYC Commission on Human Rights (Trusaic, 2025). Verify the current rules with the NY State DOL and the NYC Commission on Human Rights.
Washington State: Effective January 1, 2023; employers with 15 or more employees must disclose a wage scale or salary range, plus a general description of benefits. As of July 27, 2025 amendments: statutory damages of $100–$5,000 per applicant, plus attorney fees (Epstein Becker Green, 2025). Verify with Washington State Department of Labor and Industries (L&I).
Illinois: Effective January 1, 2025; employers with 15 or more employees must include pay scale and benefits in postings. Penalties escalate $500/$2,500/$10,000 for 1st/2nd/3rd-plus violations (MMR Ltd. citing HB3129, 2025). Verify with the Illinois Department of Labor (IDOL).
New Jersey: Effective June 1, 2025; employers with 10 or more employees must include pay ranges. Civil penalties of $300 for first violation, $600 for each subsequent (Ogletree Deakins, 2025; Walsh Pizzi O'Reilly Falanga LLP, 2025). Verify with the New Jersey Department of Labor.
Massachusetts: Effective October 29, 2025; public and private employers with 25 or more Massachusetts employees must disclose pay ranges. Penalties escalate from a warning through up to $25,000 (Mintz, 2025; Greenberg Traurig, 2025). Verify with the Massachusetts Attorney General's Office.
Washington, D.C.: Effective June 30, 2024; private employers of any size (one or more D.C. employees) must disclose minimum and maximum projected pay. Civil fines of $1,000/$5,000/$20,000 for 1st/2nd/subsequent violations (Cooley LLP, 2024; Mercer, 2024). Verify with the D.C. Office of Human Rights.
For a full, jurisdiction-by-jurisdiction breakdown including Canada (British Columbia and Ontario), see the pay-transparency laws by state and province guide.
The compliance check at posting time. Before the posting goes live, confirm: (1) the range is in the format required by the jurisdiction (some require a specific minimum and maximum — an open-ended range like "$70,000 and up" is explicitly prohibited in British Columbia under the Pay Transparency Act, effective November 1, 2023 (Stikeman Elliott, 2023; MLT Aikins, 2025)); (2) the range is accompanied by any additional disclosures required (benefits descriptions in Washington State, Illinois); and (3) the methodology documentation is saved with the posting record.
The Two Failure Modes This Process Prevents
Most SMB salary ranges break down in one of two places:
Failure mode 1: No anchor. The range was set by gut, by a recruiter's anecdote, or by a job-seeker salary-estimator tool. It may be in the right ballpark, or it may not be — but there is no way to know, and no documentation to show. When the attorney or the regulator asks, "how did you arrive at this range?", the honest answer is embarrassing and the legal answer is worse.
Failure mode 2: No structure. There is a number — maybe even a sourced one — but no minimum, no maximum, and no spread. The posting says "salary commensurate with experience" (illegal in most transparency-law states) or lists a single point estimate ("$75,000") that isn't a range at all. A range with a defensible methodology and a documented spread is a different document than a salary guess.
The seven-step process above closes both gaps: it anchors the range to BLS OEWS data (or Statistics Canada NOC data for Canadian roles) with a documented geography and reference year, and it produces a structured minimum/midpoint/maximum with a rationale for the spread.
What This Process Looks Like in Practice (A Worked Example)
Role: HR Manager, hybrid, Denver, Colorado office SOC code: 11-3121 (Human Resources Managers) Data source: BLS Occupational Outlook Handbook, national figures, May 2024 reference year (state- or metro-level figures should be pulled from bls.gov/oes for a role in Denver; national figures are used here as an illustration)
National BLS OEWS figures, May 2024:
- 10th percentile: $83,790/year
- Median: $140,030/year
- 90th percentile: $239,200/year (note: $239,200 is the BLS top-code at the 90th percentile)
Market position decision: at-market (50th percentile) — midpoint = $140,030, rounded to $140,000.
Range spread: 60% (appropriate for a management role with multi-year tenure trajectory).
Arithmetic:
- Minimum = $140,000 ÷ 1.30 = $107,692, rounded to $108,000
- Maximum = $108,000 × 1.60 = $172,800
Posting range: $108,000 – $172,800
Documentation note: "HR Manager (SOC 11-3121), Colorado-state OEWS series [confirm at bls.gov/oes], May 2024 reference year. At-market position (50th percentile anchor). 60% range spread applied per management-role pay structure. Colorado EPEPA compliance confirmed; verify current posting requirements with Colorado CDLE before posting."
This is a worked example using national BLS figures as the illustrative anchor. For a live posting, pull the Colorado state-level or Denver-MSA OEWS estimate — it will differ from the national median — and document the geographic series used.
When to Use Software vs. a Spreadsheet
This seven-step process can be completed in a spreadsheet. The BLS data is free; the arithmetic is simple; and if you are building ranges for one or two roles per year, a well-documented Excel file is a reasonable starting point.
The Salary Range Builder Workbook is a structured Excel template designed for exactly this workflow — it walks through each step, includes built-in spread calculators, and produces a formatted output you can share with a hiring manager or save to your documentation file.
Where software earns its keep is at volume and at the intersection of compliance and speed. If you are posting across multiple transparency-law states, managing ranges for 20 or more roles, or dealing with multi-location teams where geographic adjustments matter across every posting, the manual process scales badly — and the documentation burden multiplies with every new role and every new jurisdiction.
Salary Range Builder is built for exactly this gap: SMB HR teams who need to produce defensible, posting-ready salary ranges from BLS OEWS and Statistics Canada NOC data, with an audit trail, without an enterprise-platform budget, and without waiting for a comp analyst to get on a call.
The 14-day free trial is the lowest-friction way to find out whether the time you're spending on the manual process — and the compliance exposure it carries — is worth the cost of replacing it.
Starting Your First Range Build
You now have a complete method for how to build a salary range that is anchored, documented, and posting-ready:
- Define the role with enough precision to find a market match (title, level, FLSA status, geography, key requirements).
- Map the role to the right BLS SOC code — or, for Canadian roles, the Statistics Canada NOC code.
- Pull the OEWS wage percentiles for the right geography from bls.gov/oes, noting the release year.
- Decide your market position, deliberately and in writing.
- Set a range spread appropriate to the role type and calculate your minimum and maximum.
- Document the methodology — SOC code, geographic series, release year, percentile anchor, spread rationale, date, author.
- Check the posting against the pay-transparency requirements of every jurisdiction where the role will be visible or performed, and verify the current rules with the relevant labor authority or with employment counsel.
The process is replicable, auditable, and defensible — which is exactly what a salary range needs to be.
Start your 14-day free trial of Salary Range Builder →
Wage data in this article is drawn from the U.S. Bureau of Labor Statistics Occupational Employment and Wage Statistics (OEWS) program and the BLS Occupational Outlook Handbook, May 2024 reference year. BLS OEWS data is a U.S. public-domain dataset. Confirm the current live figures at bls.gov/oes before using them in any posting or compensation documentation. Pay-transparency law citations reference the issuing legislative or regulatory authority; confirm the current rule with the relevant state or local labor authority or with employment counsel before acting. This article is for informational purposes only and does not constitute legal or compensation advice.
Get the template
Paired with this article: Salary Range Builder Workbook.
Get new guides in your inbox
One email when a new article goes live. Unsubscribe with one click.


