Contractor KPI Dashboard: 12 Measures and a Weekly Review

Key takeaways

  • Start with six business measures, then use six more to investigate changes.
  • Write down each formula, data source and reporting period before setting an alert.
  • A threshold tells you to check the records. It does not tell you why the number changed.

Updated October 21, 2026

Article navigation

A contractor KPI dashboard can start with a spreadsheet. Put close rate, average job value, inquiries by source, review-count change, labor cost and scheduled work on one tab. Use a second tab to examine lead cost, job margin, referrals, estimate timing, callbacks and crew hours. The sheet works only if each number has a clear definition and a source you can check. This guide shows how to track them.

How to use the dashboard

Review the core measures each week where the records allow it. Some values, such as labor cost from closed books, may be available only monthly or quarterly. Label the last complete period instead of filling a weekly cell with an estimate that looks final. Check the supporting measures monthly and when a core measure changes enough to warrant a closer look.

Compare like periods and keep the counting rules fixed. If one week has only two estimates, a single win can swing the close rate sharply. Keep the numerator and denominator beside the percentage. The SBA finance guide recommends proper bookkeeping and tracking revenue and expenses; a dashboard summarizes those records, but it does not replace them.

The six core measures

1. Close rate

For one issued-estimate cohort, divide booked wins by estimates with known outcomes. Show pending estimates separately and leave them out of the denominator. Define how you classify cancellations, then show the win and known-outcome counts beside the rate. Compare a rolling period when weekly samples are small.

2. Average job value

Completed-job revenue ÷ completed jobs for the same period. Split service categories if their prices differ widely. Do not substitute quoted value for collected revenue without labeling it.

3. Inquiries by source

Count each new inquiry once. Keep the source, such as referral or an attributable campaign, separate from the contact route, such as a call or form. Mark uncertain attribution as unknown.

4. Google review count

Record the displayed count on dated checks and calculate its net change. That difference is not necessarily the number of new reviews: Google says reviews can be delayed or removed. Read Google’s explanation.

5. Labor cost share

Labor expense, including your chosen burden, ÷ revenue over the same accounting period. Note whether owner labor and subcontractors are included. Match the definition to your books.

6. Work booked forward

Sum the expected value of confirmed work scheduled in a defined upcoming window, such as 30 days. Label it a schedule forecast, not cash or earned revenue. Treat unsigned estimates separately.

Six useful diagnostics

7. Cost per lead by source

Recorded channel cost ÷ unique attributed inquiries for that channel and period. State whether the cost includes only ads or also fees and staff time. With zero inquiries, show not available rather than dividing by zero. Organic and referral work can also have costs.

8. Gross margin by job category

(Category revenue − direct job costs) ÷ category revenue. Include materials, subcontractors and direct labor under a consistent rule. A high ticket can still leave a thin margin. Reconcile the figures with job costing and bookkeeping.

9. Referral share

Inquiries attributed to customer referrals ÷ all inquiries with the same counting period. Keep unknown sources visible; a rising share alone does not prove customer satisfaction or higher profit.

10. Time to estimate

Measure elapsed time from inquiry to estimate delivery for estimates delivered in the period. Decide whether to use calendar or business days and record the median as well as unusual delays if a few large projects skew the average.

11. Callback and complaint rate

Choose a completed-job cohort and a fixed follow-up window, such as 30 days after completion. Divide jobs in that cohort with a callback or complaint during that window by all jobs in the cohort. Report the rate after every job has had the full follow-up window. Count each job once and log callbacks and complaints separately. Check the cause before assigning fault.

12. Crew utilization

Billable hours worked ÷ available crew hours over the same period. Define whether travel, training, leave and warranty work are available or nonbillable hours. For example, 280 billable hours out of 400 available hours is 70%. That gap alone does not diagnose staffing or pricing.

Build the two-tab sheet

