Gross margin: definition, formula, and dashboard example for home-service companies
Gross margin is the percentage of revenue left after paying direct job costs. Here is how to calculate it, what moves it up or down, and how to watch it in real time before the month is already gone.
Formula
Gross margin = (revenue – COGS) ÷ revenue × 100
Subtract the direct costs of delivering every job (labor, materials, subcontractors, equipment) from total revenue, divide by revenue, and multiply by 100. The result is the percentage of each dollar you keep before paying operating expenses like rent, admin, and marketing.
COGS in home services typically includes field labor (wages and burden), materials, parts, subcontractors, and job-specific equipment costs. Operating expenses such as office staff, advertising, and insurance are not COGS and belong below the gross profit line.
What is gross margin?
Gross margin tells you how much of your revenue survives the actual work. Revenue is the top line, but it does not tell you whether a job was profitable. Gross margin closes that gap: it measures what is left after paying the direct cost of every hour in the field, every part on the truck, and every subcontractor on the site.
A home-service company can book record revenue in a month and still lose money if gross margin is collapsing. It happens when technicians discount invoices at the door, when material costs spike without a price-book update, or when a high-volume campaign fills the schedule with low-margin work. Gross margin is the first signal that the math of the business is working or breaking.
How the math works
To calculate it, subtract COGS (field labor, parts and materials, and any subcontractor cost) from revenue, divide by revenue, and multiply by 100. The result is the share of every revenue dollar left after the direct cost of delivering the work.
That gross margin has to cover everything else: rent, admin salaries, marketing, insurance, vehicles, and the owner's draw. A single-digit drop in margin with operating costs unchanged can tip a business from profitable to unprofitable even at strong revenue, which is why owners track it month to month rather than only at year-end. On a datacube financial board, Gross Profit comes straight from the QuickBooks Profit and Loss (the Gross Profit line) and is shown against the budget you set; margin as a percentage is derived from that line over revenue.
What belongs in COGS for a home-service company
COGS in the trades includes field technician wages and burden (payroll taxes, workers comp, health benefits), parts and materials consumed on jobs, subcontractor costs for work you pass through, and any job-specific equipment or consumables. It does not include office staff wages, advertising, rent, or vehicles unless those are allocated directly to a job. The line between COGS and operating expenses affects how gross margin compares across companies, so defining it consistently in your chart of accounts matters. For per-job visibility, see job profitability. For the technician contribution view, see revenue per technician.
Who owns gross margin and how often to review it
The GM or owner is accountable for the overall gross margin target, but the drivers sit in every department. The service manager controls labor efficiency. The sales team controls discounting and price-book adherence. Purchasing controls material costs. Operations controls job mix and scheduling density. That is why watching gross margin requires a financial dashboard connected to field data, not just a QuickBooks export once a month.
Who moves gross margin and how
| Department | Primary lever | What collapses it | What restores it |
|---|---|---|---|
| Service / technicians | Labor efficiency (hours billed vs. hours paid) | Long drive times, callbacks, low ticket sizes | Route density, price-book discipline, upsell training |
| Sales | Price-book adherence and close rate on premium options | Unauthorized discounts, selling cheap-job mix | Approve-then-discount policy, option presentation |
| Purchasing / warehouse | Material cost per job | Vendor cost creep not reflected in price book | Quarterly price-book reviews, preferred-vendor contracts |
| Dispatch / scheduling | Job mix and schedule density | Thin schedules, low-margin appointment types stacking up | Margin-by-job-type visibility, smart scheduling priorities |
| GM / owner | Overhead structure relative to gross profit | Headcount added faster than revenue scales | Monthly gross margin review against headcount and revenue trend |
What good and poor gross margin movement looks like
Targets vary by trade, service mix, market, and how COGS is defined. Use these as directional reads and set your own baseline from your last 12 months. Ranges vary widely; do not compare to a single industry number.
- Gross margin rising as revenue growsLabor efficiency and price-book discipline are holding under volumeGood
- Current
- Target
- Gross margin flat while labor costs increaseRevenue is covering the wage increase but the buffer is narrowingWatch
- Current
- Target
- Gross margin declining during peak seasonOften driven by overtime premium and callback rates in high-demand monthsWatch
- Current
- Target
- Gross margin drops month over month with no revenue dipCOGS rising faster than revenue: check material costs and discountingPoor
- Current
- Target
- Gross margin below your 12-month average for 3+ consecutive monthsStructural shift: price-book, job mix, or labor model needs reviewPoor
- Current
- Target
- Gross margin by department varies more than 10 pointsOne department is subsidizing another; surface the spread by divisionWatch
- Current
- Target
| Metric | Current | Target | Status |
|---|---|---|---|
| Gross margin rising as revenue growsLabor efficiency and price-book discipline are holding under volume | Good | ||
| Gross margin flat while labor costs increaseRevenue is covering the wage increase but the buffer is narrowing | Watch | ||
| Gross margin declining during peak seasonOften driven by overtime premium and callback rates in high-demand months | Watch | ||
| Gross margin drops month over month with no revenue dipCOGS rising faster than revenue: check material costs and discounting | Poor | ||
| Gross margin below your 12-month average for 3+ consecutive monthsStructural shift: price-book, job mix, or labor model needs review | Poor | ||
| Gross margin by department varies more than 10 pointsOne department is subsidizing another; surface the spread by division | Watch |
Warning
Data visibility gap: the month-end accounting delay
Most home-service companies learn their gross margin when the bookkeeper closes the month in QuickBooks, sometimes 2–3 weeks after the month ends. By then the HVAC busy season is half over or the discount campaign already ran. When datacube is connected to QuickBooks, revenue, COGS, and gross profit can surface on a financial dashboard that refreshes without waiting for the monthly close. You still need clean bookkeeping, but you stop flying blind until the report arrives.
Gross margin on a live financial dashboard
How gross margin appears on a datacube Financial board, connected to QuickBooks and your CRM, refreshing automatically so the owner and GM see profitability move as the month unfolds.
Figures are illustrative. Your datacube financial board reflects your own QuickBooks data, CRM revenue feeds, and custom COGS definitions.
Info
Owner takeaway: gross margin is a field problem, not just an accounting problem
Many owners treat gross margin as a finance team number. In practice, it moves every day in the field: a technician who gives a $200 discount, a truck sitting idle for two hours, a callback that burns labor with no revenue. The accounting system records these events after the fact. A live dashboard that connects field data to financial data lets you see the margin impact before the month is already baked.
KPIs to read alongside gross margin
| KPI | Why it pairs with gross margin |
|---|---|
| Job profitability | Breaks gross margin to the job level so you see which work types drag it down |
| Labor % | The single largest COGS line in most home-service companies; tracks labor cost as a share of revenue |
| Average ticket | Higher average tickets usually improve gross margin if COGS per job does not scale proportionally |
| Revenue per technician | Measures how efficiently your field team generates revenue relative to their cost |
| Marketing ROI | High-revenue campaigns that fill the schedule with low-margin jobs can hurt gross margin even as revenue climbs |
Gross margin FAQs
See your gross margin move in real time
Connect your QuickBooks and CRM data to a datacube financial dashboard and watch revenue, COGS, and gross margin update as the month builds, so you act on margin pressure before the period is already closed.
Keep exploring
Related
Go deeper
