ABQ PHC · Marketing

Demand Thermostat

Service and Maintenance only. Reads scheduled capacity against expected demand and says whether to buy more work today — or leave the dial alone.

Reading the schedule…

Today's call

Open hours are scheduled tech hours minus what is booked and minus the work that history says will still be booked before the day arrives. Click any unit for the jobs behind it.

Booked Still to be booked Open

Seven-day outlook

click a day for its schedule
DayScheduled hrsBooked Still to bookOpen Jobs neededCall

Where demand is coming from

last 14 days · calls and booked jobs

Three lanes, by how much control you have over them. Returning customers and fixed marketing are the demand you get whether or not you spend today; controlled marketing is the dial.

Booking rate by source

Last 14 days against the 14 before it. Sources marked no call tracking book jobs without a tracked call, so their booking rate can't be computed — Angi and the portal forms work this way.

SourceLaneCallsJobs Book ratePriorTrend

If you market, what it costs

editable assumptions

Jobs needed ÷ booking rate = leads to buy. Leads × cost per lead = spend. Your Google Ads cost per conversion is measured; everything else is an assumption you should set yourself.

blended across controlled sources
Business unitJobs neededLeads to buy SpendBest controlled sources
Google Ads campaign · 30 daysSpendClicks ConversionsCost/conversionBooked jobs
Read this before you trust the verdict

Capacity and booked hours are counted differently. Scheduled hours come from the shifts of technicians who belong to each unit. Booked hours here count only those same technicians, so the comparison is like-for-like — but install techs also work service jobs, and that overflow labour is excluded. Where an install tech covers a service call, this page understates how full the day really is.

Today's open hours ignore the clock. The page compares whole scheduled days against whole booked days, so hours that have already elapsed this morning still count as open. Treat today's figure as an upper bound and lean on tomorrow onward for a decision you can act on.

Weekends read as zero. Saturday and Sunday carry no Normal shifts at all, so they show no capacity rather than idle capacity. That is a real closure, not missing data.

What the lanes mean

Returning is previous and repeat customers, referrals, memberships, the LEGACY main line, and ServiceTitan email campaigns. Marketing Pro's own send/open/click data is not in the Peaka feed — no email or SMS engagement exists to pull — so email counts here at the campaign level only, as attributed calls and jobs.

Fixed is print, directories, radio, TV, sponsorships, handouts, direct mail, plan rooms and profile listings. Controlled is paid search, SEO, social, lead aggregators, Reserve with Google and Hatch AI. Non-productive and uncategorised campaigns are excluded from all three.

Scope. Ten business units: HVAC, Plumbing, Electrical, Drains, Commercial Plumbing, Refrigeration and Utilities on the service side; HVAC, Plumbing and Electrical maintenance. Install, Sales and G&A are excluded everywhere on this page.

Average job time is Working plus Driving hours from payroll, per completed job, over the last 90 days. Those are the only two activity types that attach to a job — Idle, Admin, Shop and Training never carry a job number. Coverage runs 90–98% by unit.

The forecast reads booking pace, not historical demand. From 180 days of history we know what share of a day's eventual hours is normally on the books N days ahead — for Plumbing Service that is 82% one day out but only 9% seven days out. Expected final hours = what is booked now plus the unbooked share of a typical day. This replaced a weekday-average forecast that read far-out days as empty and produced false MARKET calls; backtesting showed trend-adjusted weekday averages were 9% worse than a plain average, so the method changed rather than the weighting.

Source. ServiceTitan and Google Ads via Peaka project fiCE9M5E — payroll, shifts, appointments, campaigns, telecom and marketing_ads. All queries refresh every six hours.