On the weekly tab, record the period end date, six core values, their counts or dollar inputs, and a note for missing data. Label close-rate columns “issued-estimate cohort,” “booked wins,” “known outcomes” and “pending estimates”; calculate wins divided by known outcomes. On the monthly tab, track the supporting measures by channel, service category and crew where the records permit. Keep the definition and report location in the column notes. A blank marked “not available” is more useful than a guessed value.

Link an inquiry to its estimate, booked job and completed revenue when your systems permit it. Reconcile job and labor dollars to your books, then save the snapshot used for each review. If the source records live in several tools, begin with a manual log; the sheet does not need to claim that any one product supplies all twelve measures.

Connect website inquiries to booked jobs

Website lead attribution means recording how an inquiry reached your business and following that same opportunity through qualification, an estimate and a booking. The useful question is which sources produce work you want to accept, not which dashboard displays the largest conversion total. Start with the inquiry record your office can verify, then connect the available marketing evidence without pretending it captures every influence on the customer’s decision.

Separate the marketing source from the contact route

A homeowner might hear about you from a neighbor, search your company name and submit a website form. In that example, the referral, search visit and form submission describe different parts of one opportunity. Record the customer’s explanation alongside the measured source instead of replacing one with the other. Keep the contact route in its own field so a website form does not automatically become a claim that website marketing created the demand.

Google Analytics distinguishes user acquisition from traffic acquisition: the first describes new users, while the second describes new sessions. Its event-scoped dimensions allocate credit for key events under the selected attribution model. See Google’s traffic-source scope guide and its acquisition report comparison. Ask which report, dimension and event your marketing report uses before comparing channel totals. A first-user source and a session source answer different questions, so a disagreement between them does not by itself establish a tracking failure.

Give each opportunity a record that survives follow-up

Our recommended starting point is a private inquiry log or the equivalent fields in your existing customer-management system. Assign an opportunity identifier when the inquiry is accepted, and retain it when the office creates the estimate and job. A repeat call about the same proposed work belongs to that opportunity; a separate project for an existing customer needs its own decision and record.

  • Record the inquiry date, requested service and broad service area, then identify the employee responsible for the next response.
  • Keep the contact route, measured campaign or source, customer-reported source and attribution uncertainty in separate fields.
  • Connect the opportunity to its estimate and job identifiers, with dates for qualification, estimate delivery, booking, cancellation and completion where applicable.
  • Keep proposed contract value, confirmed booked value, completed-job revenue and payments received separate rather than labeling all four as revenue.

Leave an unknown source unknown. Keep customer identities and correspondence in the private operating record, not in a public reporting sheet. Before changing how information moves between your tools, have the implementer check the applicable privacy requirements and the receiving platform’s data rules.

Verify the event before calling it a lead

For this dashboard, count a website inquiry after your receiving system accepts the request, then review whether it represents a genuine prospective customer. A button click, a thank-you page view or a browser notification is not sufficient evidence that the office received a usable inquiry. Keep spam, duplicate requests and tests out of the customer count while retaining enough information to explain their exclusion.

Ask the implementer to demonstrate the complete path using an authorized test: accepted request, receiving record, notification, assigned response owner and analytics event. Test a rejected submission and a repeat page load as well, checking that neither creates another accepted inquiry. For phone inquiries, compare the call record with the office’s disposition; a tap on a telephone link does not establish a completed conversation or an appointment.

Compare the same inquiries through the sales process

Choose inquiries received during a defined period and follow those same records through their outcomes. Show open opportunities separately. For close rate, use booked wins divided by estimates with known outcomes from the same issued-estimate cohort; show pending estimates separately. Compare service categories when their sales cycles or job values differ, and state when the outcome review was completed.

For an initial channel review, show unique accepted inquiries, qualified opportunities, estimates delivered, booked jobs and cancellations alongside the recorded spending. State whether spending includes media alone or management and other costs. An attributed booking supports a reporting association; it does not prove that the customer would never have hired you without that marketing activity.

