Operations analysis

Crew schedule efficiency across the Heartland operating companies

Every crew schedule from January to August 2026, compared against a constraint-optimised alternative built only from information the scheduler had before each week began. No crew was reassigned and no visit moved outside its planned week, so nothing here requires renegotiating a customer commitment. Distance is how the analysis measures; crew time is what it is worth.

Source
Aspire production, read-only
Period
1 Jan – 12 Aug 2026
Operating companies
11 across 8 tenants
Planned visits
382,622
Crew-weeks examined
23,522
Labour reviewed
3,239,278 h

Summary

Avoidable driving in the schedule as planned

Each figure is the share of planned driving a solver removed while keeping the same crew on the same properties in the same week. The middle operating company sits at 9.1%. The range is the more useful finding: this is not a single company-wide gap but a difference in scheduling practice between operating companies.

Middle of the group

9.1%

Avoidable planned distance, median of eight tenants.

Range

3.5–17.1%

Heritage tightest, Signature widest.

In crew hours

55,883

Crew-hours over seven months — 1.7% of all clocked labour.

Plans are followed

96.3%

Of planned visits are worked on the planned day, so improving the plan improves the work.

Lever 1 — stop order within the day Lever 2 — which properties share a day
Signature
17.1%
Keesen
12.6%
Merit of Texas
11.8%
Heartland NE
9.3%
Heartland AZ
8.9%
LCM
7.9%
JML
7.6%
Heritage
3.5%
0%3%6%9%12%15%18%
Two independent levers, measured separately and additively. Aspire already addresses the first; nothing in the current toolset addresses the second.
Distances are straight-line, so treat the percentages as the finding and the kilometres as a lower bound.
TenantOperating companiesCrew-weeksPlanned km Lever 1Lever 2Total
SignatureSignature2,847578,2999.3%7.8%17.1%
KeesenKeesen2,868472,8127.5%5.1%12.6%
Merit of TexasMerit of Texas1,936520,2046.1%5.7%11.8%
Heartland NEJ. Downend, Merit Service Solutions, Sharp’s, Wilcox3,361864,5285.1%4.2%9.3%
Heartland AZSanta Rita5,4171,443,2644.7%4.2%8.9%
LCMLCM1,892488,7273.9%4.0%7.9%
JMLJML1,456309,8163.0%4.6%7.6%
HeritageHeritage Landscape Services3,7452,100,2551.7%1.7%3.5%
Distance-weightedall eleven23,5226,777,9044.4%3.9%8.3%
The weighted total understates most of the group. Heritage alone accounts for 31% of all planned distance, at 561 km per crew-week against 160–270 elsewhere, and it also has the lowest percentage — so it pulls the average down. Excluding it, the weighted total is 10.5%. The median operating company, 9.1%, is the fairer single figure.

Method

Three measurements, two levers

Each crew-week is costed three ways as a loop out from the yard and back. The crew never changes.

“Yard” in this document means the fixed location each crew-day starts from and returns to — the branch’s operating base. Aspire has no field that identifies one, so it was established two ways: for branches that have a property record named after the branch, those coordinates; and for the rest, the place crews are observed to finish the day, taken from the shift clock’s recorded position. The two agree closely where both exist — within 10 to 120 metres across Signature’s five branches — and crews clock in there, with 92% of clock-ins inside 500 metres. Whether the address is a truck yard, a shop or an office is not recorded, and does not affect the measurement.

  • As planned — the planned days, in the planned stop order.
  • Reordered — the same visits on the same days, in the best sequence.
  • Fully optimised — visits regrouped across the days that crew was already going to work, then resequenced.

The two levers follow directly. Lever 1, stop order, is the gap between as-planned and reordered. Lever 2, day grouping, is the further gap to fully optimised. They add to the total, and the worked examples below show them separately for real weeks.

Sequences are solved exactly, by dynamic programming, wherever a day has eleven stops or fewer — between 80% and 98% of crew-weeks depending on tenant. Longer days use a method that returns an upper bound on the best route, so those days understate the saving. Every approximation in this analysis is set to err low.

Aspire already provides lever 1. Selecting a crew-day and choosing Optimize Route resequences that day’s stops. It does not choose the crew, choose the day, or flag an overloaded day. So the lever 1 figures indicate an existing feature going unused or not taking effect, while lever 2 measures something the current toolset does not address at all.

