Service Operations Analysis
Cost Drivers and Response Performance, 2021–2023
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
- What drives job cost variation — is it call type, property type, territory, or technician deployment?
- Are response time targets being met consistently, and which territories and hours present the greatest risk?
- 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) |
Call Volume Trends
Call volume grew 15% from 2021 to 2023, with the increase concentrated in the No Issue Found category — dispatches that reached the property but found no actionable problem.
No Issue Found dispatches represent 56% of all calls — nearly half the company’s dispatch volume — yet they represent wasted capacity when caused by malfunctioning sensors or client miscommunication rather than genuine equipment concerns.
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
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.
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).
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
ClientContactsper 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 |