Before increasing a budget, trace a sample of the reported bookings back to the original inquiry and the current job record. If those links are missing, the next useful website-management task is to repair the handoff and measurement. Producing more traffic will not answer the owner’s question about which work the existing traffic produced.

Choose a response before the number moves

Set alerts from your own history, season and capacity. The examples below are questions to investigate, not industry targets or proof of a cause. Record your chosen threshold and minimum sample size beside each metric.

MeasureExample signalFirst check
Close rateFalls against a comparable periodReview the estimate cohort, open bids and lost-job reasons.
Average job valueFalls within one service categoryCompare the mix of completed jobs and the quoted versus final price.
Inquiries by sourceA channel changes sharplyCheck tracking, campaign status and the inquiry log before changing spend.
Review countNet count drops or stallsCheck the dated profile and the review-request process. Ask for genuine reviews without incentives.
Labor cost shareRises against your baselineCheck paid hours, revenue timing, job mix and labor allocation.
Work booked forwardFalls below your planned capacityReview the schedule and pending estimates. Do not count unsigned bids as booked work.
Cost per leadRises with enough attributed inquiriesCheck spend, attribution and channel lead volume.
Gross marginFalls in a categoryCompare actual materials and hours with estimates for recent jobs.
Referral shareChanges against prior periodsCheck source tagging and customer feedback before inferring a quality issue.
Time to estimateDelays increaseFind where inquiries wait: inspection, scheduling or proposal preparation.
Callback and complaint rateRisesReview job types and documented causes before assigning corrective work.
Crew utilizationChanges markedlyCompare paid time, travel, booked work and crew availability.

If you ask customers for reviews, ask about genuine experiences and do not offer a reward for a review, change or removal. Google prohibits incentives for reviews.

Measure a managed website through the first 90 days

Judge the first 90 days against the work you agreed to buy, the reliability of the inquiry path and the quality of the opportunities received. Keep those judgments separate from search visibility. A finished website task shows that someone did the work. A qualified inquiry shows customer interest. Neither proves that the website produced profitable work. You need the job and cost records to judge that.

The review schedule below is our recommended operating framework, not a forecast of rankings or a promise of leads. Google advises owners to ask an SEO provider what results it expects, in what timeframe and how it measures success. It also warns that nobody can guarantee a number-one ranking. See Google’s guidance on hiring an SEO.

Before launch: preserve the starting point

Record the agreement start, website launch and tracking activation as separate dates. Save the most recent complete reporting period available before the change, then identify the services and geographic areas the owner wants to grow. Where records exist, retain accepted inquiries, qualified opportunities, estimates and booked jobs alongside the traffic figures. Mark missing history as unavailable rather than treating a new tracking installation as proof that the business previously received no inquiries.

Choose equal-length comparison windows and keep their dates visible. Include the immediately preceding period so an early improvement followed by a decline cannot disappear inside a favorable launch-to-current comparison. Note seasonal demand, changed advertising budgets and office availability where they could affect interpretation. These explanations are questions to investigate, not automatic excuses for disappointing results.

At the first review: check delivery and inquiry handling

Compare the installed work with the actual agreement. Review the important service pages, mobile contact options and assigned response responsibilities. Use the receiving-system checks above to establish whether requests arrive and reach the right person. Record unresolved failures with an owner and a correction date rather than counting a button click as a lead or calling the website complete because its pages load.

At the second review: examine who is finding the site

Review relevant landing pages and search queries before celebrating an increase in total traffic. Google Search Console reports clicks, impressions, click-through rate and average position, with views by query, page, country and device. Its country breakdown does not establish whether a visitor lives inside your dispatch area. Use inquiry records to assess requested work and location, and keep unknown locations visible. See Google’s performance report documentation.

At day 90: choose the next work from the evidence

Review the same inquiry groups through qualification, estimates and bookings, leaving open opportunities separate. Show the counts beside any percentages and explain how long those opportunities have had to close. Compare the latest complete period with both the baseline and the preceding period. Report spending, booked value and collected payments separately, using consistent definitions rather than presenting each as return on investment.

If requests fail to arrive, repair the inquiry path first. If the office receives requests for excluded work or distant locations, review the pages and campaigns attracting them. If suitable estimates remain open, inspect their age and follow-up before concluding that more traffic is the answer. End the review with one priority, a responsible person and a check date. The purpose is to choose the next useful action, not to force a positive verdict at an arbitrary anniversary.

Set up your first review

1. Name the owner and the period

Choose who enters each number and when. Mark the period covered, not just the date you updated the sheet.

2. Locate the records

Find the inquiry log, estimates, job records, schedule, payroll and accounting reports. Write down missing fields before calculating ratios.

3. Pull one complete period

Enter the source counts and dollars alongside the results. If one count is unavailable, mark the metric unavailable and fix the recordkeeping first.

4. Choose a useful alert

Pick a comparison window and minimum sample size based on your own history. Write one first check for each alert; revise it as you learn.

5. Keep the review short and honest

Review the sheet on a regular day. Log what you checked and what you changed. A recurring review is useful even if the first pull takes longer than planned.

Read next

See competitor intelligence data points, or browse the Contractor’s Field Manual.

Get a contractor website and competitor audit

Qualified businesses can request a free review of their website, lead path and relevant local competitors. Your own cost, margin and crew data require your records; public competitor information cannot provide them.

Request a Free Contractor Audit →

Commercial disclosure: KKS sells website services for contractors. KKS previously used affiliate links in its articles. This page has no affiliate purchase links.

Frequently asked questions

What KPIs should a contractor track weekly?

Start with close rate, average job value, inquiries by source, Google review-count change, labor cost share and confirmed work booked forward. Label each reporting period. Labor cost may be ready only after a monthly or quarterly close, so do not present an estimate as a final weekly figure.

What is crew utilization rate for a contractor and how is it calculated?

Divide billable hours worked by available crew hours in the same period. A crew with 280 billable hours out of 400 available hours has 70% utilization. Define how you count travel, leave, training and warranty work before comparing periods. The rate does not explain a staffing or pricing problem by itself.

How do I calculate cost per lead for a contractor business?

Divide the recorded cost for a source by its unique attributed inquiries over the same period. Count an inquiry once even if it arrives by phone and form. State whether cost includes ads alone or fees and staff time too. If cost or inquiry attribution is missing, or inquiries are zero, report not available.

What is a healthy gross margin for a residential contractor?

There is no universal margin target for every trade or job mix. Calculate (revenue minus direct job costs) divided by revenue, using the same cost rule each period. Compare categories with your own job-cost history and check how direct labor, materials and subcontractors were assigned.

How often should a contractor review business metrics?

Review the six core measures weekly where records are available. Review the supporting six monthly or when a core measure needs investigation. Use the most recent complete accounting period for labor and margin rather than filling in a weekly number you cannot verify.

What software do contractors use to track business metrics?

A spreadsheet can bring together records from a job-management system, accounting reports, a schedule and an inquiry log. The right combination depends on which fields your business actually records. Identify each source and reconcile the figures before relying on a dashboard.

Sources

Source references: U.S. Small Business Administration, Manage your finances; Google Business Profile Help, missing or delayed reviews; Google Business Profile Help, tips to get more reviews; Google Analytics Help, scopes of traffic-source dimensions; Google Analytics Help, user versus traffic acquisition reports; Google Search Central, Do you need an SEO?; Google Search Console Help, Performance report. Formulas and alert examples are a planning framework, not published industry benchmarks.

Get website and marketing help for your contracting business

KKS builds and manages contractor websites, handles local SEO, and researches your competitors to guide the work. Explore our managed website plans or start with a free audit comparing your business with three competitors.

View website and marketing plans Request my free competitor audit