“We’re doing $2 million in revenue, but I took home less than $80,000 last year. What’s wrong?”
This conversation happens weekly with Texas small business owners. Strong revenue, weak profit. Busy all the time, broke at the end of the year.
The problem isn’t revenue—it’s profit margin. And most small business owners have no idea what their actual margins are, what they should be, or how to improve them.
This guide breaks down small business profit margins: what’s normal, how to calculate yours accurately, and the specific tactics that improve profitability for service businesses and contractors across Texas.
Understanding Profit Margins: Gross vs. Net
First, the definitions—because most owners use these terms interchangeably when they mean very different things.
Gross Profit Margin
Formula: (Revenue - Direct Costs) / Revenue × 100
Direct costs include:
- Labor (field employees, technicians, crews)
- Materials and supplies used on jobs
- Subcontractors
- Equipment rentals for specific jobs
- Job-specific expenses
What gross margin tells you: How much is left after paying for the work itself, before overhead.
Example:
- Revenue: $50,000 job
- Labor: $18,000
- Materials: $12,000
- Subs: $5,000
- Total direct costs: $35,000
- Gross profit: $15,000
- Gross margin: 30%
Net Profit Margin
Formula: (Revenue - All Costs) / Revenue × 100
All costs include:
- Direct costs (same as above)
- Overhead (rent, utilities, insurance, office staff)
- Sales and marketing
- Administrative expenses
- Interest and taxes
- Owner compensation (if you’re paying yourself a salary)
What net margin tells you: What’s actually left at the end of the year after paying for everything.
Example (same $50K job, with overhead):
- Revenue: $50,000
- Direct costs: $35,000
- Gross profit: $15,000
- Overhead allocation (30% of revenue): $15,000
- Net profit: $0
- Net margin: 0%
This is the trap most small businesses fall into. Good gross margins, bad net margins. They make money on each job but lose it on overhead.
Normal Profit Margins for Texas Small Businesses
Here’s what healthy margins look like by industry and business type. These are based on actual numbers from profitable small businesses doing $500K to $10M in annual revenue across Texas markets.
Service Businesses (HVAC, Plumbing, Electrical)
Gross Margin:
- Target: 45-55%
- Acceptable: 40-45%
- Warning zone: Below 40%
Net Margin:
- Excellent: 12-18%
- Good: 8-12%
- Acceptable: 5-8%
- Struggling: Below 5%
Why the ranges:
- Residential service: Higher gross margins (50-55%), lower volume
- Commercial service: Lower gross margins (40-45%), higher volume
- Emergency/after-hours: Premium margins (60%+)
- Maintenance agreements: Moderate margins but predictable revenue
A Dallas HVAC contractor doing $3M in revenue should target:
- 50% gross margin = $1.5M gross profit
- 10% net margin = $300K net profit
Anything less suggests pricing problems, efficiency issues, or overhead bloat.
General Contractors
Gross Margin:
- Target: 35-45%
- Acceptable: 30-35%
- Warning zone: Below 30%
Net Margin:
- Excellent: 10-15%
- Good: 7-10%
- Acceptable: 4-7%
- Struggling: Below 4%
Why lower than service businesses:
- Higher material costs (proportionally)
- More subcontractor management
- Longer project timelines
- Weather and delay risks
Houston general contractors often run thinner margins on commercial work (30-35% gross) but make it up on volume and repeat business.
Landscaping and Maintenance
Gross Margin:
- Maintenance contracts: 50-60%
- Installation/project work: 40-50%
- Target overall: 45-55%
Net Margin:
- Excellent: 10-15%
- Good: 7-10%
- Acceptable: 5-7%
- Struggling: Below 5%
Seasonal considerations: Texas landscapers need higher margins during peak season (spring/summer) to carry slower winter months. Annual net margin might be 10%, but Q2/Q3 should be 15%+ to offset Q1/Q4.
Professional Services (Consulting, Marketing, IT)
Gross Margin:
- Target: 60-75%
- Acceptable: 50-60%
- Warning zone: Below 50%
Net Margin:
- Excellent: 20-30%
- Good: 15-20%
- Acceptable: 10-15%
- Struggling: Below 10%
Why higher margins:
- Low material costs
- Minimal equipment needs
- Scalable delivery model
- High-value expertise
Austin professional services firms should run much higher margins than trade businesses because cost structure is mostly labor and overhead.
How to Calculate Your Actual Profit Margins
Most Texas small business owners guess at their margins. “I think we’re around 40%.” Or worse: “We mark up materials 30%, so that’s our margin.” (It’s not.)
Here’s how to calculate accurately:
Step 1: Get Clean Financial Statements
You need:
- P&L statement for the last 12 months
- Categorized expenses (direct costs vs. overhead)
- Job costing data (if available)
If your books are a mess, clean bookkeeping is step zero. You can’t manage margins you can’t measure.
Step 2: Separate Direct Costs from Overhead
Go through every expense and ask: “Is this tied to a specific job or project?”
Direct costs (job-specific):
- Field labor
- Materials purchased for jobs
- Subcontractors
- Equipment rentals
- Job-specific permits/fees
Overhead (runs whether you have jobs or not):
- Office staff salaries
- Rent and utilities
- Insurance
- Marketing and advertising
- Vehicles and equipment depreciation
- Office supplies
- Professional fees (accountant, lawyer)
If you’re not sure, default to overhead. Better to under-report gross margin than inflate it.
Step 3: Calculate Company-Wide Margins
Total Revenue: Sum of all revenue for the period
Direct Costs: Sum of all job-specific costs
Gross Profit: Revenue - Direct Costs
Gross Margin %: (Gross Profit / Revenue) × 100
Total Expenses: Direct Costs + Overhead
Net Profit: Revenue - Total Expenses
Net Margin %: (Net Profit / Revenue) × 100
Example (annual numbers):
- Revenue: $2,400,000
- Direct costs: $1,440,000
- Gross profit: $960,000
- Gross margin: 40%
- Overhead: $720,000
- Net profit: $240,000
- Net margin: 10%
This tells you overall performance. But it hides critical detail.
Step 4: Calculate Margins by Service Line or Job Type
This is where you find the truth.
Your overall margin might be 40%, but:
- Residential service calls: 55% margin
- Commercial maintenance: 42% margin
- New installations: 35% margin
- Emergency repairs: 60% margin
You’re making great money on service and emergency work. Breaking even on installations.
Most owners don’t know this because they only look at overall numbers. Job costing reveals the details that drive better decisions.
A San Antonio plumbing company thought all work was profitable. Job costing revealed:
- Service calls: 52% margin (excellent)
- Remodels: 38% margin (good)
- New construction: 12% margin (terrible)
They stopped bidding new construction. Revenue dropped 15%. Profit increased 40%.
Why Profit Margins Erode (And How to Stop It)
You had good margins. Then they slipped. Revenue grew, but profit didn’t keep pace.
Here’s why—and how to fix it:
Reason #1: Pricing Hasn’t Kept Pace with Costs
You set pricing 2 years ago based on cost structures that no longer exist.
What changed:
- Labor costs up 15-20% (Texas labor market is competitive)
- Material costs up 10-25% (depending on category)
- Fuel costs fluctuating
- Insurance premiums rising
But your pricing stayed flat. Maybe you raised prices 5%, but costs went up 15%. Margin shrinks.
Fix: Annual pricing review
- Calculate current true costs
- Add current desired margin
- Update pricing for new jobs
- Consider surcharges for volatile costs (fuel, materials)
Pricing adjustment example:
- 2023 labor cost: $30/hour loaded
- 2026 labor cost: $36/hour loaded (20% increase)
- 2023 pricing: $85/hour
- Margin: 65% = ($85 - $30) / $85
- 2026 pricing to maintain margin: $103/hour
If you’re still charging $85, your margin dropped from 65% to 58%. Multiply that across hundreds of jobs—massive profit leak.
Reason #2: Scope Creep and Free Work
Customer asks for “one small thing.” You do it for free to be nice.
Happens 5 times per project. Each “small thing” is 30 minutes. That’s 2.5 hours of unbilled labor per job.
At 200 jobs/year × 2.5 hours × $75/hour = $37,500 in free work annually.
Fix:
- Bill for all changes
- Create a change order process
- Train team to document scope changes
- Set a threshold (changes under $200 need approval to comp)
A Fort Worth electrical contractor implemented “no free work” policy. Gross margin improved 4 points in 6 months. Not because they squeezed customers—because they stopped giving away profit.
Reason #3: Labor Inefficiency
Your pricing assumes jobs take X hours. Reality: they take 1.5X hours.
Common efficiency killers:
- Poor scheduling (crews waiting for parts/instructions)
- Multiple trips to same job (forgot tools, wrong materials)
- Rework (mistakes that have to be fixed)
- Training inefficiency (new guys learning on the clock)
Fix: Track actual hours vs. estimated hours by job
- Jobs running over budget? Why?
- Specific crews less efficient? Training or accountability issue?
- Certain job types always run long? Estimate templates need updating
Houston HVAC company discovered installs averaged 23 hours vs. 18-hour estimate. They:
- Retrained crews on efficient installation sequence
- Pre-staged materials night before
- Improved estimate accuracy
Hours dropped to 19 average. Margin improved 6 points.
Reason #4: Material Waste and Theft
You buy $10,000 in materials monthly. How much ends up in jobs vs. waste/theft/misallocation?
Sources of material margin erosion:
- Ordering wrong materials (can’t return)
- Over-ordering (excess sits in warehouse)
- Damage and spoilage
- Theft (team members taking supplies)
- Poor inventory tracking (bought items you already had)
Fix:
- Material tracking by job
- Return unused materials immediately
- Inventory counts monthly
- Secure storage for high-value items
- PO approval process for purchases over threshold
Austin general contractor was “losing” $2,000/month in materials. Implemented inventory controls, shrinkage dropped to $400/month. That’s $19,200 annual margin improvement.
Reason #5: Overhead Creep
Revenue grew 50%. Overhead grew 75%.
How it happens:
- Hired admin staff “just in case”
- Leased nicer office space
- Bought new trucks before old ones were fully utilized
- Added software subscriptions that don’t get used
- Hired specialists for work you could outsource cheaper
Fix: Overhead as % of revenue should stay flat or decline as you scale
- Benchmark: Overhead should be 25-35% of revenue for most Texas service businesses
- Above 40%? You have overhead bloat
- Below 20%? You might be under-invested in support infrastructure
Overhead optimization:
- Eliminate unused subscriptions and services
- Renegotiate insurance annually
- Right-size office space (do you need that much?)
- Outsource vs. hire (bookkeeping, marketing, HR)
Reason #6: Revenue Mix Shift
You used to do 80% high-margin work, 20% low-margin work.
Now it’s 50/50. Overall margin dropped, but you don’t know why because you’re not tracking by job type.
Fix: Analyze revenue mix quarterly
- What % comes from each service line?
- What’s the margin on each?
- Are you growing high-margin or low-margin work?
Dallas landscaping company:
- Year 1: 70% maintenance contracts (55% margin), 30% installs (40% margin) = 51% blended margin
- Year 3: 40% maintenance, 60% installs = 46% blended margin
Revenue grew, but they were growing the wrong revenue. They course-corrected: focused sales on maintenance contracts, raised install pricing. Margins recovered.
Specific Tactics to Improve Profit Margins
Now for actionable fixes that Texas small businesses can implement immediately:
Tactic #1: Raise Prices on Your Best Customers
Counterintuitive but true: your loyal, repeat customers will pay more for the value you provide.
Who to raise prices on:
- Customers you’ve served for 2+ years without price increase
- High-maintenance customers (even if they pay on time)
- Premium service tier (if you offer tiered service levels)
How much to raise:
- 5-10% on existing customers (communicate value, not just “inflation”)
- 10-15% on new customers
- 20%+ on rush/emergency work
A San Antonio plumbing contractor raised prices 8% on existing customers, 12% on new customers. Lost 3% of customers. Revenue stayed flat, but margin improved from 42% to 47%.
The customers who left were price shoppers. The ones who stayed valued quality and reliability. Better customer base, higher margins.
Tactic #2: Cut Your Worst 10% of Customers
Not all revenue is good revenue.
Customers to cut:
- Consistently late payers (tie up cash, hurt cash flow)
- Constant negotiators (erode margin on every job)
- Scope creep specialists (always want extras for free)
- Geographically inconvenient (driving time kills efficiency)
How to cut:
- Raise prices to market rate + 20%
- They’ll either pay (now profitable) or leave (problem solved)
- For problem customers: decline new work politely
Austin electrical contractor cut bottom 15% of customers by revenue. Lost $180K revenue. But those customers generated $12K total gross profit over the year. Overhead to serve them: $45K.
Cutting them saved $33K annually plus freed capacity for better customers.
Tactic #3: Productize Your Services
Service work is hard to price consistently. Productized offers make pricing simple and improve margins.
What productization looks like:
Before (custom quotes):
- Customer calls, describes problem
- You estimate time/materials
- Quote varies based on mood/workload/competition
- Margin inconsistent, averaging 42%
After (fixed packages):
- Standard diagnostic: $195 flat
- Minor repair package: $495 (covers 90% of common issues)
- Major repair package: $1,200
- Replacement packages: Bronze $3,500, Silver $4,800, Gold $6,200
- Margin consistent at 52% because you’ve optimized the package
Houston HVAC company productized residential replacements. Before: every quote custom, margins 38-48%. After: 3 standard packages, margins 51-54%. Revenue per job increased 12% because customers bought up to better packages.
Tactic #4: Implement Minimum Job Charges
Service calls under $200 often lose money when you factor in drive time, admin time, and overhead.
Solution: Minimum charges
- Service call minimum: $195-$295
- Small project minimum: $500-$750
- Emergency/after-hours minimum: $395+
Communicate value: “This covers our trip charge, diagnostic time, and first hour of work.”
Dallas plumbing contractor analysis:
- Jobs under $150: average 18% margin
- Jobs $150-$300: average 38% margin
- Jobs over $300: average 52% margin
They implemented $225 minimum. Some customers complained. Lost about 10% of small jobs. Overall margin improved 5 points.
Tactic #5: Charge for Quotes and Estimates
For larger projects (over $5K), charge for detailed estimates.
Why this works:
- Filters tire-kickers who aren’t serious
- Creates revenue stream from estimating work
- Customers value paid estimates more than free ones
- Credit estimate fee toward job if they hire you
Pricing:
- Small projects: $0-$150 estimate fee
- Medium projects ($5K-$20K): $250-$500 estimate fee
- Large projects ($20K+): $500-$1,000 estimate fee
Fort Worth general contractor implemented this. Estimate conversion rate dropped from 28% to 24%. But:
- Only serious customers requested estimates (less time wasted)
- Estimate fees generated $18K annually
- Customers who paid for estimates were better clients (less price shopping)
Net effect: More profitable revenue from better customers.
Tactic #6: Bundle and Upsell
Every customer interaction is an opportunity to increase transaction size.
Examples:
HVAC service call:
- Customer calls for AC repair
- Tech fixes issue ($450)
- Offers maintenance agreement ($299/year)
- Offers air quality add-on ($650)
- Total ticket: $1,399 vs. $450
Plumbing job:
- Customer wants water heater replacement
- Offer standard replacement ($2,200)
- Suggest tankless upgrade ($4,800)
- Add leak detection device ($450)
- Add whole-house water softener ($1,800)
- Total potential: $7,050 vs. $2,200
Austin plumbing company trained techs on consultative selling. Average ticket increased from $680 to $920. Same labor, same drive time, 35% more revenue per job.
Higher revenue per job = better margin because overhead is fixed per job.
Tactic #7: Fix Your Job Costing
You can’t improve margins you can’t see.
Real-time job costing reveals:
- Which job types are profitable
- Which customers are profitable
- Which crews are efficient
- Where estimates are wrong
- Where costs are creeping
Implementation:
- Track labor hours by job daily (not weekly or monthly)
- Allocate materials to jobs when purchased
- Code subcontractor invoices to specific jobs
- Review jobs in progress weekly for budget variance
- Close and analyze completed jobs monthly
San Antonio HVAC contractor implemented job costing. Discovered:
- Residential service: 54% margin (great)
- Commercial service contracts: 41% margin (okay)
- Commercial installs: 27% margin (bad)
- Residential installs: 48% margin (good)
They cut commercial install work, doubled down on residential. Revenue dropped 12%, profit increased 31%.
Tactic #8: Reduce Callbacks and Rework
Every callback costs:
- Labor (sending crew back)
- Materials (fixing mistakes)
- Overhead (admin time to schedule)
- Reputation (unhappy customer)
But it doesn’t generate revenue. Pure margin erosion.
Common callback causes:
- Rushed work (trying to fit too many jobs in a day)
- Poor training (techs don’t know the right way)
- Communication gaps (crew doesn’t understand scope)
- Material defects (cheap parts that fail early)
Fix:
- Quality checklist before leaving job
- Photos required for certain job types
- Customer sign-off on completion
- Training on common mistakes
- Better materials (yes, they cost more up front, but callbacks cost more)
Houston electrical contractor tracked callbacks: averaging 8% of jobs. Each callback cost $220 average.
- 800 jobs/year × 8% callback rate × $220 cost = $14,080 annual margin leak
They implemented completion checklists and crew training. Callbacks dropped to 3%. Saved $8,800 annually plus reputation improvement.
Advanced Margin Strategies
Once you’ve handled basics, these advanced tactics can push margins higher:
Strategy #1: Differential Pricing by Customer Type
Not all customers should pay the same price.
Pricing tiers:
- New customers (premium pricing): Highest risk, no relationship, charge more
- Existing customers (standard pricing): Proven relationship, fair pricing
- VIP customers (slight discount): High volume or repeat business, small loyalty discount
Example:
- Service call for new customer: $295
- Service call for existing customer: $265
- Service call for VIP (on maintenance contract): $195 (or included)
This maximizes margin on new acquisition while maintaining loyalty with good customers.
Strategy #2: Dynamic Pricing by Demand
Texas HVAC and plumbing contractors can use seasonal/demand pricing:
Peak season (June-August for HVAC):
- Higher base pricing
- Longer lead times
- Premium for rush work
Slow season (winter for HVAC):
- Discount pricing to fill schedule
- Faster turnaround
- Package deals for off-season work
A Dallas HVAC contractor charges 15% more for July installations than January installations. Customers accept it because demand is high.
Strategy #3: Margin-Based Incentives
Align team compensation with margin, not just revenue.
Commission structures:
Bad (revenue-based):
- Salesperson gets 5% of revenue
- Incentive to discount to close deals
- Margin suffers
Good (margin-based):
- Salesperson gets:
- 3% commission on 40-45% margin jobs
- 4% commission on 45-50% margin jobs
- 5% commission on 50%+ margin jobs
- Incentive to maintain margin, not just close volume
Similarly, crew bonuses based on job profitability (budget vs. actual) incentivize efficiency.
Monitoring Margins Over Time
Set these as regular reviews:
Weekly:
- Jobs completed vs. budget
- Jobs in progress (on-budget or trending over?)
Monthly:
- Overall gross and net margin
- Margin by service line
- Top 10 profitable jobs (what did we do right?)
- Bottom 10 jobs (what went wrong?)
Quarterly:
- Revenue mix analysis
- Customer profitability review
- Pricing effectiveness
Annually:
- Benchmark against industry standards
- Cost structure review
- Pricing model update
This ensures margins don’t erode invisibly. You catch problems while they’re still small.
When to Get Help with Profit Margins
If you’ve tried these tactics and margins aren’t improving, the problem might be:
Systemic pricing issues that require complete pricing model overhaul
Job costing implementation that needs expert setup
Cost structure problems buried in your financials
Operational inefficiencies that require outside diagnosis
Small business consulting focused on profitability typically includes:
- Complete margin analysis
- Job costing implementation
- Pricing strategy development
- Cost reduction identification
- Financial system setup
A Houston general contractor was stuck at 6% net margin for 3 years despite strong revenue. Brought in operational help. Root cause: estimating was consistently 15% under actual costs. Fixed estimating templates and job tracking. Margin improved to 11% within 6 months.
The fix was simple once diagnosed properly. But the owner couldn’t see it because they were too close to the business.
The Bottom Line on Profit Margins
Revenue is vanity. Profit is sanity.
A Texas small business doing $3M at 12% net margin ($360K profit) is healthier than one doing $5M at 4% net margin ($200K profit).
The $3M business owner works less, stresses less, has more cash flow, and builds more value.
The $5M business owner works harder, stresses more, scrambles for cash, and builds a bigger job for themselves.
Focus on margin, not just revenue. Grow profitably, not just quickly.
Most Texas small businesses doing $500K-$10M can improve margins 3-7 points within 6-12 months by:
- Fixing pricing
- Cutting unprofitable work
- Improving labor efficiency
- Tracking job-level profitability
- Reducing waste and callbacks
The margin improvement alone often generates more profit than years of revenue growth.
Stop chasing revenue. Start building margin.