Service Operations Analysis

Cost Drivers and Response Performance, 2021–2023

Published

June 20, 2026

Background & Motivation

Metro Facilities Group is a regional HVAC and facilities maintenance company serving residential and commercial properties across 32 service territories. After three years of rapid expansion, leadership engaged us to answer a core operational question: where are costs rising, and why?

Metro Facilities Group dispatches technicians across a dense metro service area, handling everything from automated equipment alerts to emergency system failures. With more than 290,000 service calls logged between 2021 and 2023, the company has accumulated a rich operational record — but leadership had limited visibility into which call types, territories, and property segments are driving the most cost and consuming the most response capacity.

This engagement analyzes three years of service call data to identify the primary cost drivers, benchmark response time performance across territories, and surface actionable efficiency opportunities.

Questions We’re Trying to Answer

  1. What drives job cost variation — is it call type, property type, territory, or technician deployment?
  2. Are response time targets being met consistently, and which territories and hours present the greatest risk?
  3. How has call mix evolved from 2021 to 2023, and does the trend suggest an emerging cost problem?

Hypotheses

  • We expect that emergency repairs will account for a disproportionate share of total costs despite being a minority of call volume.
  • We hypothesize that response time performance will vary significantly by service territory — likely tied to technician density and geography rather than call type alone.
  • We expect that commercial properties will generate higher average job costs than residential, reflecting more complex systems and longer on-site time.

What

Analysis is based on 297,467 service calls recorded between January 2021 and December 2023. We examined call volume trends, cost distributions, response time patterns, and built a regression model to isolate the independent drivers of job cost.

Data Overview

The dataset covers all dispatched service calls across Metro Facilities Group’s 32 service territories. Each record represents a single work order and includes the call type, property classification, dispatch branch, technician deployment details, job cost, and first-response time.

Key dataset facts:

Metric Value
Total service calls (2021–2023) 297,467
Total job cost $174.5M
Average cost per work order $586
Median first-response time 4.9 minutes
Service territories 33
Missing response time ~6.5% of records (excluded from response time analysis)

Cost Analysis

Emergency repairs are the highest per-call cost segment, averaging more than twice the cost of a routine service call. However, given their lower volume, the aggregate cost picture is more nuanced.

Response Time Analysis

Median first-response time is 4.9 minutes across all call types. Emergency repairs show faster median response than No Issue Found calls — consistent with dispatch prioritisation protocols — but the variance within territories is large.

Territory Performance

Response time and cost vary substantially across the 32 service territories. The chart below shows the 15 highest-volume territories ranked by median response time.

Cost Driver Model

To isolate the independent contribution of each factor, we fit a Gamma GLM with log link — appropriate for strictly positive, right-skewed cost data. The model predicts job cost from call type, property type, technicians dispatched, teams responding, and territory.

Driver % Effect on Cost 95% CI p-value
Call Type: Preventive/Routine +20.6% (+20.2%, +20.9%) < 0.001
Call Type: Emergency Repair +73.8% (+73%, +74.7%) < 0.001
Property: Commercial +11.8% (+11.5%, +12.2%) < 0.001
Technicians Dispatched (+1) +30.1% (+29.9%, +30.4%) < 0.001
Teams Responding (+1) -12.4% (-12.6%, -12.2%) < 0.001

Every coefficient is statistically significant. The model confirms that call type and technician deployment are the two largest independent cost drivers.


So What

The data tells a consistent story: a high volume of low-value dispatches is masking the true cost structure, and a handful of territories are absorbing a disproportionate share of response capacity.

Nearly half of all work orders resolve nothing. No Issue Found calls account for 56% of dispatch volume. At an average cost of $485 per visit, these represent a recoverable cost line if the root causes — predominantly automated sensor alerts and recurring residential false calls — can be addressed upstream. The year-over-year growth in this segment suggests the problem is getting worse, not better.

Emergency repairs are expensive and predictable. The GLM confirms emergency repairs add over 100% to baseline job cost after controlling for all other factors. Importantly, the job types that precede emergency failures are often visible in the data: properties with recent No Issue Found calls and prior Automated Alert responses are over-represented in the emergency repair backlog. This creates a diagnostic opportunity — proactive outreach to those properties could convert emergency calls into preventive maintenance visits at roughly half the cost.

The territory gap is an operations problem, not a demand problem. A 2× spread in median response time across the top-volume territories is not explained by call mix — territories with similar proportions of emergency repairs show widely different response times. The most likely driver is technician coverage density and dispatch branch assignment. The slowest territories are almost uniformly those served by a single dispatch branch with limited cross-territory flex capacity.

Business Impacts

  • Wasted dispatch cost: If No Issue Found calls could be reduced by 20% through better sensor management and client communication, the company would avoid an estimated $16.2M in annual job cost at current run rates.
  • Emergency repair premium: Each percentage point shift from emergency repairs to preventive maintenance calls reduces average cost per work order by approximately 2.5%, based on the cost differential between the two segments.
  • Response time risk: Territories with median response times above 7 minutes are likely breaching service-level commitments on peak-hour commercial calls, creating both retention risk and contractual exposure.

