How to set compensation bands with AI

People & HR3 AI tools7 steps6 friction points

Compensation bands define the salary ranges your company pays for each role or level — the floor, midpoint, and ceiling a candidate or current employee falls within. Most early-stage operators build these ad hoc: someone gets an offer, you look up a Levels.fyi number, and a policy slowly accretes from individual decisions. At some point — usually before a second or third hire into the same role — you need actual structure.

The workflow feels tractable for AI because it's largely about pattern-matching across data: market surveys, your current headcount, role levels, and comp philosophy. There's no single correct answer — the output is a structured judgment call — and LLMs are genuinely good at synthesizing disparate inputs, drafting frameworks, and formatting structured tables. The cognitive work of researching benchmarks, segmenting by level, and writing the policy document maps reasonably well to what a good LLM prompt chain can do.

ChatGPT, Claude, and Gemini can take your inputs — role titles, geography, funding stage, and comp philosophy — and return a draft band structure, suggest percentile targets, and write the accompanying policy language. They draw on broad training data about compensation norms. What they can't do is connect to your actual payroll system, your real headcount costs, or your live financial runway — so every run requires manual setup and produces a snapshot, not a living document.

People & HR3 AI tools7 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Export your current employee list from Paylocity, ADP, or whatever HR system you use — role title, level (if any), current salary, location. Paste this into a spreadsheet and clean it manually before touching an LLM.
2 Open Claude or ChatGPT and paste in your current headcount data alongside a description of your comp philosophy (e.g., 'we target 50th percentile of Series A SaaS companies in the US, remote-first'). Ask it to identify the distinct roles and proposed levels based on what it sees.
3 Feed in market benchmark data manually — copy rows from Levels.fyi, Radford, Carta Total Comp, or Option Impact for each role you care about. LLMs don't have live access to these, so you're doing the research and pasting the numbers in yourself.
4 Prompt the model to generate a band structure: minimum, midpoint, and maximum for each role-level combination, with a stated percentage spread (e.g., 50% spread, midpoint at market 50th percentile). Ask it to format the output as a table.
5 Review the output, correct any role-level mismatches or implausible numbers, and paste the revised data back with corrections. Iterate until the structure reflects your actual roles and market position.
6 Ask the model to draft the accompanying comp policy document — how the bands are used in offers, when exceptions are approved, how and how often bands are refreshed — and customize the draft for your voice and specific rules.
7 Copy the final band table into a Google Sheet or Notion page. Nothing about this output persists in the LLM — you own the document from here.
Prompts you can copy
Here is my current headcount: [paste table]. We're a 20-person Series A SaaS company, remote-first, targeting 50th percentile. Identify the distinct roles and logical levels, then draft compensation bands with a 50% spread for each.
Here are Levels.fyi midpoints for Software Engineer L3, L4, and L5 in the US: [paste data]. Build a compensation band table with min, midpoint, and max at the 50th percentile, with a 40% spread. Format as a table.
Draft a compensation band policy for a 30-person startup. Include: how bands are set, what percentile we target, how we handle exceptions, how often bands are reviewed, and how managers communicate band placement to employees.
We have three people in the same 'Account Executive' role earning $72k, $85k, and $91k. Market 50th percentile is $82k. Draft a band for this role and tell me how each person sits within it, and whether any is outside band.
We're expanding to hire in Austin and London in addition to New York. Adjust these compensation bands [paste table] with geographic differentials: Austin at 85% of NYC, London at 95% of NYC. Show the adjusted bands for all three locations.
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

No live connection to Paylocity or ADP — every session requires you to manually export and paste your headcount data before the LLM can work with it.
Market benchmark data isn't live either — you pull numbers from Levels.fyi or Carta manually and paste them in, which means the benchmark snapshot is already aging by the time the bands are done.
Nothing persists between sessions — next quarter when you want to refresh the bands or add a new role, you're rebuilding the full context from scratch: headcount export, benchmark data, policy choices, all of it.
Output structure drifts across runs — the table format, level naming convention, or spread percentages you carefully specified last time don't carry forward unless you re-specify them explicitly every time.
The model has no visibility into your financial runway — it can't flag that a proposed band midpoint would push total payroll cost beyond your burn tolerance or affect your hiring plan for the next 12 months.
The resulting document lives wherever you paste it — a Notion page, a Google Sheet, someone's email — with no audit trail of when bands changed, who approved exceptions, or which employees were notified.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system — an agent builds the persistent apps and automations your compensation work depends on, connected to your live payroll, financial, and documentation data, so the output updates continuously instead of expiring the moment you close the chat window.

Starch syncs your employee and payroll data directly from Paylocity or ADP on a schedule — so when you build a compensation band app, it's working from your actual current headcount, not last week's export.
Connect Plaid and Stripe from Starch's integration catalog so the agent can surface your real runway alongside proposed band changes — you can see immediately whether a new band midpoint is consistent with your 18-month hiring plan.
Use the Budgeting app as a starting point to model total payroll cost by department against your actual spend, then describe the comp band layer you want on top — the agent builds it as a custom app connected to the same live data.
Store your comp policy, band tables, band history, and exception log in the Knowledge Management app — AI-powered search means anyone on the team can find the current band for a role instantly, and you can detect when the doc goes stale and needs a refresh.
Describe what you want in plain English — 'build me a comp band tracker that shows each employee's current salary, their band, their percentile position within it, and flags anyone who is out of band' — and the agent builds it as a persistent app, not a one-time table.
When bands need a quarterly refresh, Starch automates the update cycle — pull current headcount from Paylocity, compare against saved benchmarks, flag roles where market data suggests a band adjustment, and surface a summary for your review.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run set compensation bands on Starch

You're on the list! We'll be in touch soon.