Fairness of the comparison

Judged only on what the scheduler knew

A solver run over past data can take advantage of knowing which day it rained, which crew was short, and which job overran. A scheduler on the Friday before knew none of that, so a saving that depends on such knowledge is not one anyone could have captured.

The headline figures therefore use only what was recorded before each week began: the planned day for each visit, the planned stop order within that day (present on 96% of visits), planned hours rather than actual hours, and a daily capacity ceiling taken from that week’s own plan. No outcome enters the calculation. For contrast, the same method applied to what actually happened is shown alongside.

Planning-time figures are the headline. Adherence is the share of planned visits worked on the planned day.
TenantPlanning-timeWith hindsightPlan adherenceSequences solved exactly
Signature17.1%17.3%98.3%80%
Keesen12.6%10.7%96.3%95%
Merit of Texas11.8%10.1%97.4%98%
Heartland NE9.3%7.5%96.7%91%
Heartland AZ8.9%7.4%93.7%98%
LCM7.9%8.2%97.0%98%
JML7.6%13.6%98.5%97%
Heritage3.5%3.2%93.7%98%

Removing hindsight does not remove the opportunity. Because adherence is high, the planned days and the worked days are nearly the same, so the two columns differ mainly in whether planned or actual hours set the capacity ceiling. JML is the one clear exception, where the hindsight figure is much higher; its planning-time figure is the one to rely on.

High adherence is what makes these figures actionable. If plans were routinely set aside, improving them would change nothing on the ground. At 96.3% across 305,772 matched visits, the plan is what happens.


The existing tool

Aspire’s route optimiser works. It is used on a minority of days.

Lever 1 measures something Aspire already does: selecting a crew-day and choosing Optimize Route resequences that day’s stops. That raises an important question for management, because the answer changes the response entirely. If the feature is ineffective, the gap needs new software. If it is effective but unused, the gap needs a process change.

This is testable. If the feature ran on a given day, that day’s recorded stop order should be the best available order, or within a fraction of it. So the share of days that are already exactly optimal indicates how often it was applied — provided the figure is compared against how often a hand-built order would be optimal by luck, which on a four-stop day is one time in three.

Signature, 6,170 crew-days with a recorded stop order and four or more located stops.
Stops in the dayCrew-daysAlready optimalExpected by chanceRatio
41,40640.5%33.3%1.2×
51,01228.0%8.3%3.4×
685721.5%1.7%13×
851816.0%0.04%400×
1121513.0%<0.01%
165413.0%<0.01%
18–191270%<0.01%

On days of six stops or more, where landing on the best order by chance is effectively impossible, 8–21% of days are exactly optimal. That cannot happen by accident, so the feature is being used and it works. It is simply not used consistently: across all judged days the median gap to the best order is 5.9% at Signature, 3.9% at JML and 10.9% at Keesen, and roughly a quarter of days sit more than 15% off.

The pattern by day size is the most useful part. The largest days — where the saving is greatest — are the ones where it is never applied. No day of 18 or more stops was optimally sequenced at Signature. This is consistent with the feature being used opportunistically on simple days and skipped when a day looks complicated.

The practical implication. Most of lever 1 — 4.4% of planned distance group-wide, and 9.3% at Signature — appears reachable through consistent use of a feature already licensed and already working, with no new software. That makes it the fastest available action in this report. It is worth confirming with a branch manager why the largest days are skipped: whether the 25-stop cap, the time it takes to run, or a belief that the result is worse than local knowledge.

Worked examples

Three real weeks, before and after

Every stop below is a real visit on a real Signature crew’s planned week. Customer names are replaced with site labels. The yard is the diamond; each coloured loop is one day, labelled at its farthest stop. Both panels of a pair use the same map extent, so they can be compared directly. Beneath each pair, the saving is split between the two levers and the specific changes are named.

day 1 day 2 day 3 day 4 day 5 day 6

The extreme case — top 1% of weeks

Signature, KCK · week of 2026-07-06 · 18 sites, 20 visits over 4 days · crew of 2 · day ceiling 18.1 crew-h

As planned · 362.5 km
yard Tue Wed Thu Fri
Optimised · 190.1 km
yard Tue Wed Thu Fri

Lever 1 · Stop order

−103.6 km (28.6%)

Same visits, same days — driven in a better sequence. 4 of 4 multi-stop days were out of order.

Lever 2 · Day grouping

−68.9 km (19%)

11 visits moved to a different day of the same week: S14→Wed, S10→Wed, S4→Wed, S7→Wed, S3→Wed, S16→Thu, S17→Thu, S1→Thu, S15→Thu, S12→Fri, S2→Fri.

Combined

−172.4 km (47.6%)

About 17.1 crew-hours for this crew, this week.

Planned, then reordered only (lever 1), then fully optimised (levers 1 + 2).
DayStopsPlanned kmReordered kmStopsOptimised kmVisits ±
Tue6135.884.4358.2
Wed465.351677.6+5
Thu567.549.4724.7+4
Fri593.874.1429.5+2
Week20362.5258.920190.1−47.6%

A typical week — near the median

Signature, Olathe · week of 2026-07-06 · 20 sites, 20 visits over 6 days · crew of 7 · day ceiling 42.6 crew-h

As planned · 289.5 km
yard Mon Tue Wed Thu Fri Sat
Optimised · 245.7 km
yard Mon Tue Wed Thu Fri Sat

Lever 1 · Stop order

−3.3 km (1.1%)

Same visits, same days — driven in a better sequence. 2 of 5 multi-stop days were out of order.

Lever 2 · Day grouping

−40.5 km (14%)

14 visits moved to a different day of the same week: S13→Mon, S11→Mon, S7→Mon, S10→Wed, S20→Wed, S2→Wed, S4→Wed, S3→Wed, S8→Thu, S9→Thu, S5→Thu, S1→Fri, S16→Sat, S17→Sat.

Combined

−43.8 km (15.1%)

About 4.4 crew-hours for this crew, this week.

Planned, then reordered only (lever 1), then fully optimised (levers 1 + 2).
DayStopsPlanned kmReordered kmStopsOptimised kmVisits ±
Mon534.534.5534.4+3
Tue32626225.7
Wed433.130.5540.3+5
Thu4104.3103.65104+3
Fri351.451.4123.5+1
Sat140.140.1217.7+2
Week20289.5286.220245.7−15.1%

A quieter week — lower quartile

Signature, Grandview · week of 2026-06-15 · 24 sites, 25 visits over 6 days · crew of 2 · day ceiling 25.9 crew-h

As planned · 163.8 km
yard Mon Tue Wed Thu Fri Sat
Optimised · 149.4 km
yard Mon Tue Wed Thu Fri Sat

Lever 1 · Stop order

−7.9 km (4.8%)

Same visits, same days — driven in a better sequence. 2 of 5 multi-stop days were out of order.

Lever 2 · Day grouping

−6.4 km (3.9%)

8 visits moved to a different day of the same week: S17→Mon, S2→Tue, S11→Tue, S13→Fri, S18→Fri, S19→Fri, S20→Fri, S21→Fri.

Combined

−14.3 km (8.8%)

About 1.4 crew-hours for this crew, this week.

Planned, then reordered only (lever 1), then fully optimised (levers 1 + 2).
DayStopsPlanned kmReordered kmStopsOptimised kmVisits ±
Mon320.220.2420.2+1
Tue251.251.2452.1+2
Wed74032.9529.8
Thu721.520.7115.7
Fri526.326.31027.2+5
Sat14.54.514.5
Week25163.8155.925149.4−8.8%
How to read these. The extreme case is in the top 1% of weeks and is included to show the mechanism clearly, not to represent the group. The other two sit near the median and lower quartile, and show what a normal improvement looks like: a few visits moved between days, one long detour removed, tens of kilometres rather than hundreds. Note how differently the two levers contribute — the extreme week is mostly a sequencing problem, the median week almost entirely a day-grouping one. A site can appear on more than one day because it genuinely has more than one visit that week; what the method prevents is two visits to the same site on the same day.

What the saving is

Crew hours, not fuel

Distance is the unit of measurement, not the value. The avoidable planned distance converts to 55,883 crew-hours over the seven months: 563,765 straight-line kilometres, adjusted by a 1.3 road factor, at 40 km/h, multiplied by the measured crew size of 3.05 people per crew-day. Fuel over the same distance is roughly an order of magnitude less valuable than the labour.

Aspire records labour two ways, and the distinction matters for putting that figure in context.

  • Time booked to work tickets — 2,617,930 h. This is what job costing sees, and it averages 7.7 to 10.0 hours per person-day depending on tenant.
  • Time on the shift clock — 3,239,278 h across 329,027 shifts, averaging 9.85 hours per shift. This is what the business pays for.

The difference is 621,348 hours, or 19.2% of all clocked time, that never reaches a work ticket. Against clocked labour, the avoidable driving is 1.7%; against booked ticket time it is 2.1%.

A related finding. Crews clock in at the yard — across 28,818 Signature clock-ins with location recorded, the median distance to the yard is 50 metres and 92% are within 500 metres. The gap between clocking in and the first booked ticket is a median of zero minutes, which means the morning drive from the yard is booked into the first customer’s ticket. Combined with the fact that inter-stop driving is booked the same way, essentially all crew driving is charged to jobs as though it were time on site. Properties that sit far from a yard therefore carry that travel in their job costs, and reducing avoidable driving improves job-level margin and costing accuracy rather than showing up as a fuel saving.

What this measurement cannot show. Visits only move between days the crew was already going to work, so the method can never indicate that five crew-days would do the work of six. Any reduction in crew-days is outside these figures and is treated separately below.

Whether freed time becomes value is an operating decision. It can become additional billable work, shorter days, or simply slack. Days are already substantial — a 9.85-hour average shift — so additional capacity is the most likely destination, provided there is demand to absorb it.


A larger opportunity, with a condition attached

Could a crew-day be eliminated?

The figures above hold the working days fixed. A natural next question is whether saving enough time allows a week to be completed in fewer days. It does, and in crew-hours it is worth several times the routing saving. Whether it is worth anything net depends on how long a day crews are willing to work, because that is where it meets overtime.

JML, planning-time basis. The ceiling is a multiple of that crew’s own median planned day.
Day-length allowanceWeeks that free a dayCrew-days freedHours moved to other daysDistance saved
No day gets longer8.0%1.7%1,5230.8%
Days up to a quarter longer34.4%7.1%13,0791.5%

Overtime is likely to consume the second option

The average shift is already 9.85 hours, and a majority of person-days already exceed eight hours — 84% at Signature, 73% at LCM, 34% at the lowest. Allowing days a quarter longer would put 81–94% of person-days beyond eight hours. At a time-and-a-half premium, the added hours cost more than the freed day saves, so the trade is likely to be negative unless the day being freed is itself a premium day such as a Saturday, or the crew is redeployed onto revenue-generating work.

That leaves the conservative option as the defensible one: roughly 1.7% of crew-days appear redundant with no day lengthened and no additional overtime. Modest, but real.

Eliminating a day does not remove labour hours — the work moves to other days. What a freed day provides is capacity: the same crews covering more properties, or a six-day route becoming a five-day one. Converting that to money requires either demand to absorb it or a premium to avoid.


Data quality

How reliable is each operating company’s data?

The analysis is only as good as what Aspire holds. Quality varies substantially between operating companies, and in several cases the gaps matter more than the scheduling findings. The table below is both an assessment of confidence in the figures above and a list of what would be worth fixing.

Green indicates sound, amber indicates usable with care, red indicates a material gap.
TenantProperty coordinatesYard recorded Yard confidenceUntimed labourPlanned order recorded Visits never workedActual vs estimate
Signature95%yes, all 575%12.8%93%22.7%96.5%
Keesen92%3 of 544%9.4%88.5%12.6%100.2%
Merit of Texas100%none26%13.6%99.7%17.5%96.0%
Heartland NE100%none13.5%17.1%99.6%36.8%101.6%
Heartland AZ92%none33%17.7%96.6%8.6%94.0%
LCM98%none15%12.7%96.4%3.2%100.4%
JML100%none32.5%16.1%97.5%25.1%93.0%
Heritage96%1 of 933%20.4%99.5%18.0%120.2%

What each column means, and what to do about it

  • Property coordinates — the share of properties with latitude and longitude. Strong everywhere (92–100%), and the foundation of any distance work. No action needed.
  • Yard recorded — whether each branch has a property record for its own yard. Only Signature has them throughout. Five tenants have none, so their yard locations had to be derived from where crews are observed to finish the day. Recommended action: record a yard property for every branch. The derivation reproduced Signature’s five known yards to within 10–120 metres, so the coordinates are available and simply need entering.
  • Yard confidence — how tightly crews cluster on that derived location. Signature reaches 75%; Heartland NE and LCM sit near 14%, meaning crews there do not converge on a single place. Seven Heartland NE branches and three each at LCM and Heritage fall below 20% and should be treated as approximate. The derivation also shows several branches sharing one physical yard — four Heartland AZ branches resolve to a single Tucson location.
  • Untimed labour — hours entered manually with a midnight timestamp and therefore no usable clock times. 9% at Keesen, over 17% at Heartland AZ, Heartland NE and Heritage. These hours are excluded from the analysis, and any time-of-day reporting on them is unreliable. Recommended action: move manual entry onto the mobile app where practical.
  • Planned order recorded — the share of planned visits carrying a sequence number. Strong except Keesen at 88.5%. Where sequence is missing, lever 1 cannot be assessed for that day.
  • Visits never worked — planned visits with no labour recorded against them at all. This ranges from 3% at LCM to 37% at Heartland NE. Some will be genuine cancellations; the remainder is work completed without time capture. Either way the planned-versus- delivered picture is incomplete, and at the high end it undermines any completion reporting. This is the single largest data gap found.
  • Actual vs estimate — hours delivered against hours estimated. Most tenants sit within a few points of parity, which is genuinely good. Heritage is the exception at 120%, roughly 108,000 hours beyond estimate.
Two conclusions worth separating. First, confidence in the scheduling figures is highest for Signature, Keesen, Merit of Texas and JML, and lowest for Heartland NE, where a weak yard location and 37% unworked visits both add uncertainty. Second, and independently of any scheduling work, the estimating gap at Heritage and the visit-capture gap at Heartland NE are each larger opportunities than the routing figures for those two operating companies.

Interpretation

How to read these figures

These are upper bounds, not a forecast. The solver worked without the unrecorded constraints a scheduler holds in mind, so the figures describe what was theoretically reachable rather than savings available today. Multiplying them out to an annual group-wide number would overstate the opportunity substantially. The step that converts them into a forecast is a review of proposed changes by production managers, and that has not yet been done.

Some constraints are not recorded anywhere. Aspire’s property availability table — where a “Tuesdays only, 8 to 4” rule would be held — is empty. No service interval or recurrence field exists in the interface. Property notes are populated on about a fifth of properties and are predominantly gate codes. Where a customer genuinely requires a fixed day, the analysis will show a saving that is not available. This is precisely why nothing here moves a visit outside its planned week or to a different crew.

Distances are straight-line. Real roads are longer, so absolute kilometres are a lower bound while the percentages are robust. Depot placement was tested directly and changes the percentages by at most 0.1 points.

Coverage is partial by design. Crew-weeks with a single working day, fewer than four stops, or no capacity history are excluded; roughly three-quarters qualify. The excluded weeks are mostly those where sequence and grouping cannot be wrong.

Earlier figures were higher. A previous version of this analysis reported a group median of 14.7% and 23.4% for Signature. Building the worked examples revealed two faults: the solver could empty a working day entirely, which counts a crew-day reduction as a routing saving, and the daily capacity ceiling did not bind where a multi-day job was recorded as a single visit. Both are now constrained, and both corrections reduce the reported saving. The figures in this document are the corrected ones.


Next step

What would turn this into a plan

The next action is not further analysis. It is a review of specific proposed changes with the people who build the schedules: take the weakest crew-weeks to a production manager and record how many of the proposed regroupings survive scrutiny. Begin with Signature KCMO, the widest single branch at 21.7%, and include Heritage as a control, where the analysis indicates there is little to find. The proportion accepted is what converts a percentage into a forecast, and it requires one meeting rather than another data exercise.

In parallel, three data changes would improve every figure here and are worth making regardless: record a yard property for each branch, reduce manual midnight time entry, and investigate why 37% of Heartland NE’s planned visits carry no recorded labour.