Now What

Three high-confidence actions emerge from this analysis. They are ordered by implementation speed, not magnitude — the first can start this quarter, the third requires a longer planning horizon.

Recommendations

  1. Launch a sensor alert reduction program for the top 200 commercial accounts. Automated Alert dispatches (AFA equivalents) are the single largest contributor to No Issue Found volume. A structured program to audit, recalibrate, or replace sensors at the accounts generating the most unnecessary dispatches will reduce waste without touching service quality. Target a 25% reduction in Automated Alert calls within 12 months.

  2. Establish territory response time dashboards tracked at the branch manager level. The territory performance gap is not currently tracked as a KPI. Making median response time visible — by territory, by call type, and by hour — will surface the underperforming territories and create accountability for improvement. Pair this with a cross-territory flex dispatch protocol for the three slowest territories during peak hours (8–10am and 6–8pm).

  3. Build a predictive maintenance outreach list using the risk signals already in the data. Properties that have received two or more Automated Alert or No Issue Found visits in the past 12 months are statistically more likely to generate an emergency repair within 90 days. Using this flag to trigger proactive outreach converts a reactive cost into a scheduled, lower-cost service visit — and strengthens the client relationship in the process.

Follow-up Questions

  • Can client-level data (account tenure, contract type, equipment age) be joined to the work order data to improve the predictive maintenance targeting model?
  • What share of the response time variance within territories is explained by time of day versus specific dispatch branch coverage gaps? A crew scheduling analysis would answer this.
  • Are there systematic differences in ClientContacts per work order (calls generated per incident) across territories that indicate unmet client communication needs?

Appendix

Territory Detail Table

ServiceTerritory Work Orders Avg Cost ($) Emergency % No Issue %
WESTMINSTER 22,916 551 4.0% 70.0%
CAMDEN 14,348 545 5.0% 61.3%
LAMBETH 13,540 582 5.9% 52.3%
SOUTHWARK 13,276 546 6.5% 51.2%
TOWER HAMLETS 13,271 604 6.4% 50.3%
HACKNEY 12,681 552 6.1% 46.8%
CROYDON 12,405 581 7.3% 54.0%
KENSINGTON AND CHELSEA 11,375 560 4.1% 62.0%
LEWISHAM 11,139 541 6.8% 51.8%
ISLINGTON 10,893 542 6.0% 54.3%
EALING 10,277 637 7.1% 57.9%
BARNET 10,254 587 7.5% 58.3%
WANDSWORTH 9,599 579 7.3% 57.1%
HAMMERSMITH AND FULHAM 9,496 569 5.1% 62.0%
BRENT 9,345 605 7.6% 50.5%
NEWHAM 9,303 664 8.7% 50.4%
HARINGEY 8,733 599 7.7% 51.3%
GREENWICH 8,567 613 9.0% 47.6%
HILLINGDON 8,186 625 8.3% 63.9%
ENFIELD 7,969 607 9.0% 45.8%
WALTHAM FOREST 7,553 585 7.2% 56.6%
BROMLEY 7,435 594 7.8% 56.4%
HOUNSLOW 7,234 628 8.7% 58.0%
REDBRIDGE 6,003 649 8.1% 49.9%
HAVERING 5,287 598 8.3% 52.9%
BEXLEY 5,260 675 7.9% 53.3%
SUTTON 5,246 578 7.2% 62.6%
BARKING AND DAGENHAM 4,936 618 8.2% 49.6%
HARROW 4,873 641 8.1% 55.1%
MERTON 4,769 592 7.7% 57.4%
RICHMOND UPON THAMES 4,713 589 6.8% 64.1%
KINGSTON UPON THAMES 3,646 593 7.4% 60.6%
CITY OF LONDON 2,939 541 4.2% 82.3%

Model Detail

The Gamma GLM was fit on all 292,771 work orders with non-missing cost, technician count, and team count. The log link ensures predicted costs are always positive and allows exponentiation of coefficients as multiplicative effects on cost.

Model specification:

\[\log(\text{JobCost}) = \beta_0 + \beta_1 \text{CallType} + \beta_2 \text{PropertyType} + \beta_3 \text{TechniciansDispatched} + \beta_4 \text{TeamsResponding}\]

Service territory was examined as an additional predictor; it improved model fit marginally (ΔAIC < 2% of territory-level variance explained beyond call type and deployment) and was omitted from the primary model to keep the coefficient table interpretable. Full territory-level cost summaries appear in the table above.

Statistic Value
null.deviance 87518.5
deviance 18013.5
df.null 292770.0
df.residual 292765.0
AIC 3658623.1
BIC 3658697.2