You Undercharged by $250/Job and Didn't Notice Until December. The Pricing Drift Trap.
Pricing
Fictional math: a 5% increase on a $500K service agreement book adds $25K only if nobody leaves. At a 40% contribution margin, 3% churn leaves +$18,250, 10% churn leaves +$2,500, and about 11% churn erases the gain. Measure your churn and cost before you decide whether the fear is right.
Sam Yang, Founder of Level
If this is you
Fictional example: you set service agreement pricing 18 months ago assuming $28/hour loaded labor. Loaded labor is now $34/hour, about 21% higher, and parts, insurance and vehicle costs also rose. You only see it at the year-end review. When you rebuild cost-to-serve, each invoice is about $250 below the price that would hold your target margin. The labor change alone is $6 per labor hour; the $250 is the full rebuilt gap in this example. 2,400 invoices a year × $250 = $600K a year of planned margin you did not price, measured before any volume change from a price increase.
Pricing drift is one of the slowest, most expensive mistakes in service businesses. Labor costs go up. Material costs go up. Insurance goes up. Pricing stays where you set it 18 months ago.
The drift compounds quietly. By the time you notice, usually at year-end when net margin shrinks, you've left meaningful money on the table for 12+ months. There's no recovering the past leak; you can only stop it from continuing.
Here's the math, the four signals worth checking, and a repricing playbook that measures customer churn instead of guessing at it.
The compounding math of pricing drift
Most contractors think pricing is a small adjustment, a few percent here and there. The compounding math is much worse.
Fictional example: a $5M service contractor with direct labor at 50% of revenue has $2.5M in direct labor expense. If loaded labor cost per hour has gone up 18% since you last repriced, and hours and prices are unchanged, direct labor is now $2.5M × 1.18 = $2.95M. You've absorbed $450K of gross margin, and that gap repeats every year until prices move.
Materials, insurance, rent and software can move too. Measure your own cost-to-serve change from your books. This page has no measured population figure for how much contractors typically absorb, so treat any range you hear as an assumption to test.
Second fictional example: on a business with $100 of revenue, $70 of cost and a 30% gross margin, 15% cost growth with no price change takes cost to $70 × 1.15 = $80.50. Gross margin falls to ($100 - $80.50) / $100 = 19.5%, a 10.5 point drop. If net margin was 10% and overhead stayed flat, net margin would fall to about -0.5%.
That's the silent crisis. You feel busy, you feel productive, the bank account barely moves, and you can't figure out why.
The four signals you're underpriced
You don't need a sophisticated pricing model. Four signals tell you whether you're due for a reprice.
Signal 1: Win rate above 70% on quotes
This signal only applies to competitively bid work, where the customer is comparing you with other contractors. A high win rate there can mean you have pricing room, but it is a reason to test, not proof. This page has no measured population for an optimal bid win rate, so any target range is your own planning assumption.
Do not compare a bid win rate with field-software quote conversion. Median decided-quote conversion across 794 contractors is 73.9%, per Level Index published metric (see its eligible sample and definition), measured as won divided by won plus lost, excluding pending quotes, for companies with at least 20 decided quotes. Many of those quotes are repair or replacement options offered to existing customers, not competitive bids. Level's all-quote conversion median, reported for 794 companies with 20+ quotes, is 38.1%. Being above 73.9% does not by itself show that you are underpriced, and it does not mean the median contractor is underpriced.
The operator check: split the last 12 months of quotes into competitive bids and options for existing customers. If competitive win rate stayed high while job margin slid (Signal 3), raise price on a defined slice of new bids for 60 to 90 days. Then compare decided conversion and margin per quote against the rest.
Signal 2: Customers haven't pushed back on price in 18+ months
Push-back from customers is annoying but it's also feedback about where your pricing sits. If nobody is pushing back, you may be below the market, or your customers may simply value response time and continuity. Treat silence as a reason to check, not proof.
Specifically: when was the last time a customer asked you to "sharpen your pencil" or compete against a lower bid? If it's been 18+ months, count it as one signal and confirm it with Signals 1 and 3.
Signal 3: Margin trend is flat-to-down despite cost increases
This is the most direct of the four checks. Pull last 24 months. Plot gross margin by quarter. A flat price list and rising like-for-like cost can squeeze margin; productivity, customer mix or volume can offset it. Separate those effects before attributing the entire change to price. The pattern to look for, as an illustration: margin sliding 2 to 5 points over 24 months while your price list stayed flat. That's pricing drift in action.
Signal 4: Service agreement renewal rates above 90%
This page has no measured benchmark for service agreement renewal rates, so 90% is a planning threshold, not a top-quartile figure. Very high renewal can mean agreements are priced below what customers would accept, but it can also mean strong service and good customer fit. Check it against agreement margin: if renewal is above your planning threshold and margin below target, test price alongside delivery cost, route density, service mix and contract scope. This pair does not isolate the cause. For cross-trade context, the Level Index median service agreement gross margin is 37.9% across 259 contractors with at least $10K of agreement revenue. It is not a renewal benchmark or your target.
If three or more of these signals are true, you likely have a pricing drift problem. Size the increase from the cost-to-serve gap you calculate in Days 1-14 below, not from a fixed percentage, and run the churn sensitivity before you send letters.
Free benchmark review
See how your margins benchmark.
Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.
Why owners don't reprice (and when the fear is wrong)
The fear: "If I raise prices, customers will leave."
What is often true: many service customers face real switching costs. They have your tech in their building, your software in their system, your team familiar with their site. Switching is annoying. Those costs can make customers less price-sensitive, but how many leave after an increase is something you measure in your own book, not something to assume.
This page has no measured population for attrition after a price increase. Treat churn as an assumption and test it. Fictional example with stated assumptions: a $500K service agreement book, a 5% price increase, and a 40% contribution margin at current prices. That means $300K of cost, which goes away only for customers who leave. Churn here means the share of current agreement revenue that does not renew.
Formula: contribution after = (1 - churn) × ($500K × 1.05 - $300K). Today's contribution is $200K.
| Churn after increase | Revenue kept | Cost kept | Contribution | Change vs. today |
|---|---|---|---|---|
| 0% | $525,000 | $300,000 | $225,000 | +$25,000 |
| 3% | $509,250 | $291,000 | $218,250 | +$18,250 |
| 10% | $472,500 | $270,000 | $202,500 | +$2,500 |
| 20% | $420,000 | $240,000 | $180,000 | -$20,000 |
Break-even churn in this example is about 11.1%: 88.9% × $225,000 = about $200,000. Counterexample: suppose the cost of serving departing customers does not go away, for example salaried techs whose freed hours are not reassigned. Then 3% churn gives $509,250 - $300,000 = $209,250, a gain of only $9,250.
The 40% is a round fictional assumption. For context only, the Level Index median service agreement gross margin is 37.9% across 259 contractors; use your own agreement margin.
The math can favor a reprice, but only after you plug in your own margin and a churn rate you're willing to defend.
The repricing playbook that works
A 90-day reprice that doesn't blow up customer relationships:
Days 1-14: Baseline analysis
Pull every active service agreement, T&M rate, and quote template. For each:
- When was it last priced?
- What was your cost-to-serve assumption then?
- What is your cost-to-serve now?
- What's the margin gap?
You'll find a distribution. Some agreements are well-priced (often recent additions). Some may be 18+ months old and priced well below current cost-to-serve plus your target margin. The largest gaps are your reprice priority list.
Days 15-30: Tier the customer base
Not all customers should get the same increase. Tier them:
- Tier 1, Strategic / hard to replace: customers you'd absorb churn risk to keep. Modest increase (3-5%).
- Tier 2, Standard: typical service customers. Standard increase (5-10%).
- Tier 3, Marginal / poor fit: customers who consume disproportionate support, who've been late-paying, or whose work is structurally low-margin. Aggressive increase (15-25%) with the implicit message "we're priced for our cost-to-serve; you're free to shop." Plan for a meaningful share of these to leave, and run the sensitivity table above with a high churn rate for this tier. The tier ranges here are illustrative starting points, not measured outcomes.
Days 31-60: Communicate the increase
Use the contract-required delivery method. A letter or email can work when permitted; retain evidence of delivery and acknowledgment. Specific date the new pricing takes effect. Reason: "Operating costs (labor, insurance, parts) have increased [your measured %] since [your last pricing date] and we're aligning pricing accordingly. Service quality and team continuity remain priorities." Fill the bracket from your own cost records, not from an industry figure.
For service agreements: check each agreement's renewal and price-change notice terms first. If the contract requires a specific notice period, delivery method or rate cap, the contract controls. Otherwise, send 60 days before renewal date so customers can decide.
For T&M / new quote pricing: update the rate sheet for new quotes. If a signed contract includes a rate schedule, follow its change and notice terms before applying new rates to that customer.
Days 61-90: Handle pushback
Have a script ready for customers who push back. Three options:
- Hold the price. "I understand cost is sensitive. Here's why we still believe this is fair pricing." If they leave, they leave.
- Strategic concession. For Tier 1 customers only: "Given our 5+ year relationship, we'll hold rates for one more renewal cycle but we'll need to adjust at the next."
- Renegotiate scope. "If pricing is the issue, we can reduce scope to fit your budget. Here's what we'd take off the agreement."
Log every pushback and which option resolved it. After the first renewal cycle, compare actual churn by tier with the churn you assumed, and use that measured rate next time.
When the reprice is bigger than 10%
If the gap between your current pricing and cost-to-serve is more than 10%, a single reprice carries more churn risk, so model it before you send it. One option is a phased approach: 5% this year, 5% next year, communicated as a known plan.
Or, and this is the harder choice, you accept that some customers will churn and you optimize for the ones who stay. Fictional example: $100 of revenue at 40% contribution margin ($60 of cost). A 20% reprice with 25% attrition gives revenue of $100 × 1.20 × 0.75 = $90, about 10% less revenue, not the same. If the cost of serving departing customers goes away, cost falls to $45 and contribution rises from $40 to $45. If that cost stays, for example idle salaried techs, contribution falls to $90 - $60 = $30.
For service businesses with capacity constraints (you can't take on much more work without hiring), the second option can work because freed hours get reassigned to better-paying work or avoid a hire. Less revenue can mean more contribution, but only when the freed cost actually goes away or gets redeployed.
What to do this week
Three actions:
- Pull last year's customer profitability report (revenue minus actual cost per customer). Sort ascending. Bottom 20% by margin are your reprice priority.
- Check the four signals above. How many are true for your business?
- Set a date in the next 90 days to make the reprice decision. If you don't put it on the calendar, it won't happen.
Pricing drift compounds for as long as you ignore it. The fix is mechanical: measure the gap, model churn, then decide. Whether the math favors a reprice depends on your measured margin and churn.
Run your service agreement margin in 2 minutes, see what current pricing produces vs. what it could. Or book a free 30-min audit and we'll rebuild your pricing model, using service agreement gross margin across 259 contractors (median 37.9%), per Level Index published metric (see its eligible sample and definition) as cross-trade context, not as your target.
Related reading
Get the next one
Want next week's benchmark in your inbox?
One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.
Related reads
Job Costing
Contractor Finance KPIs Ranked by Profit Impact (2026)
The 8 financial KPIs that move a contractor's bottom line, in an editorial priority order by profit leverage, with Level Index benchmarks where a measured sample exists and measurement steps where one does not.
Job Costing
Your 45% Job Could Really Be a 24% Job. Here's Where the Margin Goes.
In a fictional illustration, a contractor job bid at 45% gross margin lands between about 24% and 29% once labor is fully burdened, callbacks counted, material drift priced, and AR financing charged. Rebuild it with your own numbers.
Job Costing
Landscaping Route Margin: Rebuild Labor Cost Correctly
Rebuild landscaping route margin using loaded labor, drive time, equipment per crew-hour, and seasonal capacity. Includes Level job-data context.

About the author
Sam Yang
Founder & CEO
Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.
LinkedIn