What a Morning Brief for an HVAC Contractor Actually Contains
Six numbers, three source systems, one read before the trucks roll. A worked example of what Dashfeed writes at 6am, where each line comes from, and why estimate aging is the first thing we compute.
Who this is for
An HVAC contractor with a dispatch system, an accounting system, and an ad account already has more data than most software companies had in 2015. What they don’t have is an analyst. This post walks through what Dashfeeddoes with that data every morning, using a hypothetical 12-truck shop. Every number below is made up to show the shape of the brief. None of it is customer data.
The brief, as it lands
The brief arrives around 6am in the app, and in Slack, email, or a text if the operator wants it there. It’s ranked by what needs a decision, not by what changed most recently. Here’s the whole thing for our hypothetical shop on a Tuesday in early August.
- Act today9 estimates are 8 to 14 days old and unansweredCombined value about $61K. Six were quoted by the same tech. Call list is attached, sorted by value.
- Act today22 maintenance agreements expire in the next 30 daysAbout 14% of the active base. Only 5 have a renewal touch logged. Last year the same window renewed at roughly two thirds.
- This weekOverdue invoices crossed $48K, up from $39K a week agoThree commercial accounts make up half of it. The oldest is 74 days.
- This weekCallbacks clustered on one install crew4 of the last 6 repeat visits trace to installs completed the week of July 13.
- WatchTechnician utilization held at 78% last weekFlat versus the prior week. No action suggested.
- OpportunityForecast shows the first 95°F day on Thursday312 homes in your service history have a system 15+ years old and no active agreement. Outreach list attached, grouped by neighborhood.
Notice what isn’t there. No chart of revenue by month. No table of jobs by type. Those exist, and the operator can ask for them in chat any time. But the brief is a list of decisions, and a number that doesn’t change a decision doesn’t make the cut.
Where each line comes from
Every item in the brief is a metric Dashfeed builds and maintains over the contractor’s own systems, connected with read-only access. For HVAC that usually means a dispatch platform such as ServiceTitan, FieldEdge, Housecall Pro, or Jobber, an accounting system such as QuickBooks, and the ad accounts. Here’s the mapping for the six items above.
| Brief item | Metric | Built from | Fires when |
|---|---|---|---|
| Unanswered estimates | Estimate aging | Dispatch estimates table, status and created date | Every morning, if the 8 to 14 day bucket is non-empty |
| Expiring agreements | Agreement renewals | Dispatch memberships or agreements, plus renewal activity | Weekly, and daily once the 30-day count passes a threshold |
| Overdue invoices | Collections aging | Accounting invoices and payments | When the overdue total moves more than a set percentage week over week |
| Callback cluster | Callback rate | Dispatch jobs joined to prior jobs at the same address | When repeat visits concentrate on one crew, tech, or install week |
| Utilization | Technician utilization | Dispatch timesheets or job durations against scheduled hours | Weekly, as a watch item unless it moves |
| Replacement outreach | System age by neighborhood | Equipment records and service history, joined to agreements | Ahead of the first heat wave or cold snap in the forecast |
Two things about that table matter more than the specifics. First, none of the metrics need a data team to define. Dashfeed ships them for the trade and keeps them working when the dispatch vendor renames a column. Second, each metric has its own trigger. The brief isn’t a report that runs on a schedule and prints everything. It’s a set of monitors, and only the ones with something to say get a line.
Why estimate aging goes first
When we set up a new HVAC workspace, estimate aging is the first metric we compute. It’s cheap, because it needs one table. And it’s the metric most likely to change what someone does before lunch.
The reason is the shape of the distribution. Open estimates pile up at both ends. The very fresh ones don’t need a call yet. The very old ones are mostly gone and calling them is a poor use of an office manager’s morning. The middle is small and it’s where a follow-up still has a chance.
So the brief doesn’t report “57 open estimates.” That number is true and useless. It reports the nine in the middle bucket, with the dollar value and a call list sorted by size. The operator can ask “which tech quoted these” in chat and get the answer with the underlying rows cited, but the default is already the version that leads to a phone call.
How it gets built, in a week
- Connect the systems. Dispatch, accounting, and ad accounts link with read-only credentials from the Connections page. Most contractors finish this step in under an hour.
- Dashfeed builds the trade metrics. Estimate aging, agreement renewals, callback rate, technician utilization, collections aging, and system age by neighborhood. These are maintained by us, not by the contractor.
- Monitors run overnight. Each metric has a monitor with its own trigger. Statistical detection handles the “this moved more than usual” cases. Thresholds handle the “this crossed a line” cases.
- The brief is written and delivered. Plain English, ranked by what needs a decision, with the supporting list attached. Delivered to the feed and to whichever channels the operator picked.
- Follow-up happens in chat. “Show me the 22 agreements by neighborhood.” “Which commercial accounts are past 60 days?” Every answer cites the rows it came from.
The full set of HVAC metrics is typically live within a week of connecting the first system. Plumbing, roofing, and pest control follow the same pattern with their own metric sets. The brief looks different for each trade, but the design is the same. A short list of decisions, ranked, before the day starts.
The point of all this
An operations manager who reads six lines at 6am and makes two calls before 8am gets more out of their data than one who has a dashboard with forty charts and opens it on Fridays. The data was the same in both cases. What differs is whether someone did the reading. We think that should be the software’s job.
See the brief on your own numbers
Dashfeed connects to your dispatch, accounting, and ad accounts with read-only access and starts writing the brief